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
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
BPM: Business Process Management
ESB: Enterprise Service Bus
SCA: Service Component Architecture
SCM: Supply Chain Management
PM: Project Management
HR: Human Resources
CRM: Customer Relationship Management
DW: Data Warehouse
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.
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.
- 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
- Object Management Group (OMG) SOA Layers Article (a local copy is here)
- INTRODUCING SCA
- Apache Tuscany SCA / ESB
- eclipse SOA Tools Platform Project
- Eclipse Swordfish SOA runtime mixes SCA, JBI and OSGi
- BPM - Getting Started
- jBPM - Opentaps 1.x Integration Prototype
- Magento 1.x - Opentaps 1.x Integration Prototype