IBM Business Process Manager V7.5 development topology recommendations

IBM Business Process Manager Advanced V7.5 incorporates key functionality from WebSphere Process Server and WebSphere Lombardi Edition into a unified runtime and development environment for implementing BPM programs in your organization. It includes tooling and runtime for process design, execution, monitoring, and optimization. It is also designed to help process owners and business users to engage directly in the improvement of their business processes.

This article describes a general application development topology that, with some custom tailoring, should provide you with an optimum environment for implementing and managing your BPM processes. This content is part of the IBM Business Process Management Journal.

Share:

Paul Pacholski (pacholsk@ca.ibm.com), Technical Sales Lead, IBM

Photo of Paul PacholskiPaul Pacholski has been working with IBM for 29 years. First as senior developer at the IBM Canada Laboratory an currently as BPM Technical Sales Leader he is responsible for technical enablement within IBM, helping customers with selecting the BPM tools and runtimes, presenting at technical conferences, publishing technical papers and filing patents and inventions related to BPM.



29 June 2011

Introduction

Figure 1 shows the recommended IBM Business Process Manager V7.5 development topology. At the center is the Process Center, where all the development activities take place. Connected to the Process Center are the authoring tools and the administrative consoles. Also connected to the Process Center are the various Process Servers for testing, staging and production. The key topology elements are labeled [1] to [7]. This article describes in detail all the tools, runtimes and roles and well as the interaction patterns between them.

To leverage the full power of IBM Business Process Manager V7.5 when working on large projects that require collaborative development, it is recommended that you use the topology shown in Figure 1.

Figure 1. IBM Business Process Manager V7.5 development topology
IBM Business Process Manager V7.5 development topology

Servers in IBM Business Process Manager V7.5 development

There are two types of servers in Business Process Manager V7.5: Process Center and Process Server. Figure 1 shows how the developers and administrators interact with the IBM Business Process Manager V7.5 tools and runtimes.

Process Server capabilities for building SOA infrastructure

  • Built-in SOA components deliver a flexible enterprise service bus (ESB) connectivity infrastructure for integrating applications and services.
  • Support for BPMN and BPEL execution and many data and service standards.
  • Integration adapters connect application and information assets to the ESB to accelerate business integration projects with rapidly deployable, enterprise-ready connections based on best practices.
  • A comprehensive set of capabilities to service-enable your assets, including packaged, custom, and legacy applications, technology protocols, and databases.
  • Repair and recoverability capabilities, such as automatic retries, manual repair, compensation, store and forward.

Process Server

The Process Server [5] delivers a single Business Process Manager runtime to support the full range of business processes, service orchestration, and integration. It provides an environment for executing mission-critical enterprise solutions with high scalability and availability enabled by the embedded WebSphere Application Server. It includes the full functionality of the former IBM Business Process Manager runtimes: WebSphere Lombardi Edition V7.2 and WebSphere Process Server V7.

Process Server also includes the Business Performance Data Warehouse component, which collects and aggregates process data from processes running on the Process Servers. Business owners can use this data to improve your business processes.

Several types of Process Servers are connected to Process Center. The QA and Staging test servers are integral parts of the development lifecycle. They are used for application testing before deployment to production servers.

Administrators use the Process Center console [4] to deploy process applications to the Test, QA and Production servers.

For security reasons, a production Process Server is typically not directly connected to the Process Center. Administrators use manual deployment methods [7] to deploy production-ready applications onto the production Process Servers.

Process Center

Process Center [1] provides a scalable central repository and control center for organizing and managing all process artifacts, applications, and services that are created as part of a BPM solution.

The Process Center consists of two key components:

  • A repository for all processes, services, and other assets created in the authoring environments (Process Designer and Integration Designer).
  • Process Server (the Business Process Manager runtime component), where developers collaboratively deploy, run and unit test their process applications while under development. The Process Server (managed by the Process Center) is referred to as the Playback Server.

Note that, as shown in Figure 1, all development activities take place in Process Center. As its name suggests, Process Center is at the center of all Business Process Manager development activities. Both IT integration developers and business authors designing and testing their process applications and services will need to access Process Center to save and retrieve the source code, as well as to run and test the applications.

Recommendations:

To accommodate a large number of developers accessing Process Center, it's important to follow these recommendations:

  • Cluster Process Center for scalability, failover, high availability and redundancy. Specifically, install a Process Center in a four-clustered topology: messaging cluster, support cluster, AppTarget cluster, and web cluster. See Cluster Naming in the IBM Business Process Management Reference Guide for detailed information.
  • The Process Center relational data base must be installed on hardware with adequate CPUs and I/O subsystems, and the database should be custom tuned for high performance. Optionally, the database could also be clustered if failover and recovery are critical and to avoid a single point of failure.
  • Always use the 64-bit product version.

Runtimes, tools, roles and responsibilities

