2月21日
よい天気が続き、春らしくなってきました。と言っても花粉症の人にはつらい時期。実は私も花粉症です。
さて今日はSOAのレイヤ構成です。
三階層の人には少しなじみがあると思います。
- アクセス・レイヤ(Access Layer)
ビジネス・プロセスやサービスとその利用者のインタラクションを実現します。例えば,ビジネス・プロセスとユーザのインタラクションを実現するWeb画面などがこのレイヤに位置づけられます。 - プロセス・レイヤ(Process Layer)
サービスをベースとしてビジネス・プロセスを組み立てます。複数のサービスを利用してビジネス・プロセスを組み立てることをオーケストレーションと呼びます。 - サービス・レイヤ(Service Layer)
ビジネス機能をサービスとして実現します。 - リソース・レイヤ(Resource Layer)
バックエンドのデータ・リポジトリを隠蔽,抽象化します。
- 従来のエンタープライズ・システムでも階層(ティア)の考え方は存在していました。例えば、Java EE(Enterprise Edition)をベースにしたシステムでは、プレゼンテーション階層,ビジネス階層、リソース階層の3階層を設けるのが一般的でした。
- これと比較した場合に,SOAで特徴的なのは,ビジネス階層と呼ばれていた部分を、プロセス・レイヤとサービス・レイヤに明確に分離している点です。これを可能にしているのが、XML形式でビジネス・プロセスを定義するための標準仕様であるWS-BPEL(Web Services Business Process Execution Language)です。典型的には、プロセス・レイヤにおいてWS-BPELを用いて定義されたビジネス・プロセスをビジネス・プロセス実行エンジンで実行します。ビジネス・プロセスはサービス・レイヤに配置されているサービスのオーケストレーションで構成されます。ビジネス・プロセス実行エンジンはSOAPを用いてサービスの呼び出しを行います。
- SOAでは、プロセス・レイヤとサービス・レイヤを分離することにより,ビジネス・プロセスの変更に対してより柔軟に対応できるようになっています。