過去問ドリル

LinuCレベル4 システムアーキテクト システムアーキテクチャ 問3

システムアーキテクチャ/アーキテクチャの設計原則と主要パターン

保険の申込処理は、審査・与信照会・契約書作成・通知など8つのサービスをまたがり、業務部門から処理順序や分岐条件の変更要望が頻繁に出る。また、申込ごとに現在どのステップにいるかを問い合わせに即答できる必要がある。サービス間の連携方式として最も適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「システムアーキテクチャ」に対応。実際の試験問題ではありません)

正解:D

解説

オーケストレーションは、中央のオーケストレーターが処理の流れを持ち、各サービスを指示・呼び出す方式です。流れの定義が1か所にまとまるため、順序や分岐の変更が1か所の修正で済み、申込ごとの進行状態もオーケストレーターから把握できます。一方、コレオグラフィは各サービスがイベントに反応して自律的に動くため結合が緩くなりますが、全体の流れが各サービスに分散し、ステップ数が多いと全体像や現在の状態を追いにくくなります。変更頻度が高く、状態の可視化が求められるこの要件ではオーケストレーションが適しています。

選択肢ごとの解説

  • A誤り。コレオグラフィは結合を緩くできますが、流れが各サービスに分散するため、順序変更のたびに複数サービスの修正が必要になり、進行状態も把握しにくくなります。
  • B誤り。共有データベースを介した連携はサービス間をデータ構造で強く結合させ、スキーマ変更の影響が全サービスに及びます。流れの定義も各サービスに散らばります。
  • C誤り。パイプ/フィルターは一方向にデータを加工していく処理に向きますが、分岐の多い業務フローや、個々の申込の進行状態の問い合わせには向きません。
  • D正しい。流れを1か所に集約するオーケストレーションなら、順序や分岐の変更と進行状態の把握という2つの要件を満たせます。
LinuCレベル4 システムアーキテクトの問題を演習モードで解く