(57)【要約】【課題】  複数のワークフローシステムの使用するAPI群の仕様が異なっていた場合や、仕様が似た関数が少ない場合にワークフローシステムがＷＥＢサービスを介して他のワークフローシステムと連携を行うことが困難なこと。【解決手段】  複数のワークフローシステム間の連携を、複数のワークフローシステムのWSDLからインターフェースの違いを吸収する変換機能を付加して一つのWSDLを作成することにより行う。開発者はベンダー独自のインターフェースに悩まされることなく業務ロジックを開発できる。【選択図】  図２
2005346408.tif 000002
【特許請求の範囲】
【請求項１】
ワークフローシステムをWebサービスとして利用するシステムにおいて、複数のワーク
フローシステム間の連携情報と各ワークフローシステムの入出力情報であるWＳDLから複
数のワークフローシステムを利用するための共通ＷＳＤＬ生成部と各ワークフローシステ
ム間を連携するWebサービスアプリケーション生成部を備えることを特徴とするワークフ
ローシステムとWebサービスの連携システム。
【請求項２】
ワークフローシステムをWebサービスとして利用するシステムにおいて、複数のワーク
フローシステム間の連携情報と各ワークフローシステムの入出力情報であるWＳDLから複
数のワークフローシステムを利用するための共通ＷＳＤＬを生成するステップと各ワーク
フローシステム間を連携するWebサービスアプリケーションを生成するステップを備える
ことを特徴とするワークフローシステムとWebサービスの連携方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はワークフローのシステム間をWSDLと連係情報を用いて連携するワークフローシ
ステムに関するものである。
【背景技術】
【０００２】
ワークフローシステムを利用して構築された業務システムを広くＩｎｔｅｒｎｅｔから
利用できるようにするためＷＥＢサービスとして公開されたワークフローシステムがある
。従来このようなワークフローシステム内においては独自実装されたＡＰＩを使用して業
務が構成されているためワークフローシステム毎にインターフェースが異なる。あるワー
クフローシステム内で開発された業務がＷｅｂサービスとして公開されているとし、その
ＷＥＢサービスを使用するにはそのＷＥＢサービスとして公開されたワークフローシステ
ムの独自ＡＰＩを使用して業務を開発しなければならない。
【０００３】
【特許文献１】特開２００３−２５６６２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ワークフローシステムがＷＥＢサービスを介して他のワークフローシステムと連携を行
うことが困難なこと。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、ＷＥＢサービスとして公開することが可能なワークフロー
システムの複数のＷＳＤＬと、共通化されたインターフェースとワークフローシステム内
で独自間発されたＡＰＩインターフェースとの連携をするための連係情報を入力として、
ＷＳＤＬとＷＥＢサービスアプリケーションのプログラムを生成する手段を有している。
【発明の効果】
【０００６】
ワークフローシステムがＷＥＢサービスを介して他のワークフローシステムと連携を行
うことが可能になる。ワークフローシステムとしてのインターフェースを共通化すること
で開発者の負荷を軽減する。
【発明を実施するための最良の形態】
【０００７】
以下に、本発明の実施形態について図面を用いて説明する。システム構成図を図１に、
示す。図１におけるＷＥＢサーバ１００はオペレーティングシステム１０５とアプリケー
ションサーバ１０４とＷＥＢサービスアプリケーション１０３とワークフローシステム１
０２から構成され、ワークフローのサービスが動作中であり、インターネット１０７に接
続されている。ＷＥＢサービスクライアント１０６はインターネット１０７を通じてアプ
リケーションサーバ１００上で動作しているワークフローのサービスを利用する。
【０００８】
本システム全体図を図２に示す。ワークフローシステムＡ２００とワークフローシステ
ムＢ２０１、その他のワークフローシステム・・・２０２はそれぞれＷＥＢサービスとし
て利用するために、ＷＥＢサービスクライアント１０６がネットワーク１０５を介して、
ＷＥＢサービスアプリケーション１０３を呼び出し、ＷＥＢサービスアプリケーション１
０３はワークフローシステムプログラム１０２を呼び出しワークフローで使用する情報を
ＤＢＭＳ１０１に保存し管理するような一連のワークフロー管理機構をそれぞれ有してい
る。本発明であるＷＥＢアプリケーションプログラム生成システム２０６はワークフロー
システムＡ２００の公開するＷＳＤＬ Ａ２０３とワークフローシステムＢ２０１の公開
するＷＳＤＬ Ｂ２０４、その他のワークフローシステム・・・２０２の公開するＷＳＤ
ＬＷＳＤＬ ・・・２０５これら複数のＷＳＤＬと共通化されたインターフェースとを連
携をするための連係情報２０８を元にしてＷＥＢサービスアプリケーション１０３とＷＥ
Ｂサービスクライアント１０６とＷＥＢサービスアプリケーション１０３が相互にアクセ
スするためのインターフェース定義であるＷＳＤＬ２０７を生成する。
【０００９】
図３にＷＥＢサービスアプリケーションプログラム生成システム２０６の内部構造を示
す。ＷＳＤＬ Ａ２０３とＷＳＤＬ Ｂ２０４、ＷＳＤＬ・・・２０５は各ワークフローシ
ステムのＷＳＤＬである。通常のワークフローシステムでは公開されたそれぞれのＷＳＤ
ＬからＷＥＢサービスアプリケーションを作成可能である。本発明のＷＥＢサービスアプ
リケーションプログラム生成システム２０６では、これら複数のワークフローシステムの
ＷＳＤＬと、連携情報２０８、共通のＷＳＤＬ２０７とＷＥＢサービスアプリケーション
プログラム１０３を生成する。ＷＥＢサービスアプリケーションプログラム生成システム
２０６は情報取得部３００とＷＳＤＬ生成部３０１、ＷＥＢサービスアプリケーション生
成部３０２の３つの処理部から構成される。ＷＥＢサービスアプリケーションプログラム
生成システム２０６は情報取得部３００において連係情報の解析及びＷＳＤＬの解析を行
い、入出力情報の定義を行う。ＷＳＤＬ生成部３０１では入出力情報の定義から連係情報
に記述された仕様のＷＳＤＬ２０７を生成する。ＷＥＢサービスアプリケーション生成部
３０２では情報取得部３００で得られた情報を元に連携情報２０８された仕様のＷＥＢサ
ービスアプリケーションプログラム１０３を生成する。
【００１０】
図４に情報取得部３００で取得する各ワークフローアプリケーションのＷＳＤＬと連携
情報２０８を元にＷＳＤＬ生成部３０１がどのようにしてＷＳＤＬ２０７を生成するか示
す。ワークフローシステム Ａ２００の公開しているＷＳＤＬ Ａ２０３があるとして関数
情報４００を取得する。関数情報４００は情報の一部として案件処理関数名goNextNode４
０１と案件開始の際に必要となる業務データとして次のデータを持つとする。入力データ
の案件タイトルtitleをString型４０２、入力データの日付startDateをDate型４０３、入
力データの案件ＩＤapplyIDをint型４０４の以上３つの入力データをもつ。ワークフロー
システム Ｂ２０１の公開しているＷＳＤＬ Ｂ２０４があるとして関数情報４０５を取得
する。関数情報４０５は情報の一部として、案件処理関数名startNode４０６と案件開始
の際に必要となる業務データとして次のデータを持つ。入力データのノード名nodeNameを
String型４０７、入力データの開始時刻startTimeをlong型４０８、入力データの案件関
係者iDParticipantをint型４０９の以上３つの入力データをもつ。これら複数のＷＳＤＬ
に定義してあるこれらの情報を情報取得部３００は取得する。連携情報２０８は案件開始
関数情報２１３として共通案件開始関数start４１７を定義している。この共通案件関数s
tart４１７は複数の連携パターンを持つ。パターンＡにはstart関数とgoNextNode関数は
対応可能であるということと、関数連携情報データが定義している。パターンＢにはstar
t関数とstartNode関数は対応可能であることと、関数連携情報データが定義してある。こ
れらのパターン情報を介してＷＳＤＬで定義されている関数が共通関数に変換される。変
換された後の関数定義は連携情報２０８で共通関数として定義されている。連携情報２０
８はその他にデータ取得関数４１８として複数の関数連携情報を定義可能で、例えばデー
タ取得関数getDataの連携パターン４１８を定義することができる。連携情報２０８はそ
の他複数の共通関数情報４１９とそのパターン情報から構成されている。共通案件開始関
数start関数の情報は連携情報２０８に入っており、名前nameをString型４１２、モードm
odeをString型４２３、日付dateをlong型４１５、IDとしてint型４１５ID2としてint型を
定義している。連携情報２０８のパターン情報は、共有関数と、もともとの関数の引数の
違い、型の違いを吸収する作りになるように作成する。本例の場合ならばgoNextNode関数
４０１の最初の引数title４０２は共通関数start４１１に置き換えると、性質の似ている
ことから最初の引数のnameに置き換わるようにパターン情報に記述する。goNextNodeの2
番目の引数startData４０３は性質の似ていることから共通関数start４１１のdate４１４
に置き換わるようにパターン情報に記述する。型の変換方法はパターン情報に記述する。
また、引数情報が合わない、引数が足らないときは代用する、省くなどしてその他の対応
をするようにパターンファイルに記述する。ＷＥＢサービスアプリケーションプログラム
生成システム２０６は連係情報２１３と入力された複数のＷＳＤＬを解析して、共通案件
開始関数start関数４１１を含む共通ＷＳＤＬ２０７を生成する。
【００１１】
図５に情報取得部３００における連携情報２０８の取得処理の流れを示す。連携情報２
０８、ＷＳＤＬをチェックする処理５００で、連係情報・ＷＳＤＬの文法を解析して妥当
なものか検証する処理を行う。連携情報２０８は図９に示すようにＸＭＬファイル形式で
あるので、字句解析および構文解析がＤＯＭ及びＳＡＸを使用して容易に解析可能である
。連携情報２０８に記述された関数の登録回数分ループ５０１の中で、入出力データの引
数・型・関数情報を取得する処理５０２で連係情報を解析する。解析済みの共通関数に登
録されたパターン数回分ループ５０３の中で、変換するパターンの引数・関数情報・型を
取得５０４して、入力データ出力データの型定義５０５を行う。変関するパターン数回分
のループ処理を終了５０６する。連携情報２０８の共通関数分のループ処理を終了５０７
する。以上で情報取得部の解析は終了する。
【００１２】
図６に情報取得部３００でのＷＳＤＬの取得処理の流れを示す。取得するＷＳＤＬファ
イル数回ループ６００する。ＷＳＤＬで定義されている関数回分ループ６０１して、全て
の関数情報を取得する。取得した関数情報のデータのうち入出力データかで判断６０２し
て入力ならば入力データ型(Request)の型定義を取得６０３し、出力ならば出力データ型
（Request）の型定義を取得６０４する。XML Schemaで定義されている型を取得して、定
義されたデータ型に変換６０５する。関数分のループ処理６０６を終了し、ＷＳＤＬの読
み込み回数分のループ処理を終了６０７する。
【００１３】
図７にＷＳＤＬ生成部の処理の流れを示す。連携情報２０８とＷＳＤＬの情報と一致し
ている関数回数分ループ処理７００を行う。連係情報に登録された仕様のＷＳＤＬのmess
age・portType・binding部分を生成７０１する。繰り返し処理は終了０２する。ＷＳＤＬ
のport・servise部分をＳＯＡＰ実行環境に合わせて生成７０３する。
【００１４】
図８にＷＥＢサービスアプリケーション生成部３０２の処理の流れを示す。ＷＥＢサー
ビスアプリケーションのフレームワークを生成８００する。連係情報とＷＳＤＬの情報と
一致した関数分ループ８０１する。ＷＥＢサービスアプリケーションの処理部分を生成８
０２する。ループを終了８０３する。
【００１５】
図９・図１０に連携情報２０８のサンプルを示す。連携情報２０８は対応可能なＷＳＤ
Ｌを記述する部分９０２から９０５と、データ型を定義する部分９０６から９０８、各共
通関数と連携するためのパターンを定義する部分９１０から１０２３からなる。本サンプ
ルにおいて共通関数startとして関数情報９１１〜１００７を記述している。パターン１ 
９２０〜９２６でgoNextNode関数と連携するためのパターン情報を記述している。ＷＳＤ
Ｌ Ａ３００に定義されていた案件開始関数goNextNodeは３つの入力データを持っている
。パターン１にはこれらの入力データを共通関数であるstartの引数にマップする情報を
持っている。パターン情報は引数の型dataType、名前targetName、値tartgetValueの属性
を持った引数の情報の複合からなる。goNextNodeの最初の引数であるtitle９２２はtarge
tValue属性により、start関数のname引数９１４にマップする。dateType属性はgoNextNod
e３０５のtitle引数３０６のデータ型がString型であることを定義する。targetName属性
はこの引数をマップする引数名を特定する。targetValue属性はマップするときに値を操
作する必要がある場合に値となるデータを記述する。
【００１６】
ＷＥＢサービスアプリケーションプログラム生成システム２０６はこの連携情報２０８
を元に各ワークフローシステムで公開されたＷＳＤＬから共通関数をコールするＷＥＢサ
ービスアプリケーションを生成する。
【図面の簡単な説明】
【００１７】
【図１】システム構成図。
【図２】システム全体図。
【図３】ＷＥＢサービスアプリケーションプログラム生成システム２０６の内部構造図。
【図４】ＷＥＢサービスアプリケーションプログラム生成システムの生成方法図。
【図５】連携情報２０８の取得処理の流れ図。
【図６】ＷＳＤＬ情報の取得処理の流れ図。
【図７】ＷＳＤＬ生成部の処理の流れ図。
【図８】ＷＥＢサービスアプリケーション生成部処理の流れ図。
【図９】連係情報２０８のサンプル図。
【図１０】連携情報２０８のサンプル図。
【符号の説明】
【００１８】
１００…WEBサーバ、１０１…DBMS データベースマネージメントシステム、１０２…ワ
ークフローシステム、１０３…EBサービスアプリケーション、１０４…アプリケーション
サーバ、１０５…オペレーティングシステム、１０６…WEBサービスクライアント、１０
７…インターネット、２０６…WEBサービスアプリケーションプログラム生成システム、
２０７…WEBサービスアプリケーションが出力するWSDL。
【図１】
2005346408.tif 000003
【図２】
2005346408.tif 000004
【図３】
2005346408.tif 000005
【図４】
2005346408.tif 000006
【図５】
2005346408.tif 000007
【図６】
2005346408.tif 000008
【図７】
2005346408.tif 000009
【図８】
2005346408.tif 000010
【図９】
2005346408.tif 000011
【図１０】
2005346408.tif 000012