先月OASISが発表したSOA Reference Ontology(リンク)(SOA参照オントロジー)は、OASISのサービス指向アーキテクチャ向け参照モデル(リンク)(SOA-RM=Reference Model for Service Oriented Architecture)の延長であり、サービス指向アーキテクチャをセマンティック的に有効にすることと関連のあるセマンティックスの重要概念とSOA-RMを組み合わせたものである。
標準では次のように定義されている。
「従来のSOA」における重大な限界…は、Webサービスの記述に使用される標準では、サービスが提供する外部インターフェースの単純な記述以外では、Webサービスの詳細がほんの少ししか提供されないことです。このような記述では、サービスが提供する機能性や外向きのインターフェースの動作から合理的な推論を引き出すようなやり方を使って、サービスについてそれ以上の意味を提供することは不可能です。
SOA Reference Ontologyの標準はオントロジーを利用することにより、この限界を克服する手段を提供する。
オントロジーを拡張してSOAのサービスを記述することにより、マシンは自らが提供する機能性や機能性を呼び出すメカニズム、入力として推定すべきデータと出力として返すべきデータを判断できます。換言すれば、現在、構文的記述(つまりWSDLドキュメントのこと)を有する個々のサービスであれば、一定の形式のセマンティック的な記述も持つことになります。ですから、セマンティックSOA内のサービスはサービスを無駄に再発明するのではなく、強化になります。 サービスをセマンティック的に効果的に記述するには、セマンティック記述内にどの要素を入れるかについて理解しておく必要があります。この文書の中にはReference Ontology for Service Oriented Architectures(サービス指向アーキテクチャ向けの参照オントロジー)が入っていますが、サービスのセマンティック記述を効果的に提供し、セマンティック的に有効なSOA(セマンティックSOA〔SSOA〕と呼ぶ)を構築するために必要な要素などを説明しています。
この標準で紹介しているセマンティックスベースのアプローチには以下の基本原則2つがある。
- サービス指向概念に関する記述はすべて、オントロジーベースの形式にしなければなりません。
- すべてのオントロジーベースの記述は、仲介を通じて関連づけが可能になっていなければなりません。
最初の原則を標準に実装するには、すべてのSOAリソースにセマンティック記述を関連づける。こうした記述により、サービスの機能性記述(動作を含む)と非機能性記述の両方が可能になり、こうした記述が確立することにより、セマンティック記述が判明すればすぐにそのサービスの実装も判明するといった具合に、サービス実現の具体化につながる。
サービス記述の導入により、リクエスタの目的に基づいた適切なサービスの選択を形式化できるようになる。リクエスタの目的とプロバイダのサービスをマッチさせるプロセスを容易にするために、
…Reference OntologyはServiceDescriptionと同じ要素から形成されるものとしてGoalDescriptionを定義しますが、同じ要素とは具体的にCapabilityDescriptionとインターフェース一式のことです。GoalDescriptionの CapabilityDescriptionは要求された能力、すなわちリクエスタが発見し、消費したがっている能力のことです。GoalDescriptionのインターフェースは、マッチするサービスとの通信中にリクエスタが利用を予定しているインタフェースを記述します。
標準によるCapabilityの記述は、サービスの実行を可能にするためになくてはならない世界の状態と、サービス実行後に持続が保証されなければならない世界の状態という観点から行われる。さらに、情報の状態と実世界の状態が区別される。結果として、Capabilityは前提条件と事後条件の2つのグループに分類でき、情報空間の状態や仮定、効果を説明し、実世界の状態を定義する。この4要素を提供することにより、Reference Ontologyでは、情報空間と実世界の両方で起こる状態の変化を効果的に記述できるのである。
SOA-RMは「サービスと相互作用するための手段としてのサービスインターフェース」を明示し、またInformation Model(情報モデル)とBehavioral Model(動作モデル)の2つの部分で構成されるが、SOA Reference OntologyはSOA-RMにならい、情報モデルと動作モデルの両方についてセマンティック定義を定義する。
…情報モデルはオントロジーの記述に基づいており、能力とインターフェースの両方によって検討する必要があるため、サービス(あるいは目的)記述に直接添付します…セマンティックSOAでは、これ〔このモデル〕を提供するのはサービスの領域オントロジーです。このオントロジーは、サービスの実行や他のサービスもしくは他のリクエスタとの通信に必要な全情報を明示します。
…動作モデルは以下の2つの異なる概念に特殊化されますが、この2つは異なる観点を表しています。
- サービスリクエスタの観点 − サービスの実行のためにサービスリクエスタが必要とする情報をChoreography(コレオグラフィ)として明示
- 他のサービスとの通信 − サービスがその機能性を全うするために他のサービスとの協力を調整する方法に関する情報をOrchestration(オーケストレーション)として明示
セマンティックSOAでは、これ〔このモデル〕は、通信中に交換の必要がある情報の定義によってカプセル化され、オントロジーの概念と関係は特定の役割(あるいはモード)をサポートするために印がつけられます。さらに、メッセージを交換する順番を明確に指定する必要があります。
仲介の原則はSOA RMのVisibility(可視性)の定義 −「サービス消費者とサービス提供者が相互作用できているときに満たされている両者の関係」− と仲介者に基づいているが、仲介者は相互に結び付きが可能なエンティティーの観点から記述され、ミスマッチを解消する方法を呈示する。
標準では以下の種類の仲介者を定義している。
- Ontology to Ontology(オントロジー間)の仲介者(OO仲介者)はオントロジーを結びつけ、用語上や表現上のミスマッチを解消します
- Service Description to Service Description(サービス記述間)の仲介者(SS仲介者)はサービス記述を結びつけ、サービス機能性の表現間に見られるミスマッチや、サービス記述にアクセスする手段に見られるミスマッチ(すなわち、能力間やインターフェース間のミスマッチ)を解消します
- Goal Description to Goal Description(目的記述間)の仲介者(GG仲介者)は目的記述を結びつけ、サービスリクエスタの必要条件に見られるミスマッチを、ここでも能力あるいはインターフェースの観点から解消します
- Service Description to Goal Description(サービス記述—目的記述間)の仲介者(SG仲介者)はサービス記述と目的記述を結びつけ、機能性やアクセスに関する消費者と提供者の見解を仲介します。
ひとつの仲介サービスには複数の異なる仲介者を一緒に入れることができる。
このメカニズムにより、具体的な仲介シナリオを実行できる複合サービスが提供する機能性の要素を、仲介者を使って記述できるようになります。仲介サービスは、Goal Description(目的記述)もしくはService Description(サービス記述)のどちらかにできます。Goal Descriptionは、Mediator(仲介者)が記述した機能性を提供するServiceの発見プロセスでこれから利用されるGoalにリンクしますが、Service Descriptionは、Mediatorが記述する機能性を提供可能なサービスに直接リンクします。
Mediatorの記述と必要とされるオントロジー、Goal Description、Service Descriptionのすべてを公開することにより、Visibilityの必要条件が満たされるので、GoalはServiceと相互作用できるようになります。
現在作業中の草案は必要に応じて更新され、今後数週間もしくは数ヵ月のうちに、パブリックレビューの草案レベルに引き上げられる見通しである。
原文はこちらです:http://www.infoq.com/news/2008/12/ReferenceOntology