Connector Cardinality
Explanation
Section titled “Explanation”A connector is the link through which components interact (see the article Software Connector). Cardinality asks how many components take part in that link.
Point-to-point. A point-to-point channel delivers each message to exactly one receiver. Several receivers may listen on the same channel. They then compete, and only one of them gets any given message. This lets receivers handle different messages at the same time, which helps scalability.
Multicast. A publish-subscribe channel is a multicast form. It delivers a copy of each event to every subscriber.
Inside a multicast connector. A publish-subscribe channel takes one input and splits it into one output channel per subscriber. So an intermediate structure sits between the publisher and the subscribers. This structure also decouples them.
Arity in general. Connectors can be modeled as sets of ports that must interact together. A port is a point where a component connects. With this model, one connector can have any number of ports. One research paper shows a single quaternary connector (four ports) and contrasts it with three binary connectors.
Example
Section titled “Example”An online shop emits an “order placed” event. If the event goes to a point-to-point channel with several workers, only one worker handles each order. If billing, shipping, and analytics must each see every order, the shop publishes to a publish-subscribe channel. Each of the three gets its own copy.
Trade-offs
Section titled “Trade-offs”Point-to-point gives one handler per message. Adding receivers spreads the work, which supports scalability.
Multicast gives every subscriber its own copy. The fan-out structure between publisher and subscribers decouples them.
Choose the form by asking whether each message should be handled once or seen by everyone.
Diagram source
flowchart LR P1[Sender] --> C1((Channel)) C1 --> R1[Receiver A] C1 -.competes.-> R2[Receiver B] P2[Publisher] --> C2((Pub-sub channel)) C2 --> S1[Subscriber 1] C2 --> S2[Subscriber 2] C2 --> S3[Subscriber 3]Checks
Section titled “Checks”- Each channel is documented as point-to-point (one receiver per message) or publish-subscribe (a copy to every subscriber).
- Where a channel has several competing receivers, the document states that only one receiver consumes each message.
- For publish-subscribe channels, the subscribers are listed, since each one receives a copy.
Related
Section titled “Related”- Software Connector
- Point-to-Point Channel
- Publish/Subscribe Channel
- Publish-Subscribe Pattern
- Message Channel
- Port
- Software Connector Classification
- Scalability
Sources
Section titled “Sources”- Point-to-Point Channel - Enterprise Integration Patterns — enterpriseintegrationpatterns.com, accessed 2026-11-09
- Publish-Subscribe Channel - Enterprise Integration Patterns — enterpriseintegrationpatterns.com, accessed 2026-11-08
- [1608.03324] Architecture Diagrams: A Graphical Language for Architecture Style Specification — ar5iv.arxiv.org, accessed 2026-11-09