How Lotus Notes 8.5 works with SOAs

Now that we've covered the basics of an SOA, it is time to examine how Lotus Notes 8.5 fits in. Lotus Notes 8/8.5 can help an organization achieve target architecture requirements with SOA characteristics by:

  • Supporting service reuse. Lotus Notes 8.5 does this by providing a composite application development capability, and by providing web service consumer and producer capability.
  • Enabling further extension of Lotus Notes to further work with SOAs through an open technologies framework.

Composite applications

Lotus Notes 8.5 has the ability to assemble composite applications. This ability is useful in the Assemble phase of the SOA lifecycle. In this section, you will learn what a composite application is and how Lotus Notes 8.5 enables the assembly of composite applications.

A composite application is a loosely coupled collection of user-facing components brought together for a specific business purpose. Composite applications provide the frontend of an SOA. The ability to create and edit composite applications lets you easily combine and reuse different services, providing a tremendous platform for service reuse - a key characteristic of an SOA. With Lotus Notes 8.5, server-managed, NSF-based, composite applications can be created or edited. An NSF-based composite application can consist of NSF, Eclipse, and WebSphere Portal components.

Elimination of information and service "silos" is a key benefit of composite applications for end users. With composite applications, the services are loosely coupled and independent (not hardwired into the infrastructure), so they can be easily reused or extended, as business needs change. This is an important element in enabling a business to flexibly respond to business changes and to alter application interactions as needs dictate. Available online or offline, composite applications can facilitate self-service activities. Using the composite application editor within Lotus Notes 8.5 software, end users and LOB managers can create composite applications. IT staff can use their current development skills to build and modify reusable components, helping to reduce IT and development costs. Organizations can reuse previously developed Eclipse technology-based components within the composite applications experienced by Lotus Notes and Domino 8 software, helping to increase return on investment in application development tools and skills.

The Composite Application Editor is an install-time option of the Lotus Notes 8.5 Client. Composite applications can be built with minimal or no NSF design changes to reuse existing Notes applications as components of the composite application.

Development responsibilities for building composite applications can be distributed across several types of application development and administration team members. The process does not have to be restricted to a highly skilled component developer. The roles in composite application development typically include the following:

  • A component developer who designs and creates NSF and Eclipse components
  • An application assembler who defines and assembles the composite application, and who may be a business user
  • An application administrator who deploys portlets onto the WebSphere portal and maintains NSF-based composite applications on the Domino server

The following section provides an example of how Lotus Notes 8.5 enables composite application assembly. The documentation and files necessary to build this example can be found by visiting http://www-03.ibm.com/developerworks/blogs/page/CompApps?entry=more_sophisticated_tutorial_of_composite

Composite applications

The previous figure shows the Lotus Notes Contacts view. On its own, this component shows a list of contacts and has a preview pane showing the details for the currently selected contact. Certainly, this is a valuable service by itself. But our example shows how you can reuse this service, combine it with other services, and extend the value of this component.

The second component of this example is a Lotus Notes discussion application. This component allows users to discuss topics (in this case, Lotus Notes Designer) in a user discussion forum setting. Again, this on its own is a useful component, but our example will combine this component with the Lotus Notes Contacts to create a new, more useful service by loosely coupling these components.

Composite applications

In the first step in this example, the Lotus Notes 8 Designer uses WSDL (Web Services Description Language) to expose properties and actions needed to navigate within the Notes Forum application. The following screenshot from the Lotus Notes 8 Designer where the final step of the WSDL creation is being completed.

Composite applications

In addition to using WSDL, Lotus Notes 8 Designer also allows you to create actions to be implemented during assembly of a composite application. In this case, the action is called Select Person.

Composite applications

This action will select the forum entry for the current selection in the Lotus Notes Contacts component.

Composite applications

With the appropriate WSDL action associated with the Notes Forum application, the prerequisites for assembling the composite application are in place. In the following figure, the Composite Application Editor is used to wire the Notes Contact view and the Notes Forum application.

Composite applications

The result is a composite application in which the Notes Forum entry is displayed based on the selected Notes contact entry. As you can see in the following figure, Betty Zechman of ZetaBank is the currently selected Lotus Notes contact and the Lotus Notes Forum has been advanced to show the threads for Betty Zechman.

Composite applications

Next, the Composite Application Editor is used to include an Eclipse tag cloud in the composite application. This component displays tag data about the current contact. This is accomplished by linking the Eclipse component to the Notes Forum application.

