Enabling application and data integration by exposing objects as services has been a long-term goal in the IT industry. Service oriented architecture (SOA) is the latest attempt but how does it differ from the object-oriented and component-based development paradigms that preceded it, and what is pushing today's business towards SOA?
The goal of SOA is to break transactions or business processes down into distinct services, which are able to operate independently of one another in a distributed architecture. Services may need to communicate with one another, and they may even need to communicate with other services beyond an enterprise's firewall.
This so-called 'loosely-coupled' architecture is said to have a series of advantages. 'Composite applications' can be put together more rapidly because they are an amalgam of existing web services, and with the emergence of the latest in web services standards and specifications, they might also avoid vendor lock-in. Ultimately, faster time to market means faster time to benefit.