Connectors to Cover Required Abilities

When a connector binds a transport to an endpoint, in effect it binds the transport to a subset of the endpoint’s required abilities. To be useful, the set of connectors in an application instance definition must cover the set of abilities that a program requires for communication.

For example, in the following diagram, a program uses an endpoint to send one-to-one messages and to receive one-to-many messages. An endpoint configuration that binds only the send inbox ability and the receive ability is sufficient to implement that endpoint for the program: that is, it covers the two abilities that the program uses. The application instance definition could cover the required abilities using either one transport connector, or two. The diagram illustrates both of these possibilities.

Connectors Cover Required Endpoint Abilities

The number of connectors in an application instance definition depends on the number of abilities that a program requires, and on the transports the administrator chooses to carry those abilities. In most cases, an application instance would contain only a few connectors, because it must cover at most four abilities. Even if an application instance were to use a separate transport to carry each of the four abilities, it would need at most four connectors to cover them. Since one transport can carry several abilities, the number of connectors in the application instance can be less than four.

The application definition binds all four abilities to the default transport, using a single connector.