WebSphere BPM and Lotus Webform Server
This article series speeds the adoption of the WebSphere Business Process Management (BPM) and Lotus Form Technology products by defining key development and production scenarios. The article series walks you though the tasks of installation and configuration needed for the development team and for a production environment. We have included a sample application with the article that you can use to validate the installation and configuration of your environments. Please refer to the following article for detailed instructions for how to create an application using WebSphere BPM and Lotus Form technologies.
Note that WebSphere Dynamic Process Edition (WDPE) was used in the creation of this article. This product includes the existing capabilities from WebSphere Process Server and WebSphere Business Monitor.
Part One of the article series (this article) sets the context for the rest of the series by briefly describing the advantages of using form technology and by providing a high level description of these products as they are used in conjunction with each other.
Part Two of the series focuses on the modeling and integration development aspect of the project life cycle and discusses how Business Analysts and IT developers get up and running with the integrated support of Lotus Forms in WDPE 7 to compose and verify Lotus forms.
Part Three in the series will provide a detailed look at how to build the distributed and local Webform Server topologies. It will also guide the creation of a cluster of Webform Servers and how to establish High Availability for the integrated solution.
Sample Use Case
WebSphere BPM provides a diverse set of capabilities aimed at resolving a wide variety of business problems. The BPM products are used to build solutions that can be used to alleviate the stress these business problems create.
The previously referenced article describes a fictitious retailer who is arranging for a campaign promotion. The campaign manager is responsible for approving the promotion. The application implementing the approval process, SalesPromotion, is a simple business process (BPEL) with a single Human Task, 'Approve Request'. This process is shown in the following diagram and the WebSphere Integration Developer project including this process is included as a download with this article series.
Figure 1. StorePromotion simple BPEL
In this implementation, the 'Approve Request' Human Task is exposed as a form. The details of the human task can be seen by clicking on the Human Task name in the details section. This will show you the current settings for this task. In this case, figure 2, a Lotus Forms user interface has been selected.
Figure 2. Human Task settings
When 'Generate Human Task Interface' is selected from the module context menu, and the form is generated for the 'Approve Request', an 'xfdl' (Extensible Forms Description Language) file will be generated and placed in the module folder. When deployed to WebSphere Process Server, the forms file (xfdl) will be stored in the WebContent (or the selected web project) folder.
Figure 3. NewPromotionForm xfdl file in physical resources
This file, NewPromotion.xfdl, stores all the requisite forms – in the case of a multi-form application – and when a user creates or opens a human task while running a process, these forms will be sent to the Lotus Forms Webform Server. The Webform Server's job, at that point, is to convert the 'form' to HTML and return it back to Business Space to display. If you have Lotus Forms Designer installed in WebSphere Integration Developer (WID), opening the NewPromotionForm will allow you to edit and customize the form.
WebSphere Business Process Management Overview
WebSphere Business Process Management (BPM) products provide key elements needed to develop business solutions for a variety of needs. The tools provided with WDPE provides a rich development environment for business analysts and integration developers to model, design and assemble applications. When deployed to a WebSphere Process Server, these applications enable critical pieces of the core business. In this section we provide an overview of relevant components of the WebSphere BPM products.
Human Work Flow
WebSphere BPM provides capabilities to create scalable human based work flow solutions. The process engine for BPM is implemented using the BPEL standard and is executed on WebSphere Process Server. WebSphere BPM has extended the specification to address more complex human work flow scenarios. The process engine provides secure (role based) access to critical process data. Further, the process engine provides advanced capabilities in escalation and work assignment further enhancing the ability to create flexible and robust business applications
The following examples illustrate when this type of technology can be leveraged in multiple industries.
- Processing new patient information
- Approving/Rejecting claim
- Contract review and approval
- Billing and collections
- Campaign management
- Promotion planning
- Dispatch and routing
- Customer management and account reconciliation
WebSphere Business Space is the web 2.0 based user interface framework included with the WebSphere Process Server. The framework provides the foundation for the development of business applications and monitoring solutions (called spaces). Spaces have one or more pages, which in turn have one or more widgets each of which consume a part of the page's real estate.
Figure 4. Business space
Numerous predefined spaces and widgets are delivered with the BPM products. Information can be quickly and easily consolidated from across the enterprise using widgets populated by Representational State Transfer (REST) services provided by the components within the WebSphere BPM products. In addition to these supplied spaces, the customizable framework empowers business users to customize views of their information to meet their ever changing needs. Business space is a secure web application that supports role based authentication and access.
Lotus Forms Overview
Lotus Web Form technology provides an excellent compliment to the WebSphere BPM suite. The integrated form technology enables users to assemble first class forms using existing data structures. Drill down capabilities and screen flow controls are an integral part of Human Work Flow and Lotus Forms products accelerate the implementation and deployment of a solution by providing the tools and translation services needed for data entry. The easy to use product, allows users to quickly assemble business applications and reduce the overall costs of user interface design.
Lotus Designer in an Eclipse-based tool for designing new forms or editing the forms generated in WID or WebSphere Business Modeler (WBM). Process designers and IT developers can easily drag and drop data elements and controls on the design palette.
Lotus Forms Server
Lotus Forms Server is the runtime component of the product. The Webform Server part of Lotus Form Server translates the a form into HTML for display in a browser. Once filled in the user submits the form for processing, at which point the Webform Server translates the HTML back to XPDL.
Combining Process Automation and Form Technology
Combining process automation (WebSphere BPM) and Form technologies can provide key competitive advantages in business scenarios involving human work flow. When automating traditional paper based business tasks, the paper can be replaced with very similar forms which quickly and efficiently increases end user productivity.
Whenever a human task is included within a long running BPEL, a decision needs to be made regarding the technology to be used in rendering this task. The WebSphere BPM suite gives you a few choices in user interface (UI) technology: WebSphere Portal, JavaServer Faces, simple HTML with Dojo and now a tightly coupled integration with Lotus Forms.
The last two of these user interface choices can be integrated with Business Space but Lotus Forms requires additional infrastructure to view the forms. Viewing and working with forms deployed to the Lotus Webform Server does not require a viewer on the client machine. Users are able to view and interact with Lotus Forms from any browser.
Integrating forms with Business Space requires that the Business Space server communicates with the Lotus Webform Server. This communication retrieves the form associated with a specific Human Task, as the Webform Server provides an HTML snippet that represents that form.
The flow between Business Space and the Webform Server is shown in figure 4.
When Business Space encounters a Lotus Form (XFDL) it will immediately try to send the form to bSpaceWebformEnabler proxy servlet ('FormEntry' path in figure 4).
Figure 5. Proxy Root URL custom property
Business Space locates bSpaceWebformEnabler with the bspaceWebformsProxyRootid.url which can be found by accessing Resources > Resource Environment > Resource Environment Providers > Mashup Endpoints > Custom Properties in the admin console.
The proxy servlet's job is to send the XFDL to the Webform Server by calling the Translator application. The configuration value used by the servlet to locate the Webform Server can be found by accessing Applications > Enterprise Applications > BspaceWebformEnabler > Initialize parameters for servlet and is in the form http://<host>:<port>/translator.
Figure 6. Webform Server URL
The translator application receives the XFDL and checks the Webform Server cache for a saved version of the file. If one exists, it is pulled and used. Otherwise the file is converted to DHTML and sent back, via the proxy servlet to Business Space for rendering.
After hitting submit on the form the DHTML version of that form is sent back to the Webform Server to be converted back to XFDL.
Caching of the generated forms – both XFDL and DHTML – is performed during any call to Webform Server. If the cache is full, older entries are displaced by new forms.
Project life cycle
With any given project there are stages of development and test. Projects in general are structured such that the the development organization would use an environment installed and configured for iterative development. Eventually, the development artifacts would be "promoted" to the production environment for live business transactions. The BPM landscape in general could be represented as the following shown below.
Figure 7. Promote to production
Deployable solutions in the form of Module/EAR files can be managed by a governance system with change control. These solutions are tested and used in a variety of techniques and criteria as they are moved from one environment to the next. These environments can be thought of with the following definitions:
Development – True iterative development environment.
UAT - User Acceptance Test including functional test that would validate that the appropriate business capabilities are present.
Staging – Stress, Performance and High availability testing is conducted with the solution to validate the appropriate level of throughput and availability under conditions expected during production.
Production – The environment used to conduct business transactions using live data.
For this article series these environments are divided into two basic types; Solution Development Environments and Production Deployment Environments.
- Solution Development – These environments are used for iterative form modeling, process development and unit test. (This class of environment includes the Development Environment.)
- Production Deployment – These environments leverage Network Deployment (ND) topology options provided by WebSphere Process Server. The options leveraged include clusters configured for high availability. (This class of environment includes the UAT, Pre-production and Production environments.)
Solution Development Environment Class
During stages of solution development, the team will interact with the BPM modeling and development tools. In our scenario the development organization will be using the following products:
- WebSphere Process Server Integrated Test Environment within WebSphere Integration Developer or WebSphere Business Modeler and Interactive Process Development capability
- Lotus Forms Designer
- Lotus Form Server
The business analysts and service architects work together to construct reliable business solutions using an iterative approach. Each part of the solution is implemented at various stages of the project life cycle. The test environments are configured so that the development team can collaborate and quickly deploy iterations for unit tests and incremental functional verification.
Figure 8. Tools Interaction
The configuration of the topology for this iterative approach is the focus of part 2 of the article series.
A project interchange file is included with this article series will to allow you to become familiar with the environment configuration before your application is ready for iterative development.
Production Deployment Environment Class
These environments are created using fundamental WebSphere Application Server Network Deployment (ND) technology. This technology allows system administrators to create a deployment topology that leverages multiple nodes (physical machines) and clusters (application processes that span physical resources). The result is a fault tolerate environment that can scale easily by adding additional physical resources to the BPM Environment.
Typical Production Topology can be depicted as follows:
Figure 10. Typical Production Topology
Typical production environments are installed and configured based on several common criteria.
- High Availability
- Ease of Administration
In part 3 of the article, we will show the reader the steps necessary to install such an environment and describe the options for deployment choices, including how to include Lotus Forms Server. The provided Module/EAR file can be used to verify the installation after all the steps are complete.
- "Getting started with Lotus Forms in the WebSphere business process management suite" (developerWorks, Jun 2008) is a step-by-step guide to learning the different methods for integrating IBM® Lotus® Forms into your business processes and human tasks using IBM WebSphere® business process management V6.1 products.
- "WebSphere Process Server and WebSphere Enterprise Service Bus deployment patterns" (developerWorks, Nov 2006) highlights the descriptions about topology and the associated decision making process.
- In the XML area on developerWorks, get the resources you need to advance your XML skills, including DTDs, schemas, and XSLT.
- Stay current with developerWorks technical events and webcasts focused on a variety of IBM products and IT industry topics.
Get products and technologies
- Evaluate IBM products in the way that suits you best: Download a product trial, try a product online, use a product in a cloud environment, or spend a few hours in the SOA Sandbox learning how to implement Service Oriented Architecture efficiently.
- Get involved in the My developerWorks community. Connect with other developerWorks users while exploring the developer-driven blogs, forums, groups, and wikis.
Dig deeper into SOA and web services on developerWorks
Experiment with new directions in software development.
Read and subscribe for the best and latest technical info to help you deal with your development challenges.
Software development in the cloud. Register today and get free private projects through 2014.
Evaluate IBM software and solutions, and transform challenges into opportunities.