

Lotus' Bowen offers more insights on building J2EE apps

Lotus' Roy Bowen shares more insights on building J2EE apps for Domino and WebSphere.

SearchDomino recently featured a Lotus Live! Series Webcast with Lotus' product manager of cross product Web application development Roy Bowen on Building a J2EE Application for Domino and WebSphere . Roy answered many questions from the audience, but due to time constraints and the volume of questions, he agreed to answer the remaining questions offline.

Roy Bowen
Is there a tool that mimics much of the functionality you get with the Notes client in the J2EE environment? I really don't want to have to build everything from scratch.
Bowen: J2EE application clients are usually Web browsers; therefore, you're left to use HTML tools to build the UI elements that you are provided in the Notes client. The Notes client is currently a much richer overall experience than what you can get with HTML/JavaScript alone.

Must we have WebSphere to use Domino 6?
Bowen: No. Domino does not require WebSphere. If you want to build J2EE applications or use the Domino 6 custom JSP tags, then you will need some type of J2EE container, which Domino does not provide. Only in that scenario will you need a container like WebSphere.

Is Domino LDAP server functionality requiring WebSphere?
Bowen: WebSphere is not needed to use Domino as an LDAP server. LDAP is a Domino server task that can be loaded on the server to allow Domino to serve as an LDAP server.

In case you missed it
CLICK here to listen to the archive of Roy Bowen's SearchDomino Webcast on Building a J2EE Application for Domino and WebSphere
Does Domino 6 provide the development environment for JSP?
Bowen: No.

Can you do remote connection using JDK 1.2.2 without WebSphere?
Bowen: Yes. To do so you will need to use NCSO.jar, which contains the ORB to communicate to your Domino server from your application.

Does WebSphere integrate with Domino 5.06 like these slides?
Bowen: Yes. The only integration points that are not in Domino 5.x are the custom JSP tags and the HTTP plug-ins. Those are Domino 6-specific functions.

Can you provide more clarification on why you need to recycle? As I understood it, Java is very good with garbage collection and memory allocation.
Bowen: The Java garbage collector does not see the underlying memory used by Domino when you instantiate Domino objects. The JVM only sees the Java memory utilization of those elements and will hold on to them, thus keeping the memory in Domino around longer, and therefore eventually consuming the available memory of the system.

Can you give me a compelling scenario for an organization to start development of Domino applications in J2EE environment?
Bowen: These are example cases:

  • Where Domino will not provide the needed performance for the Web application.
  • When precise control over Web UI is needed.
  • When the development team's core is Java development but wants to easily include collaborative features, then a Domino/WebSphere mix could be a great solution.

Can ncsow.jar be used from BEA?
Bowen: If BEA WebLogic provides a CORBA ORB within the container, then you will want to use NCSOW.jar, or else you will need to use NCSO.jar for remote access to Domino. This same principle applies to any container you plan to access Domino from.

What will Eclipse provide as far as Domino/WebSphere integration?
Bowen: Specifically, Eclipse is an open framework that the WebSphere Studio products are built upon. Any integration that is done will be between WebSphere Studio and Domino, not Eclipse. We are looking at different integration points such as allowing Studio to see the list of design elements in a database, and launching Designer to edit a specific element - or retrieving a form design element via DXL and rendering it into a JSP. (These were demonstrated at developerWorks Live!)

Is the remote/Cobra portion of the Java API compiled in JVM1.3.1?
Bowen: Domino 6 uses the 1.3.1 JVM and the Domino Objects for Java are compatible with it.

Can I share security context from Notes agent to a protected EJB?
Bowen: No.

I am a Domino admin, and I am interested in learning WAS administration. Can you give any URL's to provide us a Primer in Architecture and Administration?
Bowen: Check

Can I use Notes database to persist an EJB?
Bowen: Yes, but you have to do the work yourself by coding the appropriate triggers. This is called a Bean Managed Persistent (BMP) entity bean.

Since JSPs are stored in OS directories, how are they replicated in clustering?
Bowen: This would need to be a function of the J2EE Web container. Domino does not handle the replication of JSPs in any sense.

Do you need to recycle remote (CORBA) objects as well as local objects?
Bowen: Yes. The recycle() method is recommended when you are calling into Domino using the local API or when calling in via CORBA.

Besides a recycle, do you have a timeout function or Tag for JSP?
Bowen: No.

Would Domino 6.0 support IBM http server in the Web server plug-in architecture on Win NT?
Bowen: IBM HTTP Server won't be supported on WinNT/2000 at initial ship of Domino 6. However, it will be added in a future maintenance release soon after Domino 6 ships.

For more information
CLICK for our Featured Topic on J2EE

CLICK for our Best Web Links on Java

How do I access EJBs from a Notes Client Application? Is it limited to Java agents? I would like to access from Form events.
Bowen: To access an EJB from Domino, you would need to load/utilize the appropriate Java classes to find/instatiate/call the EJB. In Domino 5, that is only capable by using a Java agent, but in Domino 6 there is LotusScript to Java, which allows LotusScript to call Java classes. This could be in a form event. The code for that would be a bit tricky, but it is possible.

Do you need to use/Can you use Identity pass through for Domino to WebSphere? For example, sign on to Domino and then a Domino app passes to a WebSphere app?
Bowen: WebSphere applications (Servlets/JSPs) are accessed via HTTP. There isn't a good/clean way to call a Servlet or JSP from Domino, except for using the classes. Building the HTTP request to a Servlet isn't difficult, but to do so and pass the appropriate SSO token generated by Domino is not an easy feat. It may be possible, but I can't think of a clean solution for it.

What's the best way for a current Domino/LotusScript developer to obtain J2EE development skills?
Bowen: Try taking a LotusScript agent (not one of your more complex ones) and convert it into Java using the Domino Objects for Java. Also, get a good book on the Java language syntax and take a course or two.

Dig Deeper on Domino Resources - Part 5

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.





  • V6R1 upgrade planning checklist


  • Connecting multiple iSeries systems through DDM
