Eigenständiger BegriffBeziehungKapitel I · Domäne · Baustein 14 von 18

Open Host Service

Ein Upstream entwirft und veröffentlicht einen expliziten Dienstvertrag, den verschiedene Konsumenten verwenden können.

  1. ProviderVeröffentlicht Vertrag und Version.
  2. KonsumentenNutzen gemeinsame Fähigkeit.
  3. ProtokollRegelt Integration und Kompatibilität.

Einordnung

Warum das wichtig ist

Eine wiederverwendbare Upstream-Fähigkeit als stabilen Vertrag für mehrere Konsumenten bereitstellen.

Beziehung zwischen Bounded Contexts im strategischen Domain-Driven Design.

Shop-Beispiel · Zuordnung

Gemeinsamer Dienst und Einzelintegration

Der Shop bleibt ein modularer Monolith mit sieben Modulen und gemeinsamer Auslieferung; diese Beziehung beschreibt Modellverantwortung.

So liest du das Bild

  1. Provider Upstream
  2. Konsumenten Downstream
  3. Protokoll Veröffentlichter Vertrag
Gemeinsamer Dienst und Einzelintegration
AspektOpen Host ServicePunkt-zu-Punkt
KonsumentenViele nutzen gemeinsamen VertragJede Verbindung einzeln abstimmen
ÄnderungVersioniert und dokumentiertMehrere Sonderfälle
FachmodellBei Bedarf übersetzenOft direkt gekoppelt
Ein gemeinsamer Vertrag reduziert parallele Integrationsabsprachen.

Nutzen & Grenzen

Hilft, wenn

  • Mehrere Konsumenten benötigen eine gemeinsame Fähigkeit mit klaren Verantwortlichen.
  • Vertrag, Versionierung und Kompatibilität lassen sich öffentlich innerhalb der Organisation dokumentieren.

Grenzen

  • Ein gemeinsamer Dienst wird zum Engpass, wenn alle Konsumenten Sonderverträge oder individuelle Änderungen verlangen.
  • Ein technischer API-Vertrag ersetzt keine fachliche Übersetzung zwischen unterschiedlichen Modellen.

In der Praxis

  1. Ermittle wiederkehrende Fähigkeiten und Konsumenten, bevor du einen gemeinsamen Vertrag definierst. Halte fest, welche Anforderungen allen Konsumenten gemeinsam sind und welche sie an ihrer eigenen Grenze übersetzen.
  2. Dokumentiere Operationen, Semantik, Fehlerantworten, Versionierung und Kompatibilitätsregeln in einem für alle Konsumenten zugänglichen Dienstvertrag. Weisen Verantwortliche Änderungen und Abkündigungen frühzeitig aus.
  3. Prüfe den Vertrag mit mindestens zwei Konsumenten und beobachte gemeinsame Bedürfnisse sowie Sonderfälle. Entwickle das Angebot anhand realer Integrationen weiter, ohne jedes lokale Modell in den Upstream-Vertrag aufzunehmen.
Ausführliche Erklärung lesen

Open Host Service ist ein Context-Map-Muster für eine gemeinsam nutzbare Upstream-Fähigkeit. Der Provider veröffentlicht einen expliziten Dienstvertrag mit Protokoll, Versionierung und Betriebsverantwortung, gegen den mehrere Downstream-Kontexte integrieren. Das Angebot reduziert individuelle Punkt-zu-Punkt-Absprachen, solange Konsumenten mit einem gemeinsamen Vertrag arbeiten können.

Published Language ist ein separates Context-Map-Muster: Es legt eine gemeinsame Sprache oder ein Austauschformat für die Integration fest und kann mit einem Open Host Service kombiniert werden. Konsumenten übersetzen dieses Format bei Bedarf in ihr eigenes Modell. Ein Dienstvertrag allein vereinheitlicht die Fachmodelle nicht.

Das Muster benennt eine Upstream-Fähigkeit für viele Clients in der Context Map; der Anti-Corruption Layer schützt einen Konsumenten vor fremder Fachsprache.

Selbst prüfen

Teste dich in drei Stufen

  1. AblesenIm Bild nachsehen

    Wer verantwortet Versionierung des gemeinsamen Dienstes?

    Lösung mit Begründung ansehen

    Der Upstream-Provider dokumentiert und verantwortet seinen veröffentlichten Vertrag.

  2. AnwendenAuf eine neue Lage übertragen

    Wie kann die Bestellung den Katalogvertrag nutzen und ihr Modell schützen?

    Lösung mit Begründung ansehen

    Sie nutzt die benötigten Vertragsfelder und übersetzt sie in ihr Indexmodell.

  3. BewertenEine Alternative abwägen

    Wann wird ein gemeinsamer Dienst zum Engpass?

    Lösung mit Begründung ansehen

    Wenn Sonderanforderungen vieler Konsumenten die gemeinsame Weiterentwicklung dominieren.

Weiter im Lernpfad

Als Nächstes in Domänenmodellierung & DDD: Conformist.