検索
連載

複数のWebサービスをWSFLでまとめるSOAPの仕掛け(最終回)(1/3 ページ)

PC用表示 関連情報
Share
Tweet
LINE
Hatena

Webサービスのフローを定義するWSFL

 WSFL(Web Services Flow Language)は、Webサービスのフロー定義を行うためのXML言語である。WSFLを利用すると、複数のWebサービスを一連のサービスとしてまとめあげるといったことが可能になる。この連載の最後に、WSFLの位置付け、その目的と内容を簡単に紹介していく。

Webサービスが要素となるWSFL

 WSFLの仕様は、前回ご紹介したIBM Web Services Toolkit(WSTK)に入っている「wsfl.pdf」で読むことができる。現在のところ、標準化のための提案などは行われておらず、今後W3Cに提案されることになるだろう。仕様書の冒頭にも、「IBMはこのエリアでの標準を作成するときはパートナーと共同作業をすることを望んでいる。この仕様は、該当する標準化作業の素案になるはずだ。」とある。

 仕様書は100ページ以上もあり、読み解くのは簡単ではない。しかし、WSFLは今後のWebサービスについて重要な役割を果たすものになる機能を含んでいるため、その概要をここで紹介していくことにする。

 さて、そのWSFLが目指しているものはなんだろうか。イントロの章を読むと、最初に「Webサービスの組み立てに関する記述(description of Web Services compositions)のためのXML言語」といっている。また、別のところでは、「複数のWebサービスを組み合わせて1つのWebサービスに見せるためのテクノロジー」といっているところもある。

 要するに、これまでのWebサービス(WSDLで定義できるようなもの)を要素とし、その要素同士を組み合わせた「大きなかたまり」をWebサービスのさらに大きな単位として定義できるようにしようということである。組み合わせて定義された大きなものも、Webサービスとして扱えるようにすることを目指している。

複合Webサービスを組み立てる

 組み合わせて定義される「大きなWebサービス」を、WSFLの仕様書では「Web Services composition」と記述しているが、本稿では該当する正式な言葉が見つからないため、「複合Webサービス」と呼ぶことにする。

 WSFLでは、Webサービスの組み立てを、次の2つの側面からとらえている。

  • 利用パターン(usage pattern)
    Webサービスの集合の特定の使い方を示すようなビジネスプロセスの記述が、結果として得られる。

  • 会話パターン(interaction pattern)
    Webサービス同士の会話が、結果として得られる。

 WSFLでは、これらを行うために2つの定義を作る。

  • フロー・モデル(Flow Model)
    Webサービスを複数つなぎ合わせて、それを「どういう順番で呼び出すか」「どうデータを流すか」を定義する。利用パターンの定義である。

  • グローバル・モデル(Global Model)
    いくつかの組み合わせられたWebサービスが、外部とどのような会話を行うかを定義する。会話パターンの定義である。

 これらは以下の特徴を持っている。

  • 組み立ての繰り返し
    複合Webサービスは、それ自身Webサービスとして扱うことができ、さらにそれらを組み合わせて「もっと大きな」複合Webサービスとすることができる。

  • 階層型会話とピア・ツー・ピア会話
    階層型会話は、パートナー同士の「あまり変化のない会話」を示しており、ピア・ツー・ピア会話は「インスタンスごとに動的に作られる接続」を示している。

  • Webサービス・スタックとの関係
    WSFLのWebサービス・インターフェイスは、WSDLに基づいている。また、処理のないサービスを表現するためのWSEL(Web Services Endpoint Language)というのも、概念だけだが紹介されている。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る