In general, you use federation to access resources from independent systems. You can provide a single, unified user interface to users, or develop services on top of the federated systems. In the context of this article, each federated system is a business process management system (BPMS), and the primary resources are processes and tasks.
There are three typical applications for federation:
- Federating clusters or servers of the same BPMS: You apply federation when you deploy process applications on disparate clusters and servers, but need to provide a single access to some users. For example, the same process applications are deployed separately for each region close to the majority of users, and a single view across all regions is provided to the worldwide managers.
- Federating different types of BPMS: The concepts of processes, tasks and participants are found in all BPMS. This makes it possible to provide a single view with good user experience. This view can also extend beyond BPMS with specific tasks and processes being served by solutions built on conventional application servers. For example, you provide a user interface with a single in-box for tasks residing in IBM Business Process Manager and in a SAP® system.
- Federating versions of the same BPMS: Over time you might purchase newer versions of a BPMS and exploit new capabilities in newer versions of process applications, while running existing process applications reliably on a former version of the BPMS. In particular, in a "dry-out" scenario, you want to provide a single user interface for both versions of the process application in the transition phase until all processes of the older process applications are finished.
In IBM Business Process Manager V7.5, the newly introduced Federated Representational State Transfer (REST) services support the federation of clusters and servers. In addition, they are leveraged to provide a single view of processes and tasks authored in Process Designer and Integration Designer. You can find an example of federating tasks from different BPMS with the IBM WebSphere Portal Unified Task List Portlet in the business solutions catalog.
The federation in IBM Business Process Manager is realized through the federated REST services. These are used in addition to the other two REST services to access process and tasks authored in Process Designer and Integration Designer:
- Business process definition engine REST services
These services interact with BPD processes and Human Services authored in Process Designer.
- Business Process Choreographer REST services
These services interact with BPEL processes and human tasks authored in Integration Designer. - Federated REST services
These services interact with domains of federated systems. This supports a seamless interaction with processes and tasks from both authoring environments and across clusters.
Note: For compatibility with WebSphere Process Server, these REST services are divided into separate services for processes and tasks.
The federated REST services use the concept of federation domains, which group one or more systems together. A federation domain is configured to access resources from multiple systems, or across multiple process servers running either BPDs or BPEL processes. A federation domain is identified by its name and can span one or more cells, or deployment targets (single servers or clusters) that expose services that participate in the domain.
IBM Business Process Manager V7.5 provides a predefined default domain that includes all the systems in the same cell. You can create additional domains to provide an individual combination of multiple deployment targets.
The Human Task Management widgets were introduced with WebSphere Process Server V6.1.2 to support interaction with BPEL processes and human tasks. With IBM Business Process Manager, the widgets allow participants to interact with business processes and tasks developed with Process Designer (BPDs and Human Services) and Integration Designer (BPEL processes and human tasks).
In addition, the widgets allow a single, federated user experience for interacting with tasks and processes from both authoring environments as well as from multiple systems when used with the Federated REST services.
You can configure Business Space to use one of the three process and task REST services. In the following, federation mode refers to the Business Space configuration using Federated REST services, BPD mode when using Business process definition engine REST services, and BPEL mode when using Business Process Choreographer REST services.
The federated user experience includes the following aspects:
- Viewing federated lists: Users can view, filter and sort tasks and processes in a single list. They can also view and sort task definitions.
- Performing bulk actions: Users can select one or more items in lists of tasks, processes and task definitions, and perform various actions on them. An action is disabled when one of the selected items does not support it.
- Working with multiple tasks and processes in parallel: Users can view and work with multiple tasks or processes in a tabbed pane. In addition, spaces can be built such that when opening an item in a list, Business Space switches to another page to view and work on this item.
- Interacting with a task and process: When interacting with an individual task or process, the information shown and the available actions account for the specific capabilities of the system on which the task or process runs .
Working with federated tasks and processes
Users have a seamless experience when using spaces designed for federated mode. Only when they compare the user interface in different modes will they notice small differences.
Viewing lists of tasks and task definitions
All of the Human Task Management widgets that represent lists allow the user to filter and sort items in the list. When the items are displayed in table view, you filter and sort for a specific property using the respective icons on the column header as shown in Figure 1.
Figure 1. Filtering in Task Definitions widget
In federated and BPD mode, you cannot sort tasks by the mapped task status, task kind, and task description in the Tasks widget, nor can you filter task definitions in the Task Definitions widget, as shown in Figure 2.
Figure 2. No filtering in Task Definitions widget using federated mode
Introduced in the WebSphere Process Server V7 Feature Pack, you can directly create a task and its form and assign it to an user on the fly, as shown in Figure 3. This exploits ad hoc human tasks, which are available through the Business Process Choreographer REST services. Free-form tasks are available in BPEL mode and in the federated mode if at least one server with Business Process Choreographer REST services is included in the federation domain.
Figure 3. Creating free-form tasks
Building spaces for federated processes and tasks
In V7.5, the Human Task Management widgets support for processes authored in Process Designer is focused on scenarios and user interactions typical for task workers. The Federated REST services include the methods required for these scenarios. When you build business spaces to interact with federated tasks and processes in Business Space, you need to consider this focus as well as the different capabilities of processes and tasks authored with Process Designer or Integration Designer.
Creating a space from a template
You typically use the provided space templates as a starting point to build your own business spaces. You can choose from one of the following space templates in federated and BPD mode:
- Interact with Processes and Tasks: This template provides a list of tasks, for example, an in-box, as the basis for your work. You can also create new processes and services, and find detailed status information for specific process instances.
- Work on Tasks Continuously: This template allows you to continuously work on tasks for a task queue. When you complete a task, the next available task in the queue is assigned automatically.
The Advanced Management of Tasks and Processes and Configure Work Baskets and Business Categories templates support additional scenarios that are available only in BPEL mode.
When you edit a page, the widget palette always includes all Human Task Management widgets. You need to take into account that some widgets are not supported in federated and BPD mode. Table 1 shows in which modes the widgets are supported:
Table 1. Widget support for federated, BPD and BPEL modes
| Widget | BPEL processes and human tasks | BPD and Human Services | Federated processes and tasks |
|---|---|---|---|
| Tasks | X | X | X |
| Task Information | X | X | X |
| Task Definition | X | X | X |
| Escalations | X | ||
| Send Widget | X | X | |
| My Work Organizer | X | ||
| Processes | X | X | X |
| Process Information | X | X | X |
| Process Definition | X | ||
| Work Baskets | X | ||
| Work Basket Information | X | ||
| Business Categories | X | ||
| Business Category Information | X |
The Send Widget and My Work Organizer widgets exploit collaboration tasks and the Escalations widget exploits task escalations, which are available only for human tasks authored in Integration Designer.
Work baskets and business categories are typically managed on the level of an organization, not scoped per process or process application. That means all systems would use the same set of work baskets and business categories.
Instead of federation, you might prefer to manage work baskets and business categories on a master system and copy to the other systems.
When you add a widget in an unsupported mode to your business space the widget displays a warning, as shown in Figur3 4.
Figure 4. Warning for a widget in an unsupported mode
The configuration options available for the widgets vary for federated, BPD, and BPEL mode.
Editing content settings
The following description is for the Tasks widget in particular, but applies also to the Processes, Task Definitions and Task Information widgets.
In the Content settings of the Tasks widget, you choose the task lists the user can work on. In BPD mode, the available task lists include an All task list by default, and all the saved searches that were flagged as Organized by Task that are available to you. In BPEL mode, the available task lists include an All task list by default, and all the query tables for task instances that are deployed on the system.
In federated mode, all federated lists that are available for all the configured federation domains are included. If only one federation domain exists (which is the default), the domain information is omitted and there is no visible difference to the other modes. If there are multiple domains, the domain name is added to the task list name, so that you can decide which task list to use. The domain information is never displayed in view mode.
Figure 5. Edit content settings with multiple domains
Editing user interaction settings
User interaction filters apply a filter to a task list or process list to match the expected user interactions on the tasks or processes. For example, the user interaction filter Work on my tasks includes only tasks assigned to the user.
Figure 6. Edit user interaction settings for a Tasks widget
The Check Status of tasks, Manage tasks, and Resume tasks interaction filters in the Tasks widget are supported only in BPEL mode. You should exclude these in federated or BPD mode, otherwise they are always disabled in the drop-down interaction selection in view mode, as shown in Figure 7. The same applies to the Browse All interaction filter in the Task Definitions widget.
Figure 7. Tasks widget with interaction filter drop-down
Editing display settings
In federated mode, you cannot page through lists that are federated from multiple sytems. When editing the display settings of a Tasks, Processes, or Task Definitions widget in federated mode, you can still choose the Fit to view navigation style to page through the list. In this case, this style is used for lists from federation domains with only one system and the View all style is used for all other lists, so that users can scroll through the list.
Figure 8. Edit display settings for a Tasks widget
When a Tasks widget is configured to use the Default priority representation, the task priority is mapped as shown in Table 2:
Table 2. Mapping of task priority for Default representation in Tasks widget
| Classification | Numerical range |
|---|---|
| Very high | priority < 15 |
| High | 15 ≤ priority < 25 |
| Medium | 25 ≤ priority < 35 |
| Low | 35 ≤ priority < 45 |
| Very low | 45 ≤ priority |
You should consider this mapping when providing priorities for human tasks, especially when federating across systems.
Figure 9. Edit priority representation in Tasks widget
The Human Task Management widgets are wired in the same way for federated mode as without federation. However, in federated mode the published events include a system identifier along with a task or process identifier for tasks or processes included in the event payload. Likewise, the widgets require a system identifier for tasks and processes in the payload when handling incoming events. This ensures that tasks and processes are identified unambiguously.
You need to develop custom widgets such that they manage the system identifier for tasks and processes when handling and publishing events wired with Human Task Management widgets.
Setting up a federated environment
In order to federate BPD and BPEL processes and tasks in Business Space, IBM Business Process Manager Advanced must be installed and Business Space must be configured.
To set up a federated environment, you must complete the following tasks:
- Configure REST service endpoints
- Configure federation domains
- Define federated lists using query tables and saved searches
Configure REST service endpoints
The process and task engines can be configured on multiple deployment targets in a cell. Each REST API in IBM Business Process Manager has a unique REST service endpoint that is registered during the configuration of the REST APIs. Each endpoint is identified by a type and a name and contains the host name, port and context root under which a rest API can be accessed. The endpoints are used by clients, such as Business Space, to find the correct endpoint URL. The host name and ports of the endpoints can be changed in the administrative console to point, for example, to an HTTP server or load balancer. This allows you to achieve high availability and load balancing in a clustered environment.
For a deployment target, there are REST service endpoints for process
services and task services. If you want to federate BPD and BPEL processes
across deployment targets, set the service endpoints for both service
types to Federated REST services. By default,
all the REST endpoints of the process services and task services on those
deployment targets are part of the federation domain.
With a new installation, Business Space is configured by default to use the Federated REST services. When you migrate from WebSphere Process Server the default is set to Business Process Choreographer REST services. Choose one of the non-federated REST services if you only need to access processes and tasks running in a single server or cluster and authored with either Process Designer or Integration Designer.
To change the target REST service endpoint used by widgets in Business Space, complete the following steps:
- Log on to the administrative console
- Select Servers => Server Types => WebSphere application
servers => servername => Business Integration =>
Business Space Configuration => System REST service endpoint
registration for a single-server installation, or for a
cluster set-up, select Servers => Clusters => WebSphere
application server clusters => clustername =>
Business Integration => Business Space Configuration =>
System REST service endpoint registration.
Figure 10. REST service endpoint registration in administrative console
- Select the corresponding endpoint services for task and process
services, as shown in Figure 11.
Figure 11. Select service endpoints for process and task services
For more information, see REST service endpoint registration in the IBM Business Process Manager V7.5 Information Center.
The default federation domain that is configured automatically contains all systems in the cell. New deployment targets are automatically part of this federation domain.
For more fine-grained control over the servers and clusters that are part of a federation domain, you can create additional federation domains. You can add one or more deployment targets, or scopes. For example, if you add servers or clusters to a federation domain, then all systems on those deployment targets are part of the federation domain. Systems that are added later to one of the specified scopes are automatically part of the federation domain. You can modify the default domain if you do not want to have a domain that spans the whole cell.
A number of wsadmin commands are available to create, list, modify and delete federation domains.
The following example uses the createBPMApiFederationDomain command to add a federation domain called myCustomFederationDomain that federates across a server (with the node name myNode and server name myServer) and a cluster (with the name myCluster):
AdminTask.createBPMApiFederationDomain('[-nodeName node_name
-serverName server_name -name myCustomFederationDomain
-addTarget [["" myNode myServer ""] ["" "" "" myCluster]]]')
|
For more information about these commands, refer to Enabling the federation API across multiple deployment targets in the IBM Business Process Manager V7.5 Information Center.
The process and task services include query methods to retrieve lists of processes and tasks using previously defined queries. A query is identified by a name and specifies the attributes included for list items and optionally, filters determining the items included in the list.
The REST services for BPD processes and tasks use saved searches created and shared in Process Portal to represent queries. The REST services for BPEL processes and human tasks use query tables created in the Query Table Builder tool.
The federated REST services return queries merged from the list of queries returned from the federated systems. When configuring the Tasks or Processes widgets, you see the resulting list of queries as a list of task list or process lists you can choose from.
The federation of queries depends on several characteristics of the queries defined in the federated systems. In general, the queries must be available on all systems that belong to a federation domain. When queries are defined with different attributes (or columns) in the federated systems, the federated query includes all attributes and merges those with same name. Attributes with the same name but different data type are not allowed.
Federating BPD processes and Human services
For BPD processes and Human Services, you create and share saved searches in Process Portal.
To obtain a federated list, you create the corresponding saved search on each deployment target in the federation domain. Make sure that the following conditions apply:
- The saved searches in all deployment targetss have the same name.
- The saved searches are all flagged as "Organized by Task" for task lists or not flagged for process lists.
- The columns with the same name and type are federated.
Default saved searches named IBM.DEFAULTALLTASKSLIST_75 and IBM.DEFAULTALLPROCESSLIST_75, referred to as All in Business Space, are provided in every deployment target configuration for BPD processes and tasks. They include standard properties, but no modeled business data.
For more information on how to create and share saved searches, see Part 2 of this series.
Federating BPEL processes and human tasks
For BPEL processes and human tasks, you create query tables in the Query Table Builder tool.
To obtain a federated list, you deploy the same query table on each deployment target in the federation domain. When you create a query table in Query Table Builder, make sure that the following conditions apply:
- The query tables in all deployment targets have the same name.
- The primary table is the predefined TASK query table for task lists, or PROCESS_INSTANCE query table for process lists.
- It includes attributes required by the Tasks or Processes list widgets. When you use the corresponding wizards to create the query table, the wizard takes care of these considerations. For more information, see the Getting Started documentation for the Query Table Builder (PDF file).
- The columns with the same name and type are federated.
Default query tables named IBM.DEFAULTALLTASKSLIST_75 and IBM.DEFAULTALLPROCESSLIST_75, referred to as All in Business Space, are provided in every deployment target configuration. They include standard properties, but no modeled business data. If you are using either the federated or BPD service endpoints, use the new lists. The new default lists are automatically used for all widgets that are created in V7.5.
For compatibility, default query tables IBM.DEFAULTALLTASKSLIST and IBM.DEFAULTALLPROCESSESLIST, referred to as V7 All in Business Space, are also provided. Widgets migrated from a previous version use these query tables by default.
For more information on how to create and deploy query tables, refer to the Getting Started guide for the PA71: Business Process Manager Advanced - Query Table Builder support pack.
Federating BPD and BPEL processes and tasks
To obtain a federated list of BPD and BPEL processes and tasks, you need to consider some conventions that are required to match the concepts of query tables and saved searches.
The query table and saved search names must be the same, and must adhere to the following rules:
- The name follows the prefix.name naming convention, and the reserved
prefix
IBMmust not be used. - The name is capitalized.
- The maximum length is 28 characters.
The query table and saved search must be of the same kind, either task or process.
- For tasks, the primary query table is TASK and the saved search is flagged as Organized by Task.
- For processes, the primary query table is PROCESS_INSTANCE and the saved search is not flagged as Organized by Task.
Common attributes are attributes that are available in both BPD and BPEL processes and tasks. When federating processes and tasks, you want to have a common attribute containing data from both kind of processes and tasks. Therefore, when you create your own query tables you must specify names for common attributes that match the attribute names given for saved searches.
Note that column names of saved searches do not adhere to the naming conventions for query table attribute names, so that the BPD REST service provides attribute names that adhere to the conventions and are different to the original column names.
When you add a common attribute to a query table in the Query Table Builder, the attribute name is set to match. the corresponding saved search column name. In the Properties section, a hint with the column name is provided, as shown in Figure 12.
Figure 12. Query Table Builder hint for common attribute name
Table 2 contains the common task attributes with the attribute names provided by the BPD REST services for saved searches and the corresponding columns and BPEL attributes.
Table 2. Common task attributes
| Attribute name | Columns shown in Process Portal (BPD) | TASK query table attribute (BPEL) |
|---|---|---|
| ACTIVATED | Received Date | ACTIVATED |
| COMPLETED | Closed Date | COMPLETED |
| CONTAINMENT_CTX_ID | Instance Id | CONTAINMENT_CTX_ID |
| DUE | Task Due Date | DUE |
| KIND | n/a (Derived from multiple columns) | KIND |
| NAME | Activity | NAME |
| ORIGINATOR | Sent From | ORIGINATOR |
| OWNER | Assigned to User | OWNER |
| PRIORITY | Task Priority | PRIORITY |
| STATE | Task Status (mapped) | STATE |
| TAD_DISPLAY_NAME | Task Subject | DISPLAY_NAME |
| TAD_DESCRIPTION | n/a (taskNarrative) | DESCRIPTION |
| TKIID | n/a (taskId) | TKIID |
Table 3 contains the information for the common process attributes.
Table 3. Common process attributes
| Áttribute name | Columns shown in Process Portal (BPD) | PROCESS query table attribute (BPEL) |
|---|---|---|
| PI_NAME | Instance Name | NAME |
| PT_PTID | n/a (bpdId) | PTID |
| PI_PIID | Instance Id | PIID |
| PI_STATE | Instance Status (mapped) | STATE |
| PT_DISPLAY_NAME | Process Definition | DISPLAY_NAME |
| PT_NAME | Process Definition (see above) | TEMPLATE_NAME |
| PI_DISPLAY_NAME | Instance Name | DESCRIPTION |
| PROCESS_APP_ACRONYM | Process App | PROCESS_APP_ACRONYM |
| SNAPSHOT_ID | n/a (instanceSnapshotId) | SNAPSHOT_ID |
| SNAPSHOT_NAME | Snapshot | SNAPSHOT_NAME |
Federating business data attributes
You often have a need to include business data in task and process lists. Saved searches and query tables allow you to do this.
The BPD REST services provide an attribute name that is derived from the name of a business data column as follows:
- An underscore is prefixed by an underscore.
- Uppercase letters are prefixed by an underscore.
- Lowercase letters are converted to uppercase.
- The name is prefixed with BD.
Examples:
- customerName = BDCUSTOMER_NAME
- CustomerName = BD_CUSTOMER_NAME
- customer_name = BDCUSTOMER__NAME
- customer_Name = BDCUSTOMER___NAME
- CUSTOMERNAME = BD_C_U_S_T_O_M_E_R_N_A_M_E
To federate business data attributes between saved searches and query tables, you need to use the matching attribute name in the query table. When you add a business data attribute to a query table in the Query Table Builder, you can see a hint with the matching column name in the properties view as shown in Figure 13.
Figure 13. Query Table Builder hint for business data attribute
- Get complete product documentation for IBM
Business Process Manager in the IBM
Business Process Management Version 7.5 Information Center. The
following topics are of particular interest:
- Widget support in Business Space for BPDs, BPEL processes, and human tasks
- Default queries for Business Space
- REST service endpoint registration in Business Space configuration
- Enabling the federation API across multiple deployment targets
- Creating saved searches for Business Space
- Creating query tables for Business Space
- Deploying composite and supplemental query tables
-
PA71: Business Process Manager Advanced - Query Table Builder:
Get the Getting Started documentation about query tables and the Query
Table Builder and the support pack itself.
-
IBM WebSphere Portal Unified Task List Portlet: Get the Unified
Task List portlet for federating a task list in WebSphere Portal across
different BPM systems, such as WebSphere Process Server V7 and WebSphere
Lombardi Edition V7.2.
-
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.

