Skip to main content

Implementing a human-centric business process application using WebSphere Portlet Factory: Part 1: Solution overview

Tinny Ng (tng@ca.ibm.com), Scenario Architect, IBM
Photo of author, Tinny Ng.
Tinny Ng works as a Scenario Achitect for the Scenario Analysis Lab within IBM SWG Strategy. Currently she designs solutions to address integration issues within SWG portfolio and leads the team to bring solutions to delivery.
Kaylee Thomsen (thomsen@us.ibm.com), Scenario Architect , IBM
Photo of Kaylee Thomsen.
Kaylee Thomsen works as a Scenario Architect for the Scenario Analysis Lab within IBM SWG Strategy. Her current focus areas include determining ways in which SWG can improve on delivering well-integrated products to our clients.

Summary:  This five-part article series illustrates how to implement an end-to-end Web-based or portal-based human-centric business process application using IBM® WebSphere® Integration Developer, WebSphere Portlet Factory, WebSphere Process Server, WebSphere Application Server, and WebSphere Portal. The first article of this series provides an overview of the solution along with information for user roles.

View more content in this series

Date:  16 Apr 2008
Level:  Intermediate
Activity:  845 views

Introduction

In an on-demand business environment where efficient customer, employee, and supplier interaction is critical, businesses need to enable these parties to seamlessly participate and collaborate in business processes. Developers need to provide interfaces to support human interaction with business processes, such as filling in forms or responding to alerts. These interfaces need to be provided to the right people at the right time, and they should facilitate quick action and efficient processing.

This five-part article series illustrates how to develop an end-to-end Web-based or portal-based human-centric business process application using IBM® WebSphere® Integration Developer, WebSphere Portlet Factory, WebSphere Process Server, WebSphere Application Server, and WebSphere Portal.

Why WebSphere Portlet Factory?

Today, the development tooling that is typically used to build Web-based or portal-based human task interfaces is Rational® Application Developer. While Rational Application Developer provides many nice features that aid in the building of these interfaces, more and more customers are using WebSphere Portlet Factory to build their user interface applications. WebSphere Portlet Factory speeds server deployments by automating user interface development for faster time-to-value and enables developers of any skill level to construct, change, deploy, and maintain custom applications.

With WebSphere Portlet Factory, developers build user interface applications by snapping together a sequence of components called builders into a model. A builder implements an application design pattern. Each builder has a simple wizard-like user interface and does the work of automatically generating or modifying part of an application. Developers compose an ordered list of builder calls into a model. WebSphere Portlet Factory comes with a set of out-of-the-box builders, but also supports the development of additional builders to encapsulate application design patterns that are not supported out-of-the-box.

What is a human-centric business process application?

A business process is any system or procedure that an organization uses to achieve a larger business goal. When breaking it down, a business process is actually a series of individual tasks, and each task is executed in a specific order. Tasks that are executed by a human are called human tasks.

A human-centric business process is a business process that involves a number of human tasks during the execution. Consider the following document routing business process as an example. It contains an originating task that initiates the process, and two participating tasks that route the document along the process. These three tasks are all human tasks that require an associated user interface for the corresponding owner to query and handle them.


Figure 1: A human-centric business process example

A human-centric business process application refers to an application that contains a human-centric business process along with an associated user interface for task originating, task processing, and task querying.

This article series will use the solution, Business Process Integration Extension for WebSphere Portlet Factory that is available from the SOA Business Catalog, and various IBM products including IBM WebSphere Integration Developer, WebSphere Portlet Factory, WebSphere Process Server, and WebSphere Application Server, and WebSphere Portal to develop a human-centric business process application. A simple business process that represents the tasks involved in proposing and approving article topics for publication will be used as the sample context.


Business Process Integration Extension for IBM WebSphere Portlet Factory

The package, Business Process Integration Extension for IBM WebSphere Portlet Factory, is a free download that is available in the SOA Business Catalog. It accelerates, simplifies, and reduces the skills required for the development of Web-based or portal-based user interfaces for human tasks in business process management solutions. The support for the package is AS-IS. The following diagram shows the high-level solution topology.


Figure 2: High-level solution topology

Development tools that are involved:

  • WebSphere Integration Developer Version 6.0.2 for business process development.
  • WebSphere Portlet Factory Version 6.0.2 for Web-based or portal-based user interface development.

