...
Overview
Built on top of the WSO2 Carbon Core like most WSO2 server products, WSO2 Business Process Server embeds Activiti BPMN runtime to support executing BPMN process models and the Apache ODE runtime for executing BPEL executionprocess models. BPS server also includes Human Tasks Engine which supports WS-Human Tasks specification 1.1. When BPEL processes or Human Tasks are deployed on Business Process Server, It will publish Soap Services to the external world. These These services are published though through the axis2 web services integration layer. . BPMN Process engine exposes a comprehensive REST API for process and task management.
Messaging Architecture
The following diagram illustrates the BPS architecture from a messaging perspective (the components of the pipes are not in a specific order).
...
This refers to an external application which sends a request to the Business Process Server. This request could be for a BPEL process published Axis2 service or Human Task published Axis2 Service. The request could also be for the BPMN REST API for retrieving BPMN process/instance/tasks data or for executing BPMN process model.
Transport
This block represents the transport layer available within the Business Process Server. This layer is from Axis2 Web service engine's supported transports for BPEL and Human Tasks exposed services. Hence you can invoke Web services using Axis2 supported transports such as HTTP, HTTPS, JMS, etc. For BPMN runtime, BPS provides a secured REST API built as a web application and deployed in embedded tomcat.
QoS
When a message is received through the transport layer of axis2, it goes through the axis2 engine. At this layer, various quality of service requirements such as WS-Addressing and WS-Security will be processed using Axis2 modules such as rampart and addressing. After processing the message for QoS, it will be forwarded to either the Human Task Engine or the BPEL Engine depending on the intended endpoint of the message.
...
BPEL UI is the UI layer of BPS for BPEL processes. It consist consists of Process View, Process Up loader, Process Instance view and Graphical process view.
Management API
Management API consist consists of set a set of secured Web services that can be used to manage deployed BPEL processes and instances. The main API's provided consist of ProcessManagementAPI and InstanceManagementAPI which are secured soap Web services.
...
Task management API provides secured soap Web services to manage tasks and task instances. The most important API provided is the Human Task Client API which is defined in the WS Human-Tasks specification. Human Task explorer UI is built on top of these the above-mentioned management API's.
Human Task Services
When a task package is deployed, Axis2 Web services are published according using the WSDLs included in the task package. Notifications can be created by invoking these services and instances of tasks.
...
DAO'S are Apache OpenJPA based persistence layer used to interact with the persistence dbthe persistence DB.
BPMN Components
BPMN UI
BPMN UI represents the UI layer of BPS for BPMN processes. It consists of Process View, Process Uploader, Process Instance List View and Process Instance view with Graphical Process Active State Diagram.
...
BPMN-explorer represents jaggery web application that provide provides the UI for BPMN-UserTasks
Management API
Management API consists of set a set of secured SOAP Web services that can be used to manage BPMN processes and instances.
...
BPMN Deployer
BPMN deployer is a file system-based bpmn BPMN process deployer. When a BPMN process package is saved to the "bpmn" directory in BPS, it will validate and deploy on the server.
...