What is Different about SOA than previous approaches
KerrieH 110000JQ5R Comments (3) Visits (5798)
Just recently in some meeting with clients in Budapest several questions were raised about what is truly different about SOA than previous approaches to improve IT agility? The history of COBOL (Common Business Oriented Language) being touted as a means to improve business and IT linkage was raised along with innovations in object-oriented development and component based development.
Rather than discuss the merits or pros and cons of each of these technology innovations I chose instead to focus on what is actually different with SOA. I described five differences:
(1) The ubiquitous presence of standards is actually different. The use of XML and WSDL or derivatives is a major difference. In addition, the way in which vendors author standards has also improved.
(2) A focus on interoperability versus integration is a key difference between SOA and prior approaches. Using the metaphor of applications as islands, integration is about creating bridges between these lands masses; interoperability is more like being teleported as in Second Life.
(3) The linkage between business and IT is different in that SOA makes the assertion that all businesses have a business design which describes how the business operates such as its business processes, the services rendered and consumed, business goals and objectives, business rules and policies. The business design ought to be a tool to communicate requirements between business and IT. Hence the use of business process models and BPM, where both process models and services have a distinct and clear relationship is different than previous approaches. Promoting the best practice of documenting as much as possible of the business design with tooling rather than the more common approach of using word processing or drawing tools is also different.
(4) The focus on reuse is also different in that with SOA we are focused on improving the organizational productivity versus a focus on developers and programmer productivity.
(5) Software design is also different. See Don Ferguson's blog (htt
So when you add these all five things together you see there is something different. This is not a case of a shell game. In fact the only thing that is the same is the use of SOA as an architectural style, where we have the notions of consumer, provider, service description, broker, and a registry are similar to previous approaches. Of course many technical people see SOA as solely an architectural style and this misses the point entirely of service orientation.