メインコンテンツへ
システム戦略

SOA(サービス指向アーキテクチャ)の特徴として、最も適切なものはどれか。

ア.業務機能を独立したサービスとして定義し、標準インタフェースを通じて組み合わせることで、柔軟かつ再利用可能なシステムを構築するアーキテクチャ正解
イ.データベースとアプリケーションを一体化して提供するモノリシックなシステム構成のこと
ウ.ハードウェア・OS・ミドルウェアを仮想化し、物理サーバの利用効率を最大化する技術
エ.Webサービスを構成するUI・ビジネスロジック・データ層を厳密に分離する3層アーキテクチャ

解説

SOAは「LEGO式システム設計」。「ログイン」「決済」「在庫照会」をそれぞれ独立したサービスブロックにして、組み合わせて使いまわす——ブロックが多いほど新機能が作りやすくなります。

なぜ ア が正解か

SOA(Service-Oriented Architecture)は、業務機能を「サービス」という独立した単位で定義し、それをWebサービス等の標準インタフェースで連携させるアーキテクチャです。サービスの再利用・疎結合・柔軟な組み合わせが特徴です。ESB(Enterprise Service Bus)を介してサービスを統合する実装が多く見られます。マイクロサービスアーキテクチャはSOAをより細粒度に発展させたものと言えます。

なぜ イ は間違いか

DBとアプリを一体化したモノリシック構成はSOAの対極にあるアーキテクチャです。SOAは逆に「分割して再利用」を目指します。

なぜ ウ は間違いか

ハードウェアやOSの仮想化は「サーバ仮想化技術(VMware等)」や「クラウドコンピューティング」の説明です。SOAはアーキテクチャパターンであり、仮想化技術とは別の概念です。

なぜ エ は間違いか

UI・ビジネスロジック・データ層を分離する3層アーキテクチャ(Three-Tier Architecture)はSOAとは別の構成パターンです。SOAはサービスの粒度と連携の仕方に関するより上位の概念です。

出典: AI生成問題(学習用)