問23 SOA(Service Oriented Architecture)でサービスを設計する際の注意点のうち、適切なものはどれか。

ア 可用性を高めるために、ステートフルなインターフェイスとする。

イ 業務からの独立性を確保するために、サービスの命名は役割を表すものとする。

ウ 業務の変化に対応しやすくするために、サービス間の関係は疎結合にする。

エ セキュリティを高めるために、一度開発したサービスは再利用しない方がよい。


正解 ウ


解説


ア 不正解
ステートフル とは、前後の文脈を判断することを意味します。反対にステートレスは前後の文脈を判断しません。
ステートフルな買い物カゴ機能
「お米10k追加」「キャベツ1玉追加」「卵1パック追加」「やっぱりお米なしで」と4つのイベントを受け取ると、最後には「キャベツ1玉、卵1パック」が残ります。
ステートレスな買い物カゴ機能の場合に同じ動作を実現する場合
「お米10k」「お米10k、キャベツ1玉」「お米10k、キャベツ1玉、卵1パック」「キャベツ1玉、卵1パック」と毎回買い物カゴの中身をすべて指定する必要があります。
これと可用性がどう関係あるのかわかりませんが、SOAとは関係なさそうです。

イ 不正解
命名規則 は命名の負担軽減と、規則的な命名による理解の助けとなりますが、業務からの独立とは関係ありません。

ウ 正解
SOA(サービス指向アーキテクチャ) とは、大規模なシステムをサービスの集まりとして構築する開発手法。
サービスとサービスはWebサービスのような、ベンダーやプログラム言語にとらわれない疎結合インターフェイスを採用する。
サービスとサービスが疎結合であることで、業務の変化に合わせて修正する際に必要なサービスだけ修正することが可能となる。

エ 不正解
セキュリティを高めるためには、サービスを再利用しつつセキュリティを高めていく方が現実的です。