Here we are again - a couple of pages telling you how it really is. What an interesting and varied month this has been! And a good month for Java. Lots of different things have been happening.
(Before I begin, I want it known that this is the first column I have ever written using a Mac. I'm sorry, but as they say, "When in Rome...." I'm out of my normal Gates world and have been thrown harshly into this Jobs utopia. I don't know about you, but better the devil you know and all that.... Before I go biting the hand that feeds me, I have to thank Frode Hegland for allowing me a bite of his Apple, for without it this article would not have been possible. Frode, on behalf of a Java nation, we thank you!)
This was the month that Java entered puberty. Like a newborn child finding its feet in a forever-changing environment, a significant milestone was reached. This milestone marks the beginning of a new life for us all. What am I talking about? Java 2, of course. But more on that later.
Trait of the Month
As usual - let's not deviate too much from a tried and tested formula - we'll discuss a personality trait. This month it'll be relief. That's the feeling that washes over us when we realize the situation isn't as drastic as we first thought. This was the month we at N-ARY breathed a huge sigh of relief that we had indeed taken the Java route. Let me tell you a cautionary story so others may heed the signs before it's too late.
We've been involved in a major project for the past 14 months. We were approached by a Norwegian startup, Liquid Information Company, to build them their dream. Their dream was to change the way people communicated by tearing down the barriers surrounding conventional communication channels. Build a better e-mail system, build a better newsgroup system, build a better system.
So we took their plans, sat down and designed a complete solution that would be flexible enough to meet the demands of a growing future. In other words, scalable. I'm sure it won't be too much of a surprise to you to realize we used Java to complete this. In actual fact, we built a complete Web-based e-mail/newsgroup system using Java Servlets, all linking back to a central e-mail repository maintained by an Oracle database. The whole thing worked like a charm.
Thank You, Oracle
At this juncture I must say a little about Oracle. Think of it as an update, if you wish. Some of you may remember one of the first articles in this series (JDJ Vol. 3, Issue 8) in which I highlighted the major problems we were having with the JDBC drivers shipped with Oracle. To recap, bottom line, we couldn't keep the Oracle drivers up long enough to do anything with them. We weren't alone in this quest for longevity. Many of you recounted similar tales of woe to me after the article was published, in addition to the many I found before the article. Anyway, WebLogic came to our rescue and supplied an Oracle-JDBC driver that worked superbly.
One of the good things to come from the article was that I was granted an audience with Oracle at their HQ in Redwood City, California. There they expressed their surprise at my findings, but said they would send me an updated JDBC driver to test. Well, I can happily report that this new driver worked a treat. Just a shame it took the publishing of an article to get a result. But it was a result nonetheless. So Oracle, I thank you.
How Sweet It Can Be
Back to our cautionary tale. Having designed and built the system, we looked at various platforms that could handle high-volume traffic and run Java efficiently. Naturally, we looked at Sun's offerings. After much deliberation we decided to purchase an Ultra to host the system until the user base grew, then we would migrate to a bigger system. Seemed a safe bet - no point in overspecifying the hardware at this point in the proceedings.
So in January 1998, and $6,000 later, we had a shiny new Sun Ultra serving our client base. It was wonderful. We were proud to be Sun users; we felt safe, in the bosom of the family, safety in numbers and all that. Bit like how the early adopters felt when they opened their Apple machines. But, as we were to discover, this "safety" came at a very high price.
What I'm about to tell you will scare you. It will have you running for Linux - or, even worse, NT. Yes, it's that bad. Whatever you do, please ask any accountants or financial controllers to leave the room. It's not pretty, what I'm about to tell you. Everything all clear?
As per the master plan, the Liquid Information service grew quickly in numbers. Only a couple of months after the release we had to look at upgrading the Sun box. Well, it did us proud all through development and beta testing. The numbers were growing rapidly and we needed an alternative. As luck would have it, Sun contacted us with a promotion they were doing. Basically, they would lend us a new E250 server for a month to see whether we would like to move up to it. So we called our local Sun reseller, MDIS, and had the machine shipped to us. It came, a huge beast of a thing, and once Oracle was installed it worked wonderfully. Ignoring the fact that we had to move the blooming thing to its own room due to the level of noise it was making, we were happy.
The Price of Safety
MDIS called us and asked whether we'd be interested in making a purchase. I indicated my overall pleasure with the machine and said, "Okay, let's talk." They came back with a price of around $6,000. Excellent, I thought. Since our Ultra was only nine months old, I said we didn't need two Sun boxes for this particular application and how much was our old box worth and would they be interested in taking it as part payment for the new box. MDIS said they would, and, after many days of evaluating the box, they came back to me with a price.
Remember, the Sun Ultra was purchased only nine months ago and, with the obligatory discount of around 40%, cost us $6,000. MDIS was now offering to take the machine from us for $1,200. What? As you can imagine, I was not a happy bunny at this stage. Within nine months the machine dropped in value by around 80%? Even a BMW won't drop that much. I was disgusted. First I thought, I know, it's the fax machine, maybe the "1" was supposed to be a "4" or even a "3". But, alas, the fax machine was not to blame. It faithfully reproduced the figures from MDIS.
Needless to say, the machine was not bought. After all, what sort of company could take a loss like that? No wonder Sun is growing at a tremendous rate. It's at the expense of us smaller companies. But do you know the ironic thing about all of this? The price of the Ultra had not moved in the six months prior to our purchasing the beast. We had been researching the price of Sun boxes for six months before making the purchase and the price had not moved. And to rub salt in the wound, in the summer of '98, seven months after buying the first Ultra, we phoned MDIS again to see the price of a new Ultra as we had two and the price quoted to us was the exact same. The price had therefore remained constant for at least nine months. But within four it had fallen 80%. I would have been really angry if we had made a decision to buy that second machine in the summer. So the E250 was quickly boxed and sent back.
After all, it was worth $6,000 the day it arrived and now that we were sending it back 30 days later it may have been worth only $5,000 or something like that. It was a risk we weren't about to take. But we still needed a server to run the Liquid Information system for our client. The silver lining in the whole episode was that we employed Java. This meant we weren't tied to any specific platform. We were free to choose. It was like hearing a choir of heavenly angels.
Relief in Sight
Looking around at alternatives we were impressed with what we saw. Our first port of call was Dell, to inquire about their end servers. Would you believe we could have bought three higher-powered machines for the price of one E250? Each machine came with far more memory, far more disk space, far more processor power---and as if this weren't enough, they were quieter.
"But they were a PC-based solution," I hear you Solaris diehards cry. Yes, you're right, but let me tell you, running Linux and our benchmark tests absolutely knocked spots off the E250. And because we had chosen the Java route we didn't even need to recompile. The hardest thing we had to do was to get the right password for FTP.
Now I'm sure I'm going to get tons of e-mail from you Sun representatives detailing the benefits that Solaris solutions can provide us with. But let me save you some time. Don't bother. We, the little guys, can't afford to buy into the Sun solution. The falling price of PCs that include dual processor solutions makes it cost-effective for companies to take this route. We can afford for our $1,400 solution to be worth only $200 after 12 months. This is realistic and the figures aren't scary. In actual fact, you get far more machine for your money.
For those of you who haven't discovered the wonders of Linux, you really ought to spend some time researching this piece of wonderful software. Think about it: Oracle isn't supporting it now out of the goodness of their hearts. They see the damage it can make and are sure as hell covering all bases by deploying time and effort into porting their database to it.
And that brings us nicely to Java 2, or what was called Java 1.2. Publishers must really love Sun for that version change, considering the number of books published bearing the 1.2 mark. Java 2 is now officially supporting Linux. Interesting, eh? Even Sun is recognizing the threat. So don't just take my word for it - have a look around, see how the big guns are treating Linux. Let us not lose sight of the fact that when you remove the need to process fancy graphical interfaces, a 300 MHz processor is a serious number cruncher.
Linux unleashes this power, which is one of the main factors for its popularity - apart from the fact that it's also free, which is never a bad thing. If that's not enough, the source code for Java 2 is now freely available, once you've signed a Web-based form. Sounds very like Linux, methinks. This in my opinion is a good thing. Control still needs to be exercised so we don't get a splintering of the Java platform, but freeing the source will allow more application areas to be explored that Java may have excluded from the shortlist.
So, the moral of the tale? Don't believe everything you read in print (except for this column, you understand - we'll draw a line here). Don't be scared to explore other options, and to breathe a huge sigh of relief that you've chosen Java as your underlying development language as this frees up your hardware decision-making process. Give yourself that pat on the back you deserve.
The Book Nook
Before I close this column down, let me recommend a must-have book. Last month I introduced this new feature and you are more than welcome to completely ignore these books. But they will change your life. This month's life changer is Out of Control from the keyboard of Kevin Kelly. It talks all about the biology of machines and how the computing world is striving to reproduce the well-oiled machine of Mother Nature. Kelly talks about developing perfect, errorfree code, which is truly inspirational. Another thought-provoking subject area is that of evolving software, the capability for software to "evolve" a solution as opposed to being given explicit instructions to solve the problem. Every developer needs to have this book on the shelf.
On that note I shall go and extract myself from this Macintosh world, and immerse myself back within the comfort of NT.
About the Author
Alan Williamson is CEO of N-ARY Ltd., a Java consulting company with offices in Scotland and
Australia that specializes solely in Java at the server side. Alan is the author of two Java Servlet books and he has contributed to the 2.1 Servlet API. He can be reached at [email protected](www.n-ary.com) and he welcomes all suggestions and comments.