戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

プロジェクトマネージャ 2020年 午前2 問16


問題文

SOAでシステムを設計する際の注意点のうち、適切なものはどれか。

選択肢

ア:可用性を高めるために、ステートフルなインタフェースとする。
イ:業務からの独立性を確保するために、サービスの名称は抽象的なものとする。
ウ:業務の変化に対応しやすくするために、サービス間の関係は疎結合にする。(正解)
エ:セキュリティを高めるために、一度提供したサービスの設計は再利用しない。

🔒 解説は解答すると表示されます

SOAの疎結合設計【午前2解説】

正解の理由

SOA(サービス指向アーキテクチャ)では、業務機能をサービスとして構成し、サービス同士の依存関係をできるだけ小さくすることが重要です。
ウのようにサービス間を疎結合にしておけば、あるサービスの変更がほかのサービスへ及ぼす影響を抑えられます。そのため、業務の変化に応じてサービスを変更・追加しやすくなります。

解法ステップ

  1. SOAでは、業務機能をサービスとして提供することを押さえます。
  2. サービスの変更や再利用をしやすくする設計原則として、「疎結合」を思い出します。
  3. 選択肢の中から、サービス間の依存を小さくして業務の変化に対応しやすくする説明を選びます。

選択肢別の誤答解説

  • ア:不適切です。 ステートフルなインタフェースは、サービス側で利用者ごとの状態を保持します。利用者の状態に依存しないステートレスな設計のほうが、処理の分散や拡張をしやすく、可用性の向上にもつながります。
  • イ:不適切です。 サービス名は、提供する業務機能を利用者が理解できるように表すことが大切です。抽象的すぎる名称では、サービスの役割が分かりにくくなります。
  • ウ:適切です。 サービス間の依存関係を小さくすることで、個々のサービスを独立して変更しやすくなり、業務の変化に対応しやすくなります。
  • エ:不適切です。 SOAでは、サービスを再利用できることが重要です。一度提供したサービスを再利用しないのではなく、複数の業務やシステムで活用できるよう設計します。

よくある誤解

  • 「疎結合」はサービス同士が連携しないことではありません。 必要な連携は行いつつ、相手の内部仕様への依存を小さくする設計です。
  • サービス名を抽象的にすれば、業務から独立できるわけではありません。 役割を理解しやすい名称と、変更の影響を抑える設計は別の観点です。
  • ステートフルなら必ず可用性が低い、という意味ではありません。 ただし、状態管理が必要になるため、分散や障害時の引継ぎが複雑になりやすい傾向があります。

補足コラム

SOAでは、サービスを業務上の機能単位として整理し、標準化されたインタフェースを通じて連携させます。疎結合に加えて、サービスの再利用性や役割の明確さも、変更に強いシステムを実現するうえで重要です。

FAQ

Q. 疎結合にすると、サービスの変更がほかへまったく影響しなくなりますか?
A. 必ず影響がなくなるわけではありません。インタフェースやデータ形式を変更すると、利用側への影響が生じることがあります。変更の影響を小さくすることが、疎結合の狙いです。
Q. ステートレスなサービスでは、状態を一切扱えないのですか?
A. いいえ。サービス自身が利用者ごとの状態を保持しない設計です。必要な状態は、要求に含めたり、外部のデータストアで管理したりできます。

関連キーワード: SOA、疎結合、ステートレス、サービス再利用、サービスインタフェース
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

プロジェクトマネージャを
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について