Service Oriented Architecture (SOA) is a business and IT strategy that organizes the discrete functions contained in enterprise applications into interoperable, standards-based services to be combined and reused quickly, within and between enterprises to meet existing, new and changing business requirements.
SOA is an alternative approach designed to solve limitations of the Point-to-Point approach to integration. The main idea of the SOA approach is to prohibit direct communications between different services and instead tie all these services together through a centrally managed intermediary. This would reduce a number of dependencies between services from an unlimited and ever growing number to exactly one – the dependence between a service and an intermediary. Such a centralized intermediary can carry out additional functionalities managing service interactions, data transformations, business process management and enforcement of common business rules across the enterprise.
The reduction in the number of dependencies enables rapid application modifications and lower overall maintenance cost. It also enables centralized monitoring of business processes.
Oracle SOA Suite is a suite of products used to implement the SOA intermediary. The primary components of Oracle SOA Suite are: Oracle Service Bus, SOA-Infrastructure Application, Oracle Web Services manager, adapters and administration and monitoring products.
The term “Service Bus” is not just a name of a specific Oracle product, but also a general term describing service intermediaries. The is no definite standard that describes what a service bus actually is and different service bus provider implementations are not compatible. However, it is often considered that the service bus should perform functions such as protocol mediation, message brokering and monitoring. There could be significant functional overlap between different intermediary implementations.
Protocol mediation allows the SOA intermediary to interconnect services that are using different transport protocols.
Message Brokering allows the SOA intermediary to pass messages between services. Messages can be validated, enriched (extra information can be added), transformed to various formats and distributed to different services (an operate function).