📡
DDDアーキテクチャ・設計 2026年4月4日

オープンホストサービス / 公表された言語

📁 パターン 👁 -- 閲覧

オープンホストサービス / 公表された言語

定義

**オープンホストサービス(Open Host Service, OHS)**とは、自コンテキストの機能を複数の下流コンテキストに対して提供するためのプロトコル(API)を定義し公開するパターン。

**公表された言語(Published Language, PL)**とは、OHSで使われる、文書化された共有スキーマ。JSON Schema、OpenAPI、Protocol Buffers などが該当する。

上流コンテキスト(Identityサービス)
  ↓ Open Host Service(REST API / gRPC)
  ↓ Published Language(OpenAPI仕様)
下流コンテキストA(注文サービス)
下流コンテキストB(通知サービス)
下流コンテキストC(分析サービス)

なぜ重要か

複数の下流コンテキストがそれぞれ独自の統合方式を求めると、上流コンテキストはすべての要求に個別対応しなければならない。

OHS+PLを定義することで:

  • 上流は単一のプロトコルを維持するだけでよい
  • 下流は明文化されたスキーマに従って統合でき、不確実性が減る
  • スキーマのバージョン管理が明示的になり、後方互換性を管理しやすい

適用場面

  • 複数チームが一つのサービスを消費するとき
  • 外部パートナーや第三者に統合ポイントを提供するとき
  • 内部APIを「契約(Contract)」として扱いたいとき

カスタマー/サプライヤーとの違い

オープンホストサービスカスタマー/サプライヤー
下流数複数(不特定)1対1
交渉下流は受け入れるかACLを置くかを選ぶ下流の要求を上流が計画に組み込む
公開度広く公開チーム間協議

関連概念

出典

実践ドメイン駆動設計(Vaughn Vernon)第3章