This is the last in a three-part series about the past and future of the Notes/Domino platform. So far, we've discussed the origins of the Notes environment and the significant releases that have propelled it to its esteemed position. We've also examined the challenges that the new IBM Lotus Workplace brand is creating and IBM's drive for open-standard J2EE environments. In the next year, Lotus will deliver Notes/Domino Release 7, currently in public beta (beta 2), with hints that a beta 3 will precede the final R7.0 release next year. If Lotus ships all the features listed in the beta 2 release, Notes/Domino customers will be assured that their investments in applications are secure, while developers on the platform will relish the new power and functionality that will drive them to enhance their skills.
Domino Server 7 DB2 Support
The Domino server engine infrastructure in beta 2 has been significantly enhanced. One of the most intriguing enhancements is the Lotus support of DB2 8.1.5 as a data store. This will allow users to run Lotus Domino 7.0 with DB2 databases as well as Domino databases, accessing and viewing data stored in either format.
According to Lotus, users will experience no visible difference between the Domino data and the DB2 data. There will be no need for either DB2 IDs or special DB2 connectivity, and users will even be able to replicate a DB2 database in much the same manner as they can now replicate a Notes database.
The advantages of DB2 integration are numerous. Domino sites will gain access to standard DB2 features, such as relational constructs and SQL-based views. In addition, DB2 will offer, according to Lotus, improved performance and scalability.
For the users of traditional DB2 databases, Domino will give them better XML/collaboration support, Domino services, Notes application development support, and integration of Domino data into DB2 applications. Security, according to Lotus, will follow the Lotus Domino model, which is quite robust.
- The ability for Lotus Domino servers to run with a DB2 data store
- Configuration tools that connect a document from DB2 to the Lotus Domino server
- Status and analysis support
- Security APIs to allow DB2 user names/passwords to be added
No iSeries DB2 enhancements in R7
Now the bad news! The beta 2 release of Lotus Domino 7.0 with DB2 is supported on only the Windows 32 and AIX 5.2 operating system platforms. There's no current support for iSeries DB2 or for DB2 running on top of Linux or zOS. In addition, DB2 is only a storage option for the Domino servers themselves; databases on the Notes client will remain in NSF format. It's as yet unclear if this support will be extended to these other databases by the time R7 is finally shipped.
Why is this?
According to Lotus, the iSeries DB2 database structure is technically different from IBM's DB2 on other platforms. This is because, we assume, it is an integrated part of the i5/OS400 operating system. Lotus says that it will address the iSeries i5 DB2 database in the future, but the company has not committed to the time frame for a release.
iSeries customers are not the only ones screaming for attention to get a Domino/DB2 back-end. Linux customers and zOS customers are also demanding a time frame. Clearly, the popularity of this data store requirement--and the fact that Lotus views the iSeries as a strategic platform--will force it to make this a future high priority on these server platforms.
Meanwhile, the issue of excluding the DB2 back-end from the client machines appears to be more of a licensing problem than a technical impossibility. IBM sells a lot of DB2 licenses for different operating systems, and though the company follows a so-called open standard, there are minute technical differences between the flavors of DB2. Whether IBM will ever permit a DB2 back-end for the Notes client machines is still not clear.
Lotus says that Domino 7.0 will also provide enhanced integration for IBM WebSphere Application Server (WAS) and WebSphere Portal. The beta 2 offers better integration for Web standards such as Java 1.4 and external Java debuggers and Web Services hosting. There's also enhancement in supporting standards for DXL and IIOP/Java API extensions.
Enhancing a server with new features is quite an accomplishment, and Lotus has historically done an excellent job. But Notes/Domino has a unique problem that makes server enhancements even more astounding.
Consider, for instance, that in order to integrate new technologies into the capabilities of the Domino server, Lotus also has to make changes to its proprietary database store and then create a means of implementing those capabilities into a programming IDE for use by developers. It's quite a feat, and it's what makes Notes/Domino such an effective self-contained programming platform.
In R7, the true native programming IDE for Notes/Domino databases remains the Domino Designer, and--though Lotus now provides a plug-in for the Eclipse IDE--it has spared no expense in enhancing the R7 Designer IDE. Some of these enhancements include the following:
- A new Web Services design element
- The ability to "auto save" form design changes
- A new design element for creating DB2 Access Views for DB2-enabled databases
- A new DB2 Query View that's SQL-based for DB2-enabled databases
One of the most significant is the Web Services design element. You may recall that in R6.0 Lotus seemed to abandon the implementation of Web Services as a technology, later bringing out some limited resources in R6.5. The Domino Designer 7.0 now allows the creation of a new design element that will let developers maintain the functions of a Web Service from within the IDE itself. This Web Services design element stores the parameters for the Web Service as an agent that is stored internally in the Notes NSF database itself. You still can't create a Web Service in Domino Designer, but you can access and integrate them all within the confines of the IDE.
New @Functions, LotusScript, and Java Classes
One solid measure of Lotus' seriousness about the Designer and the Notes/Domino programming platform is its continued enhancement of @Functions and LotusScript classes, along with a growing reliance upon Java. The Domino Designer for R7 shows continued strength in all of these areas.
@Functions are macro-like formula functions that enable the simple creation of internal Notes scripts that can activate buttons or populate fields automatically. Traditionally, the Designer allowed highly sophisticated intelligent documents to be created using nothing but @Functions within the database. In R7, Lotus adds a couple new ones that relate to sensing the environments in which a Notes document is being accessed, including @Command([DiscoverFolders]) and @PolicyFieldLocked.
Notes also supports the proprietary object-oriented scripting language called LotusScript that uses object classes and methods to facilitate more sophisticated internal programs within a Notes document or database. The list of old LotusScript classes and methods seemed quite exhaustive, but in R7 new LotusScript enhancements expands that capability. The list is impressive but too technical to discuss in detail here. Suffice it to say that Domino Designer is not skimping on LotusScript, and these classes will encourage developers to extend their reach. This list includes the following:
The use of Java within the Designer has allowed even more power to be encapsulated in Lotus agents, and R7 beta 2 adds some new ones as well, including these:
So what do these lists of technical elements tell you about Lotus Designer?
First of all, the Domino Designer is still clearly and heavily focused upon the LotusScript programming modality. There had been some fear that Lotus was backing away from LotusScript as a modality for programming. The new LotusScript classes and methods put that question to rest for the moment.
Second, the relatively modest list of new Java indicates that Lotus wants programmers to focus first upon their LotusScript skills when developing databases and wants to let J2EE programmers focus upon integrating these databases to other J2EE services.
Finally, the whole effort that Lotus has exerted in the Designer has been to make it more functional and powerful as the platform's native IDE. Designer is a substantial programming environment, and Lotus does not seem to be planning to abandon it anytime soon.
Bringing It All Back Home
In this article, I've tried to narrow the review of the R7 beta 2 to those aspects of programming Domino that I know are on the minds of developers. I have not touched upon the increased functionality of the Notes Client, the integration to WebSphere, or the browser interfaces (iNotes) that users will find themselves using. These are substantial, but they're beyond the scope of this article.
Needless to say, given the investment that Lotus has made in the Domino server and the Domino Designer, it is now positioning the platform for continued incremental growth, adding functionality, power, and better integration to IBM's various software brands.
For developers of Lotus Domino databases on the i5/iSeries, some of the added features and functions of R7 will be missing for a time, and this will cause quite a bit of consternation. But, given Lotus' track record in porting Domino to the i5--and the strategic importance of the i5 to Lotus' continued success--we have no reason to believe that Domino's future on the iSeries will be anything but exciting.
Thomas M. Stockwell is Editor in Chief of MC Press Online, LP.