pulpul 日本の試験

システムアーキテクト 概念書 · システム開発・アーキテクチャ

サービス指向アーキテクチャ

サービス指向アーキテクチャ(SOA)は、業務システムの機能を独立性の高いサービスという単位に分け、それらを組み合わせて業務プロセスを実現するシステム構築の考え方である。サービスとして外部に公開することで、業務プロセスとの対応付けや他のソフトウェアとの連携を容易にする点に特徴がある。

基本の原理と仕組み

SOAの中心にあるのは、業務上の機能やIT基盤の機能を、ソフトウェア部品としてのサービスに切り分けることである。各サービスは内部の処理やデータの持ち方を外に隠し、決められたインタフェースだけを公開する。呼び出す側はその実装を知らなくても利用できるため、サービス同士は互いの変更に影響されにくい疎結合の関係になる。

業務プロセスは、こうしたサービスを組み合わせて組み立てられる。たとえば受注の登録、在庫の引当て、代金の決済といった機能をそれぞれサービスとして持っておけば、業務の流れが変わっても、組み合わせ方を変えるだけで対応しやすくなる。サービスを再利用できることが、SOAが業務の変化に強いとされる理由である。

判断の基準と品質の取決め

ある機能をサービスとして切り出すかどうかは、業務プロセスの単位と対応しているか、ほかの業務や他システムから再利用できるか、変更の影響を一つのサービスの中に閉じられるか、という基準で判断する。機能を細かく分けるだけでは、サービス間の呼出し関係が複雑になり、かえって保守が難しくなる。

サービスを利用する側と提供する側の間では、稼働率や応答時間などのサービス水準を取り決めておく必要がある。その取決めを文書にしたものがSLA(サービスレベル合意)であり、SOAの設計方法そのものではなく、サービス品質を管理するための仕組みである。

この節の続き

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む