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  to . 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
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.
The Process Server  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  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  to deploy production-ready applications onto the production Process Servers.
Process Center  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.
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.
The Process Designer  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
Integration Designer , 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.
- To unit test AISs locally, Integration Designer can use the IBM
Process Server Test Environment (Unit Test
Environment  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
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
Business author and integration developer collaboration
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
Figure 5. AIS "Automated" implemented as an invocation of a JMS service via an ESB mediation
Process Center console
The Process Center Console  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
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
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 . 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
Process Admin console
The Process Admin console  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
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
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
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!
The author would like to thank John Green, David Booze and Phil Coulthard for their contributions as reviewers of this article.
- IBM Business Process Manager Advanced product information
- IBM Business Process Manager V7.5 Information Center
- developerWorks BPM zone: Get the latest technical resources on IBM BPM solutions, including downloads, demos, articles, tutorials, events, webcasts, and more.
- IBM BPM Journal: Get the latest articles and columns on BPM solutions in this quarterly journal, also available in both Kindle and PDF versions.