Routing Models
Routing models describe how an interaction selects destinations, recipients, paths, or next processing loci in the system graph.
Routing may depend on message content, contract type, target identity, policy, authority, subscription, topology, current observations, availability, capacity, or route state. A routing decision is an observer-relative interpretation and policy decision; a broker rule, service-discovery table, gateway configuration, or workflow edge is its possible realization.
Routing Structures
- A content-based router selects a path from the carried value or envelope.
- A dynamic router uses observations or registrations that can change independently of the sender.
- A recipient list selects several destinations for one emission.
- A routing slip carries or derives a remaining sequence of processing loci.
- A filter admits or suppresses a value for a path under a declared policy.
- A dispatcher or selective consumer assigns admitted work among eligible receiving observers.
- A message broker centralizes some destination and path selection while remaining a substrate participant rather than semantic authority.
Routing does not by itself establish that a receiver admitted, processed, committed, or completed the intended work. It must be combined with channels, delivery semantics, acknowledgments, consumer coordination, and explicit failure and fallback meanings.
Routing models should preserve route provenance: which definition, rule, observation, policy, branch, and revision selected the path. Dynamic routing and retries must also state whether a later attempt may choose a different destination and what that means for idempotency, ordering, and authority.
External References
- Enterprise Integration Patterns, Message Routing patterns.
- Gregor Hohpe and Bobby Woolf, Content-Based Router and Process Manager, Enterprise Integration Patterns, 2003.
Related concepts: enterprise integration patterns, flow views, process graphs, observer models, policy scopes, interaction, interaction channels, messages and envelopes, flow operators, consumer coordination, ordering, idempotency, brokers.