In this episode of our WSO2 tutorial: One of the best ways to get acquainted with WSO2 Enterprise Service Bus (ESB) is to download the product and play around a bit with it. One of the easiest ways is to also download the WSO2 Developer Studio from WSO2 that offers a graphical development environment to create proxies and other ESB services. The alternative is of course to take a WSO2 training. WSO2 Developer Studio has moved in to a kernel-based model with its new architecture revamp from version 4.0.0. WSO2 Developer Studio Kernel provides a set of common plugins, which can be used to develop Eclipse plugins for WSO2 products that are based on WSO2 Carbon platform.
Business process administration (BPM) is a precise methodology to making an association’s work process more viable, more effective and more equipped for adjusting to a constantly evolving environment. A business process is an action or a set of activities that will achieve a particular hierarchical objective.
The WSO2 Business Process Server enables developers to easily deploy business processes written using the WS-BPEL standard, and also serves as the business process management and hosting environment for your SOA.
Powered by the Apache Orchestration Director Engine (ODE) BPEL engine, the WSO2 Business Process Server provides a complete web-based graphical console to deploy, manage and view processes.
Dec 19, 2015 Welcome to the WSO2 Developer Studio Kernel documentation! Developer Studio Kernel provides a complete Eclipse-based SOA development environment along with a set of common plug-ins, which can be used to develop Eclipse plug-ins for WSO2 products based on the award-winning WSO2 Carbon platform. Dec 21, 2014 Developer Studio is a one-stop solution for almost all the development tools you will ever need for creating middleware applications based on the award-winning WSO2 Carbon platform. It provides a complete Eclipse-based SOA development environment and immensely simplifies creation of artifacts with graphical editors and management of the links.
Few of the notable features provided by WSO2 BPS are
Powerful graphical editor via WSO2 Developer Studio
Drag-n-drop visual editor for any WS-BPEL process model including XPath assistant
Process Management via Graphical Administration Console
Integrates to Existing Environment
Pluggable storage choices including MySQL, Oracle, MSSQL and DB2
Use any existing enterprise identity system including LDAP, Microsoft Active Directory or any JDBC database
Task manager API for integrating human tasks to any enterprise infrastructure including portals and e-mail clients
High Availability, Scalability and Stability
Lightweight, Developer Friendly and Easy to Deploy
Easy to debug processes with tools for message tracing and interactive testing with TryIt capabilities
Manage & Monitor
The product provides various support under the above mentioned features, click here to read more on them.
What is BPEL?
BPEL (Business Process Execution Language) is an XML-based language that allows Web services in a service-oriented architecture (SOA) to interconnect and share data.
Wso2 Developer Studio Add Connector
Programmers use BPEL to define how a business process that involves web services will be executed. BPEL messages are typically used to invoke remote services, orchestrate process execution and manage events and exceptions.
BPEL is often associated with Business Process Management Notation (BPMN), a standard for representing business processes graphically. In many organizations, analysts use BPMN to visualize business processes and developers transform the visualizations to BPEL for execution.
BPEL was standardized by OASIS in 2004 after collaborative efforts to create the language by Microsoft, IBM and other companies.
Wso2 Developer Studio
Architecture of WSO2 BPS
This the architecture of WSO2 BPS 3.2.0. Degrees pro weather 4 2 1. A new revamped version with BPMN support is soon to be released but the release date is yet to be confirmed.
As we can see from the image above the architecture BPS compromises of two main modules BPEL and Human Task. Both these modules are mounted on top of WSO2’s own core, Carbon, more information on the WSO2 Carbon can be found here.
Both the modules have a simple and common top layers comprising of their repective UI’s, API’s and Services which can be used to communicate with the back-end of the server. I believe elaboration on the the top layer is pretty unnecessary and simple.
Wso2 Developer Studio
Looking into the BPEL Architecture the main component in my perspective is the ODE Runtime, as the name it self is self explanatory, it is where the BPEL process are executed. If you are worrying who is to compile the BPEL process before it is executed, the block located on the left of the ODE runtime does this, The BPEL Compiler shown is part of Apache ODE. It validates and complies BPEL process definition into a complied bpel process.(.cbp file ). The Integration layer is present to combines Axis2 web services engine and ode run-time to provide, expose and invoke web services. The DAOs are data access objects implemented using Apache OpenJPA and Hibernate. WSO2 BPS uses the OpenJPA based persistence layer. Jacobs are also part of Apache ODE which provides concurrency and persistence facilities to implement BPEL constructs.
Yes, I kept BPEL deployer for the last, it is a file system based process deployer. When a BPEL process package is saved to “bpel” directory in BPS , it will be validated and deployed on the server.
Now digging into the core of the Human Task Module. The main component here would be the Human Task Engine. The Task engine does the processing of human task run-time definition against the incoming messages to create task/notification instances. It does validations against the user store for permissions. Also performs the task client API actions against the task/notification instances. Additionally, it has scheduling capability to handle escalations and task cleanups. The Human Task Deployer similar to the BPEL Deployer, it is a file system based deployer which deploy, un-deploy task packages when added to or removed from the designated “humantasks” directory.
The DAOs are Apache OpenJPA based persistence layer used to interact with the persistence db.
Wso2 Developer Studio Dashboard
Simple Overview of Modules in Action
We can see BPS in action in the below image. We can see how various WSO2 products are combined to provided a fully fledged platform for you business. Each product combined with the BPS below serves a unique purpos, to elaborate we can use WSO2 BAM to monitor the activity and trace the message flow and Identitity server to provide security, each product provides a added feature to BPS.
The following image shows the Human task module in action. The main activities that can be performed are shown in the core of the modules. Task services coordinate between Human Task Engine and BPEL / Other Systems. The HT Client API is used to communicate with the fronting.
Here is an sample of a BPEL model, modeled using the WSO2 Developer Studio. The Developer studio can be used to model your own BPEL process. The sample provided above is self explanatory, therefore i will not explain further on the sample.
Wso2 Developer Studio Download
I hope now you have a clear picture on what the WSO2 BPS Server provides, the architecture and the flexibility of the product.