(57)【特許請求の範囲】
【請求項１】
第１のフロー記述文書及び第２のフロー記述文書を入力する入力手段と、
前記第１のフロー記述文書と前記第２のフロー記述文書との間で記述が共通した共通部分を判断する判断手段と、
前記第２のフロー記述文書のうち前記判断手段により判断された前記共通部分を、前記共通部分を含まない、前記第１のフロー記述文書の前記共通部分を参照するための参照記述に変換する変換手段と、
前記変換された参照記述を、フロー処理実行時に前記第１のフロー記述文書の前記共通部分の実行形式を参照して実行する実行形式に展開して、記録媒体に格納する格納手段とを有することを特徴とするフロー記述文書処理装置。
【請求項２】
前記参照記述は、前記第１のフロー記述文書の識別情報と、前記共通部分の最初のタグと最後のタグとを特定するための情報とを含むことを特徴とする請求項１に記載のフロー記述文書処理装置。
【請求項３】
前記第１のフロー記述文書における前記共通部分により呼び出されるサービスは、前記第２のフロー記述文書によって呼び出されるサービスの少なくとも一部であることを特徴とする請求項１又は２に記載のフロー記述文書処理装置。
【請求項４】
前記第１のフロー記述文書と、前記共通部分が前記参照記述に変換された前記第２のフロー記述文書とを、前記参照記述に基づいて前記第２のフロー記述文書から前記第１のフロー記述文書を参照可能な記録媒体に格納する格納手段を有することを特徴とする請求項１乃至３の何れか１項に記載のフロー記述文書処理装置。
【請求項５】
前記第１のフロー記述文書と、前記共通部分が前記参照情報に変換された前記第２のフロー記述文書とは、実行可能な形式で前記記録媒体に記録されることを特徴とする請求項４に記載のフロー記述文書処理装置。
【請求項６】
入力されるＷＥＢサービスインタフェース記述文書と同一のＷＥＢサービスインタフェース記述文書が既に登録されているか否かを判定し、前記同一のＷＥＢサービスインタフェース記述文書が未だ登録されていない場合、前記入力されるＷＥＢサービスインタフェース記述文書を登録する登録手段を有することを特徴とする請求項１乃至５の何れか１項に記載のフロー記述文書処理装置。
【請求項７】
前記参照記述は、ＸＰａｔｈ（XML Path Language）式を用いて記述されることを特徴とする請求項１乃至６の何れか１項に記載のフロー記述文書処理装置。
【請求項８】
入力手段と判断手段と変換手段とを有するフロー記述文書処理装置により実行されるフロー記述文書処理方法であって、
前記入力手段が、第１のフロー記述文書及び第２のフロー記述文書を入力する入力ステップと、
前記判断手段が、前記第１のフロー記述文書と前記第２のフロー記述文書との間で記述が共通した共通部分を判断する判断ステップと、
前記変換手段が、前記第２のフロー記述文書のうち前記判断ステップにより判断された前記共通部分を、前記共通部分を含まない、前記第１のフロー記述文書の前記共通部分を参照するための参照記述に変換する変換ステップと、
前記変換された参照記述を、フロー処理実行時に前記第１のフロー記述文書の前記共通部分の実行形式を参照して実行する実行形式に展開して、記録媒体に格納する格納ステップとを有することを特徴とするフロー記述文書処理方法。
【請求項９】
第１のフロー記述文書及び第２のフロー記述文書を入力する入力手順と、
前記第１のフロー記述文書と前記第２のフロー記述文書との間で記述が共通した共通部分を判断する判断手順と、
前記第２のフロー記述文書のうち前記判断手順により判断された前記共通部分を、前記共通部分を含まない、前記第１のフロー記述文書の前記共通部分を参照するための参照記述に変換する変換手順と、
前記変換された参照記述を、フロー処理実行時に前記第１のフロー記述文書の前記共通部分の実行形式を参照して実行する実行形式に展開して、記録媒体に格納する格納手順とをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＷＥＢサービスフロー記述文書等を処理するための技術に関するものである。
【背景技術】
【０００２】
従来、ＷＥＢサービスを順次実行させるためのＷＥＢサービスフロー記述がなされた構造化文書を読み込み、その記述内容に従って、ＷＥＢサービスを順次実行させる技術が知られている。ＷＥＢサービスフロー記述は、例えば、ＷＳＢＰＥＬ（Web Service Business Process Execution Language）に従って記述されている。
【０００３】
ＷＥＢサービスフロー記述文書を読み込み、その記述内容に従ってＷＥＢサービスを順次実行させるエンジンにおいては、本来、資源が豊富なパーソナルコンピュータ機器やサーバ機器上で運用するのが一般的である。また、登録されたＷＥＢサービスフロー記述文書も別々に管理されているのも一般的であった。
【０００４】
また、複数のフロー記述又はフロー定義をいかに効率的に使用してフローを実行させるかを課題とした開発もなされている。特許文献１には、連携ワークの一覧を可能とし、同じ仕事をする複数のワークフロー管理システム間で、ワークフロー定義の再利用が可能な統合ワークフロー定義・実行方法が開示されている。
【０００５】
また、特許文献２には、複数のワークフローのプロセス定義から、類似プロセスを判断して、内部的に条件分岐を付加しながら、マージ又は再構成することで１つのワークフローとして統合させていく方法が開示されている。
【０００６】
【特許文献１】特開平１０−３０２００２号公報
【特許文献２】特開２００５−２７６１７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ここで、資源(例えばメモリ)の少ないデバイス機器にＷＥＢサービスフロー記述文書を読み込み、その記述内容に従ってＷＥＢサービスを順次実行させるエンジンを搭載させて実行させる場合を考える。従来のようにＷＥＢサービスフロー記述文書を管理する方法では、異なるＷＥＢサービスフロー記述文書同士で一部共通記述部分がある場合でも、別々に管理しているために、機器内部で重複した情報を持つことになる。従って、その分メモリの使用量が増え、登録できるＷＥＢサービスフロー記述文書の数などがより制限されるという問題があった。
【０００８】
上記特許文献１における方法は、ワークフロー管理システム毎に定義されているワークフロー定義から必要な定義部分を人間が取捨選択して抽出し、抽出した定義を組み合わせて新たにワークフロー定義を生成し、それを読み込ませてフローを実行する。但し、本方法では、取捨選択先の個々のワークフロー定義の中の一部の情報が重複しているかまでは考慮していない。そのため、仮にこの方法で同一機器内部において個々のワークフロー定義を管理するとしても、個々のワークフロー定義間で重複した情報を持つ可能性があり、メモリの使用量を減らすには至らなかった。
【０００９】
上記特許文献２における方法は、既に登録されているワークフロー用の複数のプロセス定義を検索し、検索された複数のプロセス定義をマージ又は再構成するものであり、個々に登録されているプロセス定義中の一部の情報が重複しているかまでは考慮していない。そのため、個々のプロセス定義間で重複した情報を持つ可能性があり、メモリの使用量を減らすには至らなかった。
【００１０】
そこで、本発明の目的は、記録媒体の使用量を減少させることにある。
【課題を解決するための手段】
【００１１】
本発明のフロー記述文書処理装置は、第１のフロー記述文書及び第２のフロー記述文書を入力する入力手段と、前記第１のフロー記述文書と前記第２のフロー記述文書との間で記述が共通した共通部分を判断する判断手段と、前記第２のフロー記述文書のうち前記判断手段により判断された前記共通部分を、前記共通部分を含まない、前記第１のフロー記述文書の前記共通部分を参照するための参照記述に変換する変換手段と、前記変換された参照記述を、フロー処理実行時に前記第１のフロー記述文書の前記共通部分の実行形式を参照して実行する実行形式に展開して、記録媒体に格納する格納手段とを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、第１のフロー記述文書と第２のフロー記述文書との間で記述が共通した共通部分を重複して記録媒体に格納することがなくなるため、記録媒体の使用量を減少させることが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１４】
図１は、本発明の実施形態に係るＷＥＢサービスフロー記述文書再利用処理装置（フロー記述文書処理装置）の適用例を説明するための図である。
【００１５】
図１において、１０１は、コピー、スキャン、プリント等の処理を行うことができる複合機である。この複合機には、ＷＥＢサービスフロー記述文書を読み込み、その記述内容に従ってＷＥＢサービスを順次実行させることが可能な、ＷＥＢサービスフロー処理装置１０２が搭載されている。さらに、ＷＥＢサービスフロー処理装置１０２内部に、ＷＥＢサービスフロー記述文書再利用処理装置（フロー記述文書処理装置）１０３が搭載されている。
【００１６】
１０４は、ＷＥＢサービスフロー記述文書パッケージである。ＷＥＢサービスフロー記述文書パッケージ１０４は、第一ＷＥＢサービスフロー記述文書１０５、検索処理サービス用ＷＳＤＬ文書１０６、レイアウト処理サービス用ＷＳＤＬ文書１０７及びストレージ処理サービス用ＷＳＤＬ文書１０８を１つに纏めたものである。検索処理サービス用ＷＳＤＬ文書１０６、レイアウト処理サービス用ＷＳＤＬ文書１０７及びストレージ処理サービス用ＷＳＤＬ文書１０８は、ＷＥＢサービスインタフェース記述文書である。以下では、ＷＥＢサービスインタフェース記述文書をＷＳＤＬ（Web Services Description Language）文書と称す。なお、第一ＷＥＢサービスフロー記述文書１０５は、本発明の第１のフロー記述文書の一適用例である。
【００１７】
ここで、第一ＷＥＢサービスフロー記述文書１０５の記述内容を説明する。第一ＷＥＢサービスフロー記述文書１０５には、次の内容が記述されている。即ち、クライアント１０９から検索キーワードを付加したリクエストを受け取り、検索キーワードを付加した検索処理サービス用のリクエストメッセージを生成し、検索処理サービス１１０に対してリクエストを行う。検索処理サービス１１０としては、ニュース検索サービスや書籍検索サービス等が挙げられる。
【００１８】
そして、そのレスポンスとして、検索結果を受け取り、検索結果を付加したレイアウト処理サービス用のリクエストメッセージを生成する。次に、検索結果をレイアウトし、例えばＰＤＦファイルやＳＶＧファイル等に変換するレイアウト処理サービス１１１に対してリクエストを行い、そのレスポンスとして、レイアウト結果を受け取る。
【００１９】
続いて、レイアウト結果を付加したストレージ処理サービス１１２用のリクエストメッセージを生成し、受け取ったファイル等を保管するストレージ処理サービス１１２に対してリクエストを行う。最後に、ストレージ処理結果（例えば保管成功、失敗等）を受け取り、ストレージ処理結果を付加したレスポンスメッセージを生成し、クライアント１０９へ返信する。以上のような流れでフロー処理を行うように第一ＷＥＢサービスフロー記述文書１０５は記述されている。
【００２０】
ＷＥＢサービスフロー記述文書再利用処理装置１０３は、ＷＥＢサービスフロー記述文書パッケージ１０４を読み込む。そして、ＷＥＢサービスフロー記述文書再利用処理装置１０３は、複合機内部の記憶領域（例えばハードディスクやメモリ）に情報が重複しないようにＷＥＢサービスフロー処理装置１０２が実行可能な形式にして情報を展開する。ＷＥＢサービスフロー処理装置１０２は、その展開された情報に基づいてフロー処理を実行する。
【００２１】
次に、ＷＥＢサービスフロー記述文書パッケージ１０４を読み込んだ状態の複合機１０１に対して、ＷＥＢサービスフロー記述文書パッケージ１１３を読み込ませたときの処理概要を説明する。
【００２２】
ＷＥＢサービスフロー記述文書パッケージ１１３は、第二ＷＥＢサービスフロー記述文書１１４、検索処理サービス用ＷＳＤＬ文書１１５、レイアウト処理サービス用ＷＳＤＬ文書１１６、ストレージ処理サービス用ＷＳＤＬ文書１１７及び印刷処理サービス用ＷＳＤＬ文書１１８を１つに纏めたものである。なお、第二ＷＥＢサービスフロー記述文書１１４は、本発明の第２のフロー記述文書の一適用例である。
【００２３】
ここで、第二ＷＥＢサービスフロー記述文書１１４の記述内容を説明する。第二ＷＥＢサービスフロー記述文書１１４には、次の内容が記述されている。即ち、クライアント１０９から検索キーワードを付加したリクエストを受け取り、検索キーワードを付加した検索処理サービス用のリクエストメッセージを生成し、検索処理サービス１１０に対してリクエストを行う。
【００２４】
そして、そのレスポンスとして、検索結果を受け取り、検索結果を付加したレイアウト処理サービス用のリクエストメッセージを生成する。次に、検索結果をレイアウトし、例えばＰＤＦファイルやＳＶＧファイル等に変換するレイアウト処理サービス１１１に対してリクエストを行い、そのレスポンスとして、レイアウト結果を受け取る。
【００２５】
続いて、レイアウト結果を付加したストレージ処理サービス用のリクエストメッセージを生成し、受け取ったファイル等を保管するストレージ処理サービス１１２に対してリクエストを行う。続いて、ストレージ処理結果（例えば保管成功、失敗等）を受け取り、さらに、レイアウト結果を付加した印刷処理サービス用のリクエストメッセージを生成し、レイアウト結果を印刷する印刷処理サービス１１９に対してリクエストを行う。プリンタ１２０で印刷が行われ、レスポンスとして、印刷処理結果（例えば印刷受付成功、失敗など）を受け取り、印刷処理結果を付加したレスポンスメッセージを生成し、クライアント１０９へ返信する。以上のような流れでフロー処理を行うように第二ＷＥＢサービスフロー記述文書１１４は記述されている。
【００２６】
第一ＷＥＢサービスフロー記述文書１０５と第二ＷＥＢサービスフロー記述文書１１４とを比較すると、レイアウト結果をストレージ処理サービス１１２にリクエストするフロー処理記述までは同じ内容が記述されている。そして、第二ＷＥＢサービスフロー記述文書１１４には、レイアウト結果を印刷処理サービス１１９にリクエストするフロー処理が追加されていることがわかる。同様に、１０６〜１０８のＷＳＤＬ文書も１１５〜１１７のＷＳＤＬ文書とそれぞれ同一のものであり、印刷処理サービス用ＷＳＤＬ文書１１８だけが異なる。このように、既に登録されている情報と共通の情報を含んだＷＥＢサービスフロー記述文書を登録させるような場合、本実施形態のように、重複した情報を共通化して保持することが可能なＷＥＢサービスフロー記述文書再利用処理装置１０３が有効になる。
【００２７】
次に、ＷＥＢサービスフロー記述文書再利用処理装置１０３の処理内容をＷＥＢサービスフロー記述文書の具体例を用いて説明する。
【００２８】
図２において、２０１は、第一ＷＥＢサービスフロー記述文書１０５のフロー処理記述の構成を示したものである。２０１はプログラムでいう変数宣言等を記述する宣言部２０２と、フロー処理のロジック等を記述するロジック部２０３とから構成されている。
【００２９】
２０４は、ＷＥＢサービスフロー記述文書を特定する情報及び呼び出し先各ＷＥＢサービスのＷＳＤＬ文書を特定する情報が記述されている。２０５は、ＷＥＢサービスフロー処理で用いる変数情報が記述されている。２０６は、クライアントからリクエストメッセージを受信する処理内容が記述されている。
【００３０】
２０７は、受信したクライアントリクエストメッセージから検索キーワードを抽出し、検索処理サービス用ＷＳＤＬ文書１０６の情報を基に、検索キーワードを付加した形で検索処理サービス１１０へのリクエストメッセージを生成する処理内容が記述されている。
【００３１】
２０８は、生成したリクエストメッセージを用いて検索処理サービス１１０を呼び出し、検索処理を行わせ、検索結果のレスポンスメッセージを受信する処理内容が記述されている。２０９は、受信した検索結果のレスポンスメッセージから検索結果を抽出し、レイアウト処理サービス用ＷＳＤＬ文書１０７の情報を基に、検索結果を付加した形でレイアウト処理サービス１１１へのリクエストメッセージを生成する処理内容が記述されている。
【００３２】
２１０は、生成したリクエストメッセージを用いてレイアウト処理サービス１１１を呼び出し、レイアウト処理を行わせ、レイアウト結果のレスポンスメッセージを受信する処理内容が記述されている。２１１は、受信したレイアウト結果のレスポンスメッセージからレイアウト結果を抽出し、ストレージ処理サービス用ＷＳＤＬ文書１０８の情報を基に、レイアウト結果を付加した形でストレージ処理サービス１１２へのリクエストメッセージを生成する処理内容が記述されている。
【００３３】
２１２は、生成したリクエストメッセージを用いてストレージ処理サービス１１２を呼び出し、ストレージ処理を行わせ、ストレージ処理結果のレスポンスメッセージを受信する処理内容が記述されている。２１３は、受信したストレージ処理結果のレスポンスメッセージからストレージ処理結果を抽出し、その結果を付加した形でクライアントへのレスポンスメッセージを生成する処理内容が記述されている。２１４は、生成したレスポンスメッセージを用いて、クライアントへ返信する処理内容が記述されている。
【００３４】
２１５は、２０１で示したＷＥＢサービスフロー記述文書の構成例に基づく具体的なＷＥＢサービスフロー記述文書の例である。ここでは、ＷＳＢＰＥＬというＷＥＢサービスの処理フローをＸＭＬ（eXtensible Markup Language）文書で記述するための標準仕様になっている方式で記述されている。以下、２０１で示したＷＥＢサービスフロー記述文書の構成と、ＷＥＢサービスフロー記述文書２１５とを比較する。ＷＳＢＰＥＬは、Web Service Business Process Execution Languageの略称である。
【００３５】
２１６は、２０４の記述内容に対応する。２１６には、ＷＥＢサービスフロー記述文書を特定する情報及び呼び出し先各ＷＥＢサービスのＷＳＤＬ文書を特定する情報が、<process>タグの属性値としてネームスペースで記述されている。
【００３６】
２１７は、２０５の記述内容に対応する。２１７には、フロー処理を行うときに使用するメッセージ変数の型情報がそれぞれ<variable>タグで記述されている。２１８は、２０６の記述内容に対応する。２１８には、クライアントからリクエストメッセージを受信する処理内容が、<receive>タグで記述されている。
【００３７】
２１９は、２０７の記述内容に対応する。２１９には、受信したクライアントリクエストメッセージから検索キーワードを抽出し、検索処理サービス用ＷＳＤＬ文書１０６の情報を基に、検索キーワードを付加した形で検索処理サービス１１０へのリクエストメッセージを生成する処理内容が、<assign>タグ等で記述されている。
【００３８】
２２０は、２０８の記述内容に対応する。２２０には、生成したリクエストメッセージを用いて検索処理サービス１１０を呼び出し、検索処理を行わせ、検索結果のレスポンスメッセージを受信する処理内容が、<invoke>タグで記述されている。同様にして、２２１〜２２５は、２０９〜２１３の処理内容にそれぞれ対応している。
【００３９】
２２６は、２１４の記述内容に対応する。２２６には、クライアントにレスポンスメッセージを返信する処理内容が<reply>タグで記述されている。以上のように２０３のロジック部の記述内容に対応する<receive>,<assign>,<invoke>,<reply>タグは、ＷＳＢＰＥＬではアクティビティと呼ぶ。<receive>タグはメッセージの受信に係るＷＥＢサービスフロー処理の表現を抽象化したものである。<assign>タグはメッセージの加工、変換に係るＷＥＢサービスフロー処理の表現を抽象化したものである。<invoke>タグは外部のＷＥＢサービスの呼び出しに係るＷＥＢサービスフロー処理の表現を抽象化したものである。<reply>タグは、メッセージの返信に係るＷＥＢサービスフロー処理の表現を抽象化したものである。
【００４０】
図３においても図２と同様に、３０１に第二ＷＥＢサービスフロー記述文書１１４のフロー処理記述をＷＳＢＰＥＬで示す。第一ＷＥＢサービスフロー記述文書１０５と第二ＷＥＢサービスフロー記述文書１１４とのフロー処理の違いは、最後に印刷処理をさせるか、させないかの違いである。３０１のＷＳＢＰＥＬにおいても印刷処理に関する記述部分が２１５のＷＳＢＰＥＬに追加されたものになる。
【００４１】
３０２は、３０１のＷＳＢＰＥＬを一意に特定するネームスペースが記述されている。３０３は、印刷処理サービス１１９のＷＳＤＬ文書を特定するネームスペースが記述されている。３０４は、印刷処理サービスに関連するフロー処理を行うときに使用するメッセージ変数の型情報が<variable>タグで記述されている。
【００４２】
３０５は、受信したレイアウト処理サービスからのレスポンスメッセージからレイアウト結果を抽出し、印刷処理サービス用ＷＳＤＬ文書１１８の情報を基に、レイアウト結果を付加した形で印刷処理サービス１１９へのリクエストメッセージを生成する処理内容が<assign>タグ等で記述されている。
【００４３】
３０６は、生成したリクエストメッセージを用いて印刷処理サービス１１９を呼び出し、印刷処理を行わせ、印刷処理結果(例えば印刷受付終了、失敗等)のレスポンスメッセージを受信する処理内容が<invoke>タグで記述されている。
【００４４】
３０７は、受信した印刷処理サービスからのレスポンスメッセージから印刷処理結果を抽出し、印刷処理結果を付加した形でクライアントへのレスポンスメッセージを生成する処理内容が<assign>タグ等で記述されている。
【００４５】
図４は、ＷＥＢサービスフロー記述文書再利用処理装置（フロー記述文書処理装置）１０３の処理を示すフローチャートである。
【００４６】
ステップＳ４０１において、ＷＥＢサービスフロー記述文書再利用処理装置１０３は、ＷＥＢサービスフロー記述文書パッケージを受信する。ステップＳ４０２において、ＷＥＢサービスフロー記述文書再利用処理装置１０３は、受信したＷＥＢサービスフロー記述文書パッケージからＷＥＢサービスフロー記述文書とＷＳＤＬ文書とを抽出する。ステップＳ４０１は、本発明の入力手段の一処理例である。
【００４７】
ステップＳ４０３において、ＷＥＢサービスフロー記述文書再利用処理装置１０３は、抽出したＷＳＤＬ文書をパースし、このＷＳＤＬ文書を特定するためのネームスペースを抽出する。
【００４８】
ステップＳ４０４において、ＷＥＢサービスフロー記述文書再利用処理装置１０３は、抽出したネームスペースをキーにして、既にこのＷＳＤＬ文書が記憶領域４００に登録されているか確認する。同一のＷＳＤＬ文書がまだ登録されていなければステップＳ４０５からステップＳ４０６に進み、ＷＥＢサービスフロー記述文書再利用処理装置１０３は、このＷＳＤＬ文書を記憶領域４００に登録する。登録後はステップＳ４０７に進む。記憶領域４００では、ネームスペースをキーとしてＷＳＤＬ文書を管理する。
【００４９】
ステップＳ４０４において、同一のＷＳＤＬ文書が既に登録されている場合には、ステップＳ４０５からステップＳ４０７に進む。ステップＳ４０７において、ＷＥＢサービスフロー記述文書再利用処理装置１０３は、ＷＥＢサービスフロー記述文書パッケージ内に登録作業をしていないＷＳＤＬ文書がまだ残っているかを確認する。まだ残っていればステップＳ４０８からステップＳ４０３に戻って処理を繰り返す。残っていなければ、ステップＳ４０９に進む。
【００５０】
ステップＳ４０９において、ＷＥＢサービスフロー記述文書再利用処理装置１０３は、記憶領域４００に他のＷＥＢサービスフロー記述文書が既に登録されているか確認する。既に他のＷＥＢサービスフロー記述文書が登録されていれば、ステップＳ４１０からステップＳ４１１に進む。
【００５１】
ステップＳ４１１において、ＷＥＢサービスフロー記述文書再利用処理装置１０３は、ステップＳ４０２で抽出したＷＥＢサービスフロー記述文書と、記憶領域４００に既に登録されている他のＷＥＢサービスフロー記述文書とを比較する。そして、ステップＳ４１２において、ＷＥＢサービスフロー記述文書再利用処理装置１０３は、それらの文書の間で処理を共通化できる記述部分があるかを解析する。ステップＳ４１２は、本発明の判断手段の一処理例である。
【００５２】
解析した結果、共通化できる記述部分があると判断したら、ステップＳ４１２からステップＳ４１３に進む。ステップＳ４１３において、ＷＥＢサービスフロー記述文書再利用処理装置１０３は、後から登録するステップＳ４０２で抽出したＷＥＢサービスフロー記述文書の共通化できる部分を、既に登録されているＷＥＢサービスフロー記述文書への参照情報に変換する。ステップＳ４１３は、本発明の変換手段の一処理例である。
【００５３】
ステップＳ４１４において、ＷＥＢサービスフロー記述文書再利用処理装置１０３は、参照情報に変換されたＷＥＢサービスフロー記述文書とＷＥＢサービスフロー記述文書そのものとをＷＥＢサービスフロー処理装置１０２が実行可能な形式にする。そして、ＷＥＢサービスフロー記述文書再利用処理装置１０３は、ＷＥＢサービスフロー処理装置１０２が実行可能な形式に変換されたＷＥＢサービスフロー記述文書を記憶領域４００に登録する。このとき、ＷＥＢサービスフロー記述文書は、参照情報に基づいて他のＷＥＢサービスフロー記述文書を参照可能なように記憶領域４００に格納される。この処理は、本発明の格納手段の一処理例である。
【００５４】
ステップＳ４１２において共通化できる記述部分が無いと判断されたら、ステップＳ４１３を実行することなく、処理はステップＳ４１４に進む。このときのステップＳ４１４においては、ＷＥＢサービスフロー記述文書そのもののみがＷＥＢサービスフロー処理装置１０２によって実行可能な形式に変換され、記憶領域４００に登録される。
【００５５】
図５において、図４のステップＳ４１１の比較解析処理の具体例を簡単に示す。５０１は、第一ＷＥＢサービスフロー記述文書１０５をＷＳＢＰＥＬで示したものであり、５０２は、第二ＷＥＢサービスフロー記述文書１１４をＷＳＢＰＥＬで示したものである。両者を例えば文字列比較すると５０３及び５０４の記述部分が同一であると判断できる。
【００５６】
同様に図６において、図４のステップＳ４１１の比較解析処理のもう１つの具体例を簡単に示す。６０１は、５０１のＷＳＢＰＥＬを一度読み込みツリー構造にした図である。同様に６０２は、５０２のＷＳＢＰＥＬを一度読み込みツリー構造にした図である。このように一度ＷＳＢＰＥＬを読み込み、ツリー構造に展開してから、構造や属性値の比較によって例えば６０３及び６０４の部分が共通化可能部分であると判断する。図５及び図６にステップＳ４１１の比較解析処理の簡単な具体例を記述したが、これらの方法に限定されるものではない。
【００５７】
図７において、図４のステップＳ４１３の共通化可能部分を参照情報に変換する処理の具体例を示す。７０１は、５０１のＷＳＢＰＥＬをそのまま示したものであり、７０２は、５０２のＷＳＢＰＥＬの中で共通化可能部分を参照情報に置き換えた形で示したものである。具体的には、７０４に示すように共通化可能部分を、target属性、from属性、to属性を持つ<link>タグに置き換える。target属性には、 HYPERLINK "http://www.sample.com/bpel1" http://www.sample.com/bpel1という７０１のＷＳＢＰＥＬを特定するネームスペースを設定し、from属性には、７０３に示す<variable>タグの０番目からという意味を示す。そのため、ＸＰａｔｈ式/variables/variable[0]で指定し、to属性には、７０３に示す<variable>タグの７番目までという意味を示すために、ＸＰａｔｈ式/variables/variable[7]で指定する。これにより、７０３に示す記述部分を参照することが可能になる。同様にして、７０６においても<link>タグに置き換えることで、７０５に示す記述部分を参照することが可能になる。以上のように共通化可能部分を参照情報に変換する。なお、ＸＰａｔｈとは、XML Path Languageの略称である。
【００５８】
図８において、図４のステップＳ４１４のＷＥＢサービスフロー記述文書をＷＥＢサービスフロー処理装置１０２が実行可能な形式にして、記憶領域４００に登録する処理の流れを説明する。
【００５９】
８０１は、７０１のＷＳＢＰＥＬから<sequence>タグで囲まれたロジック部の情報だけを示したものであり、８０２も同様に７０２のＷＳＢＰＥＬから<sequence>タグで囲まれたロジック部の情報だけを示したものである。８０３の参照記述部分から８０４のロジック部分の一部を参照している。
【００６０】
８０５は、図４のステップＳ４１４のＷＥＢサービスフロー記述文書をＷＥＢサービスフロー処理装置１０２が実行可能な形式にして、記憶領域４００に登録する処理を示した部分になる。
【００６１】
８０６において、８０１のＷＳＢＰＥＬを読み込むと、８０７の記憶領域に８０８に示すようにＷＳＢＰＥＬを実行できるインスタンス形式に展開する。そして、８０９において、クライアント又は他のＷＥＢサービスフロー処理からの実行指示、つまりリクエストがあるまで、リクエストをいつでも受け付ける状態で待っている。
【００６２】
同様に、８０２のＷＳＢＰＥＬを読み込むと、８０７の記憶領域に８１０に示すようにＷＳＢＰＥＬを実行できるインスタンス形式に展開する。このとき８０３の<link>タグの情報もそのままインスタンス形式８１１として展開する。８１２において、クライアントもしくは他のＷＥＢサービスフロー処理からの実行指示、つまりリクエストがあるまで、リクエストをいつでも受け付ける状態で待っている。
【００６３】
８１３はＷＥＢサービスフロー処理装置１０２であり、クライアント８１４から８１２に対して８０２のＷＳＢＰＥＬの実行リクエスト８１５があると、８１６において８１０のインスタンス情報をもとに８０２のＷＳＢＰＥＬの内容を順次実行する。そして、ＷＥＢサービスフロー処理装置１０２は、８０３の<link>タグ部分を実行する順番がきたら、<link>タグの情報もそのままインスタンス形式にした８１１のインスタンス情報をもとに実行する。
【００６４】
<link>タグの情報もそのままインスタンス形式にした８１１には、８０１のＷＳＢＰＥＬの一部を参照して実行するという内容になっているので、ＷＥＢサービスフロー処理装置１０２は、８０９に対して実行指示を出す。８０９は<link>タグの情報をそのままインスタンス形式にしたインスタンスからの実行指示なので、ＷＥＢサービスフロー処理装置１０２は、８０８のインスタンスにおいて実行する部分を特定し、８１７において実行する。
【００６５】
ＷＥＢサービスフロー処理装置１０２は、その処理を実行し終わったら呼び出しもとの８１６に終了通知を出し、８１６で残りのフロー処理を実行する。フロー処理が終わったら、ＷＥＢサービスフロー処理装置１０２は、８１７で呼び出しもとのクライアントへ返信する。
【００６６】
以上のように、本実施形態では、複数のＷＥＢサービスフロー記述文書の登録時に、処理の共通化が可能な記述部分を重複して持たない、そして、そのまま読み込んで実行可能となるＷＥＢサービスフロー記述文書に変換するようにしている。従って、本実施形態によれば、できるだけ資源（例えばハードディスク、メモリなど）の使用量を抑えながら、一連のＷＥＢサービスフロー処理を実現することが可能となる。
【００６７】
図９は、本発明の実施形態に係るＷＥＢサービスフロー記述文書再利用処理装置（フロー記述文書処理装置）の構成を示す図である。
【００６８】
図９に示されるように、ＷＥＢサービスフロー記述文書再利用処理装置は、ハードウェア構成として、入力装置９０１、表示装置９０２、記録媒体ドライブ装置９０３、ＲＯＭ９０５、ＲＡＭ９０６、ＣＰＵ又はＭＰＵ９０７、インタフェース装置９０８及びＨＤ（ハードディスク）９０９を含む。
【００６９】
入力装置９０１は、ＷＥＢサービスフロー記述文書再利用処理装置の操作者（オペレータ）が操作するキーボード及びマウス等で構成され、情報処理装置に各種操作情報等を入力するのに用いられる。
【００７０】
表示装置９０２は、ＷＥＢサービスフロー記述文書再利用処理装置の操作者が利用するディスプレイ等で構成され、各種情報（又は画面）等を表示するのに用いられる。インタフェース装置９０８は、ＷＥＢサービスフロー記述文書再利用処理装置をネットワーク等に接続するインタフェースである。
【００７１】
前述したフローチャート等に係るプログラムは、例えばＣＤ−ＲＯＭ等の記録媒体９０４によって情報処理装置（コンピュータ）に提供されるか、ネットワーク等を通じてダウンロードされる。
【００７２】
記録媒体９０４は、記録媒体ドライブ装置９０３にセットされ、プログラムが記録媒体９０４から記録媒体ドライブ装置９０３を介してＨＤ９０９にインストールされる。ＲＯＭ９０５は情報処理装置の電源投入時に最初に読み込まれるプログラム等を格納する。
【００７３】
ＲＡＭ１６は、情報処理装置のメインメモリである。ＣＰＵ９０７は、ＨＤ９０９よりプログラムを読み出してＲＡＭ９０６に格納し、プログラムを実行することで、図４に示すフローチャートを実現したりする。また、ＲＡＭ１６は、記憶領域４０７や８０９にも相当する構成である。ＨＤ９０９は、プログラム以外に例えばＷＥＢサービスフロー記述文書、ＷＳＤＬ文書等を格納する。
【００７４】
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施形態に係るＷＥＢサービスフロー記述文書再利用処理装置（フロー記述文書処理装置）の適用例を説明するための図である。
【図２】ＷＥＢサービスフロー記述文書の例を示す図である。
【図３】ＷＥＢサービスフロー記述文書の例を示す図である。
【図４】ＷＥＢサービスフロー記述文書再利用処理装置の処理を示すフローチャートである。
【図５】図４のステップ４１１の処理の具体例を示した図である。
【図６】図４のステップ４１１の処理の具体例を示した図である。
【図７】図４のステップ４１３の処理の具体例を示した図である。
【図８】図４のステップ４１４の処理の具体例を示した図である。
【図９】本発明の実施形態に係るＷＥＢサービスフロー記述文書再利用処理装置のハードウェア構成の一例を示す図である。
【符号の説明】
【００７６】
１０１  複合機
１０２  ＷＥＢサービスフロー処理装置
１０３  ＷＥＢサービスフロー記述文書再利用処理装置（フロー記述文書処理装置）
１０４、１１３  ＷＥＢサービスフロー記述文書パッケージ
１０５  第一ＷＥＢサービスフロー記述文書
１０６、１１５  検索処理サービス用ＷＳＤＬ
１０７、１１６  レイアウト処理サービス用ＷＤＳＬ
１０８、１１７  ストレージ処理サービス用ＷＤＳＬ
１０９  クライアント
１１０  検索処理サービス
１１１  レイアウト処理サービス
１１２  ストレージ処理サービス
１１４  第二ＷＥＢサービスフロー記述文書
１１８  印刷処理サービス用ＷＤＳＬ
１１９  印刷処理サービス
１２０  プリンタ
【図１】
0005235349.tif 000002
【図２】
0005235349.tif 000003
【図３】
0005235349.tif 000004
【図４】
0005235349.tif 000005
【図５】
0005235349.tif 000006
【図６】
0005235349.tif 000007
【図７】
0005235349.tif 000008
【図８】
0005235349.tif 000009
【図９】
0005235349.tif 000010