SOAとは?
SOAとは、企業の業務システムなどの設計様式の一つの事である。システム全体を利用者側から見たソフトウェアの機能単位である「サービス」(service)の組み合わせによって構築することを意味している。
SOAのあれこれ!
部品化されたソフトウェアを結合してシステムを構築する設計手法は従来から存在していたが、どちらかというとコンピュータ寄りの視点で機能の分割や実装が検討されることが多くあった。SOAでは、サービスと呼ばれる構成単位でソフトウェアを開発・導入している。例えば「請求書を発行する」といったように利用者側の視点から見た作業単位に対応するように個々のサービスの内容が決められることが挙げられる。
また、サービスを提供するソフトウェアは独立性が高く、互いに依存性が低くなるよう設計され、柔軟に入れ替えや部分的な修正などに対応が可能となる。単体で動作するアプリケーションとして開発されたものをサービスとして取り込んで、他のサービスと連携させるといった方法が用いられることもある。
汎用性や共通性の高いサービスは複数のシステムやアプリケーションから参照することも可能となり、大きな組織の情報システムにありがちな同じような機能が部署やアプリケーションごとに重複して開発される事態を防ぐことができる。
サービス間の連携にはSOAPやXMLといった標準化されたデータ形式やプロトコル(通信規約)が用いられ、特定のソフトウェア実行基盤などに縛られることなく自由に様々な製品を結合して情報システム全体を組み立てられるとされる。
〇WSDL(Web Services Description Language)
WSDLとは、Webサービスを外部のソフトウェアから接続・利用するための仕様(インターフェース)を記述することができる言語のことである。XMLの記法を使って、Webサービスの持つ機能や、外部から利用するためのメッセージの形式や通信手順などを記述することが可能となる。
WSDLファイルでは、まず外部から利用できるサービスの種類や利用手順、データ形式などのインターフェース仕様をinterface要素とoperation要素を用いて抽象的に定義する。