インターフェースが越えるのはネットワーク境界だけではない
1つのチーム内であれば、欠けたコンテキストを非公式に補えることがあります。開発者がプロセス責任者に確認し、運用担当者が例外を認識し、データベース上の慣行が暗黙に共有されているためです。組織全体で、こうしたショートカットは消えてしまいます。各当事者は、独自の語彙、リリース サイクル、権限、制御、成功の解釈を持っています。
ビジネス上のやりとりがあいまいなままでも、API またはファイル仕様が有効である可能性があります。受理されたという応答は、構造的に受理された、レビューのためにキューに入れられた、商業的に承認された、または完了したことを意味する場合があります。その意味が契約上のものではない場合、両方のシステムが構築どおりに動作しても、議論の余地のある結果が生じる可能性があります。
統合契約を構成する5つの層
完全な統合契約には、対話、セマンティクス、動作、操作、および変更が含まれます。インタラクションは、誰が開始するか、どのようなシーケンスが発生するか、責任がどこに移されるかを定義します。セマンティクスは、ビジネス エンティティ、フィールド、ユニット、および状態を定義します。動作は、検証、応答、エラー、再試行、冪等性を定義します。オペレーションは、可観測性、サポート、調整、および回復を定義します。変更により、互換性、バージョン管理、通知、廃止が定義されます。
すべてのインターフェイスに長い正式なドキュメントが必要なわけではありません。深さは結果と組織の距離に従う必要があります。重要なステップは、各層を慎重に決定することです。 OpenAPI、イベント スキーマ、またはファイル レイアウトはコントラクトの一部を運ぶことができますが、責任と操作上の意味を自動的に確立するものはありません。
伝送方式から独立して識別子と相関関係を保つ
トランザクションは、移動中にローカル データベース キー、メッセージ ID、およびバッチ参照を取得する場合があります。システムには、2 つのレコードが同じビジネス イベントに関するものであるかどうかを回答する安定した方法が依然として必要です。相関関係は、統合コンポーネントの内部ログに隠蔽されるのではなく、明示的かつ永続的であり、サポート チームが利用できるものである必要があります。
アイデンティティの設計により、重複動作も決まります。送信者が不確実なタイムアウト後に再試行した場合、受信者はその要求が同じ意図された効果を表しているかどうかを認識する必要があります。冪等性キーは、その範囲、有効期間、およびビジネス上の意味が合意されている場合にのみ役立ちます。それ以外の場合、あいまいさは新しいフィールドに移されます。
ステータスは表示ラベルではなく事業上の約束
外部から見える各状態には、権限のある所有者、許可された遷移、および期待される次のアクションという 1 つの意味がある必要があります。受信、検証、受け入れ、進行中、完了、および拒否は交換できません。内部状態がより詳細な場合、パートナー契約へのマッピングは、サポートのために十分に意図的かつ可逆的である必要があります。
有用なステータス応答には、相関関係、時間、状態、理由、および責任が含まれます。これは、最終的な拒否と一時的な状態を区別し、再試行が許可されるかどうかを示します。この動作がなければ、送信者は独自の仮定をでっち上げ、隠れた手動サポート プロセスが統合の一部となります。
正常系を完成させる前に障害と復旧を設計する
独立したシステムが通信する場合、部分的な障害は正常です。受信機は応答が失われても作業を完了できる場合があります。ダウンストリームのステップは、アップストリームの確認応答後に失敗する可能性があります。バッチには有効な項目と無効な項目が含まれる場合があります。契約では、重要なケースのアトミック性、再試行、順序付け、再生、補償、和解について説明する必要があります。
リカバリは技術的かつ組織的なものです。データを再生または修正するには権限が必要です。影響を受ける当事者には証拠が必要です。サポートは自動再試行がいつ停止したかを把握する必要があります。そしてビジネスには、後戻りできない結果への道が必要です。これらの責任は、受け入れシナリオでテスト可能である必要があります。
パートナー接続を再利用可能なアーキテクチャ能力にする
すべての新しいパートナーがプライベートな知識を必要とする場合、組織にはまだ統合機能がありません。反復可能なオンボーディング パターンには、ビジネス インタラクション、契約例、適合性テスト、テスト データ ルール、認証情報プロセス、環境パス、運用上の連絡先、準備基準、バージョン ポリシーが含まれます。
標準化では、正当なバリエーションを許容しながら、安定した部分に重点を置く必要があります。すべてのパートナーを 1 つの物理フォーマットに強制すると、エッジでマッピングが脆弱になる可能性があります。正規のセマンティック モデルや契約上の語彙は、誰も所有しない別の中心的なモデルになる場合ではなく、曖昧さを軽減するときに価値があります。
証拠に基づいて境界を統制する
組織間のガバナンスは、運用上の成果物(指定された所有者、バージョン レコード、サービスの期待、エラー カテゴリ、受け入れ証拠、必要に応じて共有変更カレンダー)に表示される必要があります。契約の証拠のない会議では、未定義の行動を補うことはできません。
重要な取引を 1 つ選択し、不確実な対応やルールの変更など、ビジネス上の意図に基づいて両方の組織を通じて実行することから始めます。このウォークスルーで見つかったギャップは、多くの場合、統合テクノロジーの広範な一覧以上の説明をします。