Cohesive Systems logoCOHESIVE SYSTEMS

Search Cohesive Systems

Ready

Search Cohesive Systems

Find product pages, building blocks, technical articles, and graph definitions.

Interfaces

An interface is a declared interaction surface at a boundary. A boundary distinguishes scopes; an interface makes selected crossings of that boundary available and constrains what may cross, in which role, and with what meaning.

Every interface defines or occupies a boundary, but not every boundary is an interface. Ownership, trust, consistency, deployment, and failure boundaries may exist without being designed as crossing points.

Provided and Required Interfaces

A node provides an interface when it accepts the interface's interactions and assumes its obligations. It requires an interface when its behavior depends on another node providing that interface.

Provided and required interfaces make dependency direction explicit without committing to a particular transport, address, process boundary, or deployment topology. Their roles are attached to channel directions and endpoints by interaction bindings. The corresponding realization may use an in-process call, HTTP, RPC, a broker, a file exchange, shared state, or another mechanism without making the mechanism the interface's semantic authority.

Contents

An interface may declare:

  • named operations, events, observations, streams, or other interaction roles;
  • accepted and produced shapes or schemas;
  • direction, initiation, and expected outcomes;
  • semantic preconditions, postconditions, invariants, and failure meanings;
  • one or more governing interaction protocols;
  • compatibility and evolution rules; and
  • required service-level and other operational guarantees at the crossing.

The interface need not reveal the internal entities, relations, processes, storage, or collaborating services that realize the capability.

Interface, Protocol, Channel, and Binding

TermGoverning question
interfaceWhat roles, contracts, and obligations are available at this boundary?
interaction protocolIn which legal traces may participants use those roles?
interaction channelThrough which logical exchange and directions can occurrences move?
endpointAt which attachment locus does a participant enter or leave a channel direction?
interaction bindingWhich exact contracts and protocol roles attach to which endpoints and directions?
realizationWhich mechanisms preserve that bound structure and its required properties?

The relationships are many-to-many. One interface can have local, HTTP, RPC, broker, file, or runtime bindings. One channel can carry several distinguishable interfaces. One protocol can span several interfaces and channels. One endpoint can multiplex a namespace of operations while several physical endpoints realize one logical interface through replication or failover.

TermCohesive distinction
boundarySeparates scopes or authorities. An interface is a designed crossing of a boundary.
shape or schemaDescribes exchanged value structure. It does not by itself define meaning or legal interaction sequences.
contractStates semantic obligations and guarantees associated with an interface role.
APIIs a concrete or published interface description, often coupled to a particular binding or toolchain.
portIs a component's named attachment role through which it provides or requires an interface.
endpointIs the bound attachment locus through which a port participates in a channel arrangement.
adapterTranslates among interface roles, component behavior, messages, and realization mechanisms.
addressNames or selects an endpoint, participant, channel, or mediating locus under a routing interpretation.

Relationships

  • Interactions cross boundaries under interface roles and contracts.
  • Ports and Adapters separate an interface role from the mechanisms that realize or consume it.
  • Services encapsulate internal structure behind provided interfaces and declare dependencies through required interfaces.
  • Service models connect logical services by their provided and required interfaces and bindings.
  • Service levels qualify interface outcomes with measurable objectives and accountable commitments.
  • Realization binds interface roles to concrete channels, protocols, endpoints, addresses, adapters, and runtime mechanisms.

Formal relations

  • arranges: Interaction — An interface arranges which interaction roles and semantic obligations are available at a declared boundary.
  • distinguished_from: Boundaries — A boundary separates scopes and contexts, whereas an interface declares selected interaction roles and obligations available across that boundary.

External References

Related concepts: boundaries, interaction, interaction protocols, interaction channels, interaction bindings, endpoints, ports and adapters, service models, compatibility and evolution, network channels, realization.