In a recent article, I introduced the new Eclipse-based Rational tools and did the best I could to explain how they relate to the existing Eclipse-based WebSphere Studio tools. In essence, the primary connection is that they are Eclipse-based. That, and the fact that IBM renamed the WebSphere Studio tools to Rational are currently the only features the two have in common. And although I'm still hoping that the future will bring a better integration between the lines, I fear that the philosophies of the iSeries group and the rest of the tools teams might not be compatible. Rational's pricing model conflicts with that of the iSeries, and as far as I've been able to tell, the Rational team has no plans to include support for QSYS objects in any of its tooling.
This is perhaps the worst decision I have seen IBM make in several years. IBM has an opportunity to create a truly revolutionary development tool: a single IDE that could start with a UML design document and generate a complete application with any sort of architectural configuration you could ask for. The front-end could range from a JSP Model II front-end to a portal to a Domino-like rich client. Clients could be everything from dumb tubes to smart phones. The back-end could be anything from pure EJB to RPG business logic connecting to a DB2/400 database. You could run on a roomful of Windows machines, a cluster of Linux boxes, or a single iSeries.
This would be the killer development app that would blow .NET out of the water, but nobody at IBM seems to understand this. The standard edition of WDSc gains relatively little from Rational. The vast majority of WDSc functionality comes from WebSphere Studio Site Developer (WSSD) and Remote Systems Explorer (RSE); the parts of Rational that would actually complement iSeries development (UML, Crystal Reports) are available only in the incongruously expensive Advanced Edition of WDSC. And nobody at Rational seems to be willing to even acknowledge that the iSeries exists. But I digress, and to avoid the peril of falling off my soapbox, I'll get back to the topic at hand. Let me start, as I often do, with a little history.
A Brief History of IBM Tool Offerings
IBM has had quite a number of offerings in the tool space over the years. Just counting those designed to be used on and around the iSeries, you've got the green-screen tools such as SEU and SDA (and all their predecessors), thick-client tools including CODE/400 and VisualAge for RPG, Java development tooling in VisualAge for Java, any number of PC-based integration tools (from PC support through Client Access), and even prettification utilities such as HATS and HOD.
A parallel development line includes the Lotus offerings. Since buying out Lotus in 1994, IBM has been working to integrate the product line into the rest of the IBM vision. This integration has resulted in the IBM Workplace tool suite, including the Managed Client, Collaboration Services, and Services Express offerings. I haven't yet been able to set up a test environment for the new offerings, so I can't tell you much about them, but I do have a little bit of information. First, from the end-user side, the tools are designed to provide a rich-client interface that Lotus users will find very familiar: disconnected services, document management, all that good stuff. Workplace Managed Client is the Workplace version of Lotus Notes. Second, there will be new tools for developing applications in this environment, including the new Workplace Designer. From what I've been able to find out, though, Workplace Designer is very much a Lotus Domino Designer work-alike, but without the @functions. Since this is yet another development tool, I'll do what I can to bring you more information about it in the coming months.
Finally, there came the plethora of Eclipse-based offerings, which a long time ago were named "WebSphere Studio" something or other, such as WebSphere Studio Site Developer and WebSphere Studio Application Developer. The pinnacle of those offerings, at least from an iSeries-centric standpoint, is WebSphere Development Studio Client for iSeries, whose acronym has gradually settled down from WDSci to WDSc to WDSC (there is a special place in Hell for people who insist on toying with capitalization, and my guess is it will be almost entirely populated by IBM marketing people).
The most recent move was to combine the Rational development products with the WebSphere Studio line. This involved some rebranding: WebSphere Studio Site Developer (WSSD) became Rational Web Developer (RWD) and WebSphere Studio Application Developer (WSAD) became Rational Application Developer (RAD). Interestingly enough, add iSeries features such as Remote Systems Explorer and that nullifies the rebranding; you're back to WDSc (WebSphere Development Studio Client for iSeries) and WDSC/AE (WebSphere Development Studio Client for iSeries, Advanced Edition). However, as I've noted already, the level of co-development of these tools is minimal at best; IBM seems intent on snatching defeat from the jaws of what could be one of the biggest victories in computer tools history.
Darn it. There's that soapbox again. Enough history.
So What Does Rational Bring to the Table?
So while I could be writing about extraordinary, exciting things like UML-driven generation of RPG stored procedures and Web service programs (that's my term for a Web service that is provided by an ILE service program), instead what we have here is largely the same stuff in a newer package.
That's not to say it's not good stuff! As we've come to expect, George Farr and his team have done some incredible things with the new version of WDSC. In this article, I'll go over what Rational brings to the table at a high level, which is primarily nontechnical in nature. Don't get me wrong; there are very nice enhancements in the new release, and I'll go into specific technical detail about the various WDSCenhancements--focusing on the iSeries pieces--in my next "Weaving WebSphere" column. It's just that I'm a little bit disappointed that this is an evolutionary release when it could have been a revolutionary release.
OK, on to the actual product. Relatively few brand new features spring from the Rational relationship. The Clear Case integration is one, I suppose, but the vast majority of new content in WDSC6 comes in the form of documentation. I'll address enhancements to the existing features in my next "Weaving WebSphere" column, and I'll devote this section to the new features.
You may have heard that WDSC6 has a brand new interface, but the interface changes have little to do with WDSCor Rational. As I described back in May, they come from Eclipse 3.0, which is actually pretty long in the tooth; it was released in June of 2004. Eclipse 3.1 was released at the end of June this year, and Version 3.2 is well on its way. So any "new" interface features of WDSC6 are over a year old, and you can actually find them in the Tips and Tricks section of the Help menu (I'll address this a little more near the end of the column).
Don't Brand Me, Sir. I'll Stay in the Corral!
I Never Needed Anybody's Help in Any Way
But now those days are gone, and I love as much help as possible. Context-sensitive help, code assist...you name it, I love it. And the WDSC 6 workbench provides that in spades.
The Overview section is a good place to start. First the fluff: There are a couple of movies that aren't exactly required viewing, but they don't take much of your time either; feel free to check them out. The interesting thing is that the movie for Rational Web Developer contains almost nothing new from the last release. With the exception of a brief mention of Clear Case, all of the features shown in the movie are from either Eclipse or WSSD.
But the written material is a lot better. For example, the overview contains a pointer to something called the Information Map, which is a concept I think every tool of this complexity should have. It's really an overview of everything in the package, and it assumes almost nothing. It lists the basic functions that a person might use this tool for (such as developing iSeries applications or Web applications) and then outlines exactly how to go about doing those tasks.
The fact that I didn't find much in the What's New section has more to do with my own personal biases than the section itself. It seemed to me that the vast majority of the What's New features had to do with J2EE development, with its unique world of roles and artifacts and development meta-data and the (to me) completely unappealing world of visual development of Web applications using Struts...oops, I mean JavaServer Faces... oops, I mean whatever the UI fad du jour is. One thing I did notice, though, was that the visual developer is supposed to allow the development of UIs where components are bound to simple JavaBeans. If this is a lightweight binding, I may be interested. Stay tuned....
The Tutorials section is where the new version shines. An entire gallery of tutorials has been included with the product, and they aren't all Java- or even Web-specific. There are some very iSeries-centric tutorials, including one on editing, compiling, and debugging an iSeries application. When I first looked at this particular tutorial, I immediately had mixed emotions. It has the exact same look and feel as my WDSC Step-by-Step book, with very detailed instructions and lots of screen prints. On a positive note, it vindicates the approach, but on the other hand, it makes it unlikely that I'll be doing a follow-up version of my book. I guess I'll just have to be satisfied with the fact that imitation is the sincerest form of flattery.
The Samples section has more information in the form of sample programs that you can install and run. I think this is a superb trend that should be encouraged. In my experience, if you ask programmers how they learn best, the answer almost invariably involves looking at working versions of code. I can read all the theory I want and pore over reference manuals for days, but nothing teaches me like a sample program that I can tweak (and especially break!). Give me a working program, a reference manual, and a good debugger, and I'll learn more in a few hours than I would in days of reading the manual alone.
The First Steps is sort of a brief list of things to do. It complements the Information Map I mentioned earlier in that it is geared more toward migrating existing projects and Web sites than creating things from scratch. If it were IBM, I'd have tried to figure out some way to combine it with the pieces in the Information map.
The last piece is the Web Resources, and while I was at first going to give this page short shrift because of its preponderance of Rational links, upon further review I realized that it really does a good job of providing access to most of the major pieces of iSeries expertise out there. In fact, the only things missing are MC Press and www.midrange.com
A Couple of Extra Goodies
One additional resource isn't immediately apparent from the Welcome page. This feature is an underlying addition to Eclipse and is sort of an uber-wizard, called a "cheat sheet." You access cheat sheets by taking the Cheat Sheets option from the Help menu.
A cheat sheet walks you through a series of steps for a given development task. Each step typically has its own wizard, but each wizard is a specific self-contained function. The cheat sheet provides the logical navigation through each of the functions required to actually complete a development task, such as editing and compiling an iSeries program. Unlike a tutorial, the cheat sheet is very interactive and integrated tightly into the workbench itself; as you proceed through each step, the appropriate wizard actually pops up as if you were doing the steps manually. It's a very powerful way to learn the individual steps and see how they are related. As I noted, one of the cheat sheets is on developing iSeries applications (I'm happy that a few of the cheat sheets did at least acknowledge the iSeries). The majority are not--tasks like creating Web services or plug-ins are hardly relevant to a typical iSeries application--but you'll appreciate them when it comes time to use them.
Another goodie, but one that unfortunately seems to have been completely missed by the iSeries folks, is a little section called Tips and Tricks. This section provides detailed information on the enhancements to Eclipse between Versions 2.1 and 3.0, broken down into the functional areas of the platform itself (the workbench), the Java development tooling (the JDT) and the plug-in development tooling (the PDT). I wish there were a similar sort of thing for the enhancements to the LPEX editors, for example, or the WebSphere Test Environment. Then again, if there were such a thing, you might not read my next "Weaving WebSphere" column, which will cover just those things.
Let's Hope More Is Coming
At the risk of being called a troublemaker (who, me?), I'm going to note one last time in this article that IBM has an opportunity to completely slay the competition. If IBM combined all the pieces of its development strategy and created a coherent development environment that could generate code for every architecture (and by that I mean being able to drop the "UI framework of the day" addiction or to use native DB2/400 database I/O when appropriate rather than EJBs), then IBM would conquer the development world. Such an environment would have a place for both legacy programs and legacy programmers and would provide a vehicle for people to actually take advantage of the vaunted Roadmap.
I even have a name for such a thing: It's a multi-architecture development environment, or MADE. IBM builds one of those, and we'll all have it MADE in the shade