As expected, IBM used the conference to announce Domino and Notes 6.0--both formerly code-named Rnext--and to tell the Lotus faithful that the products will ship near the end of the third quarter. However, the company threw many attendees for a loop when it revealed that Domino 6.0 will fully comply with the Java 2 Enterprise Edition 1.3 (J2EE) standard.
For many Domino developers, this revelation will pack the emotional equivalent of watching your mother-in-law drive off a cliff in your new Mercedes. The good news is that developers will be able to integrate Domino services with a wider array of Web-enabled applications and systems software, and they'll be able to do so with greater ease and flexibility. Let's say that you want to add Domino's Sametime instant messaging capabilities to a J2EE-compliant collaborative product design tool that your company is using with its biggest customers. With Domino 6.0, you'll simply invoke those capabilities from the collaboration tool via J2EE-standard methods. Since all application communications will be based on J2EE, you won't have to modify the code within either application. By the same token, you'll be able to modify either application without breaking their linkages.
Of course, the devil is in the details, and therein lies the bad news. Domino developers have been using Java for years to expose application services to other Web-based systems. However, they've been doing so via Domino's native application server, which supports Java technologies--including Java Server Pages (JSPs)--in ways that are not J2EE-compliant. With Domino 6.0, there will be no support for such noncompliant code, including all those JSPs. As a result, many developers will face a significant recoding effort. Their companies may also have to pay increased upgrade costs, as they will need to invest in their first J2EE-compliant application server to support the new Domino version (the native application server will remain noncompliant). Naturally, IBM will recommend its WebSphere application server, though other J2EE-compliant servers could do the same job.
The big question for the Domino community is, "Will the gain be worth the pain?" In my humble opinion, if Domino will remain your strategic platform for delivering workflow and messaging services to your users and if you plan on extending some of those services to your customers or business partners, the answer is almost definitely "yes."
Here's why I believe this. Across the IT industry, most enterprise application vendors are Web-enabling their applications using the Java development platform (though some are hedging their bets by also offering versions that comply with Microsoft's COM+ and .NET platforms). Most of these vendors also plan to add J2EE compliance to their applications or have already done so. This is because J2EE offers a robust and fairly mature set of industry-standard middleware services that provide "any to any" integration between heterogeneous application environments. For the Domino developer, such integration will open a world of new opportunities to connect quickly, inexpensively, and dynamically with your employees, business partners, and customers.
For similar reasons, IBM is embracing J2EE as the digital glue that will integrate its four major software families: WebSphere, Domino, DB2, and Tivoli. The company's goal is to allow all four products to invoke each other over the Web and across operating system boundaries, using consistent, industry-standard interfaces that any other J2EE-compliant application can use. Indeed, IBM used Lotusphere to announce a "server health management and planning toolset" for Domino 6.0 that will likely use J2EE to integrate Domino Administrator with Tivoli performance and capacity management tools. Similar offerings that integrate Domino with DB2 and WebSphere via J2EE will no doubt appear in the coming months.
Whether you've noticed it or not, this entire discussion harks back to my article last week about the common software platform that IBM is developing to run, not only across all of its servers, but over the servers of its competitors. If you're an IBM iSeries owner, that software platform is taking shape under your feet, and J2EE is providing many of the nails to hold it together. That's something to keep in mind, especially if your company also has a commitment to the Windows platform and the .NET architecture into which it is evolving. I'll have more to say about .NET and the choices it presents in future articles.