Andrea Baader works as software engineer in the IBM Germany Research and Development Lab in Boeblingen. She is lead developer of the Human Task Management widgets and Business Process Choreographer Explorer. She has been part of the development for WebSphere Process Server and IBM Business Process Manager for the last four years. Andrea joined IBM in 2000 and has developed text search and analysis software in Information Management for the IBM Omnifind product and on customer projects.

Chris Coltsman works as a software engineer in the BPM team at the IBM Research and Development lab in Boeblingen, Germany.

Ralf Schmauder works as a software engineer and architect in the BPM team at the IBM Research and Development lab in Boeblingen, Germany. His focus areas are all aspects of configuration, high availability and operations. He has worked for 6 years as a developer and architect on Business Process Management and WebSphere Process Server. He has held talks and workshops at several conferences and supported and advised various customers on topology and migration aspects. Ralf holds an Engineering degree in Media Computer Science and joined IBM in 2005.

Michael Friess works as an architect in WebSphere BPM at the IBM Germany Research and Development Lab in Boeblingen, Germany. He is responsible for user interface technologies and clients for business process management (BPM). His focus areas are on the user experience, user interaction patterns and user interfaces for traditional, as well as social, BPM and related programming aspects and interfaces.
Michael has worked for nine years on various aspects of BPM research, architecture and design. This includes workflow graphs, region analysis, model-driven architecture, model transformations, visualizations and business event processing. In his 25 years with IBM he has been based in various places in Germany and on assignment in Hursley, UK. His continuous customer focus is strongly influenced by his past positions in technical sales for central Europe, as a consultant for independent software developers in Europe, and in a partnership with SAP® around Java™ and WebSphere with engagements in Europe and America. He has held talks and workshops at various conferences and written books and articles about IT development topics including BPM, BPEL, MDD, WebSphere, Java, SAP, VisualAge® and programming. He tweets @mfriess.




