
Frequently, business processes run distributed across multiple participants, applications, and systems. Applications need to be built in a way that they can flexibly integrate into changing business processes. The ABAP Web Services infrastructure provides a programming model and tools for developing applications in which the core application and its integration part are loosely coupled. This enables the adaptation to new integration needs without changing the core application. This programming model can be used to automatically and consistently configure the required connections across the involved ABAP systems.
The key entity to this model is the integration scenario definition in which related processes between two or more participants are bundled from a business point of view. The building blocks are interaction patterns called semantic contracts that group a set of closely related queries/requests with their associated responses. For every such interaction, you can build one or more definitions (known as contracts) that are binding for both partners and form the basis for their implementations. There are no separate consumer (outbound) and provider (inbound) models that can evolve independently.
The interacting parties are described from a business point of view as well. At configuration time, the system administrator selects an integration scenario definition and assigns concrete business application entities to these semantically described interacting parties, and then obtains a fully automatic configuration of all of the involved connections.
Addressing is based on the concept of Identifiable Business Contexts (IBCs). For more information, see Semantic Addressing Using Identifiable Business Contexts (IBCs).
Choose or create semantic contracts.
Semantic contracts define an interaction pattern between two parties called actors.
You can also create a copy of a semantic contract using an XML description file. For more information, see Creating Semantic Contracts from Schemas.
Create contracts from semantic contracts.
From semantic contracts, you can create one or more contracts that specify the related interfaces with their operations and signatures (message data types). These are provided and consumed in an interaction between two parties. You can define multiple contracts for one semantic contract, for example, for different versions of service interfaces.
You can also create a copy of a contract using an XML description file. For more information, see Creating Contracts from Schemas.
Implement the contracts.
When an application implements one side of a contract, this is done by means of a contract implementation, pointing to both the contract and the corresponding implementation artifacts.
Create consumer factories.
Consumer factories are used on the consumer side to establish connections. Within the consumer factory, you can define that the sender and receiver as well as the authentication method can be determined according to logical routing.
Logical Determination of Receiver, Sender, and Authentication
Define consumer mappings.
You use consumer mappings to enable communication with different providers using different interfaces. This is done by mapping the operations of an original consumer (known as the source consumer) to a target consumer. If all operations are mapped to the same target consumer, the mapping is called a single-target consumer mapping. This can be configured like a normal consumer proxy and is therefore the recommended mapping.
Create integration scenario definitions.
The integration scenario definition describes a set of related interaction patterns between two or more parties. These interaction patterns are represented by semantic contracts on a semantic level and the interacting parties are also described on a semantic level, as abstract IBCs.