The past few weeks have been quite interesting. For several reasons, the most important being some research needed for a study, I've been back at Software-test-land - the place where you try to make things work with software you've never seen before.
Software-test-land might be one of the main reasons why I started my IT career - challenges. How do you manage to connect Oracle to Notes doing LDAP lookups on Active Directory? How do you get a browser to read information contained in a OLE object in a Domino server behind a firewall? How do you get that freeware tool you downloaded to actually do something?
These are the kind of challenges I like. So, it was without resistance that I dwelved, again, in IBM's product offerings for e-Business - in other words, pratically every product that starts with Websphere - Websphere Application Server, Websphere MQ, Websphere MQ Integrator, etc...
The objective is to find the best solution for an integration project. If you don't live in any other planet most of your time, you've probably seen that IBM is taken as a major player in all these "eternally-emerging" standards for the next level of software integration: Web services. I've read articles with DB2 admins saying how easy it was to install and deploy Websphere based applications that would get all data from one place and put it somewhere else after hashing it, serializing it, etc. Mainframe guys saying how good Java is as a development platform. Even Domino developers defending IBM's Java strategy.
But there's one thing I can't understand: How do they manage to install the software? How?
I've tried installing Websphere for approx. 2 weeks with no results. It took me about 3 days to get DB2 installed. Having spent my last 13 years working with software, I don't commit the obvious mistakes - I always RTFM, seek installation information on the web, etc. Still, DB2 would either not install stating 10 weird error messages in some language completely unknown to me (with a brilliant final touch - an empty error message box), or pretend to install correctly only to fail starting the services or even - this was the best - not being able to connect to itself.
After having DB2 miraculously running on the test machine, it was time for Websphere. Cutting a long story short, it didn't work. When it finally did work it wasn't me who installed it. And it stopped working one day later, after applying the (IBM recommended) fixpak 3 for DB2. The server froze to a complete halt. Reboots didn't do it.
Back to the drawing board I thought of doing a scientific experiment: Websphere Application Server is a Java Application Server. There are other JAS on the market. Are they all this hard to install?
I set my browser off to the BEA website and downloaded the Weblogic server software. Differences start here: BEA Weblogic has a download size of approximately 90 MB. I needed two CD's for DB2 + Websphere. Downloading both products from the web will snap 700 megs out of your bandwidth. And some 400 megs more for FixPak 3, the infamous.
Download finished in about 15 minutes. Launched the executable. It asked me a few relatively simple questions (directory, if I wanted samples, etc) and was running within 20 minutes.
That was it. Didn't give cryptic error messages, didn't complain about service packs or anything. It just worked. And it's now about a week later and it still runs.
Do those guys that write all those nice things about websphere and IBM and Java and XML actually install the thing? I'm starting to doubt it.
Next step, since I still need more than a JAS to test the software, I pulled off a CD with MQ Series (now called - surprise, surprise - Webpshere MQ). MQ Series is not known as being unreliable software (then again, neither is Websphere AS), so I assumed it would install correctly.
Again, I RTFM'ed, I followed a fully standard procedure and the thing seemed to install correctly. It finished the installation with some strange error message (but in english!) basically saying that some thing or things might have gone wrong during the installation. It pointed me to a 146 KB log file it created during the installation. I now understand why it took so much time to install - it was writing to the log file. Do you have any idea how many text characters can exist in a 146 KiloBytes file?
I searched the file for "error" (I was not supposed to read it all, was I?). It didn't find it. Started looking into the file and realised that I should look for exit codes, in the form of 0x00000000. In the old days, an exit code of 0 was supposed to mean OK, so I followed this dogma and found what was wrong:
16:34:26 Launching process 'C:\IBM\MQSeries\bin\AMQIMIGS.EXE' 'C:\WINNT\TEMP\_ISTMP0.DIR\AMQISUPN.DLL'; dir 'C:\IBM\MQSeries\bin'.
16:34:28 Starting migration of SCMMQM files
16:34:28 Finished migration of SCMMQM files
16:34:28 Deleted SCMMQM registry entries
16:34:28 Process ended; exit code 0x00000001
I really like the part about the migration of SCMMQM files. First, WTF is SCMMQM? Second, I didn't install it. Third, why were the SCMMQM registry entries deleted? Fourth, who created them in the first place?
This gave a very clear insight about how MQSeries was going to behave in the near future. I am still waiting for MQ to finish setting up the default configuration (whatever that means). It's now over one hour since it finished the installation, for crying out loud.
This made me think about why Microsoft software is so loved by the MCSE's of this world: because it installs correctly. It's not because it can do something that other software doesn't (er...) or because it's super performant or any other presumably valid reason. It's just because it installs correctly. And that makes the MCSE feel good. And his boss will feel good about him. And he gets the girls and the drinks, while I am stuck with some MQ process that, from the sound of it, is trying to destroy my hard disk.
IBM, your software might be great, but your software testing guys, specially the one testing the installation, suck big time. I'm pretty sure the same guy that used to test the installation procedure for System 36 is now testing Websphere AS. 100% sure.
Better luck next time, I guess.