Infrastructure Concepts
Endpoint
An endpoint is an abstraction that represents a set of publishers and subscribers in communicating programs. Application architects and developers determine the set of endpoints that an application requires. Administrators formally define those endpoints. Programs create publisher and subscriber objects, which instantiate those endpoints.
Endpoint Abilities
From the perspective of a running application instance, each endpoint carries messages in up to four abilities. Direction and reach are the two dimensions that determine the set of messages that flow along each ability:
- Direction
- Each ability carries messages in only one of two possible directions: either inbound to the application’s subscribers, or outbound from the application’s publishers.
- Reach
- Each ability carries messages from only one kind of send call: either one-to-many or one-to-one, according to the number of subscribers the message can potentially reach.
Transport
A transport is the underlying mechanism that moves message data between endpoint instances in programs. For example, a shared memory transport can move messages among separate program processes on a multi-core hardware platform, and a multicast transport can move messages among programs connected by a network.