Substituting One Service Provider for Another
3-6 Concepts and Technologies Guide for Oracle Application Integration Architecture
with any other web service, an EBS can be implemented using any language. The implementation takes an EBM as input and provides another EBM as output. Oracle
AIA uses the Oracle SOA Suite Mediator to implement an EBS.
Even though an EBS activity such as Create or Update can be built from the ground up using web services technology, AIA takes advantage of the existing functionality in
the applications. The EBS acts as a virtual service to expose the actual implementation provided by the participating application in a format that is amenable to the EBS. The
intermediary services provided by the participating applications in a format amenable to the EBS are called ABCSs. The ABCS acts as the glue connecting the EBS and the
participating application that is exposing the business capability. The ABCS is responsible for exposing the data access, as well as the transaction-related business
functions that are available in applications as services that an EBS can invoke.
The ABCS approach does not preclude you from creating entirely new services for implementing the EBS.
The virtualization layer enables the following aspects of Oracle AIA:
■
The physical implementation of the target service must be abstracted and its location must be hidden so that the target service Service Provider can
eventually be replaced by some other service endpoint virtualization.
■
If the shapes of data and operations are different, data transformations and operation-to-operation mappings are needed. This is common when old systems
in existing infrastructures need to be replaced with no interruption or change to the consumers.
■
The virtual service may be composed of more than one physical service, as in aggregation of services or rule-based routing. For example, a request from CA
goes to the CA-Warehouse.
■
You may not want to expose all operations of the actual service to the external world partial service.
■
Target service might be supporting a different transport protocol than supported by the service consumer. For example, a header transformation must happen from
JMS to SOAP.
■
If complex, content-based validations against XML are required, then Schematron should be used inside the mediator. For example, the order price must reflect the
sum of prices of each order line.
■
If the service consumer expects an asynchronous message exchange pattern and the service provider allows only synchronous calls, the client application invokes a
virtual or proxy service in AIA, it is an EBS representing the target services.
For more information, see Section 1.8.4, What is an Application Business Connector
Service? .