サービス指向とシステム構成
サービス指向アーキテクチャ(SOA)は、業務システムの機能を独立性の高い部品(サービス)として構成し、業務プロセスとの対応付けや他のソフトウェアとの連携を容易にする考え方である。システム全体の構成を考える際には、機能をサービス単位で切り分ける発想と、システムを層に分けて役割を整理する発想を区別して理解する必要がある。本項では、SOAの原理、3層アーキテクチャの層構成、そしてSOAと紛らわしい用語との違いを整理する。
SOAの原理と仕組み
SOAでは、業務システムの機能を利用者の視点から独立した部品に分けて考える。 SOAは、ビジネスプロセスの構成要素と、それを支援するIT基盤を、ソフトウェア部品であるサービスとして提供するシステムアーキテクチャである。 部品化された機能はサービスとして提供されるため、業務プロセスの流れに合わせて組み合わせ、新しい業務の流れを実現しやすくなる。
業務機能を独立性が高く連携可能なサービスとして構成する点に、SOAの本質がある。 サービスとして公開された機能は、ネットワークを介して他のソフトウェアからも呼び出せるため、連携や再利用が進めやすくなる。 試験では、この「部品化」「業務プロセスとの対応付け」「連携の容易さ」の三点がそろった説明がSOAを指すと理解しておくとよい。
3層アーキテクチャの層構成
クライアントサーバシステムの3層アーキテクチャは、画面表示や入力の受付を担うプレゼンテーション層、業務処理を担うファンクション層、データの保存や検索を担うデータ層に分ける構成である。 各層は層間で定めたインタフェースを通じて連携するため、層ごとに異なるOSを使うことも許される。 役割ごとに層を分けることで、画面の変更が業務処理やデータ構造へ波及しにくくなる。
判断の基準
SOAと3層を見分ける基準は、分ける軸が何かである。3層は処理の役割(表示、業務、データ)で層を分けるのに対し、SOAは業務上の機能をサービス単位で切り分けて業務プロセスと対応付ける。ここを取り違えると、設計に関する問いに誤って答えてしまう。
この節の続き
- 実際の場面
- 試験で問われやすい区別
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む