Difference between revisions of "BPM Integration"
m |
m |
||
Line 51: | Line 51: | ||
=== Opentaps 2.0 === | === Opentaps 2.0 === | ||
− | If we believe that SOA will dominate the Enterprise Software landscape then it makes sense to turn Opentaps | + | 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: | Benefits: | ||
− | * smaller independent applications with separate life cycles are easier to | + | * 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 | ||
+ | |||
+ | === 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 10:44, 6 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.
Contents
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)
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
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
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 ...