JP5188284B2 - Service connection system and service connection method - Google Patents
Service connection system and service connection method Download PDFInfo
- Publication number
- JP5188284B2 JP5188284B2 JP2008157869A JP2008157869A JP5188284B2 JP 5188284 B2 JP5188284 B2 JP 5188284B2 JP 2008157869 A JP2008157869 A JP 2008157869A JP 2008157869 A JP2008157869 A JP 2008157869A JP 5188284 B2 JP5188284 B2 JP 5188284B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- service
- general
- request
- relay
- 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
Description
本発明は、サービス接続システム及びサービス接続方法に関するものである。本発明は、特に、Webサービス接続システムにおけるWebサービスメッセージ変換方式に関するものである。 The present invention relates to a service connection system and a service connection method. The present invention particularly relates to a Web service message conversion method in a Web service connection system.
XML(eXtensible・Markup・Language)・Webサービス(以下、単にWebサービスと記す)は、HTTP(HyperText・Transfer・Protocol)、XML、SOAP(Simple・Object・Access・Protocol)といったオープンなインターネット技術に基づいて、情報サービスをインターネット上に提供し、ネットワーク上の他のプログラムから呼び出して利用できるようにするものである。ここで、Webサービスを提供するプログラムをWebサービスプロバイダ、Webサービスを利用するプログラムをWebサービスリクエスタと呼ぶ。 XML (extensible Markup Language) and Web services (hereinafter simply referred to as Web services) are based on open Internet technologies such as HTTP (HyperText Transfer Protocol), XML, and SOAP (Simple Object Access Protocol). Thus, the information service is provided on the Internet, and can be used by calling from other programs on the network. Here, a program that provides a Web service is called a Web service provider, and a program that uses the Web service is called a Web service requester.
Webサービスを呼び出すには、入出力パラメータとSOAPメッセージの間の変換とサーバとの通信を行うスタブと呼ばれるモジュールを、Webサービスのインタフェースを定義するWebサービス定義文書(WSDL(Web・Service・Definition・Language、あるいは、Web・Services・Description・Language)文書)(以下、単にWSDLと記すことがある)に基づいて作成する必要がある。インタフェースが少しでも異なると、新たに別のスタブを作成しなければならない。 In order to call a Web service, a module called a stub that performs conversion between input / output parameters and a SOAP message and communication with the server is called a Web service definition document (WSDL (Web Service Definition.WSDL) that defines the interface of the Web service. (Language, Web, Services, Description, Language) document) (hereinafter sometimes simply referred to as WSDL). If the interface is slightly different, you will have to create another stub.
スタブの作成はWSDLからスタブを自動生成するツールの利用によって、開発の効率化が図られている(例えば、特許文献1〜4参照)。
Webサービスごとにスタブを作成する従来の方式では、サービスのインタフェースの変更、生成ツールの不具合があると、スタブを再生成又は修正し、クライアントを再構築する必要があるという課題があった。また、各ベンダのスタブ生成ツールが生成するスタブに互換性がなく、ツールが異なると、クライアントアプリケーションの作り方も変わってしまうという課題があった。 In the conventional method of creating a stub for each Web service, there is a problem that if there is a change in the service interface or a problem with the generation tool, it is necessary to regenerate or correct the stub and rebuild the client. In addition, the stubs generated by the stub generation tools of each vendor are not compatible, and there is a problem that the way to create a client application changes if the tools are different.
特許文献1に記載のシステムによれば、Webサービスのインタフェースが2つあるとき、両方のインタフェースに1つのスタブで対応できる場合があるが、2つのインタフェース間に類似性が必要という制約があった。
According to the system described in
特許文献1に記載のシステムでは、あるWebサービスを呼び出していたWebサービスリクエスタに対して、Webサービス定義文書(WSDL)が少し変更された別のWebサービスを呼び出せるように変更を加える場合、スタブ(特許文献1の図2ではプロキシモジュールにあたる)の再生成を避けるために、データ変換モジュールで要求データ/応答データの形式を一方のものから他方のものに準じるように変換することによって、スタブの再生成なしに新規サービスを呼び出せるようにしている。しかしながら、2つのインタフェース間の類似性を判定して(特許文献1の図3の類似性判定モジュール)、構造的に類似と判定された場合しか、新規サービスが呼び出せないという制限があった。
In the system described in
本発明は、例えば、Webサービスの入出力データ(即ちインタフェース)が全く異なる複数のWebサービスを、スタブを再生成することなく、1つのスタブで呼び分けることができるようなWebサービス接続方式を提供することを目的とする。 The present invention provides, for example, a Web service connection method that enables a plurality of Web services having completely different input / output data (ie, interfaces) of Web services to be called by a single stub without regenerating the stub. The purpose is to do.
本発明の一の態様に係るサービス接続システムは、
サービスの種類ごとに固有のデータ形式をもつ固有型の要求データに対し、固有のデータ形式をもつ固有型の応答データを返信することでサービスを提供するサービス提供装置が複数接続された通信ネットワークを利用するサービス接続システムにおいて、
サービスを利用するクライアントアプリケーションをCPU(Central・Processing・Unit)で実行するアプリケーション実行部と、
アプリケーション実行部が実行するクライアントアプリケーションからサービスの種類を特定するサービスID(識別子)と任意のデータオブジェクトとの入力を受け付け、当該データオブジェクトのデータ形式を汎用のデータ形式に変換して汎用型の要求データを生成する要求側データ変換部と、
要求側データ変換部が入力を受け付けたサービスIDと要求側データ変換部が生成した汎用型の要求データとを送信する要求側データ通信部とを備えるサービス要求装置を有するとともに、
前記サービス要求装置から送信されたサービスIDと汎用型の要求データとを受信する第1の中継側データ通信部と、
第1の中継側データ通信部が受信した汎用型の要求データのデータ形式を、第1の中継側データ通信部が受信したサービスIDで特定される種類のサービス固有のデータ形式に変換して固有型の要求データを生成する中継側データ変換部と、
前記通信ネットワークを介して、中継側データ変換部が生成した固有型の要求データを、第1の中継側データ通信部が受信したサービスIDで特定される種類のサービスを提供するサービス提供装置へ送信し、当該サービス提供装置から返信される固有型の応答データを受信する第2の中継側データ通信部とを備える中継装置を有し、
中継側データ変換部は、第2の中継側データ通信部が受信した固有型の応答データのデータ形式を汎用のデータ形式に変換して汎用型の応答データを生成し、
第1の中継側データ通信部は、中継側データ変換部が生成した汎用型の応答データを前記サービス要求装置へ送信し、
要求側データ通信部は、前記中継装置から送信された汎用型の応答データを受信し、
要求側データ変換部は、要求側データ通信部が受信した汎用型の応答データのデータ形式を変換してデータオブジェクトを生成し、当該データオブジェクトをアプリケーション実行部が実行するクライアントアプリケーションに返すことを特徴とする。
A service connection system according to one aspect of the present invention includes:
A communication network in which multiple service providing devices that provide a service by returning a response data of a specific type having a specific data format to a specific type of request data having a specific data format for each service type is connected. In the service connection system used,
An application execution unit that executes a client application that uses the service by a CPU (Central Processing Unit);
Accepts the input of a service ID (identifier) that identifies the type of service and an arbitrary data object from the client application executed by the application execution unit, converts the data format of the data object to a general-purpose data format, and requests a general-purpose type A requesting data converter that generates data; and
The service request device includes a service ID that is received by the request side data conversion unit and a request side data communication unit that transmits general-purpose request data generated by the request side data conversion unit.
A first relay-side data communication unit that receives the service ID and general-purpose request data transmitted from the service requesting device;
The data format of the general-purpose request data received by the first relay-side data communication unit is converted into a service-specific data format of the type specified by the service ID received by the first relay-side data communication unit. A relay-side data converter that generates request data of a type;
Via the communication network, the unique request data generated by the relay-side data conversion unit is transmitted to the service providing apparatus that provides the type of service specified by the service ID received by the first relay-side data communication unit. And a relay device comprising a second relay-side data communication unit that receives unique response data returned from the service providing device,
The relay-side data conversion unit converts the data format of the unique response data received by the second relay-side data communication unit into a general-purpose data format, and generates general-purpose response data.
The first relay-side data communication unit transmits the general-purpose response data generated by the relay-side data conversion unit to the service requesting device,
The request side data communication unit receives general-purpose response data transmitted from the relay device,
The request side data conversion unit converts the data format of the general-purpose response data received by the request side data communication unit to generate a data object, and returns the data object to the client application executed by the application execution unit. And
本発明の一の態様によれば、サービス接続システムにおいて、
サービス要求装置が、クライアントアプリケーションから任意のデータオブジェクトの入力を受け付け、当該データオブジェクトのデータ形式を汎用のデータ形式に変換して汎用型の要求データを生成し、当該汎用型の要求データを中継装置へ送信し、
中継装置が、サービス要求装置から送信された汎用型の要求データのデータ形式をサービス固有のデータ形式に変換して固有型の要求データを生成し、当該固有型の要求データをサービス提供装置へ送信し、当該サービス提供装置から返信される固有型の応答データのデータ形式を汎用のデータ形式に変換して汎用型の応答データを生成し、当該汎用型の応答データをサービス要求装置へ送信し、
サービス要求装置が、中継装置から送信された汎用型の応答データのデータ形式を変換してデータオブジェクトを生成し、当該データオブジェクトをクライアントアプリケーションに返すことにより、
例えば、Webサービスの入出力データ(即ちインタフェース)が全く異なる複数のWebサービスを、スタブを再生成することなく、1つのスタブで呼び分けることができるようなWebサービス接続方式を提供することが可能となる。
According to one aspect of the present invention, in a service connection system,
The service request device receives input of an arbitrary data object from the client application, converts the data format of the data object to a general-purpose data format, generates general-purpose request data, and relays the general-purpose request data to the relay device Send to
The relay device converts the data format of the general-purpose request data transmitted from the service request device to a service-specific data format, generates the specific request data, and transmits the specific request data to the service providing device. Then, the data format of the unique response data returned from the service providing device is converted into a general-purpose data format to generate general-purpose response data, and the general-purpose response data is transmitted to the service request device,
The service request device generates a data object by converting the data format of the general-purpose response data transmitted from the relay device, and returns the data object to the client application.
For example, it is possible to provide a Web service connection method in which a plurality of Web services having completely different input / output data (that is, interfaces) of Web services can be called by one stub without regenerating the stub. It becomes.
以下、本発明の実施の形態について、図を用いて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
実施の形態1.
図1は、本実施の形態に係るWebサービス接続システム100(サービス接続システムの一例)の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a Web service connection system 100 (an example of a service connection system) according to the present embodiment.
図1において、Webサービス接続システム100は、Webサービスリクエスタ200、Webサービスプロバイダ300、中継サーバ400を備える。Webサービスリクエスタ200、Webサービスプロバイダ300、中継サーバ400は、通信ネットワーク500に接続されている。図中、Webサービスリクエスタ200、中継サーバ400は1つずつしか示していないが、それぞれが複数存在してもよい。また、Webサービスプロバイダ300も1つしか示していないが、実際には複数存在するものとする。それぞれのWebサービスプロバイダ300は、Webサービス(サービスの一例)の種類ごとに固有のデータ形式をもつ固有型の要求データに対し、固有のデータ形式をもつ固有型の応答データを返信することでWebサービスを提供する。Webサービスプロバイダ300は、Webサービスを1種類しか提供していなくてもよいし、2種類以上提供していてもよい。また、2つ以上のWebサービスプロバイダ300が同じ種類のWebサービスを提供していてもよい。それぞれのWebサービスプロバイダ300には、識別子として、少なくとも1つのURI(Uniform・Resource・Identifer)が割り当てられているものとする。
In FIG. 1, the web service connection system 100 includes a
Webサービスリクエスタ200は、クライアントアプリケーション210、オブジェクト変換モジュール220、SOAP処理モジュール230を含むプログラムである。このプログラムは、コンピュータであるサービス要求装置によって実行される。サービス要求装置は、アプリケーション実行部、要求側データ変換部、要求側データ通信部を備える。また、図示していないが、サービス要求装置は、CPU(Central・Processing・Unit)、メモリ(ハードディスクドライブなども含む)、入力装置、出力装置などのハードウェアを備えるものとする。サービス要求装置の各部は、メモリに予め記憶されたプログラム(モジュール)をCPUで読み取って実行することにより以下のように動作する。
The
まず、アプリケーション実行部は、Webサービスの種類を特定するサービスID(識別子)と、そのWebサービスを利用するための入力パラメータである任意のデータオブジェクトXqとを入力するクライアントアプリケーション210をCPUで実行する。次に、要求側データ変換部は、オブジェクト変換モジュール220をCPUで実行することにより、アプリケーション実行部が実行するクライアントアプリケーション210からサービスIDとデータオブジェクトXqとの入力を受け付ける。そして、要求側データ変換部は、データオブジェクトXqのデータ形式を汎用のデータ形式に変換して汎用型の要求データYqを生成する。次に、要求側データ通信部は、SOAP処理モジュール230を実行することにより、要求側データ変換部が入力を受け付けたサービスIDと要求側データ変換部が生成した汎用型の要求データYqとを、通信ネットワーク500を介して中継装置へ送信する。
First, the application execution unit executes, on the CPU, a
また、要求側データ通信部は、SOAP処理モジュール230を実行することにより、通信ネットワーク500を介して中継装置から送信される汎用型の応答データYsを受信する。次に、要求側データ変換部は、オブジェクト変換モジュール220をCPUで実行することにより、要求側データ通信部が受信した汎用型の応答データYsのデータ形式を変換してデータオブジェクトXsを生成する。そして、要求側データ変換部は、データオブジェクトXsをアプリケーション実行部が実行するクライアントアプリケーション210に返す。最後に、アプリケーション実行部は、クライアントアプリケーション210をCPUで実行することにより、要求側データ変換部が返したデータオブジェクトXsを用いて、例えばWebサービスを利用した結果を画面などに表示する。
In addition, the request side data communication unit receives the general-purpose response data Ys transmitted from the relay device via the communication network 500 by executing the
以下では、サービス要求装置の動作をWebサービスリクエスタ200の動作として説明する場合がある。また、アプリケーション実行部、要求側データ変換部、要求側データ通信部の動作を、それぞれクライアントアプリケーション210、オブジェクト変換モジュール220、SOAP処理モジュール230の動作として説明する場合がある。
Hereinafter, the operation of the service requesting apparatus may be described as the operation of the
Webサービスプロバイダ300は、Webサービス実装310、SOAP処理モジュール330を含むプログラムである。このプログラムは、コンピュータであるサービス提供装置によって実行される。サービス提供装置は、サービス処理実行部、提供側データ通信部を備える。また、図示していないが、サービス提供装置は、CPU、メモリ、入力装置、出力装置などのハードウェアを備えるものとする。サービス提供装置の各部は、メモリに予め記憶されたプログラム(モジュール)をCPUで読み取って実行することにより以下のように動作する。
The
まず、提供側データ通信部は、SOAP処理モジュール330を実行することにより、通信ネットワーク500を介して中継装置から送信される固有型の要求データZqを受信する。次に、サービス処理実行部は、Webサービス実装310をCPUで実行することにより、提供側データ通信部が受信した固有型の要求データZqに基づいて、Webサービスに係る処理を実行する。そして、サービス処理実行部は、当該実行結果として、固有型の応答データZsを返す。次に、提供側データ通信部は、サービス処理実行部が実行したWebサービス実装310から返された固有型の応答データZsを受け取る。そして、提供側データ通信部は、固有型の応答データZsを、通信ネットワーク500を介して中継装置へ送信する。
First, the providing side data communication unit receives the unique request data Zq transmitted from the relay apparatus via the communication network 500 by executing the
サービス提供装置は、さらに、WSDL格納部340を備える。WSDL格納部340は、サービス処理実行部が実行するWebサービス実装310が提供するWebサービスの種類ごとに、固有のデータ形式を定義するWSDL(サービス定義ファイルの一例)をメモリに保持している。提供側データ通信部は、中継装置からWebサービスの種類を指定してWSDLを要求された場合、通信ネットワーク500を介して、該当するWSDLを中継装置へ送信する。
The service providing apparatus further includes a
以下では、サービス提供装置の動作をWebサービスプロバイダ300の動作として説明する場合がある。また、サービス処理実行部、提供側データ通信部の動作を、それぞれWebサービス実装310、SOAP処理モジュール330の動作として説明する場合がある。
Hereinafter, the operation of the service providing apparatus may be described as the operation of the
中継サーバ400は、SOAP処理モジュール410、中継サービス420、メッセージ変換モジュール430、WSDL取得モジュール440を含むプログラムである。このプログラムは、コンピュータである中継装置によって実行される。中継装置は、第1の中継側データ通信部及び第2の中継側データ通信部、中継側データ変換部、ファイル取得部を備える。また、図示していないが、中継装置は、CPU、メモリ、入力装置、出力装置などのハードウェアを備えるものとする。サービス要求装置の各部は、メモリに予め記憶されたプログラム(モジュール)をCPUで読み取って実行することにより以下のように動作する。
The
まず、第1の中継側データ通信部は、SOAP処理モジュール410をCPUで実行することにより、通信ネットワーク500を介してサービス要求装置から送信されたサービスIDと汎用型の要求データYqとを受信する。そして、第1の中継側データ通信部は、中継サービス420をCPUで実行することにより、サービスIDで特定される種類のサービスを提供するサービス提供装置を1つ選択する。次に、ファイル取得部は、第1の中継側データ通信部が選択したサービス提供装置からWSDLを取得する。このとき、ファイル取得部は、第1の中継側データ通信部が受信したサービスIDをサービス提供装置へ送信することにより、特定のWebサービスの種類を指定してWSDLを要求してもよい。次に、中継側データ変換部は、メッセージ変換モジュール430をCPUで実行することにより、ファイル取得部が取得したWSDLで定義されるデータ形式を参照して、第1の中継側データ通信部が受信した汎用型の要求データYqのデータ形式を、第1の中継側データ通信部が受信したサービスIDで特定される種類のサービス固有のデータ形式に変換して固有型の要求データZqを生成する。次に、第2の中継側データ通信部は、SOAP処理モジュール410をCPUで実行することにより、通信ネットワーク500を介して、中継側データ変換部が生成した固有型の要求データZqを、第1の中継側データ通信部が選択したサービス提供装置へ送信する。
First, the first relay-side data communication unit receives the service ID and the general-purpose request data Yq transmitted from the service request apparatus via the communication network 500 by executing the
また、第2の中継側データ通信部は、SOAP処理モジュール410を実行することにより、固有型の要求データZqを送信したサービス提供装置から返信される固有型の応答データZsを受信する。次に、中継側データ変換部は、メッセージ変換モジュール430をCPUで実行することにより、ファイル取得部が取得したWSDLで定義されるデータ形式を参照して、第2の中継側データ通信部が受信した固有型の応答データZsのデータ形式を汎用のデータ形式に変換して汎用型の応答データYsを生成する。次に、第1の中継側データ通信部は、SOAP処理モジュール410をCPUで実行することにより、通信ネットワーク500を介して、中継側データ変換部が生成した汎用型の応答データYsをサービス要求装置へ送信する。
In addition, the second relay side data communication unit receives the unique response data Zs returned from the service providing apparatus that has transmitted the unique request data Zq by executing the
中継装置は、さらに、サービスID/URIマッピングデータベース450を備える。サービスID/URIマッピングデータベース450は、サービスIDとWebサービスプロバイダ300のURIとの対応関係をメモリに記憶するデータベースである。第1の中継側データ通信部は、サービスIDで特定される種類のサービスを提供するサービス提供装置を選択する際に、ファイル取得部に対し、当該サービスIDに対応するURIをサービスID/URIマッピングデータベース450から抽出させ、当該URIで特定されるサービス提供装置(複数ある場合には、その中の1つ)を選択してもよい。
The relay apparatus further includes a service ID /
以下では、中継装置の動作を中継サーバ400の動作として説明する場合がある。また、第1の中継側データ通信部及び第2の中継側データ通信部、中継側データ変換部、ファイル取得部の動作を、それぞれSOAP処理モジュール410、中継サービス420、メッセージ変換モジュール430、WSDL取得モジュール440の動作として説明する場合がある。
Hereinafter, the operation of the relay apparatus may be described as the operation of the
上記のように、本実施の形態では、特許文献1に記載のシステムと異なり、Webサービスリクエスタ200にオブジェクト変換モジュール220を置いている。オブジェクト変換モジュール220はクライアントアプリケーション210からWebサービスに渡すデータオブジェクトを、WSDLが定義するメッセージ形式に依存しない汎用的な形式の要求メッセージ(汎用型の要求データYq)に変換するものである。オブジェクト変換モジュール220はWebサービスが返した汎用的な形式の応答メッセージ(汎用型の応答データYs)を、データオブジェクトに変換することも行う。ここで、要求メッセージ及び応答メッセージは、文字列で表されるものとする。以下では、汎用的な形式の要求メッセージ及び応答メッセージを汎用メッセージという場合がある。
As described above, in the present embodiment, unlike the system described in
Webサービスリクエスタ200からWebサービスプロバイダ300のサービスを呼ぶとき、Webサービスリクエスタ200は汎用メッセージ(汎用型の要求データYq)を中継サーバ400に送る。中継サーバ400のメッセージ変換モジュール430は、WSDL取得モジュール440を介してWebサービスプロバイダ300から取得したWSDLのメッセージ定義を参照しながら、汎用メッセージ(汎用型の要求データYq)をサービス固有のメッセージ(固有型の要求データZq)に変換し、Webサービスを呼び出す。Webサービスが返した応答メッセージ(固有型の応答データZs)は、上記の経路を逆にたどって、中継サーバ400で汎用メッセージ(汎用型の応答データYs)に変換され、Webサービスリクエスタ200のオブジェクト変換モジュール220で応答データ(データオブジェクトXs)に変換され、クライアントアプリケーションに戻される。
When calling the service of the
図2は、Webサービスリクエスタ200のプログラムを実行するサービス要求装置、Webサービスプロバイダ300のプログラムを実行するサービス提供装置、中継サーバ400のプログラムを実行する中継装置のハードウェア構成の一例を示す図である。
FIG. 2 is a diagram illustrating an example of a hardware configuration of a service requesting apparatus that executes a program of the
図2において、サービス要求装置、サービス提供装置、中継装置は、コンピュータであり、CRT(Cathode・Ray・Tube)やLCD(液晶ディスプレイ)の表示画面を有する表示装置901、キーボード902(K/B)、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(Compact・Disc・Drive)、プリンタ装置906などのハードウェアを備え、これらはケーブルや信号線で接続されている。
In FIG. 2, a service requesting device, a service providing device, and a relay device are computers, a
サービス要求装置、サービス提供装置、中継装置は、プログラムを実行するCPU911を備えている。CPU911は、バス912を介してROM913(Read・Only・Memory)、RAM914(Random・Access・Memory)、通信ボード915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカードリーダライタなどの記憶媒体が用いられてもよい。
The service requesting device, the service providing device, and the relay device include a
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、メモリの一例である。通信ボード915、キーボード902、マウス903、FDD904、CDD905などは、入力装置の一例である。また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
The
通信ボード915は、LAN(ローカルエリアネットワーク)などに接続されている。通信ボード915は、LANに限らず、インターネット、あるいは、IP−VPN(Internet・Protocol・Virtual・Private・Network)、広域LAN、ATM(Asynchronous・Transfer・Mode)ネットワークなどのWAN(ワイドエリアネットワーク)などに接続されていても構わない。LAN、インターネット、WANは、ネットワークの一例である。
The
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。また、ファイル群924には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ID(識別子)」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として記憶されている。「〜ファイル」や「〜データベース」や「〜テーブル」は、ディスクやメモリなどの記憶媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのCPU911の処理(動作)に用いられる。抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのCPU911の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
The
また、本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号は、RAM914などのメモリ、FDD904のフレキシブルディスク(FD)、CDD905のコンパクトディスク(CD)、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク(MD)、DVD(Digital・Versatile・Disc)などの記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体により伝送される。
In addition, the arrows in the block diagrams and flowcharts used in the description of this embodiment mainly indicate input / output of data and signals, and the data and signals are the memory such as the
また、本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアのみ、あるいは、素子・デバイス・基板・配線などのハードウェアのみ、あるいは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVDなどの記録媒体に記憶される。このプログラムはCPU911により読み出され、CPU911により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
In addition, what is described as “˜unit” in the description of this embodiment may be “˜circuit”, “˜device”, “˜device”, and “˜step”, “˜process”. , “˜procedure”, and “˜processing”. That is, what is described as “˜unit” may be realized by firmware stored in the
クライアントアプリケーション210及びWebサービス実装310を記述するプログラム言語は、オブジェクトからそのクラスで定義されている変数の名前やデータ型の情報を取得するAPI(Application・Program・Interface)、いわゆるリフレクション機能を実現しているものとする。ここではJava(登録商標)言語の例を記述する。なお、データ型が1対1に対応可能な範囲で使用するのであれば、クライアントアプリケーション210とWebサービス実装310の記述言語が異なっていてもよい。
The programming language that describes the
リフレクション機能をもつプログラム言語のデータオブジェクトと、汎用的な形式のメッセージを相互に変換する方法としては、例えば、Java(登録商標)言語では、java.beans.XMLEncode及びXMLDecodeという標準APIがある。 As a method for mutually converting a data object of a programming language having a reflection function and a message in a general format, for example, in Java (registered trademark) language, Java. beans. There are standard APIs called XMLEncode and XMLDecode.
図3に、データオブジェクトと、XMLで表された汎用的な形式のメッセージとの変換例を示す。メッセージの具体的な形式と変換手順はこれに限るものではないが、メッセージ形式は以下の特徴を備えているものとする。
(a)オブジェクトのデータ型と値が表せる。
(b)構造型のフィールドの名前と、オブジェクトのデータ型と値が表せる。
(c)オブジェクトの配列を表せる。
(d)構造型のフィールドの1つが別の、あるいは、それ自身の型の構造型である、または配列であるなど、入れ子の構造を表せる。
FIG. 3 shows an example of conversion between a data object and a message in a general format expressed in XML. The specific format of the message and the conversion procedure are not limited to this, but the message format has the following characteristics.
(A) The data type and value of the object can be expressed.
(B) The name of the structure type field, the data type and value of the object can be represented.
(C) An array of objects can be represented.
(D) It can represent a nested structure, such that one of the structured type fields is another or its own structured type, or an array.
Webサービスリクエスタ200の動作を図4に示す。クライアントアプリケーション210は、例えばmyBeanというデータオブジェクト601(データオブジェクトXq)を保持している。myBeanは、呼び出すサービスのWSDL(図5のWSDL701に相当)で定義されたメッセージ要素(element)に合わせたプロパティ構成とする。クライアントアプリケーション210は、呼び出すWebサービスを識別するサービスIDと、myBeanを引数として、オブジェクト変換モジュール220のAPI(ここでは例としてcallメソッドとする)を呼び出す。callメソッドではmyBeanオブジェクトを汎用的な形式の要求メッセージである汎用メッセージ602(汎用型の要求データYq)に変換する。汎用メッセージ602のメッセージ形式は、上記のWSDLに依存しないため、WSDLに変更や追加などがあっても、オブジェクト変換モジュール220(スタブに相当)を変更又は再作成する必要はない。オブジェクト変換モジュール220は、SOAP処理モジュール230を通して、SOAPメッセージ603を作成し、中継サーバ400に送る。
The operation of the
中継サーバ400でのメッセージ変換手順を図5に示す。中継サービス420はSOAP処理モジュール410を通して、サービスIDと要求メッセージ(汎用型の要求データYq)をWebサービスリクエスタ200から受け取り、メッセージ変換モジュール430に渡す。メッセージ変換モジュール430では、サービスIDをWSDL取得モジュール440に渡す。WSDL取得モジュールは、サービスID/URIマッピングデータベース450から、サービスIDに対応するWebサービスプロバイダ300のURIを得て、Webサービスプロバイダ300からWSDL701を取得し、メッセージ変換モジュール430に渡す。メッセージ変換モジュール430はWSDL701のメッセージ定義を参照しながら、汎用メッセージ602をサービス固有のメッセージ604(固有型の要求データZq)に逐次変換し、それをWebサービスプロバイダ300に送信する。
A message conversion procedure in the
インタフェースが異なり、別のWSDLをもつWebサービスプロバイダ300のWebサービスを呼ぶ必要が生じたときは、中継サーバ400のサービスID/URIマッピングデータベース450にデータを追加し、Webサービスリクエスタ200のクライアントアプリケーション210では、新たなWSDLに合わせたデータ型のオブジェクトを作成し、オブジェクト変換モジュール220を呼ぶときの引数であるサービスIDと、データオブジェクトを変更する。
When the interface is different and it is necessary to call a Web service of the
Webサービスリクエスタ200では、サービスIDによって異なるサービスを呼び分けることができるため、新たなWebサービス呼び出しを行うことになっても、スタブの再生成は不要であり、また特許文献1に記載のシステムのような、インタフェース類似性の制限も生じない。なお、特許文献1では、インタフェースが変更されてもクライアントプログラムの修正が不要であるという効果について記載されているが、それはクライアントプログラムの機能の変更が全くない場合に限定される。例えば、これまで使用していたプロバイダのWebサービスに加えて、別のプロバイダのサービスを使用する場合などは、クライアントプログラムの修正は必要となる。本実施の形態では、そのような場合におけるクライアントアプリケーション210の修正は必要最小限のものである。
Since the
以上説明した本実施の形態に係るWebサービス接続方法は、
(a)クライアント端末において、プログラム言語のデータオブジェクトの値を接続先のWebサービスのWebサービス定義文書に依存しない汎用的なデータ形式の要求メッセージに変換する工程、
(b)クライアント端末において、汎用的なデータ形式の応答メッセージを、プログラム言語のデータオブジェクトの値に変換する工程、
(c)ネットワークで、クライアント端末とWebサービス提供サーバの中間に置かれた中継サーバにおいて、Webサービス提供サーバよりWebサービス定義文書を取得する工程、
(d)中継サーバにおいて、接続先のWebサービスのWebサービス定義文書に依存しない汎用的な要求メッセージを、接続先のWebサービス固有の形式の要求メッセージに変換する工程、
(e)中継サーバにおいて、接続先のWebサービス固有の形式の応答メッセージを、汎用的な応答メッセージに変換する工程、
を備えることを特徴とする。
The web service connection method according to the present embodiment described above is as follows.
(A) In the client terminal, converting the value of the data object in the programming language into a request message in a general data format that does not depend on the Web service definition document of the connected Web service;
(B) converting a response message in a general data format into a value of a data object in a programming language at the client terminal;
(C) obtaining a Web service definition document from the Web service providing server in a relay server placed between the client terminal and the Web service providing server in the network;
(D) In the relay server, converting a general request message that does not depend on the Web service definition document of the connection destination Web service into a request message in a format unique to the connection destination Web service;
(E) In the relay server, a step of converting a response message in a format unique to the connected Web service into a general-purpose response message;
It is characterized by providing.
実施の形態2.
本実施の形態について、主に実施の形態1との差異を説明する。
In the present embodiment, differences from the first embodiment will be mainly described.
実施の形態1では、一般的な構成のWebサービスプロバイダ300を利用していたが、本実施の形態では、Webサービスリクエスタ200がオブジェクト変換モジュール220を有するだけでなく、Webサービスプロバイダ300も同様のモジュールを有する構成をとっている。この場合もスタブの再生成を不要にすることができる。
In the first embodiment, the
図6は、本実施の形態に係るWebサービス接続システム100(サービス接続システムの一例)の構成を示すブロック図である。 FIG. 6 is a block diagram showing a configuration of a Web service connection system 100 (an example of a service connection system) according to the present embodiment.
図6において、Webサービス接続システム100は、Webサービスリクエスタ200、Webサービスプロバイダ300を備えるが、中継サーバ400は不要である。
In FIG. 6, the Web service connection system 100 includes a
Webサービスリクエスタ200は、実施の形態1と同様のプログラムである。実施の形態1と同様に、このプログラムは、コンピュータであるサービス要求装置によって実行される。サービス要求装置の各部は、実施の形態1と同様に、メモリに予め記憶されたプログラム(モジュール)をCPUで読み取って実行することにより以下のように動作する。
The
まず、アプリケーション実行部は、Webサービスの種類を特定するサービスIDと、そのWebサービスを利用するための入力パラメータである任意のデータオブジェクトXqとを入力するクライアントアプリケーション210をCPUで実行する。次に、要求側データ変換部は、オブジェクト変換モジュール220をCPUで実行することにより、アプリケーション実行部が実行するクライアントアプリケーション210からサービスIDとデータオブジェクトXqとの入力を受け付ける。そして、要求側データ変換部は、データオブジェクトXqのデータ形式を汎用のデータ形式に変換して汎用型の要求データYqを生成する。次に、要求側データ通信部は、SOAP処理モジュール230を実行することにより、要求側データ変換部が入力を受け付けたサービスIDと要求側データ変換部が生成した汎用型の要求データYqとを、通信ネットワーク500を介してサービス提供装置へ直接送信する。
First, the application execution unit executes, on the CPU, a
また、要求側データ通信部は、SOAP処理モジュール230を実行することにより、通信ネットワーク500を介してサービス提供装置から送信される汎用型の応答データYsを受信する。次に、要求側データ変換部は、オブジェクト変換モジュール220をCPUで実行することにより、要求側データ通信部が受信した汎用型の応答データYsのデータ形式を変換してデータオブジェクトXsを生成する。そして、要求側データ変換部は、データオブジェクトXsをアプリケーション実行部が実行するクライアントアプリケーション210に返す。最後に、アプリケーション実行部は、クライアントアプリケーション210をCPUで実行することにより、要求側データ変換部が返したデータオブジェクトXsを用いて、例えばWebサービスを利用した結果を画面などに表示する。
In addition, the request side data communication unit receives the general-purpose response data Ys transmitted from the service providing apparatus via the communication network 500 by executing the
Webサービスプロバイダ300は、Webサービス実装310、オブジェクト変換モジュール320、SOAP処理モジュール330を含むプログラムである。このプログラムは、コンピュータであるサービス提供装置によって実行される。サービス提供装置は、サービス処理実行部、提供側データ変換部、提供側データ通信部を備える。また、図示していないが、サービス提供装置は、CPU、メモリ、入力装置、出力装置などのハードウェアを備えるものとする。サービス提供装置の各部は、メモリに予め記憶されたプログラム(モジュール)をCPUで読み取って実行することにより以下のように動作する。
The
まず、提供側データ通信部は、SOAP処理モジュール330を実行することにより、通信ネットワーク500を介してサービス要求装置から送信されたサービスIDと汎用型の要求データYqとを受信する。次に、提供側データ変換部は、オブジェクト変換モジュール320をCPUで実行することにより、提供側データ通信部が受信した汎用型の要求データYqのデータ形式を変換してデータオブジェクトXqを生成する。次に、サービス処理実行部は、Webサービス実装310をCPUで実行することにより、提供側データ変換部が生成したデータオブジェクトXqを用いて、提供側データ通信部が受信したサービスIDで特定される種類のサービスに係る処理をCPUで実行し、当該実行結果として新たなデータオブジェクトXsを返す。次に、提供側データ変換部は、オブジェクト変換モジュール320をCPUで実行することにより、サービス処理実行部が返したデータオブジェクトXsのデータ形式を汎用のデータ形式に変換して汎用型の応答データYsを生成する。最後に、提供側データ通信部は、SOAP処理モジュール330を実行することにより、提供側データ変換部が生成した汎用型の応答データYsを、通信ネットワーク500を介してサービス要求装置へ送信する。
First, the providing side data communication unit receives the service ID and the general-purpose request data Yq transmitted from the service requesting device via the communication network 500 by executing the
上記のように、本実施の形態では、Webサービスプロバイダ300側のオブジェクト変換モジュール320は、汎用的な形式の要求メッセージ(汎用型の要求データYq)をWebサービス実装310のプログラム言語のデータオブジェクト(データオブジェクトXq)に変換する。また、Webサービス実装310が返したデータオブジェクト(データオブジェクトXs)を、汎用的な形式の応答メッセージ(汎用型の応答データYs)に変換する。
As described above, in the present embodiment, the
Webサービスリクエスタ200からWebサービスプロバイダ300のサービスを呼ぶとき、Webサービスリクエスタ200は汎用メッセージをWebサービスプロバイダ300に直接送る。具体的には、まず、クライアントアプリケーション210が、オブジェクト変換モジュール220に、Webサービスに渡すデータオブジェクト(データオブジェクトXq)を、オブジェクト変換モジュール220が提供するWebサービス呼び出しAPIの引数として与える。オブジェクト変換モジュール220は、データオブジェクトを汎用的な形式の要求メッセージ(汎用型の要求データYq)に変換し、SOAP処理モジュール230に渡す。ここで、SOAP処理モジュール230には、予め接続先のWebサービスプロバイダ300を表す識別子として、URIが与えられている(メモリに記憶されている)ものとする。SOAP処理モジュール230は、URIで示される接続先のWebサービスプロバイダ300のSOAP処理モジュール330との間で、通信プロトコルにSOAPを利用して、要求メッセージを送信する。
When calling the service of the
SOAP処理モジュール330は、受信した要求メッセージをオブジェクト変換モジュール320に渡す。オブジェクト変換モジュール320は、要求メッセージを、Webサービス実装310を記述するプログラム言語のデータオブジェクト(データオブジェクトXq)に変換し、Webサービス実装310に渡す。Webサービス実装310は、サービスが提供する情報処理を行い、結果のデータオブジェクト(データオブジェクトXs)をオブジェクト変換モジュール320に返す。結果のデータオブジェクトは、要求メッセージから変換されたものと同じものであってもよいし、Webサービス実装310の処理が別に生成したものであってもよい。データ型が要求メッセージから変換されたものと異なっていてもよい。オブジェクト変換モジュール320は、データオブジェクトを汎用的な形式の応答メッセージ(汎用型の応答データYs)に変換し、SOAP処理モジュール330に渡す。SOAP処理モジュール330は、通信プロトコルにSOAPを利用して、応答メッセージを要求元のWebサービスリクエスタ200のSOAP処理モジュール230に返す。
The
SOAP処理モジュール230は、応答メッセージをオブジェクト変換モジュール220に渡す。オブジェクト変換モジュール220は、応答メッセージをデータオブジェクト(データオブジェクトXs)に変換する。
The
本実施の形態によれば、Webサービスプロバイダ300が用意するサービスのインタフェースは、汎用的な形式の要求メッセージを文字列として受け取り、汎用的な形式の応答メッセージを文字列として返すものとなる。別のWebサービスを利用するWebサービスリクエスタ200を作成する場合、本実施の形態のWebサービスプロバイダ300を利用すれば、新たにスタブを生成することなく、オブジェクト変換モジュール220に渡すデータオブジェクトを、当該Webサービス実装310が期待するデータ型とし、SOAP処理モジュール230に設定する接続先のURIを変更するだけで別のWebサービスに接続できるという効果を奏する。
According to the present embodiment, the service interface prepared by the
以上説明した本実施の形態に係るWebサービス接続方法は、
(a)クライアント端末において、プログラム言語のデータオブジェクトの値を接続先のWebサービスのWebサービス定義文書に依存しない汎用的なデータ形式の要求メッセージに変換する工程、
(b)クライアント端末において、汎用的なデータ形式の応答メッセージを、プログラム言語のデータオブジェクトの値に変換する工程、
(c)Webサービスの提供サーバにおいて、汎用的なデータ形式の要求メッセージを、プログラム言語のデータオブジェクトの値に変換する工程、
(d)Webサービスの提供サーバにおいて、プログラム言語のデータオブジェクトを、汎用的なデータ形式の応答メッセージに変換する工程、
を備えることを特徴とする。
The web service connection method according to the present embodiment described above is as follows.
(A) In the client terminal, converting the value of the data object in the programming language into a request message in a general data format that does not depend on the Web service definition document of the connected Web service;
(B) converting a response message in a general data format into a value of a data object in a programming language at the client terminal;
(C) a process of converting a request message in a general data format into a value of a data object in a programming language in a Web service providing server;
(D) a step of converting a data object in a programming language into a response message in a general-purpose data format in a Web service providing server;
It is characterized by providing.
以上、本発明の実施の形態について説明したが、これらのうち、2つ以上の実施の形態を組み合わせて実施しても構わない。あるいは、これらのうち、1つの実施の形態を部分的に実施しても構わない。あるいは、これらのうち、2つ以上の実施の形態を部分的に組み合わせて実施しても構わない。 As mentioned above, although embodiment of this invention was described, you may implement combining 2 or more embodiment among these. Alternatively, one of these embodiments may be partially implemented. Or you may implement combining two or more embodiment among these partially.
100 Webサービス接続システム、200 Webサービスリクエスタ、210 クライアントアプリケーション、220 オブジェクト変換モジュール、230 SOAP処理モジュール、300 Webサービスプロバイダ、310 Webサービス実装、320 オブジェクト変換モジュール、330 SOAP処理モジュール、340 WSDL格納部、400 中継サーバ、410 SOAP処理モジュール、420 中継サービス、430 メッセージ変換モジュール、440 WSDL取得モジュール、450 サービスID/URIマッピングデータベース、500 通信ネットワーク、601 データオブジェクト、602 汎用メッセージ、603 SOAPメッセージ、604 サービス固有のメッセージ、701 WSDL、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 オペレーティングシステム、922 ウィンドウシステム、923 プログラム群、924 ファイル群。 100 Web service connection system, 200 Web service requester, 210 Client application, 220 Object conversion module, 230 SOAP processing module, 300 Web service provider, 310 Web service implementation, 320 Object conversion module, 330 SOAP processing module, 340 WSDL storage unit, 400 relay server, 410 SOAP processing module, 420 relay service, 430 message conversion module, 440 WSDL acquisition module, 450 service ID / URI mapping database, 500 communication network, 601 data object, 602 general-purpose message, 603 SOAP message, 604 service specific Messages, 701 WSDL, 01 display device, 902 keyboard, 903 mouse, 904 FDD, 905 CDD, 906 printer device, 911 CPU, 912 bus, 913 ROM, 914 RAM, 915 communication board, 920 magnetic disk device, 921 operating system, 922 window system, 923 Program group, 924 file group.
Claims (9)
サービスを利用するクライアントアプリケーションであってリフレクション機能をもつプログラム言語で記述されたクライアントアプリケーションをCPU(Central・Processing・Unit)で実行するアプリケーション実行部と、
アプリケーション実行部が実行するクライアントアプリケーションからサービスの種類を特定するサービスID(識別子)と任意のデータオブジェクトとの入力を受け付け、前記プログラム言語のリフレクション機能を利用して、当該データオブジェクトのデータ形式を汎用のデータ形式に変換して汎用型の要求データを生成する要求側データ変換部と、
要求側データ変換部が入力を受け付けたサービスIDと要求側データ変換部が生成した汎用型の要求データとを送信する要求側データ通信部とを備えるサービス要求装置を有するとともに、
前記サービス要求装置から送信されたサービスIDと汎用型の要求データとを受信する第1の中継側データ通信部と、
第1の中継側データ通信部が受信した汎用型の要求データのデータ形式を、第1の中継側データ通信部が受信したサービスIDで特定される種類のサービス固有のデータ形式に変換して固有型の要求データを生成する中継側データ変換部と、
前記通信ネットワークを介して、中継側データ変換部が生成した固有型の要求データを、第1の中継側データ通信部が受信したサービスIDで特定される種類のサービスを提供するサービス提供装置へ送信し、当該サービス提供装置から返信される固有型の応答データを受信する第2の中継側データ通信部とを備える中継装置を有し、
中継側データ変換部は、第2の中継側データ通信部が受信した固有型の応答データのデータ形式を汎用のデータ形式に変換して汎用型の応答データを生成し、
第1の中継側データ通信部は、中継側データ変換部が生成した汎用型の応答データを前記サービス要求装置へ送信し、
要求側データ通信部は、前記中継装置から送信された汎用型の応答データを受信し、
要求側データ変換部は、前記プログラム言語のリフレクション機能を利用して、要求側データ通信部が受信した汎用型の応答データのデータ形式を変換してデータオブジェクトを生成し、当該データオブジェクトをアプリケーション実行部が実行するクライアントアプリケーションに返すことを特徴とするサービス接続システム。 A communication network in which multiple service providing devices that provide a service by returning a response data of a specific type having a specific data format to a specific type of request data having a specific data format for each service type is connected. In the service connection system used,
An application execution unit that executes a client application that uses a service and that is described in a programming language having a reflection function by a CPU (Central Processing Unit);
Accepts the input of a service ID (identifier) for identifying the type of service and an arbitrary data object from the client application executed by the application execution unit, and uses the reflection function of the programming language to generalize the data format of the data object. A request-side data conversion unit that generates general-purpose request data by converting the data format to
The service request device includes a service ID that is received by the request side data conversion unit and a request side data communication unit that transmits general-purpose request data generated by the request side data conversion unit.
A first relay-side data communication unit that receives the service ID and general-purpose request data transmitted from the service requesting device;
The data format of the general-purpose request data received by the first relay-side data communication unit is converted into a service-specific data format of the type specified by the service ID received by the first relay-side data communication unit. A relay-side data converter that generates request data of a type;
Via the communication network, the unique request data generated by the relay-side data conversion unit is transmitted to the service providing apparatus that provides the type of service specified by the service ID received by the first relay-side data communication unit. And a relay device comprising a second relay-side data communication unit that receives unique response data returned from the service providing device,
The relay-side data conversion unit converts the data format of the unique response data received by the second relay-side data communication unit into a general-purpose data format, and generates general-purpose response data.
The first relay-side data communication unit transmits the general-purpose response data generated by the relay-side data conversion unit to the service requesting device,
The request side data communication unit receives general-purpose response data transmitted from the relay device,
The request side data conversion unit uses the reflection function of the programming language to generate a data object by converting the data format of the general-purpose response data received by the request side data communication unit, and executes the data object. The service connection system is characterized by returning to the client application executed by the department.
前記中継装置は、さらに、
第1の中継側データ通信部が受信したサービスIDで特定される種類のサービスを提供するサービス提供装置からサービス定義ファイルを取得するファイル取得部を備え、
中継側データ変換部は、ファイル取得部が取得したサービス定義ファイルで定義されるデータ形式を参照して、汎用型の要求データと固有型の要求データとの間のデータ形式の変換、及び、固有型の応答データと汎用型の応答データとの間のデータ形式の変換をすることを特徴とする請求項1から5までのいずれかに記載のサービス接続システム。 Each service providing device holds a service definition file that defines a unique data format for each type of service to be provided.
The relay device further includes:
A file acquisition unit that acquires a service definition file from a service providing apparatus that provides a type of service specified by the service ID received by the first relay-side data communication unit;
The relay-side data conversion unit refers to the data format defined in the service definition file acquired by the file acquisition unit, converts the data format between general-purpose request data and unique-type request data, and service connection system according to any one of claims 1 to 5, characterized in that the data format conversion between the type of response data and the general-purpose type of the response data.
前記サービス要求装置から送信されたサービスIDと汎用型の要求データとを受信する提供側データ通信部と、
提供側データ通信部が受信した汎用型の要求データのデータ形式を変換してデータオブジェクトを生成する提供側データ変換部と、
提供側データ変換部が生成したデータオブジェクトを用いて、提供側データ通信部が受信したサービスIDで特定される種類のサービスに係る処理をCPUで実行し、当該実行
結果として新たなデータオブジェクトを返すサービス処理実行部とを備えるサービス提供装置を有し、
提供側データ変換部は、サービス処理実行部が返したデータオブジェクトのデータ形式を汎用のデータ形式に変換して汎用型の応答データを生成し、
提供側データ通信部は、提供側データ変換部が生成した汎用型の応答データを前記サービス要求装置へ送信し、
要求側データ通信部は、サービス提供装置から送信された汎用型の応答データを受信することを特徴とする請求項1から5までのいずれかに記載のサービス接続システム。 In the service connection system, instead of the relay device,
A providing-side data communication unit that receives the service ID and general-purpose request data transmitted from the service requesting device;
A provider-side data converter that generates a data object by converting the data format of the general-purpose request data received by the provider-side data communication unit;
Using the data object generated by the providing-side data conversion unit, the CPU executes processing related to the type of service specified by the service ID received by the providing-side data communication unit, and returns a new data object as the execution result. A service providing device comprising a service processing execution unit;
The provider side data conversion unit converts the data format of the data object returned by the service process execution unit to a general-purpose data format to generate general-purpose response data,
The providing side data communication unit transmits the general-purpose response data generated by the providing side data conversion unit to the service requesting device,
Requesting data communication unit, service connection system according to any one of claims 1 to 5, characterized in that to receive the response data for a general-purpose transmitted from the service providing apparatus.
前記サービス要求装置は、Webサービスを要求するWebサービスリクエスタのプログラムを実行するコンピュータであることを特徴とする請求項1から7までのいずれかに記載のサービス接続システム。 Each service providing apparatus is a computer that executes a program of a Web service provider that provides a Web service.
The service request apparatus, service connection system according to any one of claims 1 to 7, characterized in that the computer running the Web service requester program requests a Web service.
サービス要求装置が、サービスを利用するクライアントアプリケーションであってリフレクション機能をもつプログラム言語で記述されたクライアントアプリケーションをCPU(Central・Processing・Unit)で実行する第1ステップと、
前記サービス要求装置が、第1ステップで実行するクライアントアプリケーションからサービスの種類を特定するサービスID(識別子)と任意のデータオブジェクトとの入力を受け付け、前記プログラム言語のリフレクション機能を利用して、当該データオブジェクトのデータ形式を汎用のデータ形式に変換して汎用型の要求データを生成する第2ステップと、
前記サービス要求装置が、第2ステップで入力されたサービスIDと第2ステップで生成した汎用型の要求データとを送信する第3ステップと、
中継装置が、前記サービス要求装置から送信されたサービスIDと汎用型の要求データとを受信する第4ステップと、
前記中継装置が、第4ステップで受信した汎用型の要求データのデータ形式を、第4ステップで受信したサービスIDで特定される種類のサービス固有のデータ形式に変換して固有型の要求データを生成する第5ステップと、
前記中継装置が、前記通信ネットワークを介して、第5ステップで生成した固有型の要求データを、第4ステップで受信したサービスIDで特定される種類のサービスを提供するサービス提供装置へ送信し、当該サービス提供装置から返信される固有型の応答データを受信する第6ステップと、
前記中継装置が、第6ステップで受信した固有型の応答データのデータ形式を汎用のデータ形式に変換して汎用型の応答データを生成する第7ステップと、
前記中継装置が、第7ステップで生成した汎用型の応答データを前記サービス要求装置へ送信する第8ステップと、
前記サービス要求装置が、前記中継装置から送信された汎用型の応答データを受信する第9ステップと、
前記サービス要求装置が、前記プログラム言語のリフレクション機能を利用して、第9ステップで受信した汎用型の応答データのデータ形式を変換してデータオブジェクトを生成し、当該データオブジェクトを第1ステップで実行するクライアントアプリケーションに返す第10ステップとを備えることを特徴とするサービス接続方法。 Uses a communication network in which multiple service providing devices that provide services by sending back response data of a specific type having a specific data format for each type of service are returned. In the service connection method to
A first step in which a service requesting device executes a client application using a service, which is a client application described in a programming language having a reflection function, by a CPU (Central Processing Unit);
The service requesting device accepts an input of a service ID (identifier) for specifying the type of service and an arbitrary data object from the client application executed in the first step, and uses the reflection function of the programming language to input the data A second step of converting the data format of the object to a general-purpose data format to generate general-purpose request data;
A third step in which the service requesting device transmits the service ID input in the second step and the general-purpose request data generated in the second step;
A fourth step in which the relay device receives the service ID and general-purpose request data transmitted from the service requesting device;
The relay device converts the data format of the general-purpose request data received in the fourth step into a service-specific data format of the type specified by the service ID received in the fourth step, and converts the unique request data A fifth step of generating,
The relay device transmits the unique type request data generated in the fifth step to the service providing device that provides the type of service specified by the service ID received in the fourth step via the communication network, A sixth step of receiving unique response data returned from the service providing apparatus;
A seventh step in which the relay device converts the data format of the unique response data received in the sixth step into a general-purpose data format to generate general-purpose response data;
An eighth step in which the relay device transmits the general-purpose response data generated in the seventh step to the service request device;
A ninth step in which the service requesting device receives general-purpose response data transmitted from the relay device;
The service requesting device uses the reflection function of the programming language to generate a data object by converting the data format of the general-purpose response data received in the ninth step, and executes the data object in the first step And a tenth step of returning to the client application.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008157869A JP5188284B2 (en) | 2008-06-17 | 2008-06-17 | Service connection system and service connection method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008157869A JP5188284B2 (en) | 2008-06-17 | 2008-06-17 | Service connection system and service connection method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009301480A JP2009301480A (en) | 2009-12-24 |
JP5188284B2 true JP5188284B2 (en) | 2013-04-24 |
Family
ID=41548281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008157869A Expired - Fee Related JP5188284B2 (en) | 2008-06-17 | 2008-06-17 | Service connection system and service connection method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5188284B2 (en) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7904595B2 (en) | 2001-01-18 | 2011-03-08 | Sdl International America Incorporated | Globalization management system and method therefor |
JP5404528B2 (en) * | 2010-05-26 | 2014-02-05 | 三菱電機株式会社 | Data processing apparatus, data processing method, and program |
US10657540B2 (en) | 2011-01-29 | 2020-05-19 | Sdl Netherlands B.V. | Systems, methods, and media for web content management |
US9547626B2 (en) | 2011-01-29 | 2017-01-17 | Sdl Plc | Systems, methods, and media for managing ambient adaptability of web applications and web services |
US10580015B2 (en) | 2011-02-25 | 2020-03-03 | Sdl Netherlands B.V. | Systems, methods, and media for executing and optimizing online marketing initiatives |
JP5551141B2 (en) * | 2011-11-05 | 2014-07-16 | 京セラドキュメントソリューションズ株式会社 | Client side web service interface, software development kit equipped with the same, and software development method using the development kit |
US9430449B2 (en) | 2012-03-30 | 2016-08-30 | Sdl Plc | Systems, methods, and media for managing editable previews of webpages |
US9773270B2 (en) | 2012-05-11 | 2017-09-26 | Fredhopper B.V. | Method and system for recommending products based on a ranking cocktail |
US11386186B2 (en) | 2012-09-14 | 2022-07-12 | Sdl Netherlands B.V. | External content library connector systems and methods |
US11308528B2 (en) | 2012-09-14 | 2022-04-19 | Sdl Netherlands B.V. | Blueprinting of multimedia assets |
US10452740B2 (en) | 2012-09-14 | 2019-10-22 | Sdl Netherlands B.V. | External content libraries |
US10614167B2 (en) | 2015-10-30 | 2020-04-07 | Sdl Plc | Translation review workflow systems and methods |
CN106856434B (en) | 2015-12-08 | 2020-06-30 | 阿里巴巴集团控股有限公司 | Method and device for converting access request |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004030360A (en) * | 2002-06-27 | 2004-01-29 | Japan Telecom Co Ltd | Web service providing system and web service providing support system |
JP4532238B2 (en) * | 2004-10-29 | 2010-08-25 | ソフトバンクテレコム株式会社 | On-demand service provision system |
-
2008
- 2008-06-17 JP JP2008157869A patent/JP5188284B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009301480A (en) | 2009-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5188284B2 (en) | Service connection system and service connection method | |
US9852116B2 (en) | System and method for processing messages using native data serialization/deserialization in a service-oriented pipeline architecture | |
US7870482B2 (en) | Web browser extension for simplified utilization of web services | |
CN112114979B (en) | Remote procedure call method and device | |
US7908317B2 (en) | System and method for URL compression | |
CN110120917B (en) | Routing method and device based on content | |
JP5122146B2 (en) | Method and apparatus for requesting storage of state information, method and apparatus for restoring state information, and recording medium | |
US20060020692A1 (en) | System and method for locating web services | |
US7689430B2 (en) | Access to web services | |
US8903887B2 (en) | Extracting web services from resources using a web services resources programming model | |
US20100082737A1 (en) | Dynamic service routing | |
JP2013041611A (en) | Device and method for managing and displaying user interface | |
US7409439B2 (en) | Reducing overhead in reverse proxy servers when processing web pages | |
US7926065B2 (en) | Method and system for dynamically specifying a format for data provided by a web service invocation | |
CN108416021B (en) | Browser webpage content processing method and device, electronic equipment and readable medium | |
JP5638761B2 (en) | Screen generation method, screen display method, screen generation device, and program | |
JP2005174120A (en) | Web service connection processing method, system, and program | |
CN108132991A (en) | A kind of H5 pages loading method and system | |
US8127271B2 (en) | Method and system for accessing a resource implemented in a computer network | |
JP5039946B2 (en) | Technology for relaying communication between client devices and server devices | |
CN110740118A (en) | Protocol for initiating sessions with partner sites | |
US7885997B2 (en) | Data processing method, program, device, message structure, message generation method, and message transmission method | |
JPH1115723A (en) | Multimedia data supplying method and multimedia data server | |
JP2004246747A (en) | Wrapping method and system of existing service | |
AU2018390863B2 (en) | Computer system and method for extracting dynamic content from websites |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110404 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120522 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120523 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120629 |
|
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: 20121225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130122 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160201 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |