This is my first blog post and I wanted to make this so simple and short. I'm still very new to the SOA (Service Oriented Architecture ) and web services and I thought of giving my idea as a fresher will benefit me to get the border picture of SOA. When I was reading some of the articles on very first days, I realized SOA as a very hard concept because,
- Some articles introduced SOA as a black box component architecture which hides the complexity when ever possible, which is absolutely correct but most haven't cover up the technology layer of SOA implementation but has only discribed business aspect of it.
- Some of the articles had the idea of dividing functions in to distinct services that can be combine and use the required applications. Which I had an impression of having more complexity on the interconnection. Because stick in to loosely coupling can be impossible or less practical in a legacy system.
But when it comes to implementation, actually when I consider the technology layer I realized that its other way round. SOA is a simple, flexible set of design principles but lot of effort need to spend implementation to have a well managed SOA environment. So just for the sake of using SOA is like developing a just a web application which is not multi modular distributed application using EJB, which is an over kill.
SOA is getting matured, but still doubt whether it's precision in the way that SOA used in most of applications. SOA requires loose coupling and its main intention is to abstract the system complexity and represent a simple interface, so that the external parties can access the system services without the knowledge of the service's platform implementation. However using SOA on correct business requirement is a step ahead on business perspective. Because SOA increases business flexibility, that helps the business profitability and performance which is actual end business objective.