Saturday, January 29, 2011
Create Business Processes, Human Tasks, with many other features
Suppose you need to write a business process/human task with some quality of service features like security, throttling caching etc. Or suppose you need inject ESB characteristics like service mediation, routing, load balancing, message enrichment etc. to incoming and outgoing message sequences.
Now what if you can do all these stuff with one server instance without using different products for different requirements, isn't it great?
WSO2 Carbon is capable on this due to its component architecture. Not only that you can do these stuff using Carbon UI very easily.
Due to WSO2 Carbon's OSGi based component architecture, you can customize WSO2 products based on your requirements.
Here I'm writing about how those stuff can be done in a very high level.
1. Security, Caching, Throttling to Business processes/Human tasks.
WSO2 BPS is inherently support this, and you can use the BPS Web UI to configure, monitor and maintain business processes with these features. The more interesting thing is; the whole set of WSO2 carbon products, have this unique interface. So once you get familiar with one product, you can use other products very easily. As an example, to enable throttling to service mashup, data service or SOAP service etc, user sees an unique interface.
Here are some screen-shots of the service dashboard.
Main service dashboard
2. How to embed ESB like features
How to install ESB features - To use WSO2 ESB features what you need to do is install ESB related features to BPS. But I would prefer install BPS features into ESB as the number of BPS features are less than ESB features. As any WSO2 product is a set of OSGi components; there is no any difference in installing BPS features to ESB product and installing ESB features to BPS product.
Here is a screen-shot of feature management page
Now if you are already familiar with WSO2 ESB; using ESB features on business processes/ human tasks is no different from using ESB features on any other service.
eg - writing a proxy service for a business process and use message mediation in in-sequence and out-sequence. etc