(57)【特許請求の範囲】
【請求項１】
順次処理が記述された順次処理記述文書を読み取り、前記順次処理記述文書に記述された前記順次処理に従って複数の処理を順に行う順次処理手段を有するＷｅｂサービス装置であって、
前記順次処理手段は、
クライアントからメッセージを受け取り、処理を実行して、処理結果を格納する第１の処理の記述部分と、前記処理結果が格納された変数を次に呼び出すＷｅｂサービスが用いる変数に変換する第２の処理の記述部分と、第２のＷｅｂサービスを呼び出す第３の処理の記述部分と、前記第２のＷｅｂサービスが用いる変数を第３のＷｅｂサービスが用いる変数へ変換する第４の処理の記述部分と、前記第３のＷｅｂサービスを呼び出す第５の処理の記述部分と、が含まれる前記順次処理記述文書に従って、
前記クライアントからメッセージを受け取り、前記処理を実行して、前記処理結果を格納し、前記処理結果が格納された変数を前記次に呼び出すＷｅｂサービスが用いる変数に変換し、
前記第１、第２、第３、第４及び第５の処理の記述部分が含まれる順次処理記述文書から前記第３の処理の記述部分と前記第４の処理の記述部分とを削除して、前記第１、第２及び第５の処理の記述部分を含む新たな順次処理記述文書を作成して、
前記新たな順次処理記述文書と、前記処理結果とを用いて、前記第２のＷｅｂサービスを呼び出すことを特徴とするＷｅｂサービス装置。
【請求項２】
前記順次処理手段は、前記順次処理の最終処理結果を受け取る場合、前記最終処理結果を自身に戻させるためのコールバック情報を前記順次処理記述文書に付加することを特徴とする請求項１に記載のＷｅｂサービス装置。
【請求項３】
順次処理が記述された順次処理記述文書を読み取り、前記順次処理記述文書に記述された前記順次処理に従って複数の処理を順に行う順次処理手段を有するＷｅｂサービス装置における順次処理移譲方法であって、
前記順次処理手段が、
クライアントからメッセージを受け取り、処理を実行して、処理結果を格納する第１の処理の記述部分と、前記処理結果が格納された変数を次に呼び出すＷｅｂサービスが用いる変数に変換する第２の処理の記述部分と、第２のＷｅｂサービスを呼び出す第３の処理の記述部分と、前記第２のＷｅｂサービスが用いる変数を第３のＷｅｂサービスが用いる変数へ変換する第４の処理の記述部分と、前記第３のＷｅｂサービスを呼び出す第５の処理の記述部分と、が含まれる前記順次処理記述文書に従って、
前記クライアントからメッセージを受け取り、前記処理を実行して、前記処理結果を格納し、前記処理結果が格納された変数を前記次に呼び出すＷｅｂサービスが用いる変数に変換し、
前記第１、第２、第３、第４及び第５の処理の記述部分が含まれる順次処理記述文書から前記第３の処理の記述部分と前記第４の処理の記述部分とを削除して、前記第１、第２及び第５の処理の記述部分を含む新たな順次処理記述文書を作成して、
前記新たな順次処理記述文書と、前記処理結果とを用いて、前記第２のＷｅｂサービスを呼び出す順次処理ステップを有することを特徴とする順次処理移譲方法。
【請求項４】
前記順次処理ステップでは、前記順次処理の最終処理結果を受け取る場合、前記最終処理結果を自身に戻させるためのコールバック情報を前記順次処理記述文書に付加することを特徴とする請求項３に記載の順次処理移譲方法。
【請求項５】
コンピュータを、
順次処理が記述された順次処理記述文書を読み取り、前記順次処理記述文書に記述された前記順次処理に従って複数の処理を順に行う順次処理手段として機能させるプログラムであって、
前記順次処理手段は、
クライアントからメッセージを受け取り、処理を実行して、処理結果を格納する第１の処理の記述部分と、前記処理結果が格納された変数を次に呼び出すＷｅｂサービスが用いる変数に変換する第２の処理の記述部分と、第２のＷｅｂサービスを呼び出す第３の処理の記述部分と、前記第２のＷｅｂサービスが用いる変数を第３のＷｅｂサービスが用いる変数へ変換する第４の処理の記述部分と、前記第３のＷｅｂサービスを呼び出す第５の処理の記述部分と、が含まれる前記順次処理記述文書に従って、
前記クライアントからメッセージを受け取り、前記処理を実行して、前記処理結果を格納し、前記処理結果が格納された変数を前記次に呼び出すＷｅｂサービスが用いる変数に変換し、
前記第１、第２、第３、第４及び第５の処理の記述部分が含まれる順次処理記述文書から前記第３の処理の記述部分と前記第４の処理の記述部分とを削除して、前記第１、第２及び第５の処理の記述部分を含む新たな順次処理記述文書を作成して、
前記新たな順次処理記述文書と、前記処理結果とを用いて、前記第２のＷｅｂサービスを呼び出すことを特徴とするプログラム。
【請求項６】
前記順次処理手段は、前記順次処理の最終処理結果を受け取る場合、前記最終処理結果を自身に戻させるためのコールバック情報を前記順次処理記述文書に付加することを特徴とする請求項５に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、順次処理移譲装置及び順次処理移譲方法に関する。
【背景技術】
【０００２】
従来、ある１つの処理を複数のＷｅｂサービスを呼び出して処理させることで完結させる場合、順次処理記述文書（例えばＷＳＢＰＥＬ等）を解釈できるＷｅｂサービスが中心となって、処理を行った。つまり、順次処理記述文書を解釈できるＷｅｂサービスがクライアントから順次処理記述文書を含むリクエストを受け取り、順次処理記述文書通りに他のＷｅｂサービスを次々に呼び出して処理させ、結果をクライアントに返していた。なお、ＷＳＢＰＥＬとは、Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｂｕｓｉｎｅｓｓ  Ｐｒｏｃｅｓｓ  Ｅｘｅｃｕｔｉｏｎ  Ｌａｎｇｕａｇｅの略である。特許文献１に、関連する技術が開示されている。
【０００３】
【特許文献１】特開２００４−２８８０２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の方法では、上述したように、順次処理記述文書を解釈できる中心となるＷｅｂサービスが、他のＷｅｂサービスの処理結果を常に受け取り、その受け取った処理結果を次に呼び出すＷｅｂサービスに渡して処理させていた。つまり、中心となるＷｅｂサービスは、呼び出したＷｅｂサービス分の処理結果を毎回受け取らなくてはならならず、処理負荷がかかっていた。
【０００５】
本発明は前記の問題点に鑑みなされたもので、複数のＷｅｂサービスが連携して処理を行うことで、サービスを提供する処理において、１つのＷｅｂサービス（又は装置）に負荷が集中するのを防止することを目的とする。
【課題を解決するための手段】
【０００６】
そこで、前記問題を解決するため、本発明は、順次処理が記述された順次処理記述文書を読み取り、前記順次処理記述文書に記述された前記順次処理に従って複数の処理を順に行う順次処理手段を有するＷｅｂサービス装置であって、前記順次処理手段は、クライアントからメッセージを受け取り、処理を実行して、処理結果を格納する第１の処理の記述部分と、前記処理結果が格納された変数を次に呼び出すＷｅｂサービスが用いる変数に変換する第２の処理の記述部分と、第２のＷｅｂサービスを呼び出す第３の処理の記述部分と、前記第２のＷｅｂサービスが用いる変数を第３のＷｅｂサービスが用いる変数へ変換する第４の処理の記述部分と、前記第３のＷｅｂサービスを呼び出す第５の処理の記述部分と、が含まれる前記順次処理記述文書に従って、前記クライアントからメッセージを受け取り、前記処理を実行して、前記処理結果を格納し、前記処理結果が格納された変数を前記次に呼び出すＷｅｂサービスが用いる変数に変換し、前記第１、第２、第３、第４及び第５の処理の記述部分が含まれる順次処理記述文書から前記第３の処理の記述部分と前記第４の処理の記述部分とを削除して、前記第１、第２及び第５の処理の記述部分を含む新たな順次処理記述文書を作成して、前記新たな順次処理記述文書と、前記処理結果とを用いて、前記第２のＷｅｂサービスを呼び出すことを特徴とする。
【０００７】
係る構成とすることによって、順次処理を行うＷｅｂサービスが、他のＷｅｂサービスより毎回処理結果を受け取らなくても、各Ｗｅｂサービスが順次、次のＷｅｂサービスを呼ぶことができる。よって、複数のＷｅｂサービスが連携して行われる順次処理において、１つのＷｅｂサービス（又は装置）に処理負荷が集中するのを防止することができる。
【０００８】
なお、順次処理手段は、例えば、後述する順次処理移譲部２０６、又は順次処理移譲部２０６及び公開情報収集部２０３、又はＷｅｂサービス等に対応する。また、順次処理装置は、例えば、後述する情報処理装置等に対応する。また、特許請求の範囲に記載のコールバック情報は、例えば、後述するコールバックの情報５１０及び／又はコールバック呼び出し処理記述５１４等に対応する。
【０００９】
また、前記問題を解決するため、本発明は、順次処理移譲方法及びプログラムとしてもよい。
【発明の効果】
【００１０】
本発明によれば、複数のＷｅｂサービスが連携して行われる順次処理において、１つのＷｅｂサービス（又は装置）に処理負荷が集中するのを防止することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態について図面に基づいて説明する。
【００１２】
図１は、Ｗｅｂサービスを順次呼び出して処理をさせる場合の基本的な方法を説明するための図である。ＷｅｂサービスＴＯＰ１０１は、順次処理の中心的な役割を担うＷｅｂサービスである。ＷｅｂサービスＴＯＰ１０１は、クライアント１０２から順次処理の指示を受けると、Ｗｅｂサービス順次処理記述文書１０３を読み込む。そして、ＷｅｂサービスＴＯＰ１０１は、順次処理部１０４を利用して、Ｗｅｂサービス順次処理記述文書１０３に記述してある通りに、１０５〜１０８に示される他のＷｅｂサービス（Ａ〜Ｄ）を呼び出して処理をさせていく。
【００１３】
それぞれのＷｅｂサービスは、１０９〜１１２に示されるように、自分自身のサービスの所在地（アドレス）及び自分自身を呼び出す為のインターフェースを記述した公開情報を持っている。そして、ＷｅｂサービスＴＯＰ１０１は、予めこれらの公開情報１０９〜１１２を読み込み、呼び出すＷｅｂサービスの情報を保持している。
【００１４】
クライアント１０２が１１３に示されるようにＷｅｂサービス順次処理記述文書１０３の内容を実行させるリクエスト（メッセージを含むリクエスト）を送信し、ＷｅｂサービスＴＯＰ１０１がこのリクエストを受け取る。すると、ＷｅｂサービスＴＯＰ１０１は、Ｗｅｂサービス順次処理記述文書１０３を読み込み、上層部から順に解釈していく。そして、ＷｅｂサービスＴＯＰ１０１は、まず、クライアント１０２から受け取ったメッセージを、１１４の示されるようにＷｅｂサービスＡ１０５に投げる。すると、ＷｅｂサービスＡで処理が行われ、その処理結果が１１５に示されるようにＷｅｂサービスＴＯＰ１０１に返る。
【００１５】
同様にして、ＷｅｂサービスＴＯＰ１０１は、１１６、１１８、１２０に示されるように順番にＷｅｂサービスを呼び出す。そして、各Ｗｅｂサービスにおいて処理が行なわれ、その処理結果が１１７、１１９、１２１に示されるようにＷｅｂサービスＴＯＰ１０１に返る。
【００１６】
ＷｅｂサービスＴＯＰ１０１は、各Ｗｅｂサービスの処理結果等を、１２２に示されるように、クライアントに返す。このことによって、クライアントからのリクエストに対する処理が完結する。
【００１７】
しかし、このように、ＷｅｂサービスＴＯＰ１０１が、Ｗｅｂサービスを順次呼び出して、その都度処理結果をＷｅｂサービスＴＯＰ１０１が受け取り、クライアントからのリクエストに応える基本的な方法では、上述したような問題があった。つまり、ＷｅｂサービスＴＯＰ１０１に処理負荷がかかっていた。
【００１８】
また、例えばＷｅｂサービスＴＯＰ１０１が、各Ｗｅｂサービスからの処理結果を保持して、まとめてクライアントに返す方法では、ＷｅｂサービスＴＯＰ１０１のメモリリソースを無駄に消費する問題もあった。
【００１９】
図２は、Ｗｅｂサービスの処理を移譲していく順次処理移譲部等に係る処理の概要を示す図である。ＷｅｂサービスＴＯＰ２０１は、クライアント２０２からのリクエスト（メッセージ）を受け付ける。ＷｅｂサービスＴＯＰ２０１は、公開情報収集部２０３及び順次処理移譲部２０６を機能として有し、クライアント２０２からリクエストを受けると、公開情報収集部２０３において、Ｗｅｂサービス順次処理記述文書２０４を読み込む。
【００２０】
公開情報収集部２０３は、Ｗｅｂサービス順次処理記述文書２０４内に他のＷｅｂサービスを読み出す記述が含まれていると、この他のＷｅｂサービスの公開情報２０５を読み込む。そして、公開情報収集部２０３は、Ｗｅｂサービス順次処理記述文書２０４に、読み込んだ他のＷｅｂサービスの公開情報２０５を付加すると共にコールバックの情報等を加え、順次処理移譲部２０６に渡す。
【００２１】
なお、Ｗｅｂサービス順次処理記述文書２０４には、図１に示したＷｅｂサービス順次処理記述文書１０３と同じ内容が記述されている。つまり、各Ｗｅｂサービスを順番に呼び出して処理を完結させる処理内容が記述されている。
【００２２】
順次処理移譲部２０６は、まず、Ｗｅｂサービス順次処理記述文書２０４を順に読んでいき、最初に呼び出すＷｅｂサービス（図２の例ではＷｅｂサービスＡ）の記述が出てきたら、その部分の記述内容及びそれに関わる情報等を削除する。そして、順次処理移譲部２０６は、Ｗｅｂサービス順次処理記述文書２０４から前記情報を削除した、Ｗｅｂサービス順次処理記述文書１（２０７）を生成する。
【００２３】
順次処理移譲部２０６は、生成したＷｅｂサービス順次処理記述文書１（２０７）と、クライアントから受け付けたメッセージ（入力データ）２０８とを付随した形で、２０９に示されるように、最初のＷｅｂサービスであるＷｅｂサービスＡ２１０を呼び出す。呼び出されたＷｅｂサービスＡ２１０は、順次処理移譲部２１１を機能として有し、順次処理移譲部２１１において、メッセージと、Ｗｅｂサービス順次処理記述文書１（２０７）とを読み込み、自分自身の処理を行う。
【００２４】
また順次処理移譲部２１１は、自分自身の処理を行うと共に、Ｗｅｂサービス順次処理記述文書１（２０７）に、次に呼び出すＷｅｂサービス（図２の例ではＷｅｂサービスＢ）の記述が出てきたら、その部分の記述内容及びそれに関わる情報等を削除する。そして、順次処理移譲部２１１は、Ｗｅｂサービス順次処理記述文書１（２０７）から前記情報を削除した、Ｗｅｂサービス順序処理記述文書２（２１３）を生成する。
【００２５】
順次処理移譲部２１１は、生成したＷｅｂサービス順序処理記述文書２（２１３）と、自分自身の処理の処理結果データ２１２と付随した形で、２１４に示されるように、次のＷｅｂサービスであるＷｅｂサービスＢ２１５を呼び出す。
【００２６】
以下、同様にして、Ｗｅｂサービス間で順次処理記述文書（２１８、２１９）を渡していくことで、ＷｅｂサービスＢ２１５からＷｅｂサービスＣ２１６が呼び出され、次にＷｅｂサービスＣ２１６からＷｅｂサービスＤ２１７が呼び出される。そして、Ｗｅｂサービス間で処理結果データ（２２０、２２１）を渡していく。
【００２７】
例えば、Ｗｅｂサービス順次処理記述文書４（２１９）には、次のＷｅｂサービスの呼び出し部分の記述がもう無い。また、Ｗｅｂサービス順次処理記述文書４（２１９）には、コールバックの情報が含まれている。よって、ＷｅｂサービスＤ２１７の順次処理移譲部は、自分自身の処理結果を最終処理結果データ２２２として、コールバック先であるＷｅｂサービスＴＯＰ２０１に返す。
【００２８】
最終処理結果データ２２２を受け取ったＷｅｂサービスＴＯＰ２０１が、クライアントに最終処理結果データを含むメッセージを返すことで、一連の処理が完結する。
【００２９】
このように、順次処理記述文書内の記述を削除（及び変更）等して、Ｗｅｂサービス間で回していくことで、処理の移譲が行えるため、ＷｅｂサービスＴＯＰに処理や、データが集中せずにすむ。
【００３０】
以下、Ｗｅｂサービスが実装される、情報処理装置のハードウェア構成の一例を、図３を用いて説明する。図３は、情報処理装置のハードウェア構成の一例を示すハードウェア構成図である。図３に示されるように、情報処理装置は、ハードウェア構成として、入力装置１１と、表示装置１２と、記録媒体ドライブ装置１３と、ＲＯＭ１５と、ＲＡＭ１６と、ＣＰＵ１７と、インターフェース装置１８と、ＨＤ１９と、を含む。
【００３１】
入力装置１１は、情報処理装置の操作者（オペレータ）が操作するキーボード及びマウス等で構成され、情報処理装置に各種操作情報等を入力するのに用いられる。表示装置１２は、情報処理装置の操作者が利用するディスプレイ等で構成され、各種情報（又は画面）等を表示するのに用いられる。インターフェース装置１８は、情報処理装置をネットワーク等に接続するインターフェースである。
【００３２】
後述するフローチャート等に係るプログラムは、例えば、ＣＤ−ＲＯＭ等の記録媒体１４によって情報処理装置に提供されるか、ネットワーク等を通じてダウンロードされる。記録媒体１４は、記録媒体ドライブ装置１３にセットされ、プログラムが記録媒体１４から記録媒体ドライブ装置１３を介してＨＤ１９にインストールされる。
【００３３】
ＲＯＭ１５は、情報処理装置の電源投入時に最初に読み込まれるプログラム等を格納する。ＲＡＭ１６は、情報処理装置のメインメモリである。ＣＰＵ１７は、ＨＤ１９よりプログラムを読み出して、ＲＡＭ１６に格納し、プログラムを実行することで、図２に示したＷｅｂサービスの機能、又は順次処理移譲部（及び公開情報収集部）の機能を提供したり、後述するフローチャート等を実行したりする。また、ＨＤ１９は、プログラム以外に、例えば公開情報又は処理結果データ等を格納する。
【００３４】
図４は、公開情報の一例を示す図である。３０１は、ラベルであり、順次処理移譲部がどの公開情報を利用すれば良いかを判別するために使用する識別子（ユニークな情報）である。３０２は、自分自身のサービスの所在地（アドレス）を記述する部分であり、例えばＵＲＬ等ある。３０３は、自分自身のサービス起動用Ｉ／Ｆ情報を記述する部分である。各Ｗｅｂサービスは、このサービス起動用Ｉ／Ｆを通して入力メッセージのデータと、順次処理記述文書とを受け取り、処理を行う。
【００３５】
図５は、順次処理記述文書の一例を示す図である。４０１は、順次処理記述文書の一例を示す構成図である。４０２は、呼び出し先Ｗｅｂサービスの情報（ラベル）であり、公開情報のラベル３０１とリンクしている。４０３は、メッセージ変数情報であり、各Ｗｅｂサービスに対応した変数の宣言（型情報）が記述されている。４０４は、クライアントからメッセージを受け取り、処理を実行し、結果をセルフ用変数に格納する処理が記述されている部分である。ここで、セルフ用変数は、自分自身が扱える変数である。
【００３６】
４０５は、セルフ用変数から次に呼び出すＷｅｂサービスが扱える変数に変換し、格納する処理が記述されている部分である。４０６は、次のＷｅｂサービスを呼び出す処理が記述されている部分である。同様にして４０７〜４１３においても、変数の格納、Ｗｅｂサービスの呼び出しの処理が順番に記述されている。４１４には、クライアントへ処理結果のメッセージを返すレスポンスの処理が記述される。
【００３７】
この構成に基づく、より具体的な順次処理記述文書を示した一例が４１５である。４０１と、４１５とを比較すると、４１６で示される部分では、呼び出し先Ｗｅｂサービスの情報がネームスペースや＜ｐａｒｔｎｅｒＬｉｎｋｓ＞タグで記述されている。４１７で示される部分では、メッセージ変数の情報が、＜ｖａｒｉａｂｌｅｓ＞タグで記述されている。４１８で示される部分では、クライアントからメッセージを受け取る処理内容が＜ｒｅｃｅｉｖｅ＞タグで記述されている。
【００３８】
４１９で示される部分では、変数の格納処理が＜ａｓｓｉｇｎ＞や＜ｃｏｐｙ＞タグで記述されている。４２０では、Ｗｅｂサービスの呼び出し処理が＜ｉｎｖｏｋｅ＞タグで記述されている。４２１では、Ｗｅｂサービスを呼び出した処理結果をクライアントが解釈できる変数に格納する処理が＜ａｓｓｉｇｎ＞や＜ｃｏｐｙ＞タグで記述されている。４２２では、クライアントへ処理結果を含むメッセージを返す処理が＜ｒｅｐｌｙ＞タグで記述されている。
【００３９】
このように、Ｗｅｂサービスを順次呼び出しながら処理をさせるためのフロー記述として、ＸＭＬ文書で書くことが可能である。順次処理移譲部等は、このＸＭＬ文書を上部からパースしていき、文書内容を解釈していくことで、順番にＷｅｂサービスを呼び出し、実行させることができる。なお、４１５のＷＳＢＰＥＬ文書はあくまでも順次処理記述文書の一例である。以下、本実施形態では、４０１の構成図を利用して処理の内容を説明していく。
【００４０】
図６は、公開情報収集部２０３の処理フロー等の一例を示した図である。５０１は、順次処理記述文書である。５０２は、順次処理記述文書５０１の一例の構成である。
【００４１】
ステップＳ５０３において、公開情報収集部２０３は、順次処理記述文書５０１を読み込む。ステップＳ５０４において、公開情報収集部２０３は、順次処理記述文書５０１内に記述されてある呼び出し先Ｗｅｂサービスの情報（ラベル）を取得する。ステップＳ５０５において、公開情報収集部２０３は、取得したラベルをキーにして、呼び出し先Ｗｅｂサービスが提供している公開情報を選別する。
【００４２】
ステップＳ５０６において、公開情報収集部２０３は、選別した公開情報から必要な情報を抜き出す。そして、公開情報収集部２０３は、５０７に示されるように順次処理記述文書５０１のラベル部分に対応させる形で、５０８に示されるように公開情報に記述されている呼び出し先のＷｅｂサービスのＩ／Ｆやアドレスの情報を付加する。
【００４３】
公開情報収集部２０３は、順次処理を開始させるＷｅｂサービス（本実施形態では、ＷｅｂサービスＴＯＰ２０１）に実装されている。ＷｅｂサービスＴＯＰは、各Ｗｅｂサービスを呼び出して、それらの最終処理結果を受け取らなくてはならない。よって、ステップＳ５０９において、公開情報収集部２０３は、５１０に示されるようなコールバックの情報を、順次処理記述文書５０１に保持させる。つまり公開情報収集部２０３は自分自身のＷｅｂサービスの所在地（アドレス）やＩ／Ｆ、ＷｅｂサービスＴＯＰから見てクライアントは誰か、自分自身が扱えるメッセージの変数、呼び出し先のＷｅｂサービスが扱える変数等を順次処理記述文書５０１に付加する。
【００４４】
ステップＳ５１１において、公開情報収集部２０３は、順次記述文書５０２内の５１２で示される、セルフ用変数からＷｅｂサービスＡ用変数に変数を変換し、格納する処理記述を、以下のように変更する。つまり、公開情報収集部２０３は、前記処理記述を、セルフ用変数から常に次に呼び出すＷｅｂサービスの変数に変数を変換し、格納する処理記述に変更する。
【００４５】
続いて、ステップＳ５１３において、公開情報収集部２０３は、自分自身（ＷｅｂサービスＴＯＰ）をコールするためのコールバック呼び出し処理記述５１４を、クライアントへの処理結果のメッセージを返す処理記述５１５の前に追加する。続いて、ステップＳ５１６において、様々な情報を付加させた順次処理記述文書５０７を情報付き順次処理記述文書５１７として出力する。
【００４６】
本実施形態では、公開情報収集部２０３と、順次処理移譲部２０６と、の２つに機能を分けて説明を行なっている。しかしながら、例えば、順次処理移譲部２０６が、順次処理記述文書５０１を読み込み、順次処理記述文書５０１にコールバックの情報が含まれていなければ、自分自身が最初にこの順次処理記述文書を読み込むＷｅｂサービスだと判断するようにしてもよい。そして、このように判断した順次処理移譲部２０６が、最終結果を自分自身に返してもらえるようにコールバック呼び出し処理記述５１４を順次処理記述文書に付加するようにしてもよい。
【００４７】
図７は、順次処理移譲部２０６の処理フロー等の一例を示した図である。６０１は、情報付き順次処理記述文書であり、５１７で示した内容と同じである。
【００４８】
ステップＳ６０２において、順次処理移譲部２０６は、情報付き順次処理記述文書６０１を上部から順に読み込む。ステップＳ６０３において、順次処理移譲部２０６は、呼び出し先Ｗｅｂサービスに関連する情報を全て取得して、情報格納領域６０４に格納する。ここで、情報格納領域６０４は、ＲＡＭ１６又はＨＤ１９等に含まれる。
【００４９】
ステップＳ６０５において、順次処理移譲部２０６は、メッセージ変数の情報を情報格納領域６０４に格納する。ステップＳ６０６において順次処理移譲部２０６は、この情報付き順次処理記述文書６０１を処理するように言われた相手（クライアント）が誰か、セルフ用変数（自分自身が処理できる変数）としてどの変数を使うか等の情報を、情報格納領域６０４から取得する。
【００５０】
ステップＳ６０７において、順次処理移譲部２０６は、クライアントからのメッセージを受け取り、自分自身のサービスの処理を行い、その処理結果をセルフ用変数に格納する。ステップＳ６０８において、順次処理移譲部２０６は、セルフ用変数を次に呼び出す予定のＷｅｂサービスが解釈できるＷｅｂサービス呼び出し用変数に変換し、情報付き順次処理記述文書６０１に格納する。
【００５１】
ステップＳ６０９において、順次処理移譲部２０６は、次に記述されている処理内容が、他のＷｅｂサービスを呼ぶ処理内容か、ＷｅｂサービスＴＯＰへのコールバック呼び出し処理内容かを判断する。順次処理移譲部２０６は、次に記述されている処理内容が、他のＷｅｂサービスを呼ぶ処理内容であると判断すると、ステップＳ６１０に進み、ＷｅｂサービスＴＯＰへのコールバック呼び出し処理内容であると判断すると、ステップＳ６１７に進む。
【００５２】
ステップＳ６１０において、順次処理移譲部２０６は、次に呼び出すＷｅｂサービスのラベルに、以下の情報を付加する。つまり、順次処理移譲部２０６は、次に呼び出すＷｅｂサービスのラベルに、クライアント（誰から呼ばれるのか）、セルフ用変数（次の呼び出すＷｅｂサービスが扱える変数）、その次に呼ばれるＷｅｂサービスのＷｅｂサービス呼び出し用変数を付加する。より具体的に説明すると、６１１では、次に呼び出すＷｅｂサービスがＷｅｂサービスＡで、その次の処理がＷｅｂサービスＡ用変数からＷｅｂサービスＢ用変数への変換、格納となっている。よって、順次処理移譲部２０６は、ＷｅｂサービスＡの次に呼ばれるのがＷｅｂサービスＢと判断できる。
【００５３】
したがって、順次処理移譲部２０６は、ＷｅｂサービスＡ用のラベルＡの項目にそれぞれ、ＷｅｂサービスＴＯＰ、ＷｅｂサービスＡ用変数、ＷｅｂサービスＢ用変数を付加する。ここで、「ＷｅｂサービスＴＯＰ」とは、ＷｅｂサービスＡから見てクライアントはＷｅｂサービスＴＯＰであることを示している。また、「ＷｅｂサービスＡ用変数」とは、自分自身（ＷｅｂサービスＡ）が扱える変数はＷｅｂサービスＡ用変数であることを示している。また、「ＷｅｂサービスＢ用変数」とは、ＷｅｂサービスＡが次に呼び出すＷｅｂサービスであるＷｅｂサービスＢが扱える変数は、ＷｅｂサービスＢ用変数であることを示している。なお、順次処理移譲部２０６は、これらの情報を、情報格納領域６０４等から取得し、ラベルＡの項目に設定する。
【００５４】
ステップＳ６１３において、順次処理移譲部２０６は、次に呼び出すＷｅｂサービス呼び出し処理記述部分と、その次に記述している変数の変換、格納処理記述部分とを情報付き順次処理記述文書６０１から削除する。そして、順次処理移譲部２０６は、削除済み情報付き順次処理記述文書６１５を生成する。より具体的に説明すると、順次処理移譲部２０６は、６１１で示される、情報付き順次処理記述文書内のＷｅｂサービスＡ呼び出し処理記述部分と、ＷｅｂサービスＡ用変数からＷｅｂサービスＢ用変数への変換、格納処理記述部分とを削除する（６１４）。そして、順次処理移譲部２０６は、６１５で示されるような、削除済み情報付き順次処理記述文書６１５を生成する。
【００５５】
続いて、ステップＳ６１６において、順次処理移譲部２０６は、次のＷｅｂサービス（本実施形態の例ではＷｅｂサービスＡ）を、削除済みの情報付き順次処理記述文書６１５と、Ｗｅｂサービス呼び出し用変数とを付随して呼び出す。
【００５６】
一方、ステップＳ６１７において、順次処理移譲部２０６は、コールバックに関する情報を情報格納領域６０４から取得する。続いて、ステップＳ６１８において、順次処理移譲部２０６は、Ｗｅｂサービス呼び出し用変数（最終処理結果）を付随してコールバック関数を呼び出す。
【００５７】
このようにして、順次処理移譲部２０６は、順次処理記述文書を読み込み、処理を行うと共に、順次処理記述文書の編集を行い、次のＷｅｂサービスに、順次処理記述文書と、処理結果とを渡していく。よって、クライアントからメッセージを受け取ったＷｅｂサービスは最終処理結果だけを受け取ることができ、その結果をクライアントに返すことができる。
【００５８】
以上、上述したように本実施形態によれば、複数のＷｅｂサービスが連携して処理を行うことで、サービスを提供する処理において、１つのＷｅｂサービス（又は装置）に負荷が集中するのを防止することができる。
【００５９】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００６０】
【図１】Ｗｅｂサービスを順次呼び出して処理をさせる場合の基本的な方法を説明するための図である。
【図２】Ｗｅｂサービスの処理を移譲していく順次処理移譲部等に係る処理の概要を示す図である。
【図３】情報処理装置のハードウェア構成の一例を示すハードウェア構成図である。
【図４】公開情報の一例を示す図である。
【図５】順次処理記述文書の一例を示す図である。
【図６】公開情報収集部２０３の処理フロー等の一例を示した図である。
【図７】順次処理移譲部２０６の処理フロー等の一例を示した図である。
【符号の説明】
【００６１】
１１    入力装置
１２    表示装置
１３    記録媒体ドライブ装置
１４    記録媒体
１５    ＲＯＭ
１６    ＲＡＭ
１７    ＣＰＵ
１８    インターフェース装置
１９    ＨＤ
２０３  公開情報収集部
２０６  順次処理移譲部
【図１】
0004677355.tif 000002
【図２】
0004677355.tif 000003
【図３】
0004677355.tif 000004
【図４】
0004677355.tif 000005
【図５】
0004677355.tif 000006
【図６】
0004677355.tif 000007
【図７】
0004677355.tif 000008