Nuwan, a first class graduate from IIT is a software engineer at WS02. His areas of specialisation include Java enterprise technologies, SOA implentation, Distributed computing. Web engineering with Java / PHP technologies and software design patterns. Nuwan is a movie buff and enjoys all night movie marathons. He is also a sports fan and enjoys swimming, table tennis and badminton.

Service Oriented Architecture (What ? Why ? And HOW ?)

11/29/2009 12:30 am By Nuwan Bandara | Articles: 6


Service Oriented Architecture (SOA) is one of the buzz words at recent times. Even very concept of service orientation is quite old, the application of SOA in to real world problems is still in progress. This is a start of a series of articles in the area of SOA, providing a basic to in-depth explanation to this architectural pattern. In todays article, lets discuss on what is SOA providing an introduction to the topic.


What is SOA

What is important to know is that SOA does not have a clear cut definition. In many places it is identified as an architectural style that modularize information systems in to services and in some places it is recognized as a architectural model that enhance efficiency, agility and productivity of an enterprise . One way or the other these definitions points out one meaning; SOA is a pattern that modularize or decompose information systems and provide greater transparency, extendability, productivity etc.

At this point you might be thinking “What is new ? OOP is the same” The big deference is the interoperability (among other factors). With the invention of XML and Web Services (WS), SOA is given a new meaning. It existed before in few blue chip companies in the forms of CORBA, DCOM etc, but that was expensive, hard to manage and had minimum extensibility. With SOA in the realization of Web Services / SOAP and WS-* standards (Will go deep in to these in coming articles), the benefits of real service orientation became a reality.

You might wonder why interoperability?, Good question ! For the enterprise world interoperability is almost everything. Regardless it is an IT company or other, they need there heterogeneous systems to communicate with each other with a minimum cost. SOA does the talking and Web Services takes care of the cost. As I've mentioned this is one of the many benefits. Another major fact is extensibility. Imagine some company has two systems today (lets call A and B) and tomorrow they have got another called C, with a proper SOA in place, connecting C to A and B would be quite simple, hence everything is exposed as services. Just like in Object Orientation in SOA the ability to reuse gains a great interest. In this case the smallest element is a service. Properly written service is considered an atomic element that can be reused numerous ways in a larger service oriented environment. One other important characteristic is the flexibility or agility, SOAs ability to change is considered quite hight compared to any other architecture. Simply the building blocks of a large enterprise SOA can be repaired, changed and removed with minimum or no effect to the larger system.

By now, even you do not understand the details of SOA, you should be feeling that there is some usability in this architectural pattern. Yes there are many use cases, and many valuable concepts associated with it. The norm is if the SOA is not planed well from its very first stage, the boasted advantages will just be dreams. Hence there are a lot of concepts and patters in how to realize a successful SOA. We will discuss these concepts in the coming articles with greater details.


No votes yet