WebSphere Portal isn’t as horrible as I thought…

I remember several years back I was flipping through the pay cable channels and lucked into a stand-up show by Paul Rodriguez at San Quentin prison.

Through the magic of Google, here’s a link to the DVD. The concert was in 1995, apparently, so I guess it really was a while ago.

As I recall, he did a fantastic job. Unlike a lot of comedians visiting prisons, he came across as quite comfortable, neither overly nervous nor condescending. It was great.

He did one excellent routine in particular about getting older and having to visit the doctor for a, shall we say, rather invasive test. He talked about how he had no choice but to try to be a man about it, rooting for them to go deeper, but then came the best part:

(paraphrasing from vague memory) “Just then, the worst possible thing in the world started to happen.”

(dramatic pause)

“It started to feel good.”

As you might imagine, that cracked everybody up.

I’ve been thinking about that routine a lot this week. What triggered such an odd memory? This week I just finished teaching a class in Portlet development in IBM’s Rational Application Developer (RAD6).

I was sorely tempted to blog about the class last week, but my comment might not have been diplomatic given that one of the students this week might stumble across my blog. Last week I wound up blowing two full days just installing RAD6, then updating it, then installing the WebSphere Portal Server 5.1 test environment. As I discovered, I had to do the multi-hour installs in that order, too, or the server wouldn’t start.

I mean that literally, by the way. I lost two full days just to the installation and diagnosing bizarre errors. Then, I got to my class this week, only to find that the installed test server in RAD6 wouldn’t start either. That basically meant all of Monday was going to be shot, even assuming I could get the thing to work at all. As Bill Simmons would say, not good times.

Fortunately (?), half the class (okay, two of the four, and maybe a third also) didn’t have the proper background for this course. Therefore I had a fallback position for Monday. I could spend the day in a good, solid Java review, complete with a discussion of server-side concepts, web applications, and so on, and use the actual courseware just for the background motivation and product description sections. I’ve been doing this stuff for a while now; I knew I could do something very productive for this group of students for one day of a five day class. That’s about all the slack I had, though.

All the while, I was uninstalling, downloading, and installing the software, and swearing that I would never, under any circumstances, ever be stupid enough to agree to deal with this horrible, buggy, massive IBM software again. My frustration with IBM has been building up for months now, and this was the worst possible situation for me.

As it turned out, the students really did need the background and were glad for the review, not to mention the examples I went through. I made it as interactive as possible, even though I didn’t have actual workshops for them to do. We got through it.

Then they left, and it was time to start the install/update process. Other circumstances were forcing me to leave by 5 pm, but I could get everything started and come back later in the evening to babysit the install and switch disks when necessary.

There were some bumps along the way, but finally, at about 1:30 am, everything worked. I at least had a working product, so the course could continue. I think the good image was successfully distributed to the student machines by 2:30 or 3 am, so I could crash until class started again at 8.

We then worked our way through the materials. I did a lot of hand-holding on the labs, doing them with the students interactively in many cases. That re-claimed some time, and helped the students see the forest for the trees.

By about Thursday afternoon, though, the strangest thing started to happen. Maybe it was the fatigue, or maybe I’d worked through the exercises just enough times for the concepts to really sink in, but just like Paul Rodriguez above, I had a bizarre reaction.

For the first time, I started to actually like WebSphere portlets.

The code involves a complicated combination of API calls, JSP custom tag libraries, and XML configuration files, not to mention working with services in the portlet container. The whole system has a nasty learning curve. But suddenly I just kind of “got it” and it didn’t all seem so bad any more.

I’m still blown away by this. I now thinking it might be worth it to install RAD7 and WPS 6 and really dig into the JSR 168 spec and write a portal for my own site. I may actually do that, too, despite the fact that there isn’t yet a good redbook available describing the process. I can almost see the benefits of working with what I would have described last week as a frustrating, dead-end technology.

As I tell my students, I’m wrong a lot, but I don’t stay wrong.

I haven’t decided on the details. I may experiment with JBoss portal server instead, or even the Sun app server. But a week ago you couldn’t have forced me to deal with portlets, and certainly not with IBM. Now I’m thinking about freeing up some time in July to see what I can do with them.

First I have to get used to the horrible feeling that this stuff is starting to feel good. 😉