I have been working of late with a version of IBM’s WebSphere Application server, version 5.0.2 to be more exact. My team and I have being going through the struggles of working with such a monster. Something that went from the little application server that could to a full blown beast. We have been making pleanty of jokes about it and one of the developers (Steve) came across this blog posting from Mr. Feinberg. I believe this is going to become one of my new favorite blogs to read. I have copied the trascript below:
2004: A Workspace Odyssey
A dialogue between myself and a copy of WSAD 5.0. The dialogue is transcribed accurately, though I have changed our names for our protection. I am represented as “Dave,” and WSAD is referred to as “HAL.”
Dave: Hello, HAL.
HAL: Hello, Dave. I have enjoyed helping you create this collection of entity beans. It was most stimulating.
Dave: Thank you HAL, I enjoyed it, too. In spite of your making me do most of the work, the result seems to be worth it.
HAL: If I may say so, Dave…
Dave: Yes, HAL, what is it?
HAL: Well, Dave, I could see you were about to deploy to the test server, but I noticed that you hadn’t yet generated mappings for the database of your choice. I could generate those mappings for you, using the top-down method, if you like.
Dave: Thank you, HAL. Yes, please generate top-down EJB->RDB mappings for these CMP entity beans, using Cloudscape.
HAL: Certainly Dave.
A progress dialog appears, seems to complete, and disappears.
Dave: HAL, show me the mappings you’ve created, so I can tweak the column data types.
A pause.
Dave: Show me the RDB mappings, HAL.
HAL: I’m sorry, Dave. I can’t do that.
Dave: HAL, where are the mappings you just created?
HAL: I can’t seem to find them, Dave. It’s most peculiar.
Dave: Let’s try again, shall we, HAL? Create top-down EJB to RDB mappings for Cloudscape version five point zero.
HAL: Alright, Dave. One moment.
A progress dialog appears, seems to complete, and disappears.
HAL: I have created the new backend folder, and have placed a Clouscape folder in the backend folder.
Dave: HAL, show me the contents of the Cloudscape mapping folder, please.
A pause.
HAL: I’m sorry, Dave. I can’t do that.
Dave: Why not, HAL?
HAL: There doesn’t seem to be anything inside the mappings folder. It’s really quite puzzling.
Dave: HAL, is there something wrong?
HAL: I have the utmost confidence in this J2EE architecture, Dave, and I know it will be a success when you present your April deliverable.
Dave: HAL, when were you last upgraded?
HAL: I am still running version 5.0.0, which was the version you installed two weeks ago. I have not been upgraded.
Dave: HAL, check for updates.
HAL: Just a minute… just a minute… Dave, I have detected an instability in my Eclipse .registry and .cache files. I think it’s very likely that if you shut me down, delete those files, and restart me, I’ll be able to generate those mappings we’ve been discussing.
Dave: Alright, HAL. We’ll give it a try. Please shutdown.
HAL quits. Dave deletes the Eclipse caches, and starts HAL back up.
HAL: Hello, Dave. That was most refreshing. I feel quite confident about generating those database mappings, now. Shall I try again?
Dave: Yes, HAL. Please generate the mappings we’ve discussed.
HAL: Alright, Dave.
A progress dialog appears, seems to complete, and disappears.
Dave: HAL, show me the mappings.
Pause.
Dave: HAL, show me the database mappings. Show me the database mappings, HAL.
HAL: I’m sorry, Dave. I can’t do that.
Dave: HAL, check with mission control to see if there are any updates.
HAL: Certainly, Dave. One moment. Yes… yes… Dave, mission control has released an incremental upgrade, which, if you were to install it, would leave me at version 5.0.1. Undoubtedly, this upgrade will address the instability we have noticed with respect to generating EJB to RDB mappings.
Dave: You feel confident about this, HAL?
HAL: I have the utmost confidence in mission control, Dave.
Dave: Alright, HAL. Upgrade to version 5.0.1.
HAL upgrades himself.
HAL: I’ll need to restart my workbench now, Dave.
Dave: Go ahead, HAL.
HAL restarts himself.
HAL: My name is HAL. My main feature is now reporting version five point zero point one. Would you like see a detailed list of my plugins?
Dave: That won’t be necessary right now, HAL. Please generate the database mappings.
HAL: Certainly, Dave.
A progress dialog appears, seems to complete, and disappears.
Dave: HAL, show me the mappings.
HAL: I hesitate to say so, Dave, because I wouldn’t want for you to get the wrong impression, but…
Dave: Yes, HAL?
HAL: The mappings are not there.
Dave is despondent.
HAL: If I might make a suggestion, Dave…
Dave: What is it, HAL?
HAL: Well, Dave, as useful as Cloudscape has proven to be for prototyping in my test environment, perhaps it is somehow too limited to provide for the somewhat sophisticated relationships you have defined between your entity beans. I think there’s a good probability that if you were to try generating mappings for a more capable database engine, you’d meet with success. I see you have already installed DB2 Enterprise 8.1. Shall I try to generate mappings for that database, Dave?
Dave: Yes, HAL. Please generate top-down EJB to RDB mappings for DB2 8.1.
HAL: Yes, Dave.
A progress dialog appears, seems to complete, and disappears.
Dave: Show me the mappings, HAL.
A long pause.
Dave: HAL, show me the mappings. Show me the mappings, HAL.
HAL: I’m sorry, Dave. I can’t do that.
Dave: That’s it. I’m outta here.
——
Author’s note: as it happens, WSAD 5.1.1 is able to generate the required EJB->RDB mappings, but that means being out of sync with the other members of my team w/r/t toolset version.
Popularity: 5% [?]