developerWorks: IBM Lotus Notes composite application podcast series

I haven’t listened yet but it sounds interesting. Too bad there isn’t a RSS feed for the series available.

“In this three-part podcast series on composite applications, you hear about the application development benefits and capabilities of IBM® Lotus® Notes® and Domino® 8, about how to integrate your Eclipse™-based or IBM Lotus Expeditor-based applications with Lotus Notes and Domino 8 applications, and about how to create composite applications in Lotus Notes and Domino 8.”

developerWorks: IBM Lotus Notes composite application podcast series

Caveat with code from developerWorks tutorial on composite applications

If you’re planning to follow the “Building composite applications for IBM Lotus Notes V8” tutorial on Composite Applications from developerWorks (and you really should) and you have Domino Designer set to automatically insert Option Declare for you (and you really should) you need to declare a variable in Lesson 3. You need to declare the cName as a String for the code to compile. Or remove Option Declare of cause… 🙂

Discovering Notes 8: WSDL editing

If you’re running Notes 8 and starting to look into composite applications (CA) you’ll need a tool to edit WSDL files unless you’re the notepad-type. Even I is getting past that point and starting to resort to GUI editors so maybe you should to. Fortunately for us all there is no need to look further than your favorite IDE (which is even more true after Notes 8 has been released).

In Eclipse the WSDL editor is provided by the Web Tools Platform (WTP) Project which can easily be installed on top of the standard free Eclipse IDE. I used Eclipse 3.3 but you might as well use Eclipse 3.2 or even 3.1 I think.

Installation is as easy as 1, 2, 3:

  1. Add a remote update site to
  2. Once prompted for the components to install select “Web Standard Tools (WST)” feature in the “Web Tools Project (WTP)” category (see screenshot)
  3. Install and sit back and wait while the installation runs to completion

To show of the WSDL editing capabilities of the Eclipse editor I created a simple WSDL file with two math functions (add and subtract) as shown below.

Afterwards I imported the WSDL file into a Java web service in Domino Designer but it could as well have been LotusScript. Nice ha?

New on developerWorks Lotus: Composite applications page

This morning, we launched a new Composite applications page on developerWorks Lotus, featuring links to all composite application content we could find on including articles, tutorials, Redbooks, and more.

We hope that this page provides a good introduction to composite applications and serves as a starting point for building your own composite apps. We'll add to the page as new content becomes available, so check back once in a while.

New on developerWorks Lotus: Composite applications page

Composite thinking

In the issue of the Lotus developerWorks newsletter that I received in my inbox today there is a link to an article on creating applications using the Property Broker of Lotus Expeditor (Creating collaborative components for IBM Lotus Expeditor Property Broker). This was kind of funny since it coincided with me receiving a Java newsletter with an article on using the PropertyChangeListener of the Java SDK.

For those not in the know, the Property Broker is the middleware which is used in the Lotus Expeditor framework to dispatch property change events between components and hence is the glue that makes the different components of a composite application work together. The Property Broker is configured either declaratively using an UI or using an API.

The approaches described in the two articles are quite similar and both describe how using a declarative approach (much like extension points in Sametime 7.5 development) allows for a much more flexible solutions that are less brittle and prone to breaking caused by API changes. An added benefit is the absence of compile time checks which means that you may develop and deploy components that doesn’t need to know of any other components that acts on the property changes it fire. The alternative to declarative events is the use of the Observer design pattern and Listener-interfaces en masse e.g. like in Swing.

Reading the articles has really got me thinking about how to leverage these capabilities in new and existing applications. I see great possibilities and the possibility of having many applications work together to form a greater whole.

I think the advent of composite applications will mean that the job of the application architect will become more challenging and you need to change the point of view from which applications are designed and developed. Applications will move from being monolithic entities to being composite and hence you need to decide on which properties to expose and how to work with “client” applications. This you need to decide on at design time. Applications should be designed and built as smaller interconnected components and not as the CD-ROM AutoInstall, 7-databases-in-one, applications of today.

Sounds intriguing but challenging…

All these possibilities are exciting and it will be interesting to see how many of the Lotus Expeditor capabilities will be exposed by the Notes 8 client and how many Notes 8 customers will pick up on it.