SOA promises business agility, i.e. SOA is BAD: Business Agility through Decoupling. SOA promises business agility and enables us to expose business processes as services. You can have service as granular as sending an email to end customer and also as macro as Order Processing for an eCommerce application which is composed of smaller services such as user registration, order submission, reporting etc.
Decoupling helps for localizing the changes, thereby reducing the cost and effort to implement the change. It allows quicker time to market by:
Reuse instead of building from scratch, and
Better quality by reusing tried and tested services
In addition to cost benefits, another motivation behind moving to Service Oriented Architecture is to connect with other business units, partners and organizations which are using various web services as the only means to connect to the outer world. These are discussed in detail below:
Problems targeted by SOA
Agility: The Service Oriented Architecture provides agility to the business through shorter turnaround time for implementing a change or in coming up with a new set of functionalities. Companies which are in fast-changing markets, or in markets with fast-changing laws require frequent updates to their existing applications which may be tightly coupled with other services. Rather than implementing the change all over – in SOA, one can simply update the target service, and this will be reflected all the places where the service is used.
Reusability of existing components: Organizations can make use of existing services while composing new applications and services. Complex composite services can be structured using simpler, granular services thus making reusability as one of the important means to achieve agility. For example, consider user authentication as a service, this single service can be used while composing complex services such as providing user access to external media and user writing some post/comment on some media site.
Connect with customers: Let us take the example of an eCommerce organization, where customers usually get information on their orders by calling up customer support representatives. The same organization can enable tracking of the customer orders using service based solution where the same service can provide information to a customer representatives as well as end customers. This enables reduction of inward traffic to customer service centers and enables less number of customer representatives to service requests.
Though these are just some of the benefits of the SOA from a business perspective, the SOA architecture offers far more agility and flexibility for business to overcome many unique application design and implementation.
In my next post, we’ll see SOA from architecture perspective and the challenges working with SOA. Till then, stay tuned!