Why SOA?


In my last blog, I explained about SOA. Now, I am going to explain why we need SOA in addition to all existing technologies. Why is business embracing this technology?
Our IT industry is around 40 years old. When IT industry had started, most of the applications were running on Mainframe. Most of the applications were available through centralized server (Mainframe server). Now IT industry is maturing and it is growing from a centralized infrastructure to a distributed infrastructure. Organizations are transitioning from bus computing to cloud computing. There are many software applications, software platforms and operating systems in there market. Business models are also changing very fast. IT industry is also changing along with business models. IT industry has to support both legacy systems and new systems.
 
SOA is a good solution to make a code work with new system and the legacy system at same time. I am summarizing some of the points, why I feel that an organization should implement SOA.

  1. Modular and loosely coupled  — SOA cuts big monolithic systems and services into small modular services. SOA not only disengages the process from system but it also makes loose couple among systems. If, for instance, a SOA implemented organization wants to implement a new service (Internal service, External service or Cloud based services), it can just plug that service or remove that service from the organization system without touching any existing system.
  2. Business Driven  — Now a days, business changes very fast. Mergers and Acquisitions are very common phenomena. Business needs are also changes frequently. There are different permutations and combination coming in market. IT also has to synchronize with all these business permutations and combination. SOA gives flexibility to work with all these changes with minimal effort. SOA is very close to business as well as the business people. One can define or change business process to address business needs in very small time with minimal effort. In short, organization business can change quickly along with the fast changing market.
  3. Platform IndependentSOA is completely platform independent. SOA service client or consumer can use SOA service without knowing SOA service provider platform, language or operating system. So, one can write SOA service without worrying about who is going to consume the service.
  4. Easy Service enablement  — There was big challenge for any organization to make any change in existing legacy system. SOA provides an easy tool to enable existing monolithic application or legacy mainframe system into a SOA service without knowing anything about those systems. Through SOA tool, one can expose interface(s) from existing system as service and use this service in other applications without touching any existing functionality. 
  5. Low Cost development and maintenanceAs I stated earlier, SOA is modular and loosely coupled. So one can implement new service or modify existing service(s) without touching any other service or application. As a result, it takes very small effort and time to make any change in application that uses SOA. SOA also provides the flexibility, such that service can be reused in any other application. For example, if an organization is using third party service (SAAS) for an application, it can reuse this service in other applications without investing on license, server space or maintenance. In other words, if organization builds a service for one application, it can reuse this service in multiple applications.
  6. Easy learning curveSOA is modular and loosely coupled, as such, it has a very easy learning curve. One can start to work on any service without knowing the whole application. SOA technology is completely based on XML and it is one of the easiest technologies and it is accepted by all applications and software.
  7. Increased operational efficiencyTo reuse existing SOA service, one can create new service by using current system or service. In summary, SOA helps us in creating and delivering a new product quickly.