Seasoned technology professional with strong experience in developing desktop applications, web applications, mobile web applications, web services platform based on multi-tiered distributed architecture, legacy modernization, and SOA. Senthamizh Chelvi has posted 8 posts at DZone. You can read more from them at their website. View Full User Profile

Understanding Business Process using BPM and BPEL

11.26.2012
| 2492 views |
  • submit to reddit

What is BPM?

Business process management is a natural and holistic management approach for operating business that produces highly efficient, agile, innovative and adoptive organization that far exceeds that achievable through traditional management approaches.

Business Process Management include

  • Business Process Modelling
  • Study of “As Is” and “To Be” business processes using Simulation techniques and optimizing the process
  • Define key performance indicators to track process performance
  • Automating the process using BPM tools
  • Business Activity Monitoring to collect metrics on real time process performance
  • Continuous improvement of the process based on the business metrics collected

Thus Business process management is not a mere technology solution. It is more towards a Methodology to optimize the business processes enabled by right set of tools. BPM brings in a lot of synergy between business and IT, thus helps produce highly agile systems. The basis of business process management is the explicit representation of business processes with their activities and the execution constraints between them. 

Process modelling terms

Being algorithmic, a process can potentially be run by some sort of process engine. As long as the process can be expressed in a form that is syntactically and semantically unambiguous—that is, in a programming language or other interpretable form—the engine can accept it as input, set it in motion, and drive its flow of control. To be precise, the engine creates and runs instances of a given process definition. The steps of the process are called activities or tasks.

The following list summarizes the most important process modelling terms and their relationships to each other:

  • Process definition - The basic algorithm or behavior of the process.
  • Process instance - An occurrence of a process for specific input. Each instance of the travel reservation process, for example, is tied to a specific customer's itinerary.
  • Activity or task - A step in a process, such as sending a flight request to the airline.
  • Automated activity or automated task - A step in a process that is performed directly by the execution engine.
  • Manual activity or manual task - A step in a process that is meant to be performed by a human process participant.

BPM Acid Test

BPM is suited only for applications with an essential sense of state or process—that is, applications that are process-oriented. An application passes the BPM acid test if it is legitimately process-oriented. The resource management application, for example, passes the test because it is best understood in terms of the state of the resource request and is defined at all times by how far the resource request has gotten. Other typical characteristics of a process-oriented application include the following:

  • Long-running: From start to finish, the process spans hours, days, weeks, months, or more.
  • Persisted state:  Because the process is long-lived, its state is persisted to a database so that it outlasts the server hosting it.
  • Triggered by events: The process spends most of its time asleep, waiting for the next triggering event to occur, at which point it wakes up and performs a flurry of activities.
  • Orchestration of system or human communications: The process is responsible for managing and coordinating the communications of various system or human actors.

Some process-oriented applications have only a subset of these characteristics.

Standards

Some of the most important of BPM standards include the OASIS group's BPEL standard , BPMI's BPML and BPMN standards, etc.  BPEL is the BPM specification with the strongest backing (IBM, Microsoft, Oracle, BEA) and the greatest chance to win the standards war

BPEL in a Nutshell

  • A BPEL process is a web service with an associated process definition defined in an XML-based language.
  • The behavior of a BPEL process is to act on, and be acted on by, other processes; put differently, a BPEL process can invoke another web service or be invoked as a web service.
  • BPEL descends from two very different process languages: Microsoft's XLANG and IBM's Web Services Flow Language (WSFL).
  • The essential BPEL language constructs designers will need to understand to create a BPEL process: the basic process structure, variables and assignments, exception handling and compensation, split and join, loops, participant exchange, transactions, and extensions.
  • The flow of a BPEL process includes service touch points (receive, invoke, reply) and control flow elements (wait, while, switch, flow, sequence, scope).

Business Process Lifecycle

A business process lifecycle covers the following phases:

  • Process discovery
  • Process design
  • Process Implementation
  • Process execution & monitoring
  • Process simulation
  • Process optimization

RMS (Resource Management System)

RMS is a solution powered by BPM. This section the value proposition and functional overview of RMS business process.

Value Proposition

RMS uses BPM tool to add value to resource request handling process as listed below:

  • Facilitates modelling of an existing resource request handling process workflow
  • Allows identification of the pain areas in the work flow and their resolution before process implementation in production (using the simulation features of BPM tools)
  • Ensures close alignment of business and IT by virtue of the business model driving the IT development downstream
  • Allows definition and change of business rules with the help of rule component, increasing business agility in response to market changes.
  • Reduces time and cost
  • Provides 24X7 availability using ubiquitous standard interfaces

Functional Overview

RMS captures resource request handling process end to end.

RMS is a web based system used by managers in the IT services company to capture resource request required in a project assignment of his organization. Once the Manager (Consumer) of a business unit captures/creates the resource request details, the resource request handling process is initiated.  Then the resource request is verified and processed by Resource Managers (Dispatcher) of the company.

Resource Request Process

 

 

Steps involved in Resource Request Handling Process:-

  • Consumer creates a resource request for an opportunity and submits the request to Dispatcher.
  • Dispatcher searches matching employee profiles and analyzes matching for suitability and availability.
  • If there are matching profiles then Dispatcher allocates the matching profiles to resource request and sends them to Consumer for acceptance.
  • If there are no matching profiles then Dispatcher sends the resource request back to Consumer for clarification.
  • Consumer validates all the employee profiles allocated for the resource request by the Dispatcher and confirms acceptance if the employee profiles match the requirement.  Otherwise the Consumer declines the profiles.
  • If the employee profiles are accepted then the Dispatcher approves the allocation of the identified employee profiles for the resource request and the request is marked as allocated.

References

- Essential Business Process Modelling By Michael Havey

 

Published at DZone with permission of its author, Senthamizh Chelvi Kaliyaperumal.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)