SOA 【Service Oriented Architecture】 サービス指向アーキテクチャ
概要
SOA(Service Oriented Architecture)とは、企業の業務システムなどの設計様式の一つで、システム全体を利用者側から見たソフトウェアの機能単位である「サービス」(service)の組み合わせによって構築すること。部品化されたソフトウェアを結合してシステムを構築する設計手法は従来から存在したが、どちらかというとコンピュータ寄りの視点で機能の分割や実装が検討されることが多かった。
SOAではサービスと呼ばれる構成単位でソフトウェアを開発・導入するが、例えば「請求書を発行する」といったように利用者側の視点から見た作業単位に対応するように個々のサービスの内容が決められる。
また、サービスを提供するソフトウェアは独立性が高く、互いに依存性が低くなるよう設計され、柔軟に入れ替えや部分的な修正などに対応できる。単体で動作するアプリケーションとして開発されたものをサービスとして取り込んで他のサービスと連携させるといった方法が用いられることもある。
汎用性や共通性の高いサービスは複数のシステムやアプリケーションから参照することもでき、大きな組織の情報システムにありがちな同じような機能が部署やアプリケーションごとに重複して開発される事態を防ぐことができる。
サービス間の連携にはSOAPやXMLといった標準化されたデータ形式やプロトコル(通信規約)が用いられ、特定のソフトウェア実行基盤などに縛られることなく自由に様々な製品を結合して情報システム全体を組み立てられるとされる。
(2018.11.22更新)