Disclaimer:
Throughout this document - even we have a single process engine
with version 7.5 - we sometimes use the former product names, features, or
capabilities when we talk about the interaction of both engines for
better understanding by readers having worked with the
one or other system.
This sample illustrates the use of federation in Business Space. It
outlines the required steps during development and configuration of
these queries used to access and work on tasks managed by the Process Server Engine:
- the
settings in the BPEL - as well as BPD processes to display business data in
the Task List.
- the specification of the queries against the the BPEL - and BPMN
engine to
obtain the required task information, including filtering for certain
criteria.
- the configuration of a Space to make use of these
queries in a federated environment.
The infrastructure is based on Business Space and the BPM Process
Server. Business Space is configured to use the federated REST APIs.
The process application used includes human tasks managed by the BPMN
engine with a Coach and by the BPEL engine / Human Task Manager with a
Dojo form.
The restricted query for human tasks part of the BPD is called a
shared Saved Search. It is created in the Process Portal. The
corresponding
query of human tasks managed by the BPEL engine is created in the
Query Table Builder, a support pack used in conjunction with of the IBM
Integration Developer (IID). Such a query definition is called a Query
Table.
Overview of Federation
The diagram below shows major concepts
for Business Space and federation and tries to outline what is
developed in
this sample.
- BPEL and BPD Processes and Tasks are going to be shown in a single, federated user interface.
- For
these processes you define the business item variables to be exposed
and displayed to authorized users. Depending on the process type these
variables are called Variables exposed to Search, Query Property or Custom Property.
- To improve the access, specification and performance to process properties,
task properties as well as business variables Query Tables for the processes defined
in IID or Saved Searches are defined in IPD respectively Process Portal.
- When
federating tasks executed by the BPEL- and BPD engine query table and
the saved search need to have the same name and further restrictions /
conventions apply to column names.
- The unified user interface in Business Space makes use of the
Human Task Management widgets known from the BPEL engine.
- A user interface is based on Widgets which are part of a Space that can be derived from an
existing Template. If so, the Wiring among the widgets based on
incoming and outgoing wire (events) is already provided.
- Mainly we distinguish between three kinds of widgets:
- Definition Widget which allows to start a new instance of the
corresponding artifact, a task template or a process template.
- List Widget which allows to perform actions against the
underlying artifact, here process instances or tasks.
- Information Widget that shows the information, forms, the process state and progress etc. to
actually perform a task or to display content.
The Information Widget might be triggered by the hidden Page Navigator Widget.
- What remains is the individual configuration of the
Widgets based on widget / configuration settings. These are separated by
- Display settings, e.g. the presentation of tasks in list- or
icons view, manual or automatic refresh of the list, etc.
- User Interaction settings with filters for users in a certain
technical role (see authorization) and the status of the item
- Content settings with the selection of the federated Query Table defined above.
I.e. a Query Table (Saved Search) is defined at
development time against the process or task by authorized people. Of course, this can be a
query table against multiple processes, modules or process applications. The query refers to a primary
object or table and can be associated with secondary or even
supplementary tables. The query tables were introduced to increase the
performance to access process and task lists from the workflow database.
- These predefined queries and the item Status determine the data retrieved
from the workflow database. The Properties
of the content
settings and Filters of the
user interaction settings provide for the means, sequence, and amount
of items presented to endusers to efficiently organize and
perform their work.
- The last entry in this diagram is the logged on User. On an individual basis s/he can
further refine filters and sort criteria. An enduser can see and and
act on items (process instances and tasks) authorized for
dependent on the Status of
them.
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.
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 targets 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.
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
IBM
must 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.
Business Scenario
The federated Business Space sample uses a business scenario about
an
internal
replenishment order process. The process applies to the manufacturing
or retail industry. When the stock for any goods falls beneath a given
limit an internal order is automatically triggered. The corresponding
BPEL process and its activities are shown and explained in the diagram
below. As part of the activity Approve Replenishment Order the BPEL
process invokes a Business Process Definition (BPD) with a human task and coaches to request
approval by an authorized user. The approval task needs to be performed
in a given time. Otherwise the activity expires, the approval status is
set to true, and processing completes. The BPEL process completes with
an inline human task so during the course of the development and
testing you can see human tasks managed by the BPMN as well as BPEL
process engine.
References
This sample outlines federating BPD human services with BPEL
humans
tasks as well as federating common attributes. The concepts on these
federations are part of series of developerWorks articles.
Specially
Part 3 is relevant
to this samples and provides additional
details.
The sample is based on a procurement scenario for stock replenishment
that was build to demonstrate the STP integration where BPEL process
invokes a BPD. See
Procurement
sample: calling a BPD from a BPEL process.