Difference between revisions of "BPM Integration"

From Opentaps Wiki
Jump to navigationJump to search
m
(Getting Started with jBPM)
Line 60: Line 60:
 
* smaller independent applications with separate life cycles are easier to develop and maintain
 
* smaller independent applications with separate life cycles are easier to develop and maintain
 
* technology changes can be introduced gradually one application at a time
 
* technology changes can be introduced gradually one application at a time
 
=== Getting Started with jBPM ===
 
The application most visible to business users is BPM as they use it directly. To get started with BPM we decided to investigate how to integrate an existing BPM implementation, jBPM, with opentaps 1.04. In this first attempt the Services and Integration Layer is empty, jBPM calling directly opentaps services.
 
 
We will implement the following business process: The sales person creates a quote. if the quote price (QP) is up to 5% below recommended retail price (QRRP) then she can submit the quote to customer otherwise she needs manager approval. The quote is converted to order and send to manufacturing after the customer deposited 50% of quoted price.
 
 
main scenario looks like this:
 
* sales person: creates quote
 
* if QP > 95% QRRP
 
** BPM: approves quote automatically
 
* else
 
** manager: approves quote
 
* accounts receivable: receives 50% QP deposit
 
* accounts receivable: convert quote to order
 
 
jBPM calls opentaps business services to perform the following operations:
 
* create quote (including retrieving stock items to populate the quote line items)
 
* get QRRP (to compare with QP)
 
* convert quote to order
 
 
Details about my investigations are coming soon ...
 

Revision as of 01:47, 7 May 2009

Business Process Management (BPM) is probably the killer Enterprise Application as email was the killer Internet Application. Every business small or large has a business process however in most cases it is informal and business process automation is fragmented across many Enterprise Applications. As email revolutionised the way we communicate toady I expect BPM to revolutionise the way workers, managers and partners cooperate in the Enterprise.

BPM and SOA

A good explanation of Service Oriented Layered Architecture (SOA) is provided by Object Management Group (OMG) here (a local copy is here)

OMG-SOA.png

In a nutshell:

  • Business Process Layer exposes IT systems functionality to business users and business process designers
  • Business Services is the Enterprise Integration (EI) Layer for Enterprise Applications (Components)
  • Components Layer is the Enterprise Applications Suite
  • Operational Resources Layer are the Databases and Legacy Enterprise Systems

SOA Enterprise Implementation

Soa enterprise suite.png

Legend:

BPM
Business Process Management
ESB
Enterprise Service Bus
SCA
Service Component Architecture
MF
Manufacturing
SCM
Supply Chain Management
PM
Project Management
HR
Human Resources
CRM
Customer Relationship Management
DW
Data Warehouse

Business Process

Workers and Managers use the BPM application to execute the business processes. BPM includes:

  • manual steps - the business user interacts with the system
  • automated steps - Enterprise Applications colaborate to execute the particular function

The Business Process Designers use a BPM Graphic Design tool to describe the process. The process is described in BPM Graphic Notation (BPMN).

Business Services and Integration

This is the integration layer that performs the following functions:

  • services aggregation and presentation
  • data transformation
  • protocol mediation
  • implements non-functional requirements such as security, quality of service monitoring ...

This layer functionality is mostly provided by off-the-shelf products with small amounts of Java code.

SOA Enterprise Applications Suite

All SOA compliant business applications are included in this layer. These applications are orchestrated by BPM to deliver functionally for end-to-end processes.

Databases and Legacy Applications

Databases and SOA non compliant business applications belong to this layer. Special adaptors could be implemented in Integration Layer to facilitate communication with Legacy Applications.

Opentaps 2.0

If we believe that SOA will dominate the Enterprise Software landscape then it makes sense to turn Opentaps into a Suite of SOA Enterprise Applications.

Benefits:

  • ride the SOA / BPM wave and benefit from momentum
  • use the best technology to achieve results with least effort in shortest timeframe
  • use off-the-shelf runtime environments and development tools: BPM, ESB, SCA, Portal, eclipse plugins ...
  • create custom enterprise solutions assembling together SOA business applications (ours and third party)
  • smaller independent applications with separate life cycles are easier to develop and maintain
  • technology changes can be introduced gradually one application at a time