Part 1: Conceptual Approach – Human-centric scenario
This document
describes an advanced human-centric scenario showing the interaction of a
former WebSphere Lombardi Edition (WLE) process
calling a process implemented by the former WebSphere
Process Server (WPS) process engine. Both process engines are now combined in a
single process engine, now called IBM Business Process Manager v7.5.
Throughout this
document – even if we now have a single process engine in version 7.5 – we will
use the known but former product, features, and / or capability names when talking
about the integration of both engines.
The integration of
WLE and WPS can be achieved via existing Web Service technology. However, now
in IBM Business Process Manager v7.5 new integration
capabilities are offered supporting Service Component Architecture (SCA)
standard - called 'Advanced Integration Service'. The SCA-based integration between WLE and WPS is explained,
demonstrated and executed with the sample process model used in the exercise.
Y
There
is a similar document available for a so called straight-through
processing (STP) scenario, where a WPS process calls a WLE process to
provide new
ways of manual interaction required in business process automation
scenarios. How this is done in detail is explained in the Procurement
sample, listed in the Interaction Samples section of the Version 7.5
samples.
In our scenario, the
development of a process application (PA) demonstrating the interaction of the
formerly two process engines includes the development of two different processes
done by two user roles (personas):
- First there is Technical Business
Analyst named Tania using IBM Process Designer (formerly known as
IBM WebSphere Lombardi Edition Authoring
Environment (WLE AE)), and
- Second an Integration Developer
named Igor, using IBM Integration Designer (formerly known as IBM WebSphere Integration Developer (WID))
Figure 1 – IBM Business Process Manager, simplified architecture for
prototyping and testing
For sure if one
person has all the skills required, just one person can complete a business
process scenario as described here in the advanced hiring sample.
As you can see in
Figure 1, both tools (IBM Process Designer and IBM Integration Designer) are
connected to a common repository named Process Center.
Process Center is the central repository that
holds all business process and integration-relevant data to grant full
synchronization between the business level and IT level artifacts required to
provide an executable process application (PA). For the sake of our sample
scenario here, not the full IBM Business Process Manager runtime
capabilities are required, we can use a simplified runtime environment
sufficient for testing and prototyping, which is called Playback Server, running directly on Process Server.
Now, in order build
the human-centric process application (PA), Tania and Igor will work as
described here in the following:
- Tania starts with
the design of the business process using IBM Process Designer. This includes
the definition of a service request, which will be handed over to Igor for
implementation. This is known as the top-down scenario.
- Igor takes over
this service request definition via Process
Center, and implements
the service in IBM Integration Designer. Once the service implementation is
completed, Tania can test the completed PA in Process Designer executing it on
the Playback Server
A visual
description of this is illustrated here in figure 2:
Figure 2 – Human-centric scenario, user role steps to complete the sample
In detail, Tania
and Igor are performing the following steps:
- During her basic business process
modeling / design work in IBM Process Designer, Tania realizes that the
business process does require a specific service, which may or may not yet
exist, but which will not be modeled nor designed in the business process
model itself. She decides to create a new service, which does serve as a
service template for Igor to develop the new service, or to find an
existing artifact that is already providing the required service
implementation
- In order to precisely describe
what the new service needs to return in terms of business data,
Tania describes the service interface in IBM Process Designer. As long as
the service is not implemented by Igor, she can test the business process
in IBM Process Designer on the Playback Server which emulates the service
to manually provide data to the services input and output data containers
- Igor is using IBM Integration
Designer to implement the requested service. In order to see not yet
implemented services, he logs in to Process Center
and retrieves the service requested by Tania. Igor sees a service
template, including all relevant aspects like input und output data
definitions, which however is flagged 'unimplemented'
- In IBM Integration Developer, Igor
implements the service exploiting one or more of the many capabilities
provided by the tool. In our case, Igor uses a number of existing
artifacts to connect to various back-end systems and orchestrates those in
a BPEL process, which allows for a fully automated execution of the
back-end orchestration not requiring any human interaction. When done, he
is testing the BPEL process using the unified test environment of IBM Integration
Developer. Once he sees that the service implementation works fine, he
publishes the implemented service back to Process
Center
- Tania will be informed about the
successfully done and completed service implementation and can now run the
PA on the Playback Server calling the new service. Now, the service is no
longer emulated, but the real service is called, invoked and executed,
returning the data as requested by the service. This completes the testing
of the PA prototype, and the sample scenario. (when moving on to taking
this PA into production, IT administrators would take over the PA
performing more tests on a production-like test environment, however not
requiring any changes to the already completed PA.)
In order to create
or complete a PA, Tania as well as Igor could use existing artifacts, be it in
IBM Process Designer or IBM Integration Designer. Both tools support various
mechanisms to take advantage of already existing assets.
This document for
the human-centric scenario focuses on the top-down approach. It is assumed that
the reader is already familiar with the modeling concepts of IBM Process
Designer (formerly known as IBM WLE Authoring Environment) and how to develop BPEL processes with
IBM Integration Designer (formerly known as IBM WebSphere Integration Developer).
This scenario will start
with an initial business process design done in IBM Process Designer, and does
then demonstrate in detail how to invoke a BPEL process implemented / provided in
IBM Integration Designer via the SCA integration, exploiting the new Advanced Integration Services.
The document will
not cover:
- Any kind of best practices
when and how to use IBM Process Designer versus Integration Designer depending
on various business process requirements
- Any kind of best
practices how to handle comprehensive staff assignments
- Any other
advanced aspects of how to exploit other features of IBM Business Process
Manager Advanced v75
Part 2: Development Approach – Human-centric scenario
The development of this
solution that consists of business process design (BPD) modeled in IBM Process
Designer and a new service automatically accessing back-end systems developed
in IBM Integration Designer involves
several steps and to develop new artifacts that are finally centrally stored
and shared in Process Center.
How this is done, and what artifacts are created where in what sequence
is shown in Figure 3:
Figure 3 – Sequence how the sample is developed
Here is a more
detailed description of how to implement such a scenario (it
requires that your are familiar with the tools….if this is not the case, you can
explore and run the provided human-centric sample named ‘Hiring Sample
Advanced’, described later):
- Open IBM Process Designer and
develop your BPD. If one process step requires a service (which e.g. does
not yet exist), create an Advanced Integration Service, give
it a name and assign the input and output Business Objects accordingly.
- When done, save your work to
publish your BPD to Process
Center
- Open IBM Integration Designer and
connect to Process
Center, to retrieve
new requested services seeking for implementation. All services not yet implemented
will be marked with ‘unimplemented’. Use the service implementation
wizard to create an implementation template. After that, the real
implementation needs to be done, which may include to:
- Create a BPEL process
- Access existing artifacts or create
new ones
- Test your service implementation
- When done, refresh and publish the
service implementation back to Process
Center, to make it
available for the BPD requesting the service
- In IBM Process Designer, use the
inspector to run and test the BPD on the Playback Server, now invoking the
service implementation completed in IBM Integration Designer
This may be quite some work to do, and for the un-experienced
user of IBM Business Process Manager Advanced v7.5, a completed
and executable human-centric scenario is provided, named ‘Advanced Hiring
Sample’. In order to run and execute it, do the following:
- Open IBM
Process Designer
- Select the
Process Application named ‘Hiring Sample Advanced’ and click on ‘Open in
Designer’
- Click the
‘Processes’ folder in the left hand side, and open the process named ‘HR Open
New Position’
- Explore the BPD
(which is the process model)
- Click the ‘Run
process’ button in the upper right corner
- Enter data as
requested by the upcoming dialogs
- Complete the
sample by clicking on the ‘Invite candidate to interview’ button
This
is it! You now have successfully run a BPD that
calls a BPEL process via the SCA integration! If you want to understand
more
details, there is more to come on the build the sample section, and a
detailled description how to run the sample is provided in the run the
sample section.
Part 3: Business Scenario – Human-centric scenario
The development
steps to build, deploy, test and run the human-centric sample
are shown in the Advanced Hiring Sample, which is a rather simple
process allowing managers to hire new people within their department. As this
is a rather human intensive process, the BPD is designed in IBM Process
Designer and looks as illustrated in Figure 4:
- Certain manual steps have to be
completed to describe what type of position needs to be staffed.
- Once the data is provided, an
automated service is called to look for a number of job candidates which
reside in the organization’s inhouse Human
Resources backend systems, or – depending on the type of the job – may
have to be identified by requesting services from an external agency.
- This service is defined with IBM
Integration Designer as a BPEL process invoking services provided by the
back-end systems (simulated by rather simple Java programs).
- Within some milliseconds, the
service returns a single candidate, or a number of candidates (depending
on the implementation), and the BPD displays those to the end user. The
end user can now invite one or more candidates for an interview (which
completes the process), or ask for a new search to get a new list of
candidates.
How the process looks like is shown in Figure 4.
Figure 4 – Business Process Definition in IBM Process Designer