One of the biggest challenges I face as a senior consultant is maintaining existing Notes applications. Notes applications that have been web-enabled are particularly challenging. Why? Part of this is due to the process of web-enabling a Notes application. Are there separate design elements for the Notes client and the browser client? If so, then you end up with twice the amount of code to support. If a single design element, say a form, is used for both clients, then you have to pick through the various events to locate the code specific for that client. For example, with Notes 6.x, you can put code for both Notes client and web clients in a single button. On the surface, the design of the form is much cleaner. However, there is no easy way to find out if a button, action or whatever has Notes client code in it, web client code in it, or both. I had to update the Javascript code in a form action button recently, and was very confused as to why my code changes weren't working. Then it dawned on me: I had changed the code in the
Client event, and not the
Web event. The solution was to change the type of code being run to
Common Javascript, but that didn't change the fact that there was no really good way to see that there was two code streams present in the action.
This situation made me reflect on what IBM Lotus is proposing with the Lotus Domino Toolkit for WebSphere Studio. What they are proposing is that instead of maintaining the web version of your Notes application within the Notes application itself, you create and maintain the web UI of the Notes application within JSPs within WebSphere Studio. This, of course, is much simpler than it sounds. You first have to have a WebSphere Application Server (WAS) up and running, and then configure SSO between it and your Domino servers. You also have to have DIIOP running on all Domino servers, and properly configure the Run unrestricted methods and operations setting in the server documents. There is the small matter of being able to write JSPs and being able to use tag libraries, the Domino JSP Custom Tags in particular. Finally, you will need to work within the limitations of the Toolkit. For example, you can only leverage forms, views and agents in JSPs. So you won't be able to use an outline or a page you've already created for the Notes client.
But if you do have a WAS up and running and SSO is configured between it and your Domino servers, writing JSPs and using taglibs is a (relatively) small mountain to climb. What are your thoughts?