This figure below presents the notion of exchange that is a main concept of SOA paradigm.
A exchange is composed of information to route exchange such as source address, destination endpoint and service name. It can also contains other metadata information to manage non-functional (security, reliability, ...etc) contexts.
During the lifecycle of an exchange, it is composed of one or several messages:
- MessageIn: It represents the client request.
- MessageOut: It represents the provider response (used only for InOut exchange pattern).
- MessageError: It represents the provider error (used only for InOut exchange pattern).
- MessageAck: It represents the acknowledgement of provider (used only for InOnly exchange pattern).