Saturday, March 5, 2011

Use WSO2 Carbon Studio to wire your business to SOA

SOA,Web Services, Cloud etc. etc.
All being heard around for some time. Each and every jargon above holds an enormous weight in current enterprise paradigm.
In an era that every enterprise get involved with Web Services, every business adopts its items to SOA, most enterprise services attempt to explore the cloud integration, I am pretty sure that you also do not want to be left out.
Still it is not too late for you to step in to the world of SOA. You too may be wondering how you can put these cool ideas into practice in your business or in your other working scenarios.

So since you have some up and running business logic with you, it is just a matter of wiring them properly from the middle-ware layers to adopt your firm biz-logic connect to SOA environment. It is more or less like plug and play scenario. So you see, it is pretty easy and straight forward.

But... how can you execute this? How do you solder your biz-logic into the circuit of SOA?
Don't worry. The soldering iron comes into your rescue. "WSO2 Carbon Studio".

It is a one stop solution that provides you with tools that can adopt your legacy logics, software applications etc to meeting needs of SOA. Carbon Studio is a simple Eclipse-based web development tool. And also these tools are extended to deploy your newly built or modified services in WSO2 Carbon Products. (such as Data Service Server, Enterprise Service Bus, Business Process Server etc.)
The best part is that Carbon Studio not only assists you in developing your applications, it allows you to test your written stuff, deploy them in various servers mentioned above and even monitor them.

So you see, within a couple of minutes, your legacy application has become a fully qualified service that would compete with and cater for other businesses in a SOA manner.

Want to test this cool product on your own?
Let's demonstrate it with a simple end to end application then.
Imagine you own a shop. A shop that sells cameras lets say. Cool...
Acme Shop which sells cameras :)

Let's look at some business perspectives...
1). You should have a stock of cameras, a set of customers, a group of vendors etc.
You need to maintain all these records in a database as you do in normal practice.

2). Then there should be some easy way of monitoring these stocks. You should see what cameras are finished, what cameras have abondened stocks etc. For that an easy way of viewing all those details would be ideal.

3). Define distinct operations related to business (like admin related operations, purchasing operations, product related operations). These should have clear separations and for each of these there should be a certain 'end point'. (Eg: an end point for a purchasing operation can be either a payment gateway like VISA card or a normal customer)

4). You should easily get a notification if any product is reaching the reorder value. That is if some camera has only 5 items left in stock, a new order for that type should be placed at a vendor. For that to be done, a reorder alert should be obtained.

5). User counter where users can buy any camera item that are to be sold.

6). Administrator monitoring capabilities to monitor the whole business

Relate this to SOA. Now this becomes Acme Online Shopping Cart.
Let's look at each point in SOA perspective.
1). A data service is required to hold all database records and a data service server (WSO2 DSS)
2). A gadget that show up the current stock status which is hosted in a gadget server (WSO2 GS)
3). Services (or proxy services) like AdminService, PurchasingService etc. and respective endpoints for each service (AdminServiceEP, PurchasingServiceEP). All these services and EPs are recommended to host in a message mediation environment like an enterprise service bus (WSO2 ESB)
4). A business process that triggers a notification ones items get into a predefined reorder level can be hosted in a business process server (WSO2 BPS)
5) & 6). User and Admin can be given shopping facilities and monitoring facilities via a portal which can be hosted in an application server (WSO2 AS)

Read the next post on how to simulate each and every one of this in Carbon Studio.

No comments:

Post a Comment