There are three primary roles in Business Process Manager V7.5: business authors, integration developers and administrators. In this section, we'll introduce the application development and administration tools and discuss how they are used by these roles in the overall application development lifecycle.

Process Designer

The Process Designer [2] is an Eclipse Rich Client Platform (RCP)-based tool intended for use by business authors. Business authors focus on the business aspect of a process. They are responsible for authoring all business processes, making use of the integration work that integration developer has authored. Business authors understand the business problem domain (such as insurance claims processing) and interact with business owners to ensure the process meets the business needs.

A business author reuses Advanced Integration Services (AISs) developed by integration developers, but doesn't know (or care) how they work. Occasionally business authors provide human-centric BPMN processes for re-use by integration developers.

When working with the Process Designer, the business author must be connected to a Process Center. Process Designer supports a development mode where more than one business author can work on the same application concurrently.

Typically, a Process Center administrator would create a user ID for the business author and provide a URL to Process Center to the business author. The business author would then use their browser to log on to Process Center and then click Download Process Designer and start the install process, as shown in Figure 2. The one-click download and install procedure creates a Process Designer instance permanently connected to the Process Center from which it was downloaded.

Figure 2. Download and install Process Designer from the Process Center console
Download and install Process Designe

Integration Designer

Integration Designer [3], formerly known as WebSphere Integration Developer, is an Eclipse-based tool intended for use by integration developers responsible for implementing system integration logic or fully-automated business processes. Integration Designer is an efficient IDE authoring environment. Integration developers can use it to visually author services, data transformations, BPEL processes, and integrations to applications and backend systems. It includes a comprehensive set of adapters to service-enable your assets, including packaged, custom, and legacy applications, technology protocols, and databases.

IT developer primarily implements services requested by business author, or occasionally reuses human-centric BPMN processes authored by business authors in straight-through processes. The integration developer does not know (or care) how these human processes work; hence he leaves the implementation details to the business author who has the business domain knowledge and closely interacts with the business process owners.

Unlike the Process Designer, the Integration Designer does not need to be connected to the Process Center at all times. Integration Designer operates from an Eclipse workspace located on a local hard drive. Typically, connection is needed only to initially retrieve the application from Process Center, retrieve updates made by other developers, or publish local workspace updates to Process Center. Integration Designer can unit test AIS implementations either directly on the shared Process Center or locally in the Unit Test Environment.

Recommendations:

  • To unit test AISs locally, Integration Designer can use the IBM Process Server Test Environment (Unit Test Environment [3] in Figure 1). This is a recommended approach, and has several advantages:
    • It lessens the load on the shared Process Center.
    • It allows the integration developer to work in disconnected mode.
    • The user can run the Test Environment in debug mode.
  • Run the launch pad for installing Integration Designer and select the install option that matches your needs. When you click Install Selected, IBM Installation Manager installs the features you selected, and will configure Integration Designer's starting environment. You can always change the selected install features in Installation Manager at a later time using Installation Manager. You can also change the environment in Integration Designer. The recommended install option for Integration Developer is to include the installation of the Process Server Test Environment, as shown in Figure 3.

    Selecting Start working with the IBM Process Center first means that when you start Integration Designer, you'll be in the Process Center perspective. You'll be prompted to enter the Process Center URL and your user ID and password. You can always cancel this dialog and enter this information at a later time. When you have selected IBM Integration Designer for WebSphere DataPower or IBM Integration Designer, you won't have the option to install the Process Server test environment (this also means you don't need to download the Process Server test environment images). You can always install the Process Server test environment later by running launch pad again and selecting one of the options to install the Process Server Test environment. If you do this, you'll need to deselect the products you have already installed (such as Integration Designer).

Figure 3. Recommended install option to include local Process Server test environment
Recommended install option to include local Process Server test environment

Business author and integration developer collaboration

Process applications, toolkits and snapshots

Process Apps are containers in the Process Center repository for the process models and supporting implementations. Ordinarily, a Process App includes process models, also called Business Process Definitions (BPDs), the services to handle implementation of activities and integration with other systems, and any other items required to run the processes. Process applications can be deployed to Process Server.

Toolkits can contain anything that a process application can. They are used for sharing. Process applications contain toolkits, and are how toolkits are deployed. A toolkit can have a dependency on another toolkit.

Snapshots capture and save the items in a process application at a specific point in time. Usually snapshots represent a milestone or are used for playbacks or for installation. The current version of an application that is not yet saved as a snapshot (and unlike snapshots is editable) is called the tip.

There are three primary development patterns for collaboration between business authors and integration developer:

  • Business author-led service development, where process creation is driven by the business author, but integration is also a requirement. The business author defines the service interfaces, as shown in Figure 4. The integration developer implements the services, as shown in Figure 5.
  • Integration developer-led service development, where the business author reuses services that are already developed by integration developer.
  • Integration-led service development with business author assistance, where Integration Designer develops straight-through business processes and either reuses or requests human-centric BPMN processes to handle parts of the process that require human involvement (such as high-touch customer handling or business exception handling).
