(57)【要約】【課題】  サーバが提供するサービスの追加や変更に応じて、サービス利用時の動作を容易且つ適切に定義可能なクライアント、サービス利用プログラム及び記録媒体を提供することを目的とする。【解決手段】  サーバ２００に所定のネットワークを介して接続されており、サーバ２００の提供するサービスを利用するクライアント１００であって、サービス利用時のクライアント１００の動作を定義したシナリオをサーバ２００から取得して、そのシナリオに応じてサービスを利用するときの処理手順を決定するシナリオ処理機能１１４を備えたことにより上記課題を解決する。【選択図】  図３
2006072910.tif 000002
【特許請求の範囲】
【請求項１】
所定のサービスを提供するサーバに所定のネットワークを介して接続されており、前記サーバの提供するサービスを利用するクライアントであって、
前記サービス利用時のクライアントの動作を定義したシナリオを前記サーバから取得して、そのシナリオに応じて前記サービスを利用するときの処理手順を決定するシナリオ処理機能を備えたクライアント。
【請求項２】
前記シナリオ処理機能は、前記サービス利用時のクライアントの動作を、状態，利用するメソッド及び状態遷移条件で表したシナリオを前記サーバから取得することを特徴とする請求項１記載のクライアント。
【請求項３】
前記シナリオ処理機能は、前記シナリオに応じて前記サービスを利用するときの処理手順を、状態，利用するメソッド及び状態遷移条件で表すことを特徴とする請求項２記載のクライアント。
【請求項４】
前記メソッドを利用する際に必要となる情報を前記サーバから取得して、その情報に応じて前記メソッドのインターフェース仕様を決定するインターフェース処理機能を更に備えた請求項２又は３記載のクライアント。
【請求項５】
前記シナリオに含まれるメソッドが他のサービスのメソッドである場合、再帰的な処理により、前記シナリオ処理機能が前記他のサービスに対応するシナリオを取得して、そのシナリオに応じて前記他のサービスを利用するときの処理手順を決定する一方、
前記インターフェース処理機能が前記他のサービスのメソッドを利用する際に必要となる情報を前記サーバから取得して、その情報に応じて前記メソッドのインターフェース仕様を決定することを特徴とする請求項４記載のクライアント。
【請求項６】
前記シナリオ処理機能は、前記サービスの利用を開始する前に、前記サービスを利用するときの処理手順をすべて決定することを特徴とする請求項１記載のクライアント。
【請求項７】
前記シナリオ処理機能は、前記サービスの利用を開始した後に、前記サービスを利用するときの処理手順を動的に決定することを特徴とする請求項１記載のクライアント。
【請求項８】
前記シナリオ処理機能は、前記サービスを利用するときのクライアントの処理手順に応じた画面を表示手段に表示させることを特徴とする請求項１記載のクライアント。
【請求項９】
前記シナリオ処理機能は、状態定義部分，メソッド定義部分及び状態遷移条件定義部分から成るシナリオを、前記サーバから取得することを特徴とする請求項１記載のクライアント。
【請求項１０】
前記シナリオ処理機能は、前記サービス利用時のクライアントの動作を基本系列，代替系列及び例外系列で定義したシナリオを前記サーバから取得することを特徴とする請求項１記載のクライアント。
【請求項１１】
前記シナリオ処理機能は、ＸＭＬで記述されているシナリオを前記サーバから取得することを特徴とする請求項１乃至１０何れか一項記載のクライアント。
【請求項１２】
所定のサービスを提供するサーバに所定のネットワークを介して接続されており、前記サーバの提供するサービスを利用するクライアントに、
前記サービス利用時のクライアントの動作を定義したシナリオを前記サーバから取得して、そのシナリオに応じて前記サービスを利用するときの処理手順を決定するシナリオ処理機能を実行させるためのサービス利用プログラム。
【請求項１３】
前記シナリオ処理機能は、前記サービス利用時のクライアントの動作を、状態，利用するメソッド及び状態遷移条件で表したシナリオを前記サーバから取得することを特徴とする請求項１２記載のサービス利用プログラム。
【請求項１４】
前記シナリオ処理機能は、前記シナリオに応じて前記サービスを利用するときの処理手順を、状態，利用するメソッド及び状態遷移条件で表すことを特徴とする請求項１３記載のサービス利用プログラム。
【請求項１５】
前記メソッドを利用する際に必要となる情報を前記サーバから取得して、その情報に応じて前記メソッドのインターフェース仕様を決定するインターフェース処理機能を更に備えた請求項１３又は１４記載のサービス利用プログラム。
【請求項１６】
前記シナリオに含まれるメソッドが他のサービスのメソッドである場合、再帰的な処理により、前記シナリオ処理機能が前記他のサービスに対応するシナリオを取得して、そのシナリオに応じて前記他のサービスを利用するときの処理手順を決定する一方、
前記インターフェース処理機能が前記他のサービスのメソッドを利用する際に必要となる情報を前記サーバから取得して、その情報に応じて前記メソッドのインターフェース仕様を決定することを特徴とする請求項１５記載のサービス利用プログラム。
【請求項１７】
前記シナリオ処理機能は、前記サービスの利用を開始する前に、前記サービスを利用するときの処理手順をすべて決定することを特徴とする請求項１２記載のサービス利用プログラム。
【請求項１８】
前記シナリオ処理機能は、前記サービスの利用を開始した後に、前記サービスを利用するときの処理手順を動的に決定することを特徴とする請求項１２記載のサービス利用プログラム。
【請求項１９】
前記シナリオ処理機能は、前記サービスを利用するときのクライアントの処理手順に応じた画面を表示手段に表示させることを特徴とする請求項１２記載のサービス利用プログラム。
【請求項２０】
前記シナリオ処理機能は、状態定義部分，メソッド定義部分及び状態遷移条件定義部分から成るシナリオを、前記サーバから取得することを特徴とする請求項１２記載のサービス利用プログラム。
【請求項２１】
前記シナリオ処理機能は、前記サービス利用時のクライアントの動作を基本系列，代替系列及び例外系列で定義したシナリオを前記サーバから取得することを特徴とする請求項１２記載のサービス利用プログラム。
【請求項２２】
前記シナリオ処理機能は、ＸＭＬで記述されているシナリオを前記サーバから取得することを特徴とする請求項１２乃至２１何れか一項記載のサービス利用プログラム。
【請求項２３】
請求項１２乃至２２何れか一項記載のサービス利用プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント、サービス利用プログラム及び記録媒体に係り、特にサーバの提供するサービスを利用するクライアント、サービス利用プログラム、サービス利用プログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
近年、認証サービスや機器管理サービスといった各種サービスをＷｅｂサービスとしてクライアントに提供するサーバ（以下、Ｗｅｂサービスサーバという）が注目されるようになった。Ｗｅｂサービスサーバは、例えばＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）に代表されるＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ベースのプロトコルでＷｅｂサービスの呼び出しやデータの送受信などを行う。
【０００３】
また、Ｗｅｂサービスを利用するクライアント（以下、Ｗｅｂサービスクライアントという）は、Ｗｅｂサービスが持つメソッドやパラメータの情報をＷＳＤＬ（Ｗｅｂ  Ｓｅｒｖｉｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）によって取得してから、ＳＯＡＰを利用してＷｅｂサービスの呼び出しを行っていた。
【０００４】
ＷＳＤＬとは、Ｗｅｂサービスを利用する際に必要となる情報であって、Ｗｅｂサービスが持つメソッドやパラメータの情報を取得する為のデータ記述方式を定めている。すなわち、Ｗｅｂサービスクライアントは、ＷｅｂサービスのＩ／Ｆ仕様をＷＳＤＬによって取得していた（例えば、特許文献１参照）。
【０００５】
図１は、Ｗｅｂサービスシステムの一例の構成図である。図１のＷｅｂサービスシステムは、Ｗｅｂサービスクライアント１００，１つ以上のＷｅｂサービスサーバ２００及びサービスディスカバリ３００が、ネットワークを介して接続された構成である。なお、Ｗｅｂサービスシステムはサービスディスカバリ３００の無い構成も可能である。
【０００６】
Ｗｅｂサービスを利用するＷｅｂサービスクライアント１００は、アプリケーション１１０，ネットワークＩ／Ｆ１２０を含む。アプリケーション１１０は、Ｕ／Ｉ（ユーザインターフェース）１１１，動作定義部１１２，ＷＳＤＬ処理部１１３を含む。
【０００７】
また、Ｗｅｂサービスを提供するＷｅｂサービスサーバ２００は、ネットワークＩ／Ｆ２１０，Ｗｅｂサービス実行部２２０を含む。また、Ｗｅｂサービスを管理するサービスディスカバリ３００はサービス管理部３１０，ＷＳＤＬが格納されている格納部３２０を含む。
【０００８】
図２は、Ｗｅｂサービスシステムの処理を表したシーケンス図である。Ｗｅｂサービスを提供するＷｅｂサービスサーバ２００は、ステップＳ１〜Ｓ２において、ＷｅｂサービスのＩ／Ｆ仕様を記述したＷＳＤＬをサービスディスカバリ３００に登録する。また、Ｗｅｂサービスを利用するＷｅｂサービスクライアント１００は、ステップＳ３〜Ｓ４において、Ｗｅｂサービスサーバ２００が提供するＷｅｂサービスをサービスディスカバリ３００から検索する。
【０００９】
Ｗｅｂサービスクライアント１００を操作するユーザは、検索したＷｅｂサービスの中から利用したいＷｅｂサービスを決定する。Ｗｅｂサービスクライアント１００は、ステップＳ５〜Ｓ６において、ユーザにより選択されたＷｅｂサービスに関する情報（例えばＷｅｂサービス名，Ｗｅｂサービスサーバ２００のＩＰアドレス，ＷＳＤＬ等）をサービスディスカバリ３００から取得する。
【００１０】
以上、Ｗｅｂサービスクライアント１００は、ユーザにより選択されたＷｅｂサービスのＷＳＤＬを、図２に表したシーケンス図のように取得する。したがって、Ｗｅｂサービスクライアント１００は、Ｗｅｂサービスがどのようなコマンドを持っており、そのコマンドを実行する為にどのようなパラメータをどのような形式で与えればよいかを知ることができた。
【特許文献１】特開２００４−３０３６０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、ＷＳＤＬはＷｅｂサービスのＩ／Ｆ仕様を定義しているが、そのＷｅｂサービス利用時のＷｅｂサービスクライアント１００の動作を定義するものではない。したがってＷｅｂサービスクライアント１００は、ＷＳＤＬを取得しても、Ｗｅｂサービスの提供方法が変わったとき、新しい機能が追加されたとき、新しいＷｅｂサービスが追加となったときに対応できないという問題があった。
【００１２】
例えばＷｅｂサービス利用時のＷｅｂサービスクライアント１００の動作は、動作定義部１１２に予めコーディングされている。したがって、Ｗｅｂサービスクライアント１００は、Ｗｅｂサービスの提供方法が変わったとき、新しい機能が追加されたとき、新しいＷｅｂサービスが追加となったときは、動作定義部１１２を修正しなければならないという問題があった。
【００１３】
なお、特許文献１は、取得したＷＳＤＬに基づいて代理サーバ上に専用ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を作成し、その専用ＡＰＩ経由でＷｅｂサービスクライアントがＷｅｂサービスを利用するものであって、そのＷｅｂサービス利用時のＷｅｂサービスクライアントの動作を定義するものではない。
【００１４】
本発明は、上記の点に鑑みなされたもので、サーバが提供するサービスの追加や変更に応じて、サービス利用時の動作を容易且つ適切に定義可能なクライアント、サービス利用プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するため、本発明は、所定のサービスを提供するサーバに所定のネットワークを介して接続されており、前記サーバの提供するサービスを利用するクライアントであって、前記サービス利用時のクライアントの動作を定義したシナリオを前記サーバから取得して、そのシナリオに応じて前記サービスを利用するときの処理手順を決定するシナリオ処理機能を備えたことを特徴とする。なお、本発明は上記の各機能をクライアントに実行させるためのサービス利用プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体としてもよい。
【００１６】
本発明では、サービス利用時のクライアントの動作を定義したシナリオをサーバから取得して、そのシナリオに応じて、クライアントがサービスを利用するときの処理手順を決定できる。この結果、クライアントはシナリオをサーバから取得することで、サービスの追加や変更にサービス利用時の動作を対応させることができる。
【発明の効果】
【００１７】
本発明によれば、サーバが提供するサービスの追加や変更に応じて、サービス利用時の動作を容易且つ適切に定義可能なクライアント、サービス利用プログラム及び記録媒体を提供可能である。
【発明を実施するための最良の形態】
【００１８】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、以下の実施例ではサーバからクライアントに提供されるサービスの一例としてＷｅｂサービスを説明するが、他のサービスであってもよい。図３は、本発明によるＷｅｂサービスシステムの一例の構成図である。
【００１９】
図３のＷｅｂサービスシステムは、Ｗｅｂサービスクライアント１００，１つ以上のＷｅｂサービスサーバ２００，サービスディスカバリ３００およびシナリオ作成装置４００が、インターネットやＬＡＮ（ローカルエリアネットワーク）等のネットワークを介して接続された構成である。なお、Ｗｅｂサービスシステムはサービスディスカバリ３００の無い構成も可能である。
【００２０】
Ｗｅｂサービスを利用するＷｅｂサービスクライアント１００は、アプリケーション１１０，ネットワークＩ／Ｆ１２０を含む。アプリケーション１１０は、Ｕ／Ｉ１１１，ＷＳＤＬ処理部１１３，シナリオ処理部１１４を含む。アプリケーション１１０は、ネットワークＩ／Ｆ１２０を介してネットワークに接続する。
【００２１】
また、Ｗｅｂサービスを提供するＷｅｂサービスサーバ２００は、ネットワークＩ／Ｆ２１０，Ｗｅｂサービス実行部２２０，シナリオ管理部２３０を含む。Ｗｅｂサービス実行部２２０及びシナリオ管理部２３０はネットワークＩ／Ｆ２１０を介してネットワークに接続する。Ｗｅｂサービスを管理するサービスディスカバリ３００は、サービス管理部３１０，ＷＳＤＬが格納されている格納部３２０を含む。
【００２２】
また、シナリオを作成するシナリオ作成装置４００はアプリケーション４１０，ネットワークＩ／Ｆ４２０を含む。アプリケーション４１０は、Ｕ／Ｉ４１１，エディタ制御部４１２，データ解析部４１３，ＸＭＬ生成部４１４，シナリオが格納されている格納部４１５を含む。アプリケーション４１０はネットワークＩ／Ｆ４２０を介してネットワークに接続する。なお、シナリオ作成装置４００の作成するシナリオは、Ｗｅｂサービス利用時のＷｅｂサービスクライアント１００の動作を定義するものである。
【００２３】
図４は、Ｗｅｂサービスクライアントを実現するコンピュータの一実施例のハードウェア構成図である。図４のコンピュータは、それぞれバスＢで相互に接続されている入力装置１００１と，表示装置１００２と，ドライブ装置１００３と，補助記憶装置１００５と，メモリ装置１００６と，演算処理装置１００７と，インターフェース装置１００８とを有するように構成される。なお、図４のコンピュータを構成する各種デバイスは、１つの筐体に収容してもよいし、複数の筐体に分散して収容してもよい。
【００２４】
入力装置１００１はキーボード，マウスなどで構成され、様々な操作指示を入力するために用いられる。表示装置１００２はディスプレイなどで構成され、操作に必要な各種ウインドウやデータ等を表示する。インターフェース装置１００８は、ネットワークに接続する為のインターフェースであり、モデム，ルータ等で構成される。
【００２５】
Ｗｅｂサービスクライアントを制御するサービス利用プログラムは、ＣＤ−ＲＯＭ等の記録媒体１００４によって提供される。サービス利用プログラムを記録した記録媒体１００４は、ドライブ装置１００３にセットされ、サービス利用プログラムがドライブ装置１００３を介して補助記憶装置１００５にインストールされる。
【００２６】
サービス利用プログラムを記録した記録媒体１００４は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク（ＭＯ）等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、又はＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることが可能である。
【００２７】
また、サービス利用プログラムはインターフェース装置１００８を介して接続される他のコンピュータの記録媒体等に記録されているものも含まれる。他のコンピュータの記録媒体等に記録されているサービス利用プログラムは、インターフェース装置１００８を介してダウンロードされて補助記憶装置１００５にインストールされる。補助記憶装置１００５は、インストールされたサービス利用プログラムと、そのサービス利用プログラムの処理に必要な各種ファイル等を格納する。メモリ装置１００６は、起動時に補助記憶装置１００５からサービス利用プログラムを読み出して格納する。
【００２８】
演算処理装置１００７は、メモリ装置１００６に格納されたサービス利用プログラムに従って、Ｗｅｂサービスクライアント１００のアプリケーション１１０及びネットワークＩ／Ｆ１２０を各種プロセスで実現する。
【実施例１】
【００２９】
以下、本発明のＷｅｂサービスクライアントの処理を中心に、Ｗｅｂサービスシステムについて詳細に説明していく。まず、Ｗｅｂサービス利用時のＷｅｂサービスクライアント１００の動作が定義されたシナリオについて説明する。
（シナリオ作成）
Ｗｅｂサービス利用時のＷｅｂサービスクライアント１００の動作が定義されたシナリオは、シナリオ作成装置４００により作成される。例えばシナリオ作成装置４００のアプリケーション４１０は、状態遷移図を作成するためのエディタ機能を有している。ユーザは、アプリケーション４１０のエディタ機能を利用して状態遷移図を作成する。
【００３０】
ユーザにより作成された状態遷移図は、Ｗｅｂサービス利用時のＷｅｂサービスクライアント１００の動作を、状態、利用するメソッド及び状態遷移条件で表している。データ解析部４１３はユーザにより作成された状態遷移図を、状態、利用するメソッド及び状態遷移条件の観点で解析する。そして、ＸＭＬ生成部４１４はデータ解析部４１３の解析結果に基づき、シナリオを作成する。
【００３１】
図５は、作成されたシナリオを自然言語で表した一例のイメージ図である。なお、図５のシナリオは理解の容易の為に自然言語で記述しているが、本来、ＸＭＬで記述されている。図５のシナリオは、Ｗｅｂサービス利用時のＷｅｂサービスクライアント１００の動作を、基本系列，代替系列および例外系列で定義している。なお、図５は図６の状態遷移図から作成されたシナリオの一例である。
【００３２】
また、図７〜図１１はＸＭＬで記述されたシナリオの一例の構成図である。図７〜図１１のシナリオは、図６の状態遷移図から作成されたシナリオの一例である。図７〜図１１のシナリオは、状態定義部分，メソッド定義部分及び状態遷移条件定義部分から構成されている。
【００３３】
図７及び図８は、シナリオの状態定義部分を表している。図９及び図１０は、シナリオのメソッド定義部分を表している。図１１は、シナリオの状態遷移条件定義部分を表している。
【００３４】
なお、図７〜図１１のシナリオに含まれるタグ＜ｓｔａｔｅ＞，＜ｍｅｔｈｏｄ＞および＜ａｒｃ＞は状態，メソッド，状態遷移条件を表している。したがって、シナリオ作成装置４００はユーザの作成した状態遷移図から図７〜図１１のようなＸＭＬで記述されたシナリオを作成可能である。
【００３５】
シナリオ作成装置４００により作成されたシナリオは、ＸＭＬ生成部４１４から格納部４１５に格納される。そして、格納部４１５に格納されたシナリオはネットワークＩ／Ｆ４２０，ネットワーク，ネットワークＩ／Ｆ２１０を介して、Ｗｅｂサービスサーバ２００のシナリオ管理部２３０に登録される。なお、格納部４１５に格納されたシナリオはネットワークＩ／Ｆ４２０，ネットワーク，サービス管理部３１０を介して、サービスディスカバリ３００の格納部３２０に登録されるようにしてもよい。
（シナリオ取得）
図１２は、本発明のＷｅｂサービスクライアントが行うシナリオ取得処理の一実施例のシーケンス図である。ステップＳ１１では、Ｗｅｂサービスクライアント１００のアプリケーション１１０が、Ｗｅｂサービスサーバ２００のシナリオ管理部２３０にシナリオ取得要求を行う。
【００３６】
Ｗｅｂサービスサーバ２００のシナリオ管理部２３０は、Ｗｅｂサービス利用時のＷｅｂサービスクライアント１００の動作が定義されたシナリオをステップＳ１１のシナリオ取得要求に対する応答として、Ｗｅｂサービスクライアント１００のアプリケーション１１０に送信する。
【００３７】
Ｗｅｂサービスクライアント１００のアプリケーション１１０に含まれるシナリオ処理部１１４は、受信したシナリオを用いて後述する状態遷移作成処理によりＷｅｂサービスクライアント１００の状態遷移を作成する。
【００３８】
図１３は、本発明のＷｅｂサービスクライアントが行うシナリオ取得処理の他の実施例のシーケンス図である。ステップＳ２１では、Ｗｅｂサービスサーバ２００のシナリオ管理部２３０が、サービスディスカバリ３００のサービス管理部３１０に対してシナリオ登録要求を行う。なお、ステップＳ２１のシナリオ登録要求には、シナリオおよびＷｅｂサービス名が含まれる。
【００３９】
サービスディスカバリ３００のサービス管理部３１０は、シナリオ登録要求に応じてシナリオを登録する。ステップＳ２２に進み、サービス管理部３１０はステップＳ２１のシナリオ登録要求に対する応答を行う。
【００４０】
ステップＳ２３に進み、Ｗｅｂサービスクライアント１００のアプリケーション１１０はサービスディスカバリ３００のサービス管理部３１０にシナリオ取得要求を行う。ステップＳ２４に進み、サービス管理部３１０はＷｅｂサービス利用時のＷｅｂサービスクライアント１００の動作が定義されたシナリオを検索し、そのシナリオをステップＳ２３のシナリオ取得要求に対する応答としてＷｅｂサービスクライアント１００のアプリケーション１１０に送信する。
【００４１】
Ｗｅｂサービスクライアント１００のアプリケーション１１０に含まれるシナリオ処理部１１４は、受信したシナリオを用いて後述する状態遷移作成処理によりＷｅｂサービスクライアント１００の状態遷移を作成する。
（状態遷移作成）
図１４は、本発明のＷｅｂサービスクライアントが行う状態遷移作成処理の一実施例のフローチャートである。図１４のフローチャートは、Ｗｅｂサービスの利用を開始する前に全ての状態遷移を構築する例である。
【００４２】
ステップＳ３１では、Ｗｅｂサービスクライアント１００のアプリケーション１１０に含まれるシナリオ処理部１１４が、前述したようなシナリオ取得処理により、所望のＷｅｂサービス利用時のＷｅｂサービスクライアント１００の動作が定義されたシナリオを取得する。
【００４３】
ステップＳ３２に進み、シナリオ処理部１１４はステップＳ３１で取得したシナリオのＸＭＬを解析する。ステップＳ３３に進み、シナリオ処理部１１４はシナリオに含まれる状態の有無を判定する。例えば図７〜図１１のシナリオの場合、シナリオ処理部１１４はタグ＜ｓｔａｔｅ＞を利用して状態の有無を判定する。
【００４４】
状態が有ると判定すると（Ｓ３３においてＹＥＳ）、シナリオ処理部１１４はステップＳ３４に進み、状態の登録を行う。例えば図７〜図１１のシナリオの場合、１番目にある状態「管理者認証」が登録される。状態が無いと判定すると（Ｓ３３においてＮＯ）、シナリオ処理部１１４は処理を終了する。
【００４５】
ステップＳ３４に続いてステップＳ３５に進み、シナリオ処理部１１４は直前のステップＳ３４で登録した状態のメソッドの有無を判定する。例えば図７〜図１１のシナリオの状態「管理者認証」は、メソッドｍ１「パスワード利用セッション開始メソッド」を有している。シナリオ処理部１１４は、登録した状態のメソッドの有無を、タグ＜ｍｅｔｈｏｄ＞を利用して判定する。
【００４６】
メソッドが有ると判定すると（Ｓ３５においてＹＥＳ）、シナリオ処理部１１４はステップＳ３６に進み、メソッドが他のＷｅｂサービスのメソッドであるか否かを判定する。例えば図７〜図１１のシナリオの場合、シナリオ処理部１１４はメソッド定義部分を利用して他のＷｅｂサービスのメソッドであるか否かを判定する。他のＷｅｂサービスのメソッドであることの判定は、タグ＜ｓｅｒｖｉｃｅ＞があり、且つ＜ｓｅｒｖｉｃｅ＞の属性に書かれている名前空間やＷＳＤＬが現在解析中のＷｅｂサービスと異なるか否かで行っている。
【００４７】
他のＷｅｂサービスのメソッドでないと判定すると（Ｓ３６においてＮＯ）、シナリオ処理部１１４はステップＳ３７に進み、例えばサービスディスカバリ３００から取得した図１５のようなＷＳＤＬからメソッドの仕様をＷＳＤＬ処理部１１３に取得させる。図１５は、ＷＳＤＬの一例の構成図である。
【００４８】
ステップＳ３８に進み、シナリオ処理部１１４は直前のステップＳ３４で登録した現在の状態のメソッドリストにメソッドを追加する。図７〜図１１のシナリオの場合、シナリオ処理部１１４は状態「管理者認証」にメソッドｍ１「パスワード利用セッション開始メソッド」を追加する。
【００４９】
一方、他のＷｅｂサービスのメソッドであると判定すると（Ｓ３６においてＹＥＳ）、シナリオ処理部１１４はステップＳ３９に進み、他のＷｅｂサービスのシナリオ及びＷＳＤＬを取得し、他のＷｅｂサービスの状態遷移作成処理を再帰的な処理により実施する。
【００５０】
ステップＳ３８又やＳ３９に続いてステップＳ３５に進み、シナリオ処理部１１４は直前のステップＳ３４で登録した状態の残りのメソッドの有無を判定する。即ち、シナリオ処理部１１４は直前のステップＳ３４で登録した状態の全てのメソッドについてステップＳ３５〜Ｓ３９の処理を繰り返し行う。
【００５１】
メソッドが無いと判定すると（Ｓ３５においてＮＯ）、シナリオ処理部１１４はステップＳ４０に進む。例えば図７〜図１１のシナリオの場合、シナリオ処理部１１４は状態「管理者認証」にメソッドｍ１「パスワード利用セッション開始メソッド」以外のメソッドが無いため、メソッドｍ１「パスワード利用セッション開始メソッド」についてステップＳ３５〜Ｓ３８の処理を行ったあと、ステップＳ４０に進む。
【００５２】
ステップＳ４０では、シナリオ処理部１１４が、ステップＳ３４で登録した状態の遷移条件をシナリオの状態遷移条件定義部分に基づき設定する。例えば図７〜図１１のシナリオの場合、シナリオ処理部１１４はメソッドｍ１「パスワード利用セッション開始メソッド」が「ＯＫ」のときに状態「管理対象決定」に遷移するように設定し、「ＮＧ」のときに処理を終了するように設定する。
【００５３】
ステップＳ４０に続いてステップＳ３３に進み、シナリオ処理部１１４はシナリオに含まれる残りの状態の有無を判定する。即ち、シナリオ処理部１１４はシナリオに含まれる全ての状態についてステップＳ３３〜Ｓ４０の処理を行う。
【００５４】
以上、図１４の状態遷移作成処理により、シナリオ処理部１１４は取得したシナリオに基づき、Ｗｅｂサービス利用時のＷｅｂサービスクライアント１００の処理手順として図６のような状態遷移を作成できる。
（アプリケーション利用）
ここでは、図１６のような状態遷移を作成したときのＷｅｂサービスクライアント１００の状態遷移について説明する。図１６は、シナリオより作成された一例の状態遷移図である。
【００５５】
ユーザが起動を指示すると、アプリケーション１１０はＵ／Ｉ１１１を利用して図１７のような初期画面２０００をユーザに呈示する。図１７は、アプリケーションによる一例の画面遷移図である。
【００５６】
ユーザが初期画面２０００上のボタン「スタート」を押下すると、アプリケーション１１０はセッション開始メソッドｍ１及び管理対象検索メソッドｍ２を実行し、成功を表す応答を受信すると図１７のような管理対象決定画面２１００をユーザに呈示する。ユーザが管理対象決定画面２１００上から設定の種別としての管理対象名を選択すると、アプリケーション１１０は管理対象決定メソッドｍ３及び管理対象設定項目参照メソッドｍ４を実行し、成功を表す応答を受信すると図１８のような管理対象設定項目設定画面２２００をユーザに呈示する。
【００５７】
ここでは、ユーザが管理対象決定画面２１００上から管理対象名「システム設定」を選択したものとする。ユーザが管理対象設定項目設定画面２２００上に時刻およびセキュリティ設定を入力すると、アプリケーション１１０は管理対象設定項目設定メソッドｍ５及びセッション終了メソッドｍ６を実行したあと、処理を終了する。
【００５８】
このように、Ｗｅｂサービスクライアント１００は、Ｗｅｂサービスサーバ２００のシナリオ管理部２３０又はサービスディスカバリ３００の格納部３２０から、Ｗｅｂサービス利用時のＷｅｂサービスクライアント１００の動作が定義されたシナリオを取得して利用できるので、Ｗｅｂサービスの追加や変更にサービス利用時の動作を対応させることができる。
【実施例２】
【００５９】
実施例２は、シナリオ作成およびシナリオ取得が実施例１と同様であり、説明を省略する。ここでは、Ｗｅｂサービスクライアント１００のアプリケーション１１０に含まれるシナリオ処理部１１４が、受信したシナリオを用いてＷｅｂサービスクライアント１００の状態遷移を作成する状態遷移作成処理から説明する。
（状態遷移作成）
図１９は、本発明のＷｅｂサービスクライアントが行う状態遷移作成処理の他の実施例のフローチャートである。図１９のフローチャートは、Ｗｅｂサービスの利用を開始した後で、状態遷移を動的に構築する例である。
【００６０】
ステップＳ５１では、Ｗｅｂサービスクライアント１００のアプリケーション１１０に含まれるシナリオ処理部１１４が、前述したようなシナリオ取得処理により、所望のＷｅｂサービス利用時のＷｅｂサービスクライアント１００の動作が定義されたシナリオを取得する。
【００６１】
ステップＳ５２に進み、シナリオ処理部１１４はステップＳ５１で取得したシナリオのＸＭＬを解析する。ステップＳ５３に進み、シナリオ処理部１１４はシナリオに含まれる先頭の状態を取得する。例えば図７〜図１１のシナリオの場合、シナリオ処理部１１４は状態「管理者認証」を取得する。
【００６２】
ステップＳ５４に進み、シナリオ処理部１１４は取得した状態が終端であるか否かを判定する。取得した状態が終端であると判定すると（Ｓ５４においてＹＥＳ）、シナリオ処理部１１４は処理を終了する。一方、取得した状態が終端でないと判定すると（Ｓ５４においてＮＯ）、シナリオ処理部１１４はステップＳ５５に進み、取得した状態のメソッドの有無を判定する。
【００６３】
メソッドが有ると判定すると（Ｓ５５においてＹＥＳ）、シナリオ処理部１１４はステップＳ５６に進み、メソッドが他のＷｅｂサービスのメソッドであるか否かを判定する。他のＷｅｂサービスのメソッドでないと判定すると（Ｓ５６においてＮＯ）、シナリオ処理部１１４はステップＳ５７に進み、図１５のようなＷＳＤＬからメソッドの仕様をＷＳＤＬ処理部１１３に取得させる。
【００６４】
ステップＳ５８に進み、シナリオ処理部１１４は直前のステップＳ５７で取得したメソッドの仕様を利用してＷｅｂサービスサーバ２００にメソッド実行のリクエストを送信する。ステップＳ５９に進み、シナリオ処理部１１４はステップＳ５８のリクエストに対するメソッド実行のレスポンスをＷｅｂサービスサーバ２００から取得する。
【００６５】
一方、他のＷｅｂサービスのメソッドであると判定すると（Ｓ５６においてＹＥＳ）、シナリオ処理部１１４はステップＳ６０に進み、他のＷｅｂサービスのシナリオ及びＷＳＤＬを取得し、他のＷｅｂサービスの状態遷移作成処理を再帰的な処理により実施する。
【００６６】
ステップＳ５９又やＳ６０に続いてステップＳ５５に進み、シナリオ処理部１１４は取得した状態の残りのメソッドの有無を判定する。即ち、シナリオ処理部１１４は取得した状態の全てのメソッドについてステップＳ５５〜Ｓ６０の処理を繰り返し行う。
【００６７】
メソッドが無いと判定すると（Ｓ５５においてＮＯ）、シナリオ処理部１１４はステップＳ６１に進む。例えば図７〜図１１のシナリオの場合、シナリオ処理部１１４は状態「管理者認証」にメソッドｍ１「パスワード利用セッション開始メソッド」以外のメソッドが無いため、メソッドｍ１「パスワード利用セッション開始メソッド」についてステップＳ５５〜Ｓ６０の処理を行ったあと、ステップＳ６１に進む。
【００６８】
ステップＳ６１では、シナリオ処理部１１４が、メソッド実行のレスポンスおよびシナリオの状態遷移条件定義部分に基づき、次の状態をシナリオから取得する。図７〜図１１のシナリオの場合、シナリオ処理部１１４はメソッドｍ１「パスワード利用セッション開始メソッド」を実行したときのレスポンスが「ＯＫ」のときに、状態「管理対象決定」をシナリオから取得する。
【００６９】
ステップＳ６１に続いてステップＳ５４に進み、シナリオ処理部１１４は取得した状態が終端であるか否かを判定する。即ち、シナリオ処理部１１４はシナリオに含まれる全ての状態についてステップＳ５４〜Ｓ６１の処理を行う。
【００７０】
以上、図１９の状態遷移作成処理により、シナリオ処理部１１４は取得したシナリオに基づき、Ｗｅｂサービス利用時のＷｅｂサービスクライアント１００の処理手順として図６のような状態遷移を動的に作成しながら、Ｗｅｂサービスを利用できる。
（アプリケーション利用）
ここでは、図１６のような状態遷移を作成したときのＷｅｂサービスクライアント１００の状態遷移について説明する。ユーザが起動を指示すると、アプリケーション１１０はＵ／Ｉ１１１を利用して図１７のような初期画面２０００をユーザに呈示する。
【００７１】
ユーザが初期画面２０００上のボタン「スタート」を押下すると、アプリケーション１１０はステップＳ５３の処理により状態「管理者認証」を取得し、ステップＳ５３〜Ｓ５９の処理によりセッション開始メソッドｍ１を実行する。次に、アプリケーション１１０はステップＳ６１の処理により状態「管理対象決定」を取得し、ステップＳ５４〜Ｓ５９の処理により管理対象検索メソッドｍ２を実行し、成功を表すレスポンスを受信すると図１７のような管理対象決定画面２１００をユーザに呈示する。
【００７２】
次に、ユーザが管理対象決定画面２１００上から設定の種別としての管理対象名を選択すると、アプリケーション１１０はステップＳ５５〜Ｓ５９の処理により管理対象決定メソッドｍ３を実行する。次に、アプリケーション１１０はステップＳ６１の処理により状態「管理対象設定」を取得し、ステップＳ５４〜Ｓ５９の処理により管理対象設定項目参照メソッドｍ４を実行し、成功を表すレスポンスを受信すると図１８のような管理対象設定項目設定画面２２００をユーザに呈示する。
【００７３】
ここでは、ユーザが管理対象決定画面２１００上から管理対象名「システム設定」を選択したものとする。ユーザが管理対象設定項目設定画面２２００上に時刻およびセキュリティ設定を入力すると、アプリケーション１１０はステップＳ５５〜Ｓ５９の処理により管理対象設定項目設定メソッドｍ５を実行する。
【００７４】
次に、アプリケーション１１０はステップＳ６１の処理により状態「正常終了」を取得し、ステップＳ５４〜Ｓ５９の処理によりセッション終了メソッドｍ６を実行する。その後、アプリケーション１１０はステップＳ５４の処理によりステップＳ６１で取得した状態が終端であると判定し、処理を終了する。
【００７５】
このように、Ｗｅｂサービスクライアント１００は、Ｗｅｂサービスサーバ２００のシナリオ管理部２３０又はサービスディスカバリ３００の格納部３２０から、Ｗｅｂサービス利用時のＷｅｂサービスクライアント１００の動作が定義されたシナリオを取得して利用できるので、Ｗｅｂサービスの追加や変更にサービス利用時の動作を対応させることができる。
【００７６】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【００７７】
【図１】Ｗｅｂサービスシステムの一例の構成図である。
【図２】Ｗｅｂサービスシステムの処理を表したシーケンス図である。
【図３】本発明によるＷｅｂサービスシステムの一例の構成図である。
【図４】Ｗｅｂサービスクライアントを実現するコンピュータの一実施例のハードウェア構成図である。
【図５】作成されたシナリオを自然言語で表した一例のイメージ図である。
【図６】シナリオを表す一例の状態遷移図である。
【図７】ＸＭＬで記述されたシナリオの一例の構成図（１／５）である。
【図８】ＸＭＬで記述されたシナリオの一例の構成図（２／５）である。
【図９】ＸＭＬで記述されたシナリオの一例の構成図（３／５）である。
【図１０】ＸＭＬで記述されたシナリオの一例の構成図（４／５）である。
【図１１】ＸＭＬで記述されたシナリオの一例の構成図（５／５）である。
【図１２】本発明のＷｅｂサービスクライアントが行うシナリオ取得処理の一実施例のシーケンス図である。
【図１３】本発明のＷｅｂサービスクライアントが行うシナリオ取得処理の他の実施例のシーケンス図である。
【図１４】本発明のＷｅｂサービスクライアントが行う状態遷移作成処理の一実施例のフローチャートである。
【図１５】ＷＳＤＬの一例の構成図である。
【図１６】シナリオより作成された一例の状態遷移図である。
【図１７】アプリケーションによる一例の画面遷移図（１／２）である。
【図１８】アプリケーションによる一例の画面遷移図（２／２）である。
【図１９】本発明のＷｅｂサービスクライアントが行う状態遷移作成処理の他の実施例のフローチャートである。
【符号の説明】
【００７８】
１００    Ｗｅｂサービスクライアント
１１０，４１０    アプリケーション
１１１，４１１    Ｕ／Ｉ
１１３    ＷＳＤＬ処理部
１１４    シナリオ処理部
１２０，２１０，４２０    ネットワークＩ／Ｆ
２００    Ｗｅｂサービスサーバ
２２０    Ｗｅｂサービス実行部
２３０    シナリオ管理部
３００    サービスディスカバリ
３１０    サービス管理部
３２０，４１５    格納部
４００    シナリオ作成装置
４１２    エディタ制御部
４１３    データ解析部
４１４    ＸＭＬ生成部
１００１    入力装置
１００２    表示装置
１００３    ドライブ装置
１００４    記録媒体
１００５    補助記憶装置
１００６    メモリ装置
１００７    演算処理装置
１００８    インターフェース装置
Ｂ    バス
【図１】
2006072910.tif 000003
【図２】
2006072910.tif 000004
【図３】
2006072910.tif 000005
【図４】
2006072910.tif 000006
【図５】
2006072910.tif 000007
【図６】
2006072910.tif 000008
【図７】
2006072910.tif 000009
【図８】
2006072910.tif 000010
【図９】
2006072910.tif 000011
【図１０】
2006072910.tif 000012
【図１１】
2006072910.tif 000013
【図１２】
2006072910.tif 000014
【図１３】
2006072910.tif 000015
【図１４】
2006072910.tif 000016
【図１５】
2006072910.tif 000017
【図１６】
2006072910.tif 000018
【図１７】
2006072910.tif 000019
【図１８】
2006072910.tif 000020
【図１９】
2006072910.tif 000021