Here is what I think: The whole SOA hype is a pure marketing-excersise. Every developer knows that if you have several different elements in your application (UI, business logic, Data layer, security, hardware interface), all provide services to each other. Did MVC not pave the way? Offering a ‘service’ as a whole in a library or as a hosted service in the form of web services is one and the same, only the media changes.
Just because you are using messaging bus or a web service does not mean the other person who is using an API to do the same is not providing services. Right?
I would rather say SCA (Service component architecture) makes more sense. First of all it describes exactly, what it is doing “service”, what it is “component”. Now you write your components as a library and expose it as you want through an API or as a web service. Is it not doing the same thing as the SOA components?
Yes but what SCA approach typically does is to decouple the application business logic from the details of its invoked service calls.
Wikipedia: “Gartner Group has published a short brief that concluded that the SCA included technology of Service Data Objects (SDO) will enjoy more rapid adoption due to its maturity.
- caters for all existing Java platform technologies and C++
- less technology dependence – does not have to rely on the Java programming language, nor XML
- SDO, which is a technology specification for data access
- lack of support by Microsoft (how typical monopolistic) reduces the relevancy of SCA for a large number of potential users.
- Specification does not address performance of SOA applications, which continues to be a detractor of adoption.
- Focusing on portability (instead of interoperability), making it vulnerable to repeat CORBA’s mistakes .
SCA is said to provide interoperability through an approach called “Activation”. It is the method that provides the highest degree of component autonomy, compared to older “mediation” (e.g. JBI) or “Invocation” method used in JCA, as explained by an architect at SAP. “
Now it is again up to the marketing people to decide which one is to be hailed as the “In” technology or buzz word.