Skip to content

Federation gateway adoption

The federation-gateway adopter operates the translation edge as its mission, not as a migration step. Two systems that will not change — an EN 18222 estate and a UNTP estate, a national portal and a counterpart’s portal, and each keeps talking its own protocol; the gateway holds the one core state behind both renderings and moves evidence across in either direction.

This path implements Part 10 (client retrieval, binding pluralism) and the transport half of Part 6 (federation): the gateway is where the inter-scheme protocol touches a wire.

  • The unidpp-gateway binary, and
  • An upstream that answers for passports: a unidpp-issuer, or the seeded fixture catalogue the gateway ships (the stand-in used before an upstream exists).
Terminal window
$ UNIDPP_GATEWAY_BIND=127.0.0.1:18522 \
UNIDPP_ISSUER_URL=http://127.0.0.1:18521 unidpp-gateway

The discovery document at / names the bindings, their endpoints, and the resolution mode (issuer-upstream-with-fixture-fallback or fixtures).

Endpoint Direction Protocol
GET /en18222/v1/dppsByProductId/{gtin} serve EN 18222
GET /untp/product/{id} serve UNTP
POST /untp/ingest import UNTP

The serve direction renders one core passport under the requested protocol, and the identity matches across bindings (the delimited GS1 form UNTP carries wraps the bare key EN 18222 carries. The import direction mints a core passport from a UNTP document with a deterministic identity, idempotent per subject.

The gateway’s bindings are the retrieval edge of the federation story; the evidence itself moves by the transport modes of the inter-scheme protocol (protocol, document, or relayed hub), with frozen views as the document form that survives an air gap. A partial adopter on the far side holds the same capabilities as data: see verify-only and the no-orphan audit.

The gateway is stateless in its render path and journaled in its ingest path; it adds no duties the upstream did not already carry. Monitoring treats it like any other service. When the adopter’s mission grows to running the whole stack behind the edge, see the full host.