Difference between revisions of "BPM Integration"

From Opentaps Wiki
Jump to navigationJump to search
m
(BPM & SOA Resources)
 
(5 intermediate revisions by the same user not shown)
Line 16: Line 16:
  
 
'''Legend:'''
 
'''Legend:'''
;BPM: Business Process Management
+
 
;ESB: Enterprise Service Bus
+
'''BPM''': Business Process Management<br>
;SCA: Service Component Architecture
+
'''ESB''': Enterprise Service Bus<br>
;MF: Manufacturing
+
'''SCA''': Service Component Architecture<br>
;SCM: Supply Chain Management
+
'''MF''': Manufacturing<br>
;PM: Project Management
+
'''SCM''': Supply Chain Management<br>
;HR: Human Resources
+
'''PM''': Project Management<br>
;CRM: Customer Relationship Management
+
'''HR''': Human Resources<br>
;DW: Data Warehouse
+
'''CRM''': Customer Relationship Management<br>
 +
'''DW''': Data Warehouse
  
 
=== Business Process ===
 
=== Business Process ===
Line 61: Line 62:
 
* 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 ===
+
== BPM & SOA Resources ==
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.
+
* Object Management Group ([http://www.omg.org OMG]) [http://www.omg.org/attachments/pdf/OMG-and-the-SOA.pdf SOA Layers Article] (a local copy is [[Media:OMG-and-the-SOA.pdf|here]])
 
+
* [http://www.davidchappell.com/articles/Introducing_SCA.pdf INTRODUCING SCA]
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.
+
* [http://tuscany.apache.org/ Apache Tuscany SCA / ESB]
 
+
* [http://www.eclipse.org/stp/ eclipse SOA Tools Platform Project]
main scenario looks like this:
+
* [http://searchsoa.techtarget.com/news/article/0,289142,sid26_gci1294154,00.html Eclipse Swordfish SOA runtime mixes SCA, JBI and OSGi]
* sales person: creates quote
+
* [[BPM - Getting Started]]
* if QP > 95% QRRP
+
* [[jBPM - Opentaps 1.x Integration Prototype]]
** BPM: approves quote automatically
+
* [[Magento 1.x - Opentaps 1.x Integration Prototype]]
* 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 ...
 

Latest revision as of 07:31, 4 June 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

BPM & SOA Resources