IBM BPM Overview, Architecture and Components

Overview of IBM Business Process Manager
IBM Business Process Manager (IBPM) provides a platform on which Business Processes can be described, implemented, executed and monitored.
IBPM allows us to capture the model of a process using a powerful drawing technique that is based upon the prevailing Business Process Model and Notation (BPMN) standard. This drawn diagram represents steps in the processes as "boxes" with lines drawn between them to describe the flow of work. Each box represents a step and is labeled with its description in the diagram.
By capturing a diagram of the process, the diagram can be discussed for accuracy with other people.
It can be used as the basis of the important question "Is this how we work today?” During these discussions, it is common to catch errors or misconceptions that were made while the diagram was being originally drawn. It is a trivial matter to change the diagram at this stage as needed.

Architecture
IBPM is composed of a number of functional components. These components and how they interact with each other constitute the architecture of IBPM
Process Applications
A Process Application is the container for a solution.
It is given a name and a tag called an acronym. The acronym must be unique and can be no more than seven characters in length.



Process Instances
A BPD in a Process Application reflects a template of a process as opposed to an instance of a running process. When a process is started, a new instance of the process is created from the template. An actual process instance can be thought of having a current state and can only be in one state at a given point in time. The potential states are:
• Active – The process instance is active (running).
• Completed – The process instance has completed.
• DidNotStart – The process instance did not start.
• Failed – The process instance has failed.
• Suspended – The process instance has been suspended and can be resumed.
• Terminated – The process instance was explicitly terminated prior to completion.

Archiving Process Applications
Process Application can be hidden from overt viewing by flagging it as archived. Archiving a process application removes it from view from the list.



Even though a Process Application has been archived, it still remains within the Repository. A filter on the Process Center console can be used to view archived applications and restore them to their visible state.
When a Process App has been archived, it is eligible for deletion. Deleting a Process App is not a recoverable command.

Process Applications state management
A Process Application can be manipulated or worked with as follows:
• Cloned – The process application is duplicated with the new one being given a new name
• Archived – Archiving an application simply means "hiding" it from normal view
• Import – Bring in a previously exported Process Application from a .twx file (Note: The file suffix TWX used to mean "Team Works Export" when the product was historically called TeamWorks).
• Export – Export a Process Application to a .twx file. A .twx file is a file format used to store the content of a Process Application in a computer file. The .twx file can be transferred to other systems running Process Center for subsequent importation.

Changing Process Application settings
Some core settings of a Process Application can be changed within the Process Designer. From the primary menu pull down, an entry for Process App Settings" can be chosen:


Toolkits
Similar to Process Applications, a Toolkit can also be thought of as a container for artifacts used in solutions. Unlike a Process Application, a Toolkit does not result in a deployable application.
Instead, the contents of the Toolkit can be "included" or "used" by one or more Process Applications.
Toolkits have their own tabs in the Process Center consoles. From there new Toolkits can be created, Toolkits exported and otherwise managed in a similar fashion to those of the Process Applications.










Tasks
A task is a piece of work to be performed by a human being. Typically, this is achieved by the creation of an activity in the BPD which is then associated with a Human Service. When a process reaches a Task, that branch of the process pauses or suspends until the task has been completed. A task has a state associated with it. A task can only be in only one potential state at any given point in time. The states associated with a task are:
• New
• Received
• Replied
• Forwarded
• Sent
• Actioned
• Closed
• Special
• Deleted
Task Priority
Associated with a task is the concept of a priority which indicates how important this task is relative to other available tasks. The Task Priority could be used by user interfaces to determine a display or sort order for tasks and show the tasks with the highest importance first. The choices available for the task priority are:
• Highest
• High
• Normal
• Low
• Lowest
Within a Human Service, the current task can be found from the variable:
tw.system.currentTask
This object contains a field called priority which is the priority of this task. Changing this value results in the task's priority being changed.

IBPM Components
Component – Process Server
Process Servers are the components/engines which run the business processes described by BPDs.
During development, the processes run on an instance of a Process Server located at the Process
Center. When it comes time to put the applications that have been built in the test and production environments, they will be installed on other Process Server instances.
A Process Server is implemented by a WebSphere Application Server (WAS) with the IBPM product integrated within it. The IBPM run-time consists of IBM written Java product code engineered to conform to and utilize the Java EE framework.
For users of IBPM Advanced, the Process Server also contains a large set of additional functions including Service Component Architecture (SCA), BPEL processes and mediations (to name but a few).

Component – Process Center
IBPM utilizes a concept that is called the "shared model". In simple terms this means that no matter what is being done within the overall solution, there is only one common repository and a single representation of that solution. Because of this, it is impossible to get two phases of the same solution out of synch with each other.
This shared model is realized by an IBPM component called the "Process Center". Part of the process center is a data repository which is simply called the "Repository". Within the repository, there exists the representation of the solution. The IBPM PD tooling connects as a client to the
IBPM Process Center to obtain copies of the solution for working upon. When a user makes a change and saves those changes, the results are written back to the repository.




Component – Process Designer
The IBM Business Process Manager Process Designer (PD) is the development time tooling used to design, model and build processes.
IBPM PD can be downloaded from the IBPM Process Center and installed on a user's Windows based workstation. It is delivered as a 270 MByte (plus) ZIP file. Once extracted, the program called "eclipse.exe" can be executed to start the tool.
IBPM PD connects to a single instance of a Process Center and there is no exposed ability to change which Process Center instance against which it should communicate

Component – Web Process Designer
With the arrival of IBM BPM 8.5.5, an additional development component was added into the mix. This component is called the "Web Process Designer" and provides a subset of the capabilities of Process Designer but contained within a web browser environment.
One cannot exclusively build solutions within the Web Process Designer. The full Process Designer is still required. What one uses the Web Process Designer for is the construction of Client Side Human Services.

Component – Performance Data Warehouse
The Performance Data Warehouse is a database responsible for collecting and managing data originated by Process Server instances. Think of this as the repository for information about the history of the system as is used for reporting of the outcome of processes. The sourcing of data for reporting comes from the single Performance Data Warehouse database which may be associated with multiple Process Server instances. This architecture allows aggregation of information from multiple servers to be achieved. Since generation of reporting knowledge can be computationally expensive, the separation of the Process Servers from the Performance Data Warehouse also allows for reports to be generated without impacting the operation of running processes.

Component – Process Center Console
The Process Center Console provides a web based interface for managing the Process Center maintained projects. This capability is also available within the IBPM PD thick client tool.

Component – Process Portal
The IBPM Process Portal provides the primary end user interface for users to start process instances and see work tasks awaiting their attention.

Component – Process Admin Console
The Process Admin Console is a web based interface for system administrators. It provides a wealth of functions for system operations.

Reference: Kolban


Comments

Popular posts from this blog

Business Process Definition - BPDs : IBM BPM