One way to integrate Domino applications into a WebSphere environment is to create Domino portlets to run in WebSphere Portal. To make it easier, IBM and its partners have created a plethora of pre-built portlets and tools to help Domino developers build portlets that meet their exact needs -- without having to write lots of code.
There are basically three options for building portlets that display and manipulate Domino data: use IBM's out-of-the-box portlets and simply wire them to your Domino database; use the Portlet Builder to "auto-magically" create portlets without programming them; or, create a custom portlet.
- Out of the box: A portal is a vehicle that provides a single point of access and single log-on process to all enterprise content and applications. IBM's WebSphere Portal comes with portlets that display content stored in formats such as XML and RSS (typical format for syndicated content), and portlets that bring back-end applications into it.
Also, the WebSphere Portal Collaboration Center offers an array of additional off-the-shelf portlets that you can combine to make a complete collaborative solution. Some of the many collaborative portlets included are My iNotes, which provides access to the Lotus iNotes server functions (Mail, Calendar, Contacts, etc.), the Lotus QuickPlace portlet for displaying the Lotus Team Workplaces, Web Page for showing the contents of a Web page, as well as a number of other Lotus-related portlets.
The pros of using the Collaboration Center portlets are quick setup and no programming requirements. However, these portlets are vendor and version specific, meaning you're locked into your particular WebSphere Portal version. Also, they're not meant for high-performance portal environments, as they have limited extensibility and flexibility.
The Collaboration Center portlets are only shipped with the Portal-Express and Portal-Extend versions of WebSphere Portal. This is a key consideration from a cost-of-ownership perspective. For example, if the Enable version covers 99% of your needs, and you are only considering Extend for the Collaboration Center portlets, you may want to negotiate with IBM on the price.
In addition, hundreds of third-party portlets can be found in the IBM WebSphere Portal and Lotus Workplace Catalog. The catalog contains portlets for existing applications such as SAP and PeopleSoft, just to name a couple. Just because IBM doesn't provide a portlet in the box doesn't mean that you have to write your own. Always look at the buy vs. build cost before you decide.
- Portlet builder: The Portlet Builder for Domino allows you to create portlets that can access and manipulate data in Domino without programming knowledge or Web-enablement of Domino applications.
Portlet Builder is itself a portlet that runs in WebSphere Portal. In "Build" mode, it builds other portlets. In "Run-Time" mode, it accesses Domino data. Portlet Builder for Domino,which comes out-of the-box with WebSphere Portal, is best suited for displaying Domino data. Unfortunately, the interface is clumsy at best, and gives users access to all fields in the document, including hidden fields, which is undesirable.
The pros of the 'portlet builder' approach are enhanced configurability and flexibility over out-of-the-box portlets, faster development than doing custom portlets, and the need for little or no programming skills.
The cons are that the functionality of these portlets can't be extended with custom programming to meet very specific needs. It's best to look at portlet builders as meeting the 80/20 rule -- they will meet 80% (perhaps more) of your needs. If the other 20% of what you'd like the builder to do is just cosmetic, then you can get by using a builder tool. However, if that 20% is business-critical functionality, then you may need to develop a custom portlet.
- Custom portlets: If you can't find what you need from IBM's Collaboration Center Portlets, and you find the portlet builder tools too constraining, then you may want to take the custom approach. However, to build a custom portlet from scratch, you will need an experienced Java programmer and be prepared to maintain the code yourself. That means that you, rather then the vendor, will have to update the code when changes are required, and test the portlet in upgrades of WebSphere Portal.
Generally, over the life of any application you develop, you will spend 20% of the time and cost in the initial development and 80% maintaining the software. This has to be balanced against the maintenance and support costs (usually a 20% annual cost of license fee) of purchasing software.
If you want to take on the task of building a custom portlet, you can turn to one of the two toolkits in WebSphere Studio Application Developer--WebSphere Portal Toolkit or the Lotus Domino Toolkit. The Lotus Domino Toolkit is a set of plug-ins for WebSphere Studio that allow you to access Domino applications and data. It includes the Domino custom JSP tags which are similar in format to HTML tags, but allow developers to embed functions that access Domino applications into JavaServer Pages.
But, again, you need to have knowledge of Java, the Domino object model and WebSphere Studio Application Developer. It also helps to be knowledgeable on concepts such as object pooling and session pooling for developing scalable portlets.
To sum things up, it's possible to create Domino portlets with three different methods depending on your level of programming expertise and the sophistication required of your portlet. Given that portals are becoming ubiquitous in organizations, and that IBM and other vendors offer many helpful tools for creating portlets, there's no good excuse for not getting a start on "portlet-izing" your Domino applications.
About the authors:
Tony Higham is the chief solutions officer at FatWire Software and an expert on Lotus, WebSphere and Java technologies. He can be reached at tony.higham@FatWire.com.
Sue Hildreth is a contributing writer and editor based in Waltham, Mass. She can be reached at Sue.Hildreth@comcast.net.
Do you have comments on this tip? Let us know.
Please let others know how useful it is via the rating scale below. Do you have a useful Notes/Domino tip or code to share? Submit it to our monthly tip contest and you could win a prize and a spot in our Hall of Fame.