The current economic conditions and rapid changes in business environment require businesses to adapt quickly while reducing costs in the longer term. From an IT perspective, the above requirements translate to increasing operational efficiency while simultaneously increasing agility and visibility. Increase in operational efficiency is being driven through further process automation and system consolidation. However, integrating multiple systems can lead to complex and brittle architectures that can be very expensive to change and maintain. Some of the key goals that IT organizations need to address in this context are:
- Reduce time to market for new functionality
- Reduce integration cost and complexity
- Manage business and technology change
- Streamline business process exception handling
- Provide end-to-end solution monitoring with root cause analysis
- Enable faster reaction to business events through increased visibility
- Ensure high availability and scalability of the digitalized platform
The intent of SOA is to provide common reusable Services that can be leveraged by a variety of consumers. These resuable services typically orginate from functionality and data that already exist within the enterprise; i.e. services created by service-enabling legacy assets. As new projects are implemented, standalone Services may also emerge as autonomous entities that do not have dependencies on legacy systems.
An architectural model for SOA can be divided into two high level categories:
- Business Service Layers
- SOA Infrastructure
This categorization provides a seperation of IT concerns and business logic concerns and that is critical to the success of a SOA implementation. Seperating concerns into these layers allows greater agility and flexibility in the architecture.