Runtime products that are involved:

  • WebSphere Process Server Version 6.0.2 for business process development.
  • WebSphere Application Server Version 6.0.2 for Web-based user interfaces or WebSphere Portal Version 6.0.2 for portal-based user interfaces.
  • Important:
    • In a production environment, the WebSphere Process Server and the user interface applications hosting server (WebSphere Application Server or WebSphere Portal) must share the same user registry and be security enabled with LTPA configured. This is to enable a single sign-on environment. When a business user logs in, the identity will be passed from the application server to WebSphere Process Server for task processing.

This five-part article series does not assume any particular system topology. Users can install all products in a single machine; or users can set up a multi-tiers environment. For installation and configuration instructions, see the URL: "Understand how to integrate WebSphere Portal with WebSphere Process Server" in the Resources section of this article.


Key artifacts

The package contains a number of reusable artifacts, and the following section describes those three that are used in this article series.

IBM WebSphere Integration Developer plug-in

WebSphere Portlet Factory Archive Generator plug-in is a WebSphere Integration Developer plug-in that allows an integration developer to export the necessary human task metadata of a business process into a zip file. This zip file is then used from within WebSphere Portlet Factory by a user interface developer when building the user interface to support those human tasks. This is a value brought by the Business Process Integration Extension for WebSphere Portlet Factory package. It facilitates the passing of necessary human task information between the Integration Developer and the User Interface Developer. The generated archive file contains all the necessary information and data needed by the User Interface Developer to create a user interface to support Staff Activities.

You can install the WebSphere Portlet Factory Archive Generator plug-in through software updates from within WebSphere Integration Developer.


Figure 3: Install the plug-in

Once installed, you can find this plug-in as an extension of the client generator extension point.


Figure 4: WebSphere Portlet Factory Archive Generator plug-in

IBM WebSphere Portlet Factory feature sets

Business Process Integration Extension feature set is a WebSphere Portlet Factory feature that contains builders and models for creating user interfaces to handle originating and participating human tasks that are running in WebSphere Process Server.

Human Task List Application feature set is also a WebSphere Portlet Factory feature that contains a human task list application for querying human tasks running in WebSphere Process Server. Two pre-built application WAR files (one for Web-based and another for portal-based) that are based on this feature set are included in the package and ready for deployment.

Business users can interact with this application to query a list of owning tasks, claim or release a single or multiple tasks or launch a task for processing. The launching of the right task processing page for each human task is based on some mapping information defined by a WebSphere Application Server or WebSphere Portal administrator.

This is another value brought by the Business Process Integration Extension for WebSphere Portlet Factory package. It removes the requirement for the Integration Developer to specify a client UI ID within WebSphere Integration Developer and pass this unique page id information to an administrator. The dependency between the two roles is eliminated. This simplifies the deployment of UI and reduces errors significantly.

To install these two feature sets onto WebSphere Portlet Factory, copy the corresponding .pkg files (BusinessProcessIntegrationExtension.pkg and HumanTaskListApplication.pkg) to [IBM WebSphere Portlet Factory Install Path]/ WPFDesigner/FeatureSets/Web-App_6.0.2/Packages, and restart WebSphere Portlet Factory.


Figure 5: Install the WebSphere Portlet Factory features

Once installed, you can enable them in project properties or during project creation.


Figure 6: Enable feature sets during project creation


Solution overview

In this five-part article series, a simple business process that represents the tasks involved in proposing and approving article topics for publication will be developed. Typically, five user roles are involved to implement the end-to-end solution for this proposing article topics business process application:


Figure 7: User roles information

The following section gives you an overview of these steps at a high-level. The next four parts of this series discuss and illustrate these steps in detail.

  • Part 2 will focus on step 1, 2, and 3 from an integration developer and WebSphere Process Server administrator perspective.
  • Part 3 will discuss, from a user interface developer perspective, how to develop user interface application for originating and participating tasks (step 4).
  • Part 4 will continue acting as a user interface developer and illustrate how to build a custom task list application (step 5).
  • Part 5 will provide information for an administrator about step 6 and 7. It will also conclude the series by demonstrating how a business user will interact with this application (step 8).

The parts will be designed in such a way that readers can follow them independently of one another based on its user role. For example, user interface developer can just follow part 3 and 4 to learn aspects about user interface development only.

Step 1: Integration developer creates a business process

Integration developer creates the article proposal business process in WebSphere Integration Developer. This business process has an originating task that can be executed by an editor to submit an article proposal, and two participating tasks for reviewing and approving the proposal.


Figure 8: Article proposal business process

Once the implementation is done, the integration developer can export the business process into an EAR file and send it to the WebSphere Process Server Administrator for deployment.

Step 2: Integration developer exports human-task meta-data

The integration developer uses the WebSphere Portlet Factory Archive Generator plug-in to export the meta-data of the three human tasks (SubmitProposal, ReviewProposal, and ApproveProposal) into a zip file for user interfaces development in WebSphere Portlet Factory.


