Wednesday, July 23, 2003

to be honest

Windows XP and its associated runnables are flooded with "user-friendly" information, which, most of the time, ends up as an annoyance. Just noted one little tooltip that could prove to be a good exception: I was naming a new folder, when I accidentally hit shift and the '8' key on the keyboard. This would have given me a '*' in the filename, an invalid character. The system did not process my input and a friendly little sober-coloured tooltip (with an enhanced raster shadow) popped up informing me that a filename could not contain the following characters: \/:*?"<>|. Quite useful -- unless you hadn't realized that you had hit the wrong key!

The Oracle Containers for J2EE (OC4J) has been a faithful pain in the rear end. It is another example of Oracle acquiring technology that they can't maintain [There's a related discussion thread on TheServerSide]. The documentation is shoddy, packed with errors, and inconsistent. The rate at which Oracle fixes problems that have already been resolved in existing application servers is appalling. And the product does not match up to all the hype. I have been scouring all the public forums (newsgroups, OTN) in the last several weeks on numerous occasions to find people similarly afflicted. A very popular strain of posts seems to be "why can't I do [something supported by the standard, or other existing application servers, or both]?".

Oracle also seems to revel in dishing out tools that compete with each other for destruction. OC4J requires its own deployment descriptor (which is a souped-up version of the Orion deployment descriptor) and JDeveloper insists on creating one for you -- except it messes it up most of the time, especially when you move beyond simple kiddie code.

The IDE also provides Class Wizards that allow you to do crazy things like add the same field to a class twice (errors appear only when you attempt to compile). The IDE provides a "Sample Client Wizard" that will generate a sample client for a business bean. The downside is: you cannot name the file at creation time. So if you create more than one sample client for a business bean called BooBean you end up with files like BooBeanClient.java, BooBeanClient1.java, BooBeanClient2.java. Anyone with a modicum of understanding of good software engineering will tell you that these are bad filenames. How ironical it is to hear Oracle scream to the rooftops about employing best practices in their J2EE tools and products.

The IDE has an EJB wizard which allows you dialog-based access to the properties of beans described in the standard ejb-jar.xml. If you use a SCM tool that leaves your local source file copies in read-only mode unless you explicitly check them out (a strict boo-boo, but the sad truth is they're out there!), then you will have two kinds of issues with this wizard: (1) If any action you take modifies files that are read-only, the Wizard will not complain about not being able to write to them. This is very very dangerous, especially if you forget to check out any files that could potentially be modified (NOTE: Anyone working in the J2EE space will know that this is not a trivial thing to do!). (2) As you move through the items in the dialog, the Wizard will pop up warning message boxes (badly designed) telling you that a certain file is not writeable (Talk about bad timing!). And this is even if you haven't modified anything!!! And if you think you can click 'Ok' and proceed, let me tell you that you are sadly mistaken. The only way out is to restart the wizard.

{For more background information and prior rants see helpful error messages, the bear called documentation, on the masochistic tendencies of bloated corporate software, the oracle of patience}

No comments:

 
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.