Composite applications

In the following screenshot, the current Lotus Notes contact selection is Betty Zechman and the interest selected is Applications Development. The result is a view of the Notes forum positioned in a thread by Betty Zechman related to Applications Development.

Composite applications

This simple example shows the power of the Lotus Notes 8 Composite Application Editor. Minimal Lotus Notes designer effort, combined with use of the Lotus Notes 8 client Composite Application Editor, can produce a new business function reusing existing heterogeneous services.

Lotus Notes (version 8 and 8.5) and web services

Web service producer and consumer capability is not new to Lotus Notes 8 and Notes 8.5. However, the ability to produce and consume web services is a key characteristic of an SOA. This section provides an overview of how Lotus Notes supports web service production and consumption.

A web service provider makes available a WSDL document that defines the service interface. The WSDL document is in XML format. What happens behind the interface is up to the provider, but most providers map the interface to procedure calls in a supported programming language. Incoming requests from a consumer are passed to the underlying code, and results are passed back to the consumer.

Lotus Domino maps the WSDL interface to an agent-like web service design element that can be coded in LotusScript or Java. The web service must be on a Domino server with HTTP enabled. (We can test the web service through an HTTP session in the Notes client preview.) Access is through one of the following Domino URL commands:

  • OpenWebService invokes the web service in response to a SOAP-encoded message, sent through an HTTP POST request. An HTTP GET request (for example, a browser query) returns the name of the service and its operations.
  • WSDL returns the WSDL document in response to an HTTP GET.

Several approaches can be used to create a web service design element in Domino Designer. One approach is to code the service entirely in LotusScript or Java. In this case, saving the design element generates a WSDL document that reflects the LotusScript or Java code. Alternatively, an existing WSDL document can be imported. In this case, the LotusScript or Java code reflects the operations in the imported WSDL document. The web service design element saves the WSDL document as well as the code. If the public interface has not changed, the WSDL document stays as it is. If anything in the coding that affects the public interface is changed, a new WSDL document is generated.

In Domino Designer, the web service design element resides below Agents under Shared Code.

Lotus Notes (version 8 and 8.5) and web services

The web service design window looks a lot like the agent design window. Clicking the New Web Service button creates a new web service. Double-clicking the name of an existing web service opens it for editing.

An example of a web service to access Domino databases can be found by visiting:

http://www-10.lotus.com/ldd/sandbox.nsf/ByDate/c7135b6bca3b35ff852572c3005aacab?OpenDocument

Lotus Notes 8.5 and open technologies

Lotus Notes 8.5 supports both OASIS/ODF and Eclipse open formats.

OASIS/ODF

Lotus Notes 8.5 supports both OASIS/ODF and Eclipse open formats. Word processing, spreadsheet, and presentation applications are basic, standard tools that many business users need and use on a daily basis. The Lotus Notes 8 and 8.5 product suite includes a suite of office productivity tools that allow end users to create, edit, and collaborate on a wide variety of file types. The Lotus Notes 8.x product suite is packaged with IBM productivity tools that support the OASIS Open Document Format (ODF). ODF is an international standard for saving and sharing editable documents, such as word processing documents, spreadsheets, and presentations.

Eclipse

At the core of Lotus Notes 8 software is IBM's version of Eclipse Rich Client Platform (RCP) technology, which introduces a new open, standards-based SOA that makes Lotus Notes 8 software more extensible. In fact, a number of the new features of Lotus Notes 8 are a direct result of this extensibility (for instance, Sametime integration and RSS feed integration).

IBM has built a common client platform named Lotus Expeditor (previously called WebSphere Everyplace Deployment or WED) that packages the Eclipse Rich Client Platform with some extra services (security, synchronization, data, deployment, and more), which can be used across the IBM software product set. The Lotus Notes 8 client is a consumer of this Lotus Expeditor common platform. This provides additional functionality while ensuring "forward compatibility" for existing Lotus Notes and Domino applications.

Lotus Notes 8 and 8.5 software supports nearly all custom Lotus Notes applications built for prior versions and incorporates the open standards of the Eclipse application development framework, allowing the use of a componentized SOA. This provides help in making it easy to aggregate, access, and deploy functionality from a mix of software programs and systems. It enables developers to build applications more quickly and to reuse existing assets as business needs evolve.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.28.65