Enterprise Services
 
  - BPM/BPI
 
 
 
 
 
  Engineering Services
 
 
 
 
  White Papers
   
 
   
   
   
   
   
 
 
BPM/BPI

Business Process Management
BPM and SOA are really two sides of the same coin and they derive many benefits when brought together. SOA is the engine room for BPM; it provides a flexible IT architecture that is easily and quickly adapted to changing business requirements and allows a company to fully leverage IT investments through reusable components. BPM is the ‘gearbox’ for SOA; it provides business direction on how the IT assets are to be brought together to support and execute business functions.

BPM is about value chain analysis and finding where you can derive value in your core business processes. So where is value derived in BPM itself? Through the following actions:

Understanding – By documenting and analyzing your current processes you can find which processes contain value, which ones are pure ‘utility,’ which ones are redundant, and which ones are unnecessary. You can derive immediate value just from knowing where to start and what to leave alone.

Collaboration – Using your business process documentation as a common base of communication, begin a dialog between business and IT owners to work together to improve the business process design and align the IT resources to your business strategy. Time and time again we hear from clients that they have communication problems between business and IT. Business requirements are misunderstood, IT’s value is unclear. BPM provides value in bridging that gap between the business and IT.

Automation – Use technology to your advantage to automate processes, manage workflow, and provide structure around how your business operates. This will help you drive increased revenue, lower operational costs, and lower error rates due to human mistakes.

Optimization – By monitoring how your process performs over time, you can harvest data that can be used to drive the continuous improvements cycle and optimize your process performance. Each iteration of process improvement will drive increased value to the business. Additionally, using monitoring as a way to alert you to small problems before they become big ones.

BPM relates to the identification, extraction and management of business processes or functions, which combine to solve an operational business need. Of course, we create most software systems to solve a business need! So what is so special here? The intention is that BPM, as realised today, goes further than this in that it also facilities the ability to quickly and easily change the execution, business flow or processes used.
This differs from pre-SOA-based Business Process Re-engineering. Business Process Re-engineering (or BPR) focussed on the manual re-engineering of processes (as a typically one-time event). These processes were then implemented, typically, via an ERP system. An ERP (Enterprise Resource Planning) system aims to integrate the data and processes of an organization into a single unified system. Within this single unified system, the business and process logic is hard-coded. However, the hard coding of the business logic resulted in a loss of flexibility and reduced competitiveness.

This of course is a key difference between an ERP based system and a BPM system based on SOA. In the BPM-SOA model, a set of disparate, loosely coupled, but integrated systems communicate to provide the business solution. The coordination or “orchestration” of the Services is handled by the BPM system.
Within BPM, a business process is a set of actions or operations performed by one or more actors (such as applications, people or organizations) to achieve a business purpose or objective. BPM is the management of these business processes; this includes the execution, monitoring, management and error handling associated with the overall business function
In the BPM-SOA world, BPEL is emerging as a standard way of defining business processes.
BPEL language supports:

  • Facilities to send and receive messages.
  • A property-based message correlation mechanism.
  • XML and WSDL typed variables.
  • Flow of control constructs including if-then-else-if-else, while, sequence (to enable executing commands in order) and flow (to enable executing commands in parallel).
  • Variable initialisation.
  • XPath access to variable data (XPath variable syntax $variable[.part]/location).
  • BPEL supports both synchronous and asynchronous service invocation.

Note, however, that BPEL is defined in terms of XML (an approach to producing a programming language that I am not 100% behind). As such, it has all the basic components of a programming language such as Logic, Data Types and I/O facilities. However, being based on XML this means that the components are provided in the following way:

  • Programming logic defined in terms of XML elements.
  • Data types defined using XML Schema Definitions.
  • Input/Output (I/O) between SOA services defined via WSDL (Web Services Description Language).
 
 
 
                                                Copyright © 2008.Cnetric Enterprise Solutions