Skip to content

Delivery Mechanisms

A Delivery Mechanism translates between an external interaction and the internal processing structure.

It receives an external request, converts it into a request for an RPU or Reactor, and converts the result back into the required external response format.

A Delivery Mechanism is not the domain.

It does not own domain decisions.

It does not coordinate business flows.

External Interaction

An external interaction starts outside the system.

Examples:

  • HTTP request
  • UI action
  • CLI command
  • incoming message
  • scheduled trigger

The Delivery Mechanism receives that external interaction and prepares the internal request.

Translation

A Delivery Mechanism translates.

It may translate:

  • route parameters
  • request bodies
  • headers
  • command-line arguments
  • UI form values
  • message payloads
  • response formats
  • status codes
  • transport errors

The translation belongs to the Delivery Mechanism.

The domain capability belongs to the RPU.

The interaction flow belongs to the Reactor when coordination is needed.

Relationship to RPUs

A Delivery Mechanism may call an RPU directly when the external interaction maps to one domain capability.

external request -> Delivery Mechanism -> RPU -> Delivery Mechanism -> external response

The RPU remains protocol-independent.

The Delivery Mechanism owns the protocol translation.

Relationship to Reactors

A Delivery Mechanism may call a Reactor when the external interaction requires coordination.

external request -> Delivery Mechanism -> Reactor -> Delivery Mechanism -> external response

The Reactor coordinates the internal flow.

The Delivery Mechanism still owns only the external translation.

Boundary

A Delivery Mechanism may know about transport and presentation details.

It may know about:

  • HTTP
  • CLI
  • UI events
  • message formats
  • status codes
  • serialization
  • authentication context passed from outside

It should not know internal domain state.

It should not call Providers directly to implement domain behavior.

It should not contain domain decisions.

Direct RPU or Reactor

A Delivery Mechanism chooses the internal entry point.

Use an RPU directly when one domain capability is enough.

Use a Reactor when the interaction needs coordination between multiple RPUs, Providers, or processing steps.

The Delivery Mechanism should not absorb that coordination itself.

Presentation Concerns

A Delivery Mechanism may shape the external response.

It may choose how a domain response is represented for a specific delivery form.

Examples:

  • HTTP status code
  • JSON response body
  • CLI output text
  • UI view model
  • message acknowledgement

This formatting is not domain behavior.

Summary

A Delivery Mechanism is:

  • the external translation boundary
  • protocol-aware
  • outside the domain
  • able to call an RPU directly for simple interactions
  • able to call a Reactor for coordinated interactions
  • responsible for external request and response shape
  • free of domain decisions