Figure 9: Export human task meta-data

This generated archive contains:

  • An index file which captures information about the three selected human tasks including task name, namespace and other information.
  • Files related to the three selected human tasks including WSDL, XSD, and other files.

Step 3: WebSphere Process Server administrator deploys the business process

WebSphere Process Server administrator deploys the business process that is developed by the integration developer to WebSphere Process Server. He or she can use the Business Process Choreographer Explorer that is available out-of-the-box from WebSphere Process Server to test the business process.

Step 4: User interface developer develops user interfaces for originating / participating tasks

User interface developer uses the human task metadata archive file that is exported by the integration developer in step 2 above, along with the Business Process Integration Extension feature set to build user interfaces for originating or participating tasks in WebSphere Portlet Factory. He or she needs to create three models, one for the originating task SubmitProposal, one for the participating task ReviewProposal and one for the participating task ApproveProposal.

One important thing to note during this step is the capability to specify data attributes from the business object related to the task that should be destined for WebSphere Portal’s Property Broker. This powerful capability allows for supporting portlets to be developed that can provide relevant information about the task. For example, in our Article Proposal process, the human task of reviewing a proposal could be supported by having the participating task portlet publish the proposed article’s title to the Property Broker, and another supporting portlet could be written to take that title and use it to search in a database or external system for other articles already published with similar titles and display the results. Of course, this capability only exists when the UI that is being developed is Portal-based.


Figure 10: Task processing models

Step 5: (Optional) User interface developer develops a customized task list application

The human task list application that is included in the Human Task List Application feature set consists of five different models:

  • UI model
  • Portlet edit mode model
  • Portlet configure mode model
  • Human task provider interface model
  • WebSphere Process Server service provider model

You can use them as-is or customize them further, for example, to:

  • Query a different task data set from Process Server.
  • Change the authentication mechanism for Web service request to Process Server.
  • Make UI changes.

Two pre-built WAR files for WebSphere Application Server and WebSphere Portal are already included in the "Business Process Integration Extension for WebSphere Portlet Factory" package. If no customization is required, users can choose to deploy them right away and skip this step.

Step 6: WebSphere Application Server or WebSphere Portal administrator deploys the user interface applications for originating or participating tasks

The WebSphere Application Server or WebSphere Portal administrator deploys the user interface applications that are developed by the user interface developer in step 4 above to an application server or a portal server. He or she needs to create task pages to host these originating / participating tasks user interfaces.

Step 7: WebSphere Application Server or WebSphere Portal administrator deploys the task list application

WebSphere Application Server or WebSphere Portal administrator deploys the provided pre-built WAR file or deploys the customized task list application that is developed in step 5. He or she needs to configure the application so that it can communicate with the task pages created in step 6.

Step 8: Business user works with the business process

To demonstrate the end result, this article series also shows how the entire article proposal business process application works end-to-end. A business user logs in to submit an article proposal. Then another co-worker reviews and approves the proposal. Using the task list application, the business user can:

  • Claim or release a single or multiple tasks.
  • Refresh the task list.
  • Launch a task processing page.

Figure 11: Task list

Using the task processing UI, the business user can:

  • Save or cancel the current work on the task.
  • Complete the task.

Figure 12: A task processing page – Review proposal


Conclusion

The first article of this series has provided an overview of the solution along with user roles information. In the follow-on articles of this series, each step above will be discussed and illustrated in detail.

See the Resources section for Part 2 of this series, Implementing a human-centric business process application using WebSphere Portlet Factory, Part 2: Developing a human-centric business process, to develop a simple human-centric business process and export human task meta-data from the process for user interface development.


Resources

About the authors

Photo of author, Tinny Ng.

Tinny Ng works as a Scenario Achitect for the Scenario Analysis Lab within IBM SWG Strategy. Currently she designs solutions to address integration issues within SWG portfolio and leads the team to bring solutions to delivery.

Photo of Kaylee Thomsen.

Kaylee Thomsen works as a Scenario Architect for the Scenario Analysis Lab within IBM SWG Strategy. Her current focus areas include determining ways in which SWG can improve on delivering well-integrated products to our clients.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

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=WebSphere
ArticleID=299753
ArticleTitle=Implementing a human-centric business process application using WebSphere Portlet Factory: Part 1: Solution overview
publish-date=04162008
author1-email=tng@ca.ibm.com
author1-email-cc=
author2-email=thomsen@us.ibm.com
author2-email-cc=

My developerWorks community

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.

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

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

Rate a product. Write a review.

Special offers