"Eventually, all things merge into one, and a river runs through it. The river was cut by the world's great flood and runs over rocks from the basement of time. On some of the rocks are timeless raindrops. Under the rocks are the words, and some of the words are theirs. I am haunted by waters."
--Norman Maclean, A River Runs Through It
I'm a Chicagoan, so maybe I'm a little more invested in this book than some others might be, since the author was a Chicago professor and the book was published by the University of Chicago Press after being turned down by lots of "mainstream" publishing houses. It's also a beautiful film from what I hear, although I haven't seen it. The book is about two very different brothers and their efforts to reconcile, and that's really not too far afield from the topic at hand, which is the reconciliation of the Rational tool suite with the WebSphere Studio products.
As always, we need a bit of history. Here, the history isn't too long for either tool. WebSphere Studio is built upon Eclipse, which has been around for only a few years. And while Rational began developing tools a long time ago, IBM acquired it in a surprise $2.1 billion acquisition only a little over two years ago. So really, both WebSphere Studio and the Rational tool suite as an IBM product have roughly the same chronological age.
When you look a little deeper, though, WebSphere Studio really has a somewhat longer and definitely more IBM-centric past. Remember, WebSphere Studio is built on Eclipse, and Eclipse was built by Object Technology Inc. (OTI), which built the original VisualAge for Java (VAJ). Those of us who used VAJ a lot will be the first to tell you that the Eclipse IDE and especially the Java tooling borrowed heavily from the old VAJ line.
On the other hand, Rational is some 20 years old--nearly ancient in IT years--and has a bit more of a relationship with Microsoft. Back in the mid-'90s, Rational actually acquired some tools from Microsoft, while Microsoft announced that the Rational product line would be an integral part of future Microsoft development plans.
Turnabout Is Fair Play
Do you remember how Microsoft basically stole Windows from Apple? And then turned around and stole NT from IBM (well, the part that worked, anyway)? At least that's how it seemed to those of us in the field back then. Anyway, it looks like IBM pulled a bit of a fast one with Rational. Right up until late 2002, Rational was still very buddy-buddy with Microsoft. Industry pundits, completely oblivious to the pending IBM acquisition, were talking about Rational XDE as the next great .NET development tool, bringing round-trip modeling to the .NET environment. Why is this important? Because models quickly get out of date. The programmer uses the model to generate the code, but when a change is required, he will typically just update the generated code. Once that happens, the model is no longer in sync with the actual code and is essentially useless. Round-trip modeling allows the programmer to make changes to the generated code and have the model kept up-to-date, and Rational is a leader in that field. Microsoft to this day seems to have no interest in that particular capability, focusing more on the drag-and-drop visual programming paradigm. But the Rational tool gave programmers round-trip modeling despite Microsoft's lack of interest. So all was well in the land that Bill built. And then, out of the blue, IBM bought Rational and with that acquisition gained one of the premiere .NET development tools, while at the same time adding uncertainty to those who were planning to use .NET as a modeled development environment.
Visual Studio 2005
I won't discuss Visual Studio 2005 and Whidbey and all that other glorious stuff here. Just understand that Microsoft seemingly has no desire to create a development environment based on modeling and instead is focusing on creating a workbench that basically puts all the emphasis on visual programming. People who know me know I'm no fan of either visual development or code generators, so choosing between a modeling approach and a drag-and-drop approach is definitely the lesser of two evils. But now I have a pretty clear choice: Rational is the modeling approach, and Visual Studio is drag-and-drop. I plan to do more research into the Visual Studio Express products in the upcoming months, and I'll let you know what I find. It's unclear how much of that I'll be able to do for the Rational products (I'll talk more about this later in this article), but I'll keep you apprised. And a couple other IDEs might need looking into, notably Sun's Java Studio Enterprise (JSE 7) and Borland's JBuilder 2005. We may actually have to have a head-to-head IDE competition later in the year. What do you think?
Back to Rational
OK, back to the Rational product line and its relationship to WebSphere Studio. At first, the merger seemed quite simple: Rational Rose is an Eclipse-based tool, and WebSphere is an Eclipse-based tool, so the two should live together reasonably well, right? Well, it's never quite that simple. First, as far as I can tell, the Rose development tool is still going to live with Visual Studio, which means there will be a non-Eclipse version of that part of the tool. And the bigger problem is that Rational is more than just the Rose tool. It's also an entire suite of other products. Rational's products include everything from high-level modeling and requirements planning to testing and team support, and the whole enchilada is not cheap. The "IBM Rational Professional Bundle floating user license" is priced at a little under $13,000. That's a hefty ticket.
Until now, iSeries developers have had something of a free ride as far as development tools went. This was to be expected; in order to offset the higher purchase price, part of the value of an integrated system like the iSeries was that the tools were available. If you want someone to develop for your platform, it helps to give them free tools. In fact, unless you're Microsoft and have a captive audience, putting a premium on development tools is a good way to kill your business (take heed of this little truism, IBM!). And the ride got better and better! WDS on the host and WDSc on the workstation together provide one of the most powerful development environments currently available, and the price is relatively cheap. In fact, it's bundled in if you plan on doing any sort of development on the iSeries. Buy any compiler, and get unlimited licenses to WDSc.
The Word from the Lab
And it looks as though this free ride will continue--to a point. But let me relate what I got from talking with George Farr and George Voutsinas. While neither gentleman even hinted at such a thing, it became clear that there's something of a disconnect between Rational and WebSphere, and the rift is clearly right at the line where the iSeries enters the picture. In fact, WebSphere Studio products other than WDSc will be rebranded as Rational, but WDSc will remain WebSphere Development Studio Client for iSeries. (Note: This is only for current WebSphere Studio products. Non-Studio products such as WebSphere Business Integration retain their WebSphere name, as may future WebSphere Studio products.) This rift may not be purposeful or even permanent, but it exists for now.
So, with Version 6.0, WebSphere Studio Site Developer (WSSD) is renamed to Rational Web Developer (RWD) and will contain some bits of Rational as well. It's not clear to me exactly which bits are included, and nobody seems to have a list handy. WebSphere Studio Application Developer (WSAD) also picks up a new name, Rational Application Developer (RAD). From what I can see, RAD not only includes some additional J2EE development tools (primarily EJB support), but also gets more of the Rational tools. Again, it's not clear exactly which pieces will be included.
Finally, there's a tool that's a level higher than these called Rational Software Architect (RSA). George Farr explained RSA as a superset of RAD. So RWD is the entry level guy, RAD is RWD plus some additional support, and RSA is RAD plus even more functionality.
All of this was announced back in October as part of the IBM Software Development Platform. If you go to the IBM Web site for that announcement, you will be able to get to other pages that allow you to download trials of either version of the product.
Click here for the Rational announcement page.
Click here for the RWD page (click on "Trials and betas" for a trial download).
Click here for the RAD page (click on "Trials and betas" for a trial download).
Click here for the RSA page (click on "Trials and betas" for a trial download).
So How Does WDSC Fit In?
Things begin to diverge here. First off, WDSc is still going to be called WDSc; it will be a WebSphere Studio product, not a Rational product. It will now be built upon the appropriate Rational product, however. Where WDSc used to be built on WSSD, it will now be built on RWD. Similarly, WDSc Advanced will be built on top of RAD.
The change isn't really that big, as the following figures depict. Figure 1 shows how the components of Version 5 of the WebSphere Studio tool suite related to one another, while Figure 2 shows how the renamed components relate today, with rebranding in place.
Figure 2: This is new family of Rational rebranded products, and WDSC as well.
As depicted here, RSA is a superset of RAD, and as such has no iSeries components. This raises some questions as to the actual relationship between RSA and the rest of the tool suite. As positioned in the literature, RSA is designed to be an end-to-end development tool from basic system requirements all the way through to code production. Since it has no iSeries support, however, it isn't useful for iSeries development. So that leaves us with an interesting conflict, which is repeated throughout the rest of the Rational product line.
A Rose by Any Other Name
The question here is whether the Rational products are really intended to be integrated with the iSeries line. No matter how much rebranding goes on, there comes a point where the tools must actually work together in order to be termed "integrated," and I don't think that such integration is really a goal for IBM.
As I understand it, a number of Rational components can be integrated with Eclipse, and these products will "recognize" one another. So theoretically you could acquire, say, the Rational Functional Tester and integrate it in with WDSc. Theoretically, mind you. But you wouldn't get any support for testing, say, native RPG programs. So there's clearly a rift here.
The larger problem to me is the fact that the de facto change management system is ClearCase, but ClearCase has no support for QSYS objects, and more importantly, there is no plan to add such support. The idea is that plenty of iSeries change management products and vendors already exist, and to attempt to extend ClearCase into that niche would be disadvantageous from a return on investment standpoint. And while I recognize the validity of that particular argument, we all know that iSeries change management tools are barely adequate at best at handling non-iSeries components. Typically, the best they do is allow you to include IFS objects in your change control; no vendor has full support for multi-tiered production applications with components on multiple platforms.
A similar problem arises with ClearQuest, the defect tracking system that integrates into ClearCase. ClearQuest has no capabilities for supporting QSYS objects, nor are there any plans to give it those capabilities, for similar reasons to those for ClearCase.
There's one other tiny little hitch in the whole Rational product scheme. iSeries developers have to pay for them. Yup. While we have this great integrated environment for designing and developing cutting-edge business applications, the Rational tool suite is not part of that environment. Except for the rebranded WebSphere Studio products, everything else on the Rational menu is a la carte for the iSeries developer. And as I mentioned earlier, this is not the Taco Bell value menu; the Rational tools are quite pricey.
iSeries Is the Odd Man Out Again
So a lot of great things are going on in the marketing side of the iSeries business, and as always, great things are happening in the labs on the development side of the iSeries. But even though the Rational acquisition is over two years old, the only real integration there has been some renaming. Not only that, but none of the tools are really cognizant of iSeries objects, and an iSeries developer has to pay extra money to use them.
So, at this point, no single environment exists for designing, developing, deploying, and managing multi-tiered systems that require the iSeries as a component. While most of the components can be managed using the Rational product line, the iSeries pieces must be managed via an iSeries vendor. Alternatively, you can hope that the iSeries vendor provides those pieces, which will pull you further away from the Rational line. And given the price of the Rational products, it's likely that that is exactly what the iSeries developers will do.
So What Does the Future Hold?
I see this as a time of vast opportunity for IBM. With the explosion in the growth of modeling (especially UML modeling) as an accepted design technique, this is an excellent opportunity for IBM to position UML modeling as a requisite tool for advanced systems development. The fact that Microsoft pretty much eschews any such tools (the closest it currently comes is Visio, which is quite limited as a development tool) means that Microsoft will be forced to play catch-up.
IBM could use this buffer period to really ramp up the Rational line into a fully functional multi-tier application design and development environment that's capable of creating components on the entire range of available platforms. It can already handle .NET and Java; if the Rational team and the WDSc team could just work together to provide similar functionality for RPG (and probably some support for SQL, either embedded or stored procedures), then the entire platform repertoire would be available in a single package.
Unfortunately, it looks like the iSeries message, despite all the whoopin' and hollerin' at COMMON and elsewhere, isn't getting through to the Rational folks. And until it does, IBM is going to have a fragmented message, which is exactly what Microsoft exploits with its .NET story. The SMB marketplace really does merge, and if IBM wants the iSeries to be the river that runs through it, they may want a more unified story.