JP4584654B2 - Server, service providing program, and recording medium - Google Patents
Server, service providing program, and recording medium Download PDFInfo
- Publication number
- JP4584654B2 JP4584654B2 JP2004258460A JP2004258460A JP4584654B2 JP 4584654 B2 JP4584654 B2 JP 4584654B2 JP 2004258460 A JP2004258460 A JP 2004258460A JP 2004258460 A JP2004258460 A JP 2004258460A JP 4584654 B2 JP4584654 B2 JP 4584654B2
- Authority
- JP
- Japan
- Prior art keywords
- scenario
- service
- web service
- client
- web
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Description
本発明は、サーバ、サービス提供プログラム及び記録媒体に係り、特にクライアントが利用するサービスを提供するサーバ、サービス提供プログラム、サービス提供プログラムを記録した記録媒体に関する。 The present invention relates to a server, a service providing program, and a recording medium, and more particularly to a server that provides a service used by a client, a service providing program, and a recording medium that records the service providing program.
近年、認証サービスや機器管理サービスといった各種サービスをWebサービスとしてクライアントに提供するサーバ(以下、Webサービスサーバという)が注目されるようになった。Webサービスサーバは、例えばSOAP(Simple Object Access Protocol)に代表されるXML(eXtensible Markup Language)ベースのプロトコルでWebサービスの呼び出しやデータの送受信などを行う。 In recent years, a server that provides various services such as an authentication service and a device management service to a client as a Web service (hereinafter referred to as a Web service server) has attracted attention. The Web service server performs calling of a Web service, transmission / reception of data, and the like using an XML (extensible Markup Language) based protocol represented by SOAP (Simple Object Access Protocol), for example.
また、Webサービスを利用するクライアント(以下、Webサービスクライアントという)は、Webサービスが持つメソッドやパラメータの情報をWSDL(Web Service Description Language)によって取得してから、SOAPを利用してWebサービスの呼び出しを行っていた。 A client using a Web service (hereinafter referred to as a Web service client) obtains information on methods and parameters of the Web service using WSDL (Web Service Description Language), and then invokes the Web service using SOAP. Had gone.
WSDLとは、Webサービスを利用する際に必要となる情報であって、Webサービスが持つメソッドやパラメータの情報を取得する為のデータ記述方式を定めている。すなわち、Webサービスクライアントは、WebサービスのI/F仕様をWSDLによって取得していた(例えば、特許文献1参照)。 WSDL is information required when using a Web service, and defines a data description method for acquiring method and parameter information possessed by the Web service. In other words, the Web service client has acquired the I / F specification of the Web service by WSDL (see, for example, Patent Document 1).
図1は、Webサービスシステムの一例の構成図である。図1のWebサービスシステムは、Webサービスクライアント100,1つ以上のWebサービスサーバ200及びサービスディスカバリ300が、ネットワークを介して接続された構成である。なお、Webサービスシステムはサービスディスカバリ300の無い構成も可能である。
FIG. 1 is a configuration diagram of an example of a Web service system. The Web service system of FIG. 1 has a configuration in which a
Webサービスを利用するWebサービスクライアント100は、アプリケーション110,ネットワークI/F120を含む。アプリケーション110は、U/I(ユーザインターフェース)111,動作定義部112,WSDL処理部113を含む。
A
また、Webサービスを提供するWebサービスサーバ200は、ネットワークI/F210,Webサービス実行部220を含む。また、Webサービスを管理するサービスディスカバリ300はサービス管理部310,WSDLが格納されている格納部320を含む。
The
図2は、Webサービスシステムの処理を表したシーケンス図である。Webサービスを提供するWebサービスサーバ200は、ステップS1〜S2において、WebサービスのI/F仕様を記述したWSDLをサービスディスカバリ300に登録する。また、Webサービスを利用するWebサービスクライアント100は、ステップS3〜S4において、Webサービスサーバ200が提供するWebサービスをサービスディスカバリ300から検索する。
FIG. 2 is a sequence diagram showing processing of the Web service system. In steps S <b> 1 to S <b> 2, the
Webサービスクライアント100を操作するユーザは、検索したWebサービスの中から利用したいWebサービスを決定する。Webサービスクライアント100は、ステップS5〜S6において、ユーザにより選択されたWebサービスに関する情報(例えばWebサービス名,Webサービスサーバ200のIPアドレス,WSDL等)をサービスディスカバリ300から取得する。
A user who operates the
以上、Webサービスクライアント100は、ユーザにより選択されたWebサービスのWSDLを、図2に表したシーケンス図のように取得する。したがって、Webサービスクライアント100は、Webサービスがどのようなコマンドを持っており、そのコマンドを実行する為にどのようなパラメータをどのような形式で与えればよいかを知ることができた。
しかしながら、WSDLはWebサービスのI/F仕様を定義しているが、そのWebサービス利用時のWebサービスクライアント100の動作を定義するものではない。したがってWebサービスクライアント100は、WSDLを取得しても、Webサービスの提供方法が変わったとき、新しい機能が追加されたとき、新しいWebサービスが追加となったときに対応できないという問題があった。
However, although WSDL defines the I / F specification of a web service, it does not define the operation of the
例えばWebサービス利用時のWebサービスクライアント100の動作は、動作定義部112に予めコーディングされている。したがって、Webサービスクライアント100は、Webサービスの提供方法が変わったとき、新しい機能が追加されたとき、新しいWebサービスが追加となったときは、動作定義部112を修正しなければならないという問題があった。
For example, the operation of the
なお、特許文献1は、取得したWSDLに基づいて代理サーバ上に専用API(Application Program Interface)を作成し、その専用API経由でWebサービスクライアントがWebサービスを利用するものであって、そのWebサービス利用時のWebサービスクライアントの動作を定義するものではない。
In
本発明は、上記の点に鑑みなされたもので、クライアントに提供するサービスの追加や変更に応じて、クライアントがサービスを利用する時の動作を容易且つ適切に定義可能なサーバ、サービス提供プログラム及び記録媒体を提供することを目的とする。 The present invention has been made in view of the above points, and a server, a service providing program, and a server capable of easily and appropriately defining an operation when a client uses a service according to addition or change of a service provided to the client An object is to provide a recording medium.
上記課題を解決するため、本発明は、所定のサービスを利用するWebサービスクライアントにネットワークを介して接続され、前記Webサービスクライアントにサービスを提供するサーバであって、前記サービス利用時の前記Webサービスクライアントの動作を定義したシナリオをシナリオ取得要求に応じて前記Webサービスクライアントに提供するシナリオ管理機能と、前記Webサービスクライアントからのサービス利用要求に応じて前記サービスを前記Webサービスクライアントに提供するサービス実行機能とを備え、前記シナリオ管理機能は、前記シナリオが変更されたとき、前記サービス実行機能にシナリオの変更を通知しておき、前記サービス実行機能は、前記シナリオの変更を通知されたあとで前記Webサービスクライアントからのサービス利用要求を受けると、前記変更されたシナリオを前記シナリオ管理機能から取得して前記サービス利用要求に応じたサービスと共に前記Webサービスクライアントに提供することを特徴とする。なお、本発明は上記の各機能をサーバに実行させるためのサービス提供プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体としてもよい。 In order to solve the above-described problem, the present invention provides a server that is connected to a Web service client that uses a predetermined service via a network and that provides the service to the Web service client, the Web service when using the service Scenario management function for providing a scenario defining a client operation to the Web service client in response to a scenario acquisition request, and service execution for providing the service to the Web service client in response to a service use request from the Web service client The scenario management function notifies the service execution function of a scenario change when the scenario is changed, and the service execution function notifies the scenario change after the scenario change. Web services Upon receiving the service usage request from the client, and providing the modified scenario to the Web service client with the service in accordance with the service request acquired from the scenario management capabilities. In addition, this invention is good also as a computer-readable recording medium which recorded the service provision program for making a server perform said each function, and the program.
本発明では、サービス利用時のクライアントの動作を定義したシナリオをクライアントに提供し、そのシナリオに応じて、クライアントがサービスを利用するときの処理手順を決定できる。この結果、サーバはシナリオをクライアントに提供することで、サービスの追加や変更に、クライアントのサービス利用時の動作を対応させることができる。 In the present invention, a scenario defining the operation of the client when using the service is provided to the client, and the processing procedure when the client uses the service can be determined according to the scenario. As a result, the server can provide the scenario to the client, so that the operation of the client when using the service can correspond to the addition or change of the service.
本発明によれば、クライアントに提供するサービスの追加や変更に応じて、クライアントがサービスを利用する時の動作を容易且つ適切に定義可能なサーバ、サービス提供プログラム及び記録媒体を提供可能である。 According to the present invention, it is possible to provide a server, a service providing program, and a recording medium that can easily and appropriately define an operation when a client uses a service according to the addition or change of the service provided to the client.
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、以下の実施例ではサーバからクライアントに提供されるサービスの一例としてWebサービスを説明するが、他のサービスであってもよい。図3は、本発明によるWebサービスシステムの一例の構成図である。 Next, the best mode for carrying out the present invention will be described based on the following embodiments with reference to the drawings. In the following embodiments, a Web service is described as an example of a service provided from a server to a client, but other services may be used. FIG. 3 is a configuration diagram of an example of a Web service system according to the present invention.
図3のWebサービスシステムは、Webサービスクライアント100,1つ以上のWebサービスサーバ200,サービスディスカバリ300およびシナリオ作成装置400が、インターネットやLAN(ローカルエリアネットワーク)等のネットワークを介して接続された構成である。なお、Webサービスシステムはサービスディスカバリ300の無い構成も可能である。
The Web service system of FIG. 3 has a configuration in which a
Webサービスを利用するWebサービスクライアント100は、アプリケーション110,ネットワークI/F120を含む。アプリケーション110は、U/I111,WSDL処理部113,シナリオ処理部114を含む。アプリケーション110は、ネットワークI/F120を介してネットワークに接続する。
A
また、Webサービスを提供するWebサービスサーバ200は、ネットワークI/F210,Webサービス実行部220,シナリオ管理部230を含む。Webサービス実行部220及びシナリオ管理部230はネットワークI/F210を介してネットワークに接続する。Webサービスを管理するサービスディスカバリ300は、サービス管理部310,WSDLが格納されている格納部320を含む。
The
また、シナリオを作成するシナリオ作成装置400はアプリケーション410,ネットワークI/F420を含む。アプリケーション410は、U/I411,エディタ制御部412,データ解析部413,XML生成部414,シナリオが格納されている格納部415を含む。アプリケーション410はネットワークI/F420を介してネットワークに接続する。なお、シナリオ作成装置400の作成するシナリオは、Webサービス利用時のWebサービスクライアント100の動作を定義するものである。
The
図4は、Webサービスサーバを実現するコンピュータの一実施例のハードウェア構成図である。図4のコンピュータは、それぞれバスBで相互に接続されている入力装置1001と,表示装置1002と,ドライブ装置1003と,補助記憶装置1005と,メモリ装置1006と,演算処理装置1007と,インターフェース装置1008とを有するように構成される。なお、図4のコンピュータを構成する各種デバイスは、1つの筐体に収容してもよいし、複数の筐体に分散して収容してもよい。
FIG. 4 is a hardware configuration diagram of an embodiment of a computer that implements a Web service server. 4 includes an
入力装置1001はキーボード,マウスなどで構成され、様々な操作指示を入力するために用いられる。表示装置1002はディスプレイなどで構成され、操作に必要な各種ウインドウやデータ等を表示する。インターフェース装置1008は、ネットワークに接続する為のインターフェースであり、モデム,ルータ等で構成される。
The
Webサービスサーバを制御するサービス提供プログラムは、CD−ROM等の記録媒体1004によって提供される。サービス提供プログラムを記録した記録媒体1004はドライブ装置1003にセットされ、サービス提供プログラムがドライブ装置1003を介して補助記憶装置1005にインストールされる。
A service providing program for controlling the Web service server is provided by a
サービス提供プログラムを記録した記録媒体1004は、CD−ROM、フレキシブルディスク、光磁気ディスク(MO)等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、又はROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることが可能である。
The
また、サービス提供プログラムはインターフェース装置1008を介して接続される他のコンピュータの記録媒体等に記録されているものも含まれる。他のコンピュータの記録媒体等に記録されているサービス提供プログラムは、インターフェース装置1008を介してダウンロードされて補助記憶装置1005にインストールされる。補助記憶装置1005は、インストールされたサービス提供プログラムと、そのサービス提供プログラムの処理に必要な各種ファイル等を格納する。メモリ装置1006は、起動時に補助記憶装置1005からサービス提供プログラムを読み出して格納する。
The service providing program includes a program provided on a recording medium or the like of another computer connected through the
演算処理装置1007は、メモリ装置1006に格納されたサービス提供プログラムに従って、Webサービスサーバ200のWebサービス実行部220及びシナリオ管理部230を各種プロセスで実現する。
The
以下、本発明のWebサービスサーバの処理を中心に、Webサービスシステムについて詳細に説明していく。まず、Webサービス利用時のWebサービスクライアント100の動作が定義されたシナリオについて説明する。
(シナリオ作成)
Webサービス利用時のWebサービスクライアント100の動作が定義されたシナリオは、シナリオ作成装置400により作成される。例えばシナリオ作成装置400のアプリケーション410は、状態遷移図を作成するためのエディタ機能を有している。ユーザは、アプリケーション410のエディタ機能を利用して状態遷移図を作成する。
Hereinafter, the Web service system will be described in detail focusing on the processing of the Web service server of the present invention. First, a scenario in which the operation of the
(Scenario creation)
A scenario defining the operation of the
ユーザにより作成された状態遷移図は、Webサービス利用時のWebサービスクライアント100の動作を、状態、利用するメソッド及び状態遷移条件で表している。データ解析部413はユーザにより作成された状態遷移図を、状態、利用するメソッド及び状態遷移条件の観点で解析する。そして、XML生成部414はデータ解析部413の解析結果に基づき、シナリオを作成する。
The state transition diagram created by the user represents the operation of the
図5は、作成されたシナリオを自然言語で表した一例のイメージ図である。なお、図5のシナリオは理解の容易の為に自然言語で記述しているが、本来、XMLで記述されている。図5のシナリオは、Webサービス利用時のWebサービスクライアント100の動作を、基本系列,代替系列および例外系列で定義している。なお、図5は図6の状態遷移図から作成されたシナリオの一例である。
FIG. 5 is an image diagram of an example in which the created scenario is expressed in a natural language. The scenario of FIG. 5 is described in natural language for easy understanding, but is originally described in XML. The scenario in FIG. 5 defines the operation of the
また、図7〜図11はXMLで記述されたシナリオの一例の構成図である。図7〜図11のシナリオは、図6の状態遷移図から作成されたシナリオの一例である。図7〜図11のシナリオは、状態定義部分,メソッド定義部分及び状態遷移条件定義部分から構成されている。 7 to 11 are configuration diagrams of examples of scenarios described in XML. 7 to 11 are examples of scenarios created from the state transition diagram of FIG. The scenario shown in FIGS. 7 to 11 includes a state definition part, a method definition part, and a state transition condition definition part.
図7及び図8は、シナリオの状態定義部分を表している。図9及び図10は、シナリオのメソッド定義部分を表している。図11は、シナリオの状態遷移条件定義部分を表している。 7 and 8 show the state definition part of the scenario. 9 and 10 show the method definition portion of the scenario. FIG. 11 shows the state transition condition definition part of the scenario.
なお、図7〜図11のシナリオに含まれるタグ<state>,<method>および<arc>は状態,メソッド,状態遷移条件を表している。したがって、シナリオ作成装置400はユーザの作成した状態遷移図から図7〜図11のようなXMLで記述されたシナリオを作成可能である。
It should be noted that tags <state>, <method>, and <arc> included in the scenarios of FIGS. 7 to 11 represent states, methods, and state transition conditions. Therefore, the
シナリオ作成装置400により作成されたシナリオは、XML生成部414から格納部415に格納される。そして、格納部415に格納されたシナリオはネットワークI/F420,ネットワーク,ネットワークI/F210を介して、Webサービスサーバ200のシナリオ管理部230に登録される。なお、格納部415に格納されたシナリオはネットワークI/F420,ネットワーク,サービス管理部310を介して、サービスディスカバリ300の格納部320に登録されるようにしてもよい。
(シナリオ提供)
図12は、本発明によるWebサービスシステムが行うシナリオ提供処理の一実施例のシーケンス図である。ステップS11では、Webサービスサーバ200のシナリオ管理部230が、Webサービスクライアント100のアプリケーション110からシナリオ取得要求を受信する。
The scenario created by the
(Scenario provided)
FIG. 12 is a sequence diagram of an embodiment of the scenario providing process performed by the Web service system according to the present invention. In step S <b> 11, the
Webサービスサーバ200のシナリオ管理部230は、Webサービス利用時のWebサービスクライアント100の動作が定義されたシナリオをステップS11のシナリオ取得要求に対する応答として、Webサービスクライアント100のアプリケーション110に送信する。
The
すると、Webサービスクライアント100のアプリケーション110に含まれるシナリオ処理部114は、受信したシナリオを用いてWebサービスクライアント100の状態遷移を作成する。
Then, the
図13は、本発明によるWebサービスシステムが行うシナリオ提供処理の他の実施例のシーケンス図である。ステップS21では、Webサービスサーバ200のシナリオ管理部230が、サービスディスカバリ300のサービス管理部310に対してシナリオ登録要求を行う。なお、ステップS21のシナリオ登録要求には、シナリオおよびWebサービス名が含まれる。
FIG. 13 is a sequence diagram of another embodiment of the scenario providing process performed by the Web service system according to the present invention. In step S21, the
サービスディスカバリ300のサービス管理部310は、シナリオ登録要求に応じてシナリオを登録する。ステップS22に進み、サービス管理部310はステップS21のシナリオ登録要求に対する応答を行う。
The
ステップS23に進み、Webサービスクライアント100のアプリケーション110はサービスディスカバリ300のサービス管理部310にシナリオ取得要求を行う。ステップS24に進み、サービス管理部310はWebサービス利用時のWebサービスクライアント100の動作が定義されたシナリオを検索し、そのシナリオをステップS23のシナリオ取得要求に対する応答としてWebサービスクライアント100のアプリケーション110に送信する。
In step S23, the
すると、Webサービスクライアント100のアプリケーション110に含まれるシナリオ処理部114は、受信したシナリオを用いてWebサービスクライアント100の状態遷移を作成する。
(シナリオ同期)
Webサービスサーバ200又はサービスディスカバリ300に登録されているシナリオが変更された場合、Webサービスクライアント100に送信したシナリオも同様に変更してシナリオを同期させる必要がある。
Then, the
(Scenario synchronization)
When the scenario registered in the
図14は、本発明によるWebサービスシステムが行うシナリオ同期処理の一実施例のシーケンス図である。シナリオが変更されると、Webサービスサーバ200のシナリオ管理部230はステップS31に進み、Webサービス実行部220にシナリオ変更通知を行う。Webサービス実行部220はシナリオ変更通知を受信すると、Webサービスクライアント100からの操作要求を受信するまで待機する。
FIG. 14 is a sequence diagram of an embodiment of scenario synchronization processing performed by the Web service system according to the present invention. When the scenario is changed, the
ステップS32に進み、Webサービスクライアント100からWebサービスを利用する為の操作要求を受信すると、Webサービスサーバ200のWebサービス実行部220はステップS31でシナリオ変更通知を受信している為、ステップS33に進み、シナリオ管理部230にシナリオ取得要求を送信する。
In step S32, when an operation request for using the web service is received from the
ステップS34に進み、Webサービス実行部220はシナリオ管理部230から変更されたシナリオを取得する。ステップS35に進み、Webサービス実行部220はステップS32の操作要求に応じた操作結果および変更されたシナリオを表す追加シナリオをステップS32の操作要求に対する応答としてWebサービスクライアント100のアプリケーション110に送信する。
In step S 34, the web
なお、Webサービス実行部220はステップS31でシナリオ変更通知を受信していなければ、ステップS33,S34を実行せず、ステップS35に進む。また、ステップS35では、ステップS32の操作要求に応じた操作結果およびシナリオが変更された旨をステップS32の操作要求に対する応答としてWebサービスクライアント100のアプリケーション110に送信し、アプリケーション110から明示的にシナリオ取得処理を行うようにしてもよい。
If the scenario change notification is not received in step S31, the web
すると、Webサービスクライアント100のアプリケーション110に含まれるシナリオ処理部114は、受信した追加シナリオを用いてWebサービスクライアント100のシナリオを変更して、Webサービスサーバ200又はサービスディスカバリ300に登録されているシナリオと同期させる。
(状態遷移作成)
図15は、本発明によるWebサービスクライアントが行う状態遷移作成処理の一実施例のフローチャートである。図15のフローチャートは、Webサービスの利用を開始する前に全ての状態遷移を構築する例である。
Then, the
(Create state transition)
FIG. 15 is a flowchart of an embodiment of a state transition creation process performed by the Web service client according to the present invention. The flowchart of FIG. 15 is an example in which all state transitions are constructed before the use of the Web service is started.
ステップS41では、Webサービスクライアント100のアプリケーション110に含まれるシナリオ処理部114が、前述したようなシナリオ提供処理により、所望のWebサービス利用時のWebサービスクライアント100の動作が定義されたシナリオを取得する。
In step S41, the
ステップS42に進み、シナリオ処理部114はステップS41で取得したシナリオのXMLを解析する。ステップS43に進み、シナリオ処理部114はシナリオに含まれる状態の有無を判定する。例えば図7〜図11のシナリオの場合、シナリオ処理部114はタグ<state>を利用して状態の有無を判定する。
In step S42, the
状態が有ると判定すると(S43においてYES)、シナリオ処理部114はステップS44に進み、状態の登録を行う。例えば図7〜図11のシナリオの場合、1番目にある状態「管理者認証」が登録される。状態が無いと判定すると(S43においてNO)、シナリオ処理部114は処理を終了する。
If it is determined that there is a state (YES in S43), the
ステップS44に続いてステップS45に進み、シナリオ処理部114は直前のステップS44で登録した状態のメソッドの有無を判定する。例えば図7〜図11のシナリオの状態「管理者認証」は、メソッドm1「パスワード利用セッション開始メソッド」を有している。シナリオ処理部114は、登録した状態のメソッドの有無を、タグ<method>を利用して判定する。
Proceeding to step S45 following step S44, the
メソッドが有ると判定すると(S45においてYES)、シナリオ処理部114はステップS46に進み、メソッドが他のWebサービスのメソッドであるか否かを判定する。例えば図7〜図11のシナリオの場合、シナリオ処理部114はメソッド定義部分を利用して他のWebサービスのメソッドであるか否かを判定する。他のWebサービスのメソッドであることの判定は、タグ<service>があり、且つ<service>の属性に書かれている名前空間やWSDLが現在解析中のWebサービスと異なるか否かで行っている。
If it is determined that there is a method (YES in S45), the
他のWebサービスのメソッドでないと判定すると(S46においてNO)、シナリオ処理部114はステップS47に進み、例えばサービスディスカバリ300から取得したWSDLからメソッドの仕様をWSDL処理部113に取得させる。
If it is determined that the method is not a method of another Web service (NO in S46), the
ステップS48に進み、シナリオ処理部114は直前のステップS44で登録した現在の状態のメソッドリストにメソッドを追加する。図7〜図11のシナリオの場合、シナリオ処理部114は状態「管理者認証」にメソッドm1「パスワード利用セッション開始メソッド」を追加する。
Proceeding to step S48, the
一方、他のWebサービスのメソッドであると判定すると(S46においてYES)、シナリオ処理部114はステップS49に進み、他のWebサービスのシナリオ及びWSDLを取得し、他のWebサービスの状態遷移作成処理を再帰的な処理により実施する。
On the other hand, if it is determined that the method is another web service method (YES in S46), the
ステップS48又やS49に続いてステップS45に進み、シナリオ処理部114は直前のステップS44で登録した状態の残りのメソッドの有無を判定する。即ち、シナリオ処理部114は直前のステップS44で登録した状態の全てのメソッドについてステップS45〜S49の処理を繰り返し行う。
Proceeding to step S45 following step S48 or S49, the
メソッドが無いと判定すると(S45においてNO)、シナリオ処理部114はステップS50に進む。例えば図7〜図11のシナリオの場合、シナリオ処理部114は状態「管理者認証」にメソッドm1「パスワード利用セッション開始メソッド」以外のメソッドが無いため、メソッドm1「パスワード利用セッション開始メソッド」についてステップS45〜S48の処理を行ったあと、ステップS50に進む。
If it is determined that there is no method (NO in S45),
ステップS50では、シナリオ処理部114が、ステップS44で登録した状態の遷移条件をシナリオの状態遷移条件定義部分に基づき設定する。例えば図7〜図11のシナリオの場合、シナリオ処理部114はメソッドm1「パスワード利用セッション開始メソッド」が「OK」のときに状態「管理対象決定」に遷移するように設定し、「NG」のときに処理を終了するように設定する。
In step S50, the
ステップS50に続いてステップS43に進み、シナリオ処理部114はシナリオに含まれる残りの状態の有無を判定する。即ち、シナリオ処理部114はシナリオに含まれる全ての状態についてステップS43〜S50の処理を行う。
Proceeding to step S43 following step S50, the
以上、図15の状態遷移作成処理により、シナリオ処理部114は取得したシナリオに基づき、Webサービス利用時のWebサービスクライアント100の処理手順として図6のような状態遷移を作成できる。
As described above, according to the state transition creation process of FIG. 15, the
図16は、本発明によるWebサービスクライアントが行う状態遷移作成処理の他の実施例のフローチャートである。図16のフローチャートは、Webサービスの利用を開始した後で、状態遷移を動的に構築する例である。 FIG. 16 is a flowchart of another embodiment of the state transition creation process performed by the Web service client according to the present invention. The flowchart in FIG. 16 is an example in which state transitions are dynamically constructed after the use of a Web service is started.
ステップS51では、Webサービスクライアント100のアプリケーション110に含まれるシナリオ処理部114が、前述したようなシナリオ提供処理により、所望のWebサービス利用時のWebサービスクライアント100の動作が定義されたシナリオを取得する。
In step S51, the
ステップS52に進み、シナリオ処理部114はステップS51で取得したシナリオのXMLを解析する。ステップS53に進み、シナリオ処理部114はシナリオに含まれる先頭の状態を取得する。例えば図7〜図11のシナリオの場合、シナリオ処理部114は状態「管理者認証」を取得する。
In step S52, the
ステップS54に進み、シナリオ処理部114は取得した状態が終端であるか否かを判定する。取得した状態が終端であると判定すると(S54においてYES)、シナリオ処理部114は処理を終了する。一方、取得した状態が終端でないと判定すると(S54においてNO)、シナリオ処理部114はステップS55に進み、取得した状態のメソッドの有無を判定する。
In step S54, the
メソッドが有ると判定すると(S55においてYES)、シナリオ処理部114はステップS56に進み、メソッドが他のWebサービスのメソッドであるか否かを判定する。他のWebサービスのメソッドでないと判定すると(S56においてNO)、シナリオ処理部114はステップS57に進み、WSDLからメソッドの仕様をWSDL処理部113に取得させる。
If it is determined that there is a method (YES in S55), the
ステップS58に進み、シナリオ処理部114は直前のステップS57で取得したメソッドの仕様を利用してWebサービスサーバ200にメソッド実行のリクエストを送信する。ステップS59に進み、シナリオ処理部114はステップS58のリクエストに対するメソッド実行のレスポンスをWebサービスサーバ200から取得する。
Proceeding to step S58, the
一方、他のWebサービスのメソッドであると判定すると(S56においてYES)、シナリオ処理部114はステップS60に進み、他のWebサービスのシナリオ及びWSDLを取得し、他のWebサービスの状態遷移作成処理を再帰的な処理により実施する。
On the other hand, if it is determined that the method is another web service method (YES in S56), the
ステップS59又やS60に続いてステップS55に進み、シナリオ処理部114は取得した状態の残りのメソッドの有無を判定する。即ち、シナリオ処理部114は取得した状態の全てのメソッドについてステップS55〜S60の処理を繰り返し行う。
Progressing to step S55 following step S59 or S60, the
メソッドが無いと判定すると(S55においてNO)、シナリオ処理部114はステップS61に進む。例えば図7〜図11のシナリオの場合、シナリオ処理部114は状態「管理者認証」にメソッドm1「パスワード利用セッション開始メソッド」以外のメソッドが無いため、メソッドm1「パスワード利用セッション開始メソッド」についてステップS55〜S60の処理を行ったあと、ステップS61に進む。
If it is determined that there is no method (NO in S55),
ステップS61では、シナリオ処理部114が、メソッド実行のレスポンスおよびシナリオの状態遷移条件定義部分に基づき、次の状態をシナリオから取得する。図7〜図11のシナリオの場合、シナリオ処理部114はメソッドm1「パスワード利用セッション開始メソッド」を実行したときのレスポンスが「OK」のときに、状態「管理対象決定」をシナリオから取得する。
In step S61, the
ステップS61に続いてステップS54に進み、シナリオ処理部114は取得した状態が終端であるか否かを判定する。即ち、シナリオ処理部114はシナリオに含まれる全ての状態についてステップS54〜S61の処理を行う。
Progressing to step S54 following step S61, the
以上、図16の状態遷移作成処理により、シナリオ処理部114は取得したシナリオに基づき、Webサービス利用時のWebサービスクライアント100の処理手順として図6のような状態遷移を動的に作成しながら、Webサービスを利用できる。
(状態遷移変更)
例えばWebサービスクライアント100のアプリケーション110に含まれるシナリオ処理部114が、図14のシナリオ同期処理により、追加シナリオを取得する。シナリオ処理部114は、図15又は図16の状態遷移作成処理を行い、変更のあったシナリオに基づき、状態遷移を作成できる。
As described above, according to the state transition creation process of FIG. 16, the
(Change state transition)
For example, the
シナリオ処理部114は、変更前のシナリオから作成した状態遷移と、変更後のシナリオ又は追加シナリオから作成した状態遷移とに基づき、変更の必要な状態、利用するメソッド及び状態遷移条件を検索する。シナリオ処理部114は、変更の必要な状態、利用するメソッド及び状態遷移条件の検索結果に基づき、状態、利用するメソッド及び状態遷移条件の追加又は削除などのシナリオ変更処理を行う。
The
図17は、シナリオ変更処理の一例のイメージ図である。なお、図17のシナリオ変更処理はシナリオを追加する例である。図17(a)は、追加前のシナリオの状態遷移図である。図17(b)は、追加するシナリオの状態遷移図である。図17(c)は、追加後のシナリオの状態遷移図である。 FIG. 17 is an image diagram of an example of a scenario change process. Note that the scenario change process in FIG. 17 is an example of adding a scenario. FIG. 17A is a state transition diagram of a scenario before addition. FIG. 17B is a state transition diagram of the scenario to be added. FIG. 17C is a state transition diagram of the scenario after the addition.
図18は、シナリオ変更処理の他の一例のイメージ図である。なお、図18のシナリオ変更処理はシナリオを削除する例である。図18(a)は、削除前のシナリオの状態遷移図である。図18(b)は、削除するシナリオの状態遷移図である。図18(c)は、削除後のシナリオの状態遷移図である。
(アプリケーション利用)
ここでは、図19のような状態遷移で表されるシナリオに、新たなシナリオを追加したときの画面遷移の変更について説明する。図19は、シナリオより作成された一例の状態遷移図である。
FIG. 18 is an image diagram of another example of the scenario change process. Note that the scenario change process in FIG. 18 is an example of deleting a scenario. FIG. 18A is a state transition diagram of a scenario before deletion. FIG. 18B is a state transition diagram of the scenario to be deleted. FIG. 18C is a state transition diagram of the scenario after deletion.
(Application use)
Here, a change in screen transition when a new scenario is added to the scenario represented by the state transition as shown in FIG. 19 will be described. FIG. 19 is an example state transition diagram created from a scenario.
ユーザが起動を指示すると、アプリケーション110はU/I111を利用して図20のような初期画面2000をユーザに呈示する。図20は、アプリケーションによる一例の画面遷移図である。
When the user instructs activation, the
ユーザが初期画面2000上のボタン「スタート」を押下すると、アプリケーション110はセッション開始メソッドm1及び管理対象検索メソッドm2を実行し、成功を表す応答を受信すると図20のような管理対象決定画面2100をユーザに呈示する。ユーザが管理対象決定画面2100上から設定の種別としての管理対象名を選択すると、アプリケーション110は管理対象決定メソッドm3及び管理対象設定項目参照メソッドm4を実行し、成功を表す応答を受信すると図21のような管理対象設定項目設定画面2200をユーザに呈示する。
When the user presses the “Start” button on the
ここでは、ユーザが管理対象決定画面2100上から管理対象名「システム設定」を選択したものとする。ユーザが管理対象設定項目設定画面2200上に時刻およびセキュリティ設定を入力すると、アプリケーション110は管理対象設定項目設定メソッドm5及びセッション終了メソッドm6を実行したあと、処理を終了する。
Here, it is assumed that the user selects the management target name “system setting” from the management
前述したシナリオ変更処理を利用して、図19のような状態遷移で表されるシナリオに認証サービスを追加すると、図22の状態遷移で表されるシナリオに変更される。図22の状態遷移で表されるシナリオの場合、初期画面2000と管理対象決定画面2100との画面遷移の間に図23のようなユーザ認証画面2300が追加される。
When the authentication service is added to the scenario represented by the state transition as shown in FIG. 19 using the scenario change process described above, the scenario is changed to the scenario represented by the state transition of FIG. In the scenario represented by the state transition of FIG. 22, a
例えばユーザが初期画面2000上のボタン「スタート」を押下すると、アプリケーション110は図23のようなユーザ認証画面2300をユーザに呈示する。ユーザ認証画面2300にユーザ名,パスワードが入力された後、ボタン「OK」が押下されると、アプリケーション110はユーザ認証サービスa1を実行する。
For example, when the user presses the “Start” button on the
このように、Webサービスサーバ200はWebサービス利用時のWebサービスクライアント100の動作が定義されたシナリオをWebサービスクライアント100に提供し、シナリオに応じてWebサービスクライアント100がサービスを利用するときの処理手順を決定できるので、サービスの追加や変更に、Webサービスクライアント100のサービス利用時の動作を対応させることができる。
As described above, the
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。 The present invention is not limited to the specifically disclosed embodiments, and various modifications and changes can be made without departing from the scope of the claims.
100 Webサービスクライアント
110,410 アプリケーション
111,411 U/I
113 WSDL処理部
114 シナリオ処理部
120,210,420 ネットワークI/F
200 Webサービスサーバ
220 Webサービス実行部
230 シナリオ管理部
300 サービスディスカバリ
310 サービス管理部
320,415 格納部
400 シナリオ作成装置
412 エディタ制御部
413 データ解析部
414 XML生成部
1001 入力装置
1002 表示装置
1003 ドライブ装置
1004 記録媒体
1005 補助記憶装置
1006 メモリ装置
1007 演算処理装置
1008 インターフェース装置
B バス
100
113
DESCRIPTION OF
Claims (17)
前記サービス利用時の前記Webサービスクライアントの動作を定義したシナリオをシナリオ取得要求に応じて前記Webサービスクライアントに提供するシナリオ管理機能と、
前記Webサービスクライアントからのサービス利用要求に応じて前記サービスを前記Webサービスクライアントに提供するサービス実行機能とを備え、
前記シナリオ管理機能は、前記シナリオが変更されたとき、前記サービス実行機能にシナリオの変更を通知しておき、
前記サービス実行機能は、前記シナリオの変更を通知されたあとで前記Webサービスクライアントからのサービス利用要求を受けると、前記変更されたシナリオを前記シナリオ管理機能から取得して前記サービス利用要求に応じたサービスと共に前記Webサービスクライアントに提供すること
を特徴とするサーバ。 A server connected to a Web service client using a predetermined service via a network and providing the service to the Web service client;
A scenario management functions to be provided to the Web service client scenario that defines the Web service client behavior during the service depending on the scenario acquisition request,
A service execution function for providing the service to the Web service client in response to a service use request from the Web service client ;
The scenario management function notifies the service execution function of a scenario change when the scenario is changed,
When the service execution function receives a service use request from the Web service client after being notified of the change of the scenario, the service execution function acquires the changed scenario from the scenario management function and responds to the service use request. Providing the Web service client together with the service
A server characterized by
を特徴とする請求項1記載のサーバ。 The scenario management function, the operation of the Web service client when the service state, a scenario in terms of the method to use and the state transition condition according to claim 1, wherein the providing the Web service client server.
を特徴とする請求項1記載のサーバ。 2. The server according to claim 1, wherein the scenario management function provides a scenario including a state definition part, a method definition part, and a state transition condition definition part to the Web service client.
を特徴とする請求項1記載のサーバ。 The scenario management function, the Web service operation a basic sequence of the client at the time of the service, alternative sequences and server according to claim 1, wherein the defined scenarios and providing the Web service client exception sequence.
を特徴とする請求項1記載のサーバ。 The server according to claim 1, wherein the scenario management function registers the scenario in advance with another server that provides the scenario to the Web service client.
前記サービス実行機能は、前記シナリオの変更を通知されたあとで前記Webサービスクライアントからのサービス利用要求を受けると、前記シナリオが変更された旨および前記サービス利用要求に応じたサービスを前記Webサービスクライアントに提供し、
前記シナリオ管理機能は、前記変更されたシナリオを前記Webサービスクライアントに提供すること
を特徴とする請求項1記載のサーバ。 The scenario management function notifies the service execution function of a scenario change when the scenario is changed,
Said service execution function, when after notified of a change in the scenario receiving a service request from the Web service client, the Web service client services according to the effect that the scenario has been changed and the service use request To provide
The scenario management functions, server according to claim 1, wherein providing said modified scenario to the Web service client.
を特徴とする請求項1乃至6何れか一項記載のサーバ。 The scenario management capabilities, claims 1 to 6 server of any one claim and providing a scenario described in XML to the Web service client.
を特徴とする請求項1乃至7何れか一項記載のサーバ。 The scenario management function claims 1 to 7 any one claim and providing the Web service client in accordance with the scenario that defines the Web service client behavior when using the Web service to the scenario acquisition request Server.
前記サービス利用時の前記Webサービスクライアントの動作を定義したシナリオをシナリオ取得要求に応じて前記Webサービスクライアントに提供するシナリオ管理機能と、
前記Webサービスクライアントからのサービス利用要求に応じて前記サービスを前記Webサービスクライアントに提供するサービス実行機能とを実行させ、
前記シナリオ管理機能は、前記シナリオが変更されたとき、前記サービス実行機能にシナリオの変更を通知しておき、
前記サービス実行機能は、前記シナリオの変更を通知されたあとで前記Webサービスクライアントからのサービス利用要求を受けると、前記変更されたシナリオを前記シナリオ管理機能から取得して前記サービス利用要求に応じたサービスと共に前記Webサービスクライアントに提供するためのサービス提供プログラム。 A server that is connected to a Web service client that uses a predetermined service via a network and that provides a service to the Web service client.
A scenario management functions to be provided to the Web service client scenario that defines the Web service client behavior during the service depending on the scenario acquisition request,
A service execution function for providing the service to the Web service client in response to a service use request from the Web service client ;
The scenario management function notifies the service execution function of a scenario change when the scenario is changed,
When the service execution function receives a service use request from the Web service client after being notified of the change of the scenario, the service execution function acquires the changed scenario from the scenario management function and responds to the service use request. the Web service because of service providing program be provided to the client along with the service.
を特徴とする請求項9記載のサービス提供プログラム。 The scenario management function, the operation of the Web service client when the service state, a scenario in terms of the method to use and the state transition condition of claim 9, wherein the providing the Web service client Service provision program.
を特徴とする請求項9記載のサービス提供プログラム。 10. The service providing program according to claim 9 , wherein the scenario management function provides a scenario including a state definition part, a method definition part, and a state transition condition definition part to the Web service client.
を特徴とする請求項9記載のサービス提供プログラム。 The scenario management function, the Web service operation a basic sequence of the client at the time of the service, the service providing according to claim 9, characterized in that to provide the defined scenario alternative sequences and exception sequence to the Web service client program.
を特徴とする請求項9記載のサービス提供プログラム。 10. The service providing program according to claim 9 , wherein the scenario management function registers the scenario in advance in another server that provides the scenario to the Web service client.
前記サービス実行機能は、前記シナリオの変更を通知されたあとで前記Webサービスクライアントからのサービス利用要求を受けると、前記シナリオが変更された旨および前記サービス利用要求に応じたサービスを前記Webサービスクライアントに提供し、
前記シナリオ管理機能は、前記変更されたシナリオを前記Webサービスクライアントに提供すること
を特徴とする請求項9記載のサービス提供プログラム。 The scenario management function notifies the service execution function of a scenario change when the scenario is changed,
Said service execution function, when after notified of a change in the scenario receiving a service request from the Web service client, the Web service client services according to the effect that the scenario has been changed and the service use request To provide
The service providing program according to claim 9 , wherein the scenario management function provides the changed scenario to the Web service client.
を特徴とする請求項9乃至14何れか一項記載のサービス提供プログラム。 The scenario management functions, claim 9 or 14 any one of claims service providing program and providing a scenario described in XML to the Web service client.
を特徴とする請求項9乃至15何れか一項記載のサービス提供プログラム。 The scenario management function, claim 9 or 15 any one claim and providing the Web service client in accordance with the scenario that defines the Web service client behavior when using the Web service to the scenario acquisition request Service provision program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004258460A JP4584654B2 (en) | 2004-09-06 | 2004-09-06 | Server, service providing program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004258460A JP4584654B2 (en) | 2004-09-06 | 2004-09-06 | Server, service providing program, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006072911A JP2006072911A (en) | 2006-03-16 |
JP4584654B2 true JP4584654B2 (en) | 2010-11-24 |
Family
ID=36153440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004258460A Expired - Fee Related JP4584654B2 (en) | 2004-09-06 | 2004-09-06 | Server, service providing program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4584654B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112840326B (en) * | 2018-12-03 | 2024-07-02 | 硕动力公司 | Test engine for automated operation management |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004112636A (en) * | 2002-09-20 | 2004-04-08 | Fuji Xerox Co Ltd | Device, method, and program for displaying operation screen |
-
2004
- 2004-09-06 JP JP2004258460A patent/JP4584654B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004112636A (en) * | 2002-09-20 | 2004-04-08 | Fuji Xerox Co Ltd | Device, method, and program for displaying operation screen |
Also Published As
Publication number | Publication date |
---|---|
JP2006072911A (en) | 2006-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7454613B2 (en) | Information processing apparatus, session recovery method, recording medium for storing session recovery program | |
JP4664977B2 (en) | Device management method for device management system | |
JP4206673B2 (en) | Image or audio input / output control | |
JP2007122650A (en) | Program and method for supporting service mounting | |
US20080016157A1 (en) | Method and system for controlling and monitoring an apparatus from a remote computer using session initiation protocol (sip) | |
JP2007026441A (en) | Apparatus and method for reaching agreement on web service policy | |
JP6214372B2 (en) | Management device, method and program | |
JP2006099746A (en) | Method, device and program for producing operation definition information, recording medium and data structure | |
JP4584654B2 (en) | Server, service providing program, and recording medium | |
JP2006072910A (en) | Client, service use program, and recording medium | |
JP2010109650A (en) | Information processor and image-forming system including the same | |
JP2010026707A (en) | Management device, setting value application method, setting value application program, and recording medium | |
JP2009053957A (en) | Information processor and its control method | |
JP2005055983A (en) | Service management method and apparatus, and control program | |
JP4541994B2 (en) | Control device, control method and program | |
JP6852424B2 (en) | Application server, its method and program | |
JP3840215B2 (en) | COMMUNICATION DEVICE, METHOD, DEVICE CONTROL DEVICE, METHOD, AND PROGRAM | |
JP2007272471A (en) | Session management system | |
JP5549522B2 (en) | Relay program, relay device, and relay method | |
JP5293036B2 (en) | Program distribution apparatus, image processing apparatus, computer system, and program | |
JP2004362430A (en) | Application preparation device | |
JP2004348664A (en) | Information processing device, object management method, object management program and recording medium | |
JP2005122764A (en) | Client access management method and device | |
JP2005157613A (en) | Information management device | |
JP2005148885A (en) | Removable medium with program for system utilizing object recorded thereon |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070619 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090904 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100119 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100319 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100810 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100902 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130910 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |