The buzz word in the IT industry is ‘Service Oriented Architecture (SOA)’. The Web, IT literature and other resources provide different definitions and interpretations on SOA. Some refer to it as a “Sophisticated Product”; some as an “Architectural Approach” while others treat it as a mere marketing gimmick. Of course, a deep understanding of SOA concepts would definitely help to clear the air but a more logical way would be to answer the question – When to use a Service Oriented Architectural approach?
In layman terms, Service Oriented Architecture provides a framework where different (Heterogeneous) platforms (Windows, Linux, and UNIX), technologies (.NET, Java) and applications (ERP, CRM, and SCM) operate in synchronization. More specifically, this is achieved through “Services” and “Web based Open Standards”.
Now the logical thought that follows is that SOA should be used in an IT Architecture that consists of heterogeneous platforms, technologies and applications. Such systems often have various complex issues ranging from inter-operability to flexibility and adaptability. The SOA approach does provide an effective solution for handling these issues.
Consider the scenario where Enterprise systems have different owners and multiple teams working on them. In order to improve visibility and accessibility, centralized control is required. The Service Oriented Approach is appropriate in such a scenario as it provides complete information about the system components through its Service Registry.
A Business Process Management solution which is blended with its SOA framework is most suitable for cross-functional process management in heterogeneous enterprise IT systems.
What if you have the Enterprise Information Architecture that is fairly homogeneous!!
In such a scenario, it is always advisable to thoroughly weigh the pros and cons of the SOA approach before coming to any conclusion. There may not be any direct perceivable advantages of SOA in such a case but the hidden benefits (such as scalability in case of future expansion) could always exist!
In conclusion, SOA implementation should be driven by business needs and requirements. The most appropriate case would be of heterogeneous systems operating in Enterprise IT framework.
Krawler is a one of the pioneers in implementing the SOA approach with its Enterprise 2.0 platform.