Figure 4. AIS "Automated" defined by business author for implementation by IT developer
AIS Automated defined by business author for implementation by IT developer
Figure 5. AIS "Automated" implemented as an invocation of a JMS service via an ESB mediation
AIS Automated implemented as an invocation of a JMS service via an ESB mediation

Process Center console

The Process Center Console [4] is a tool intended for administrators or developers who need to manage the lifecycle of application components (snapshots of process applications and toolkits) from development and testing to production. Specifically, administrators and developers can create, export, clone, activate or archive snapshots of process apps or toolkits and grant access to them for developers that need to author them in Process Designer or Integration Designer.

Figure 6. Process console manages process apps and toolkits
Process console manages process apps and toolkits

A key role for administrators is to deploy applications to Process Servers managed by the Process Center. It is recommended that you connect the various test Process Servers directly to Process Center to enable automated deployment.

Figure 7. Deploying a process app to an online process server
Deploying a process app to an online process server

On the other hand, production Process Servers should not be connected directly to the Process Center. Administrators can still use the Process Center console to manage deployment to disconnected Process Servers [7]. In this case, rather than directly deploying to the server, the Process Center console will create a deployment package. This deployment package must then be transferred to the directory structure of the target offline Process Server and deployed locally.

Figure 8. Deploying process app to a disconnected Process Server
Deploying process app to a disconnected Process Server

Process Admin console

The Process Admin console [6] enables administrators to manage the Process Servers in the runtime environments (staging, test, production). It is also available to manage the Process Center server that is part of the Process Center.

The most importment management tasks are managing user accounts (creating and managing applications' participant groups) and managing installed applications (activating and deactivating applications, migrating in-flight instances).

Figure 9. Process Admin console can be used to configure users and groups for process applications
Process Admin console can be used to configure users and groups for process applications

Other Process Server consoles

There are other important consoles connected to Process Server that are not shown in Figure 1. These consoles fall into two categories:

  • IT administration consoles: WebSphere Application Integrated Solution Console and Business Process Choreography Explorer.
  • User interface portal consoles: Business Space powered by WebSphere and Process Portal

Integrated Solution Console is a browser-based interface used to administer applications, services, and other resources at a cell, node, server, or cluster level. Some key administrative tasks it supports are: setting security, viewing logs, and installing and configuring applications (resource adapters), troubleshooting, error recovery, and so on.

A common IBM Business Process Manager V7.5 Advanced development environment configuration task is to provide access for both the business authors and integration developers to the Process Center. Administrators would create users and configure their security credentials. Users can be added using the built-in Virtual Member Manager or by federating exiting LDAP repositories.

Business Process Choreography Explorer is a browser-based application for administration of BPEL processes authored by integration developers using Integration Designer. Some key administrative tasks it supports are: repair and restart of failed BPEL activities, migrating BPEL process instances, monitoring status of BPEL process instances, and so on.

In a production environment and, to some extent, in a development environment, administrators would use BPC Explorer to set up BPEL process security, repair process instances or migrate instances from one process version to another.

Business Space Powered by WebSphere provides an integrated Web 2.0 user experience for business users across the IBM Business Process Management portfolio. Business users or administrators can choose from a variety of supplied widgets (such as Task Information for entering human data, or Task Definitions widget to start process instances) to create highly customized business user interfaces for BPM applications.

In a development environment, developers would use Business Space powered by WebSphere to author, configure security and test new business spaces.

Figure 10. Business Space Powered by WebSphere
Business Space Powered by WebSphere

Process Portal enables business users to work with business processes and human services authored in Process Designer. Business users can start and stop processes, manage and run tasks for each process, and view the performance of individuals, teams, and processes. Process Portal also enables users to complete the tasks that result from running processes on the Process Center server or a process server in a runtime environment.

Developers can customize the Process Portal. For example, they can restrict access to Process Portal functions, change preferences such as email options, set the language, set the log-in authentication options' and customize the look and feel of the Process Portal.

Figure 11. Process Portal
Process Portal

Conclusion

This article described a recommended IBM Business Process Manager V7.5 Advanced application development topology that, with some customization, should provide you with an optimal environment for implementing and managing your BPM processes. You learned about the tools, runtimes and roles and how they function in a BPM application development process, as well as some recommendations for setting up a high-performance development environment.

You're now ready to start your BPM journey with IBM Business Process Manager V7.5!


Acknowledgments

The author would like to thank John Green, David Booze and Phil Coulthard for their contributions as reviewers of this article.

Resources

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


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. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

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.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

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

 


All information submitted is secure.

Dig deeper into Business process management on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Business process management, WebSphere
ArticleID=681698
ArticleTitle=IBM Business Process Manager V7.5 development topology recommendations
publish-date=06292011