Java Is for Life... Not Just for Christmas

Well, here we are again, decking the halls with boughs of holly, fa-la-la-la-la-la-la-la-la, and all that sort of nonsense... The time of year when the opportunity to steal a kiss from the secretary isn't an actionable offense (assuming, of course, that you catch her - or him - under the mistletoe and not just as you're waiting for the printer to finish. So be careful).

It's been an exciting year, but I'm going to leave my reflection article to the next one, when it'll be the millennium and - with any luck - we should all be here in one piece. As we run up to the end of the century, I'm hearing reports that not all the predictions have come true. Our dear French prophet, Nostradamus, was way off base, unless world destruction has actually occurred and someone has neglected to inform us country boys. News does sometimes take a while to reach us, so who knows? I may be writing for a reader base that no longer exists.

I love Christmas. Such a wonderful time of year... A time when you make those agonizing decisions about who not to send a Christmas card to... About who has really annoyed you enough during the year to be taken off the list. Yes, Christmas...a most wonderfully cynical time of the year. And, in the words of a great English writer: "Bah, humbug."

A Sordid Tale
This month has seen us struggle with Oracle and Microsoft NT and the sordid tale will be recounted here in detail. One of our major clients has many an Oracle database running on a variety of Solaris platforms. We've written many solutions to interface and tie these databases together using Java Servlets. You all know the woes I've had in the past with JDBC-Oracle drivers and I can happily report that all our problems had gone away. The more astute of you will notice the word had in the previous sentence, which would suggest that the problem may have returned. Read on.

We had a spare NT server sitting around doing not much, and on a whim I had the bright idea of installing Oracle on it and using it as a development server, which would speed up our testing. So while I installed Oracle, I asked our client to do a complete export of the data, and the resulting 400MB file was transferred up to us. The version of Oracle the export had originated from was 8.0.3 (Solaris), and it was destined to end up in an 8.0.3 (NT) version. So no immediate problems were expected.

After a bit of buggering around with table permissions, the file imported with no errors reported. Excellent. Morale was high, and we proceeded to hook up our back-end server software and start some serious testing. Hah! If it were only that simple!

Our JDBC driver started throwing out exceptions immediately. "No more data to read from socket." What the hell sort of error is that? So we checked all our driver settings, making sure our database URL was correct and pointing to the right machine. No problems there. I had this real horrible sinking feeling that we were about to enter the world of JDBC-Oracle again. This world is a bit like the mythical Narnia: once you've entered through that wardrobe, it's very hard to get back out.

But it's a type 4 driver and runs on Solaris with no problems whatsoever. For those of you not too familiar with the types of JDBC drivers, a type 4 is a pure Java solution, which relies on no native code. Out of the four types, a type 4 is the most portable since it can run on any of the virtual machines. I was loath to even think of taking this route. We were running our software from a Linux configuration and even thought for a split second that this could be the cause of the error.

As a precaution, I downloaded and installed the latest JDBC driver. In a warped sort of way I was thankful it still didn't work. I didn't want to think it was the JDBC driver, for if it was I could easily be forgiven for thinking there were dark forces afoot that deemed I was never to have an easy time with Oracle and JDBC.

So what on earth could it be? Well, back to what is probably the best Web site in the world for more information. Deja.com is an archive of the daily postings to the newsgroups and can be quickly and easily searched using a diverse range of options. If you've never been there, go - it'll improve your problem-solving abilities tenfold. I dutifully put in the words "No more data to read from socket ORACLE," hoping to see at least one person who had met the same fate I had. Boy, was I surprised.

Hundreds of posts were made regarding this problem. Hot damn, now this is the true power of the Internet. I quickly located the fact that Oracle for NT has severe problems and I needed to upgrade to 8.0.5. Surely not. You mean Oracle is at fault at the core server? Now this surprised me. I had always been under the impression that Oracle was rock solid with version 8.0 and it was just their drivers that let them down. But after downloading the update, installing and converting over our database file, sure enough, our application burst into life. Fantastic.

I did some more digging and discovered that Oracle on NT has never been an exemplary piece of software. Many people, many problems. Now why is this? me wonders. I remember reading an American version of one of the computer magazines - I can't remember which one - but it had an article that talked up the use of NT in server environments. It explained why it was much better than a Linux alternative and really went to town to sell NT. It had to be written by a Microsoft employee. It completely contradicted every experience I've ever had with the two operating systems. But it put enough doubt in my head to go off and do a little reading.

After reading through many posts, I can't really say one way or another that any one operating system was getting more bugs than the other. It's very hard to tell. I can only comment from my own experience, which I have to say doesn't put NT in a very good light at all.

For example, this recent incident with Oracle hasn't really strengthened Microsoft's case. As much as I'd love to point the finger of blame at Oracle, I can't...well, not fully. Their Oracle 8.0.3 is running perfectly on Solaris, so, assuming the NT version shares a significant amount of common code, the only difference has to be NT. I also can't point the finger of blame at Microsoft, but I think something is afoot that I'm not fully aware of.

Either way, without the assistance of Deja.com, I'd still have been struggling to get the bugger working. It has to be said that documentation on the Oracle Web site regarding this topic is very thin on the ground. For a company that's supporting many different versions, there should be a logical place where we can see all the problems. If such a page exists on the Oracle Web site, please, someone, e-mail me the URL. I thank you.

Book Review
I love reading books about the history of our great industry. It's a continual buzz to read about people who are still very much active in our world. I'm getting through many of these company biographies and one, which I haven't quite finished yet, is from Paul Carroll: Big Blues: The Unmaking of IBM. This is turning out to be a really fascinating read, discovering the ins and outs of one of the biggest companies in the world.

It contains a great story that Carroll retells. An executive who has just cost IBM $10 million in a failed deal is hauled into the office of then CEO/cofounder Tom Watson. Watson asks the sales executive, "Why do you think I have asked you here?" The rather worried salesman responds: "To fire me?" Watson then replies, "Fire you? I've just spent $10 million training you!" This made me laugh. But if you're ever interested in what goes on behind the big blue letters, this is a great insight!

Mailing List
The mailing list is beginning to generate some seriously good threads of conversation. In the last month we've had a number of debates on the future of Java and whether it should be open sourced or not. One poster posed the question and we all answered. Surprisingly, not many supported the open sourcing of Java, which was good. Personally, I'd suspected a much greater swing of support, but it was good to hear everyone's structured answers about why it should, for the time being, be left to Sun to manage.

Discussions on what we'd like to see in Java during the next wave have also taken place. One topic that comes up time and again is operator overloading. I must say, I liked this facility in C++, and understand the apprehension of James Gosling not to include it in Java. But we hear that it's seriously being considered.

If you want to be part of the discussion, send an e-mail to listserv@listserv.n-ary.com with subscribe straight_talking-l in the body of the e-mail. From there you'll get instructions on how to participate on the list. Thank you all for your continued posts, and I have to say that I thoroughly enjoy the variety of topics discussed.

Salute of the Month
This month I'm going to honor not a person but a piece of equipment that for us here at n-ary has improved the quality of our lives tenfold. It's a device I'm sure has helped many others in their quest for cleanliness in the kitchen. The device I refer to, of course, is the humble dishwasher. The person who invented this beast should be knighted or declared a saint. We recently took delivery of one for our kitchen, and I tell you it's a nice feeling to go and make the coffee without having the sinking (no pun intended) feeling that you first have to wash a pile of dirty cups. So, dishwasher, we salute you.

Cool to Be Country?
Last month I told you about my foray into the world of Dolly Parton. Well, in keeping with the country theme, I was watching the Country Music Awards and was introduced to the Dixie Chicks. It was a wonderful tune and I instantly wanted more. So I went out and bought their latest CD and what a wonderful purchase that turned out to be. So I'm still in my country mode with no signs of letting up. If anyone has any advice on how to get out of this world, please let me know...sooner rather than later!

Until then, I bid you a happy holiday season and look forward to seeing you in the year 2000!

Related Stories

Alan Williamson is widely recognized as an early expert on Cloud Computing, he is Co-Founder of aw2.0 Ltd, a software company specializing in deploying software solutions within Cloud networks. Alan is a Sun Java Champion and creator of OpenBlueDragon (an open source Java CFML runtime engine). With many books, articles and speaking engagements under his belt, Alan likes to talk passionately about what can be done TODAY and not get caught up in the marketing hype of TOMORROW. Follow his blog, http://alan.blog-city.com/ or e-mail him at cloud(at)alanwilliamson.org.

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

Cloud Expo

Cloud Computing & All That
It Touches In One Location Cloud Computing - Big Data - Internet of Things
SDDC - WebRTC - DevOps
Cloud computing is become a norm within enterprise IT.

The competition among public cloud providers is red hot, private cloud continues to grab increasing shares of IT budgets, and hybrid cloud strategies are beginning to conquer the enterprise IT world.

Big Data is driving dramatic leaps in resource requirements and capabilities, and now the Internet of Things promises an exponential leap in the size of the Internet and Worldwide Web.

The world of SDX now encompasses Software-Defined Data Centers (SDDCs) as the technology world prepares for the Zettabyte Age.

Add the key topics of WebRTC and DevOps into the mix, and you have three days of pure cloud computing that you simply cannot miss.

Delegates will leave Cloud Expo with dramatically increased understanding the entire scope of the entire cloud computing spectrum from storage to security.

Cloud Expo - the world's most established event - offers a vast selection of 130+ technical and strategic Industry Keynotes, General Sessions, Breakout Sessions, and signature Power Panels. The exhibition floor features 100+ exhibitors offering specific solutions and comprehensive strategies. The floor also features two Demo Theaters that give delegates the opportunity to get even closer to the technology they want to see and the people who offer it.

Attend Cloud Expo. Craft your own custom experience. Learn the latest from the world's best technologists. Find the vendors you want and put them to the test.