Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

BPM integration with Webform, Part 1: Human tasks in business space using Lotus Webform Server

Jeff Brent (jeffb@us.ibm.com), Senior Software Engineer, IBM
Jeff Brent is a Senior Engineer with the WebSphere BPM development organization. Since 2005, Jeff has been a member of the WebSphere Process Server SWAT team and is responsible for resolving customer issues and complaints.

Summary:  Companies today are faced with a number of challenges in operational efficiency. In particular there are many business processes within a given organization that are unnecessarily cumbersome due to the lack of a coordinated effort. These processes are often manual in nature and prone to error. Developing a series of well orchestrated business processes that include a combination of human tasks and automated services will differentiate a company from its competitors by streamlining operations and reducing waste.

IBM WebSphere Dynamic Process Edition version 7 provides IT and business specialist with the tools necessary to define the end to end business process and combined with Lotus Forms 3.5.1, organizations can quickly begin to assemble business applications that combine first class form technology with a robust process engine.

View more content in this series

Date:  23 Sep 2010
Level:  Intermediate PDF:  A4 and Letter (265KB | 12 pages)Get Adobe® Reader®
Also available in:   Japanese  Portuguese  Spanish

Activity:  29726 views
Comments:  

WebSphere BPM and Lotus Webform Server

Introduction

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
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
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
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.

Health Care

  • Processing new patient information
  • Approving/Rejecting claim

Telecommunication

  • Contract review and approval
  • Billing and collections

Retail

  • Campaign management
  • Promotion planning

Utilities

  • Dispatch and routing
  • Customer management and account reconciliation

Business Space

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
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

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
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
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
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.

  1. Solution Development – These environments are used for iterative form modeling, process development and unit test. (This class of environment includes the Development Environment.)
  2. 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
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 Topology

Typical production environments are installed and configured based on several common criteria.

  • High Availability
  • Scalability
  • 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.


Resources

Learn

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.

Discuss

  • Get involved in the My developerWorks community. Connect with other developerWorks users while exploring the developer-driven blogs, forums, groups, and wikis.

About the author

Jeff Brent is a Senior Engineer with the WebSphere BPM development organization. Since 2005, Jeff has been a member of the WebSphere Process Server SWAT team and is responsible for resolving customer issues and complaints.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=SOA and Web services, WebSphere, Lotus
ArticleID=514264
ArticleTitle=BPM integration with Webform, Part 1: Human tasks in business space using Lotus Webform Server
publish-date=09232010
author1-email=jeffb@us.ibm.com
author1-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.

Special offers