A new tech term has started popping up in all of the standard industry rags – SOA, or _Service-Oriented Architecture_. The problem is that for some reason the rag writers never seem to want to define what SOA means (I hate when they do that). I finally find a good intro article on SOA on the JavaWorld web site. Lo and behold – SOA is simply the combination of the venerable message-bus architecture with the newer XML-based web services (SOAP, WSDL, UDDI).
Welcome back to the 1980s. 🙂
bq.. Service-oriented architecture (SOA) is an evolution of distributed computing based on the request/reply design paradigm for synchronous and asynchronous applications. An application’s business logic or individual functions are modularized and presented as services for consumer/client applications. What’s key to these services is their loosely coupled nature; i.e., the service interface is independent of the implementation. Application developers or system integrators can build applications by composing one or more services without knowing the services’ underlying implementations. For example, a service can be implemented either in .Net or J2EE, and the application consuming the service can be on a different platform or language.