BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Open Groupが新しい技術標準 - SOAオントロジー - をリリース

Open Groupが新しい技術標準 - SOAオントロジー - をリリース

原文(投稿日:2010/12/13)へのリンク

ビジネスとITの間にあるサービス指向アーキテクチャ(SOA)上でのコミュニケーションギャップをうめるために、Open Groupは、SOAに関する概念、用語、セマンティクスを定義するのに役立つ新たな技術標準 - サービス指向アーキテクチャオントロジー(Service-Oriented Architecture Ontology) - をリリースした。その標準では

... 以下の目的を果たすべく、SOAの概念、用語、セマンティクスをビジネス用語、技術用語の両方で定義している:
  • 領域に特化したさらなる活動の基盤を構築すること
  • ビジネス側の人々と技術側の人々の間のコミュニケーションを可能にすること
  • ビジネスコミュニティ、技術コミュニティにおけるSOA概念の理解を深めること
  • 相互理解を促進するための課題や機会を明らか、かつ、曖昧さのない形で表現する方法を提供すること

オントロジーの2つの中心的概念は、システムと要素であり、

要素とは、ある与えられた抽象化レベルで分割不可能であるような、不明瞭な実体のことである。要素ははっきりと定義された境界を持つ。

一方、

システムはそれ以外のものの組織化された集合のことである。特に、あるシステム集合の中のものは要素のインスタンスであり、それらの各要素はシステムで利用されるものである。

2つの概念はともに一般的であり、どのような実装について表現することもできるし、システムが要素をを持つ、あるいは、システムが(システムのシステムとして)階層的に結合され得る、といった考え方も含めることのできるような一般的な概念記述することも可能にする。領域の違いはシステムと要素の特定の性質の違いである。

このオントロジーのもう1つ中心的概念はサービスである。これはSOAにとっては基本的なものであり、SOAシステムを表現したり設計したりする際につねに実際に利用される概念である。

サービスは特定の成果をもつ繰り返し可能な活動の論理表現である。自己完結であり、その利用者にとっては"ブラックボックス"となっている。

オントロジーでは、よく使われる用語"ビジネス"の定義をサービスの定義から除外し、以下のように説明している。

... ビジネスの考え方は視点によって決まる相対的なものである。 - 例えば、ある人にとってのITだと思っているものは、別の人にとってのビジネスであったりする(ITのビジネスなど)。このオントロジーで定義されているようなサービスという概念が、ビジネス領域の伝統的な考え方や、IT領域の伝統的な考え方に適用しうるものかどうかは、未知である。

オントロジーではサービスを要素のサブクラスとして定義しているが、より高度なレベルのクラスのインスタンスであると述べている。例えば、システムはサービスとして提供され得る能力を提供するかもしれない。

サービスに関わるそれ以外の高度な構成概念として、サービス契約、サービスインターフェース、情報タイプがオントロジーで定義されている。

サービス契約は、そのやりとりの参加者[提供者と利用者]が(直接あるいは間接的に)合意しなければならない条項、条件、やりとりに関する規則を定義している。サービス契約は各やりとりの全ての参加者と関係があり、サービス自身やその特定のやりとりにサービスを提供する要素も含む。

サービス契約はサービスを正しく利用するために必要な特定の合意を表現する。その合意はサービスが適切に機能するために必要な要求からうまれることもあれば、サービスの利用を調整したいという要求からうまれる場合もある。

サービスインターフェースはサービス以外の要素がサービスと相互作用したり情報を交換したりするための方法を定義する。

適切に定義されたサービスインターフェースはサービスと正しく相互作用することを容易にし、他の要素が構造化されたやり方でそれを利用することを可能にする。サービスインターフェースは別の要素が情報を与えることやサービスから情報を受け取ることを可能にする。サービスと交換される情報のタイプは情報タイプクラスとして定義されている。

SOAの主な利点の1つは、サービスを構築可能であることである。SOAのこの性質は2つのオントロジー内の概念で定義されている - コンポジションとサービスコンポジションである。

コンポジションは特定の目的のためにものの集合を組み立てた結果として定義される。SOAオントロジーはコンポジションをシステムのサブクラスとして定義していて、それによって、コンポジションはシステムであり、システムは必ずしもコンポジションではない、ということを強調している。オントロジーではさらにいくつかのコンポジションのパターンを区別しており、それらのパターンとして、編成コンポジションパターン(Orchestration Composition Pattern)、振り付けコンポジションパターン(Choreography Composition Pattern)、コラボレーションコンポジションパターン(Collaboration Composition Pattern)などがある。

コンポジションの特別な場合が、

... サービスコンポジションであり、新しく高度なサービスを実現するためにサービスの集合を組み立てた結果として定義される。

最後に、オントロジーでは、SOAの概念に対する基盤としてイベントを加えている。

イベントとそれを生成したりそれに反応したりする要素はどんなイベントを発行するシステムにおいても重要な側面である。SOAシステムは実際に頻繁にイベントを発行[し、利用]する。

この標準の発行はSOA実践者の間で大きな関心を生んだ。 Dana Gardner氏によれば、

SOAオントロジー技術標準は異なるアーキテクチャ、設計、ビジネスやマーケティング領域の架け橋となり、ビジネス側の人間と技術側の人間が問題や機会を議論するために利用可能な共通の用語と概念の対応を提供してくれる。そしてまた、SOAプロジェクトが進展するのに応じて再利用しうる一貫したフレームワークを提供することによって、特化した領域におけるさらなる活動の基盤を提供するだろう。

Heather Kreger氏によれば

[オントロジーは]単にSOAの主要概念について読み、理解することのためにも使えるが、さらに重要なことは、それが一連の定義のセットであり、企業内や組織間においてそれを利用して合意に至ることができる主要概念の理解するためにも利用できる、ということである。あなたが‘同じ言葉を話している’と確認することは、アーキテクトがIT、ビジネス、マーケティングの専門家が企業内やベンダーやサプライヤーと企業の外で効果的にコミュニケーションをとることができるためにもっとも重要なことである。

現在SOAの用語が急激に増殖しており、それがSOAに損害をもたらしている。これらの定義をまとめ、組織化しようとする新しいOpen Group標準は、共通のSOA言語を構築する大きな一歩である。この共通言語は正しい質問を投げかけたり、得られた回答を曖昧さがない形で解釈することを確かにする助けとなるだろう。

この記事に星をつける

おすすめ度
スタイル

BT