JP5188284B2 - Service connection system and service connection method - Google Patents

Service connection system and service connection method Download PDF

Info

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
Application number
JP2008157869A
Other languages
Japanese (ja)
Other versions
JP2009301480A (en
Inventor
隆 土屋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008157869A priority Critical patent/JP5188284B2/en
Publication of JP2009301480A publication Critical patent/JP2009301480A/en
Application granted granted Critical
Publication of JP5188284B2 publication Critical patent/JP5188284B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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参照)。
特開2005−174120号公報 特開2006−72978号公報 特開2005−92533号公報 特開2004−272871号公報
Creation of stubs has been made more efficient by using a tool that automatically generates stubs from WSDL (see, for example, Patent Documents 1 to 4).
JP-A-2005-174120 JP 2006-72978 A JP 2005-92533 A JP 2004-228771 A

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 Patent Document 1, when there are two Web service interfaces, there is a case where both interfaces can be handled by one stub, but there is a restriction that similarity is required between the two interfaces. .

特許文献1に記載のシステムでは、あるWebサービスを呼び出していたWebサービスリクエスタに対して、Webサービス定義文書(WSDL)が少し変更された別のWebサービスを呼び出せるように変更を加える場合、スタブ(特許文献1の図2ではプロキシモジュールにあたる)の再生成を避けるために、データ変換モジュールで要求データ/応答データの形式を一方のものから他方のものに準じるように変換することによって、スタブの再生成なしに新規サービスを呼び出せるようにしている。しかしながら、2つのインタフェース間の類似性を判定して(特許文献1の図3の類似性判定モジュール)、構造的に類似と判定された場合しか、新規サービスが呼び出せないという制限があった。   In the system described in Patent Literature 1, when a change is made so that a Web service requester that has called a certain Web service can call another Web service in which the Web service definition document (WSDL) is slightly changed, a stub ( In order to avoid the regeneration of the proxy module in FIG. 2 of Patent Document 1, the data conversion module converts the format of the request data / response data from one to the other, thereby reproducing the stub. The new service can be called without success. However, there is a limitation that a new service can be called only when the similarity between two interfaces is determined (similarity determination module in FIG. 3 of Patent Document 1) and structurally determined to be similar.

本発明は、例えば、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(サービス接続システムの一例)の構成を示すブロック図である。
Embodiment 1 FIG.
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 service requester 200, a web service provider 300, and a relay server 400. The web service requester 200, the web service provider 300, and the relay server 400 are connected to the communication network 500. Although only one Web service requester 200 and one relay server 400 are shown in the figure, there may be a plurality of each. Although only one Web service provider 300 is shown, it is assumed that there are actually a plurality of Web service providers 300. Each Web service provider 300 returns a unique type response data having a unique data format to the unique request data having a unique data format for each type of Web service (an example of service). Provide service. The web service provider 300 may provide only one type of web service, or may provide two or more types. Two or more Web service providers 300 may provide the same type of Web service. Assume that each Web service provider 300 is assigned at least one URI (Uniform / Resource / Identifier) as an identifier.

Webサービスリクエスタ200は、クライアントアプリケーション210、オブジェクト変換モジュール220、SOAP処理モジュール230を含むプログラムである。このプログラムは、コンピュータであるサービス要求装置によって実行される。サービス要求装置は、アプリケーション実行部、要求側データ変換部、要求側データ通信部を備える。また、図示していないが、サービス要求装置は、CPU(Central・Processing・Unit)、メモリ(ハードディスクドライブなども含む)、入力装置、出力装置などのハードウェアを備えるものとする。サービス要求装置の各部は、メモリに予め記憶されたプログラム(モジュール)をCPUで読み取って実行することにより以下のように動作する。   The Web service requester 200 is a program that includes a client application 210, an object conversion module 220, and a SOAP processing module 230. This program is executed by a service request device which is a computer. The service request apparatus includes an application execution unit, a request side data conversion unit, and a request side data communication unit. Although not shown, the service requesting device includes hardware such as a CPU (Central Processing Unit), a memory (including a hard disk drive), an input device, and an output device. Each unit of the service requesting device operates as follows by reading and executing a program (module) stored in the memory in advance by the CPU.

まず、アプリケーション実行部は、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 client application 210 that inputs a service ID (identifier) that identifies the type of Web service and an arbitrary data object Xq that is an input parameter for using the Web service. . Next, the request-side data conversion unit receives the service ID and the data object Xq from the client application 210 executed by the application execution unit by executing the object conversion module 220 on the CPU. Then, the request side data conversion unit converts the data format of the data object Xq into a general-purpose data format, and generates general-purpose request data Yq. Next, the request side data communication unit executes the SOAP processing module 230, thereby obtaining the service ID received by the request side data conversion unit and the general-purpose request data Yq generated by the request side data conversion unit, The data is transmitted to the relay device via the communication network 500.

また、要求側データ通信部は、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 SOAP processing module 230. Next, the request-side data conversion unit converts the data format of the general-purpose response data Ys received by the request-side data communication unit by executing the object conversion module 220 on the CPU, and generates a data object Xs. Then, the request side data conversion unit returns the data object Xs to the client application 210 executed by the application execution unit. Finally, the application execution unit displays the result of using, for example, a Web service on a screen or the like using the data object Xs returned by the request side data conversion unit by executing the client application 210 by the CPU.

以下では、サービス要求装置の動作をWebサービスリクエスタ200の動作として説明する場合がある。また、アプリケーション実行部、要求側データ変換部、要求側データ通信部の動作を、それぞれクライアントアプリケーション210、オブジェクト変換モジュール220、SOAP処理モジュール230の動作として説明する場合がある。   Hereinafter, the operation of the service requesting apparatus may be described as the operation of the Web service requester 200. The operations of the application execution unit, the request side data conversion unit, and the request side data communication unit may be described as operations of the client application 210, the object conversion module 220, and the SOAP processing module 230, respectively.

Webサービスプロバイダ300は、Webサービス実装310、SOAP処理モジュール330を含むプログラムである。このプログラムは、コンピュータであるサービス提供装置によって実行される。サービス提供装置は、サービス処理実行部、提供側データ通信部を備える。また、図示していないが、サービス提供装置は、CPU、メモリ、入力装置、出力装置などのハードウェアを備えるものとする。サービス提供装置の各部は、メモリに予め記憶されたプログラム(モジュール)をCPUで読み取って実行することにより以下のように動作する。   The web service provider 300 is a program that includes a web service implementation 310 and a SOAP processing module 330. This program is executed by a service providing apparatus that is a computer. The service providing apparatus includes a service processing execution unit and a providing side data communication unit. Although not shown, the service providing apparatus includes hardware such as a CPU, a memory, an input device, and an output device. Each unit of the service providing apparatus operates as follows by reading and executing a program (module) stored in the memory in advance by the CPU.

まず、提供側データ通信部は、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 SOAP processing module 330. Next, the service process execution unit executes the process related to the Web service based on the unique request data Zq received by the providing side data communication unit by executing the Web service implementation 310 by the CPU. Then, the service process execution unit returns unique response data Zs as the execution result. Next, the providing side data communication unit receives the unique response data Zs returned from the Web service implementation 310 executed by the service process execution unit. Then, the providing-side data communication unit transmits the unique response data Zs to the relay device via the communication network 500.

サービス提供装置は、さらに、WSDL格納部340を備える。WSDL格納部340は、サービス処理実行部が実行するWebサービス実装310が提供するWebサービスの種類ごとに、固有のデータ形式を定義するWSDL(サービス定義ファイルの一例)をメモリに保持している。提供側データ通信部は、中継装置からWebサービスの種類を指定してWSDLを要求された場合、通信ネットワーク500を介して、該当するWSDLを中継装置へ送信する。   The service providing apparatus further includes a WSDL storage unit 340. The WSDL storage unit 340 holds, in a memory, WSDL (an example of a service definition file) that defines a unique data format for each type of Web service provided by the Web service implementation 310 executed by the service processing execution unit. The provider data communication unit transmits the corresponding WSDL to the relay device via the communication network 500 when the WSDL is requested from the relay device by designating the type of Web service.

以下では、サービス提供装置の動作をWebサービスプロバイダ300の動作として説明する場合がある。また、サービス処理実行部、提供側データ通信部の動作を、それぞれWebサービス実装310、SOAP処理モジュール330の動作として説明する場合がある。   Hereinafter, the operation of the service providing apparatus may be described as the operation of the Web service provider 300. In addition, the operations of the service processing execution unit and the provider data communication unit may be described as operations of the Web service implementation 310 and the SOAP processing module 330, respectively.

中継サーバ400は、SOAP処理モジュール410、中継サービス420、メッセージ変換モジュール430、WSDL取得モジュール440を含むプログラムである。このプログラムは、コンピュータである中継装置によって実行される。中継装置は、第1の中継側データ通信部及び第2の中継側データ通信部、中継側データ変換部、ファイル取得部を備える。また、図示していないが、中継装置は、CPU、メモリ、入力装置、出力装置などのハードウェアを備えるものとする。サービス要求装置の各部は、メモリに予め記憶されたプログラム(モジュール)をCPUで読み取って実行することにより以下のように動作する。   The relay server 400 is a program that includes a SOAP processing module 410, a relay service 420, a message conversion module 430, and a WSDL acquisition module 440. This program is executed by a relay device that is a computer. The relay device includes a first relay side data communication unit, a second relay side data communication unit, a relay side data conversion unit, and a file acquisition unit. Although not shown, the relay device includes hardware such as a CPU, a memory, an input device, and an output device. Each unit of the service requesting device operates as follows by reading and executing a program (module) stored in the memory in advance by the CPU.

まず、第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 SOAP processing module 410 by the CPU. . Then, the first relay-side data communication unit selects one service providing apparatus that provides the type of service specified by the service ID by executing the relay service 420 on the CPU. Next, the file acquisition unit acquires the WSDL from the service providing apparatus selected by the first relay side data communication unit. At this time, the file acquisition unit may request the WSDL by specifying the type of the specific Web service by transmitting the service ID received by the first relay-side data communication unit to the service providing apparatus. Next, the relay-side data conversion unit executes the message conversion module 430 on the CPU, so that the first relay-side data communication unit receives the data format defined in WSDL acquired by the file acquisition unit. The data format of the general-purpose request data Yq 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 to generate the unique request data Zq. Next, the second relay-side data communication unit executes the SOAP processing module 410 by the CPU, thereby obtaining the unique request data Zq generated by the relay-side data conversion unit via the communication network 500. To the service providing apparatus selected by the relay side data communication unit.

また、第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 SOAP processing module 410. Next, the relay-side data conversion unit receives the second relay-side data communication unit by referring to the data format defined in WSDL acquired by the file acquisition unit by executing the message conversion module 430 on the CPU. The data format of the unique response data Zs is converted into a general-purpose data format to generate general-purpose response data Ys. Next, the first relay-side data communication unit executes the SOAP processing module 410 by the CPU, thereby obtaining the general-purpose response data Ys generated by the relay-side data conversion unit via the communication network 500. Send to.

中継装置は、さらに、サービス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 / URI mapping database 450. The service ID / URI mapping database 450 is a database that stores the correspondence between the service ID and the URI of the Web service provider 300 in a memory. When the first relay-side data communication unit selects a service providing apparatus that provides the type of service specified by the service ID, the first relay side data communication unit assigns the URI corresponding to the service ID to the service ID / URI mapping to the file acquisition unit. A service providing apparatus (one of them, if there are a plurality) that is extracted from the database 450 and specified by the URI may be selected.

以下では、中継装置の動作を中継サーバ400の動作として説明する場合がある。また、第1の中継側データ通信部及び第2の中継側データ通信部、中継側データ変換部、ファイル取得部の動作を、それぞれSOAP処理モジュール410、中継サービス420、メッセージ変換モジュール430、WSDL取得モジュール440の動作として説明する場合がある。   Hereinafter, the operation of the relay apparatus may be described as the operation of the relay server 400. Also, the operations of the first relay side data communication unit, the second relay side data communication unit, the relay side data conversion unit, and the file acquisition unit are respectively performed as a SOAP processing module 410, a relay service 420, a message conversion module 430, and a WSDL acquisition. The operation of the module 440 may be described.

上記のように、本実施の形態では、特許文献1に記載のシステムと異なり、Webサービスリクエスタ200にオブジェクト変換モジュール220を置いている。オブジェクト変換モジュール220はクライアントアプリケーション210からWebサービスに渡すデータオブジェクトを、WSDLが定義するメッセージ形式に依存しない汎用的な形式の要求メッセージ(汎用型の要求データYq)に変換するものである。オブジェクト変換モジュール220はWebサービスが返した汎用的な形式の応答メッセージ(汎用型の応答データYs)を、データオブジェクトに変換することも行う。ここで、要求メッセージ及び応答メッセージは、文字列で表されるものとする。以下では、汎用的な形式の要求メッセージ及び応答メッセージを汎用メッセージという場合がある。   As described above, in the present embodiment, unlike the system described in Patent Document 1, the object conversion module 220 is placed in the Web service requester 200. The object conversion module 220 converts a data object passed from the client application 210 to the Web service into a request message in a general format that does not depend on a message format defined by WSDL (generic request data Yq). The object conversion module 220 also converts a general-purpose response message (general-purpose response data Ys) returned from the Web service into a data object. Here, the request message and the response message are represented by character strings. In the following, general-purpose request messages and response messages may be referred to as general-purpose messages.

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 Web service provider 300 from the Web service requester 200, the Web service requester 200 sends a general-purpose message (general-purpose request data Yq) to the relay server 400. The message conversion module 430 of the relay server 400 refers to the WSDL message definition acquired from the Web service provider 300 via the WSDL acquisition module 440 while referring to the general message (generic request data Yq). Type request data Zq) and call a Web service. The response message (unique response data Zs) returned by the Web service is converted into a general message (general response data Ys) by the relay server 400 following the above path in reverse, and the object of the Web service requester 200 The data is converted into response data (data object Xs) by the conversion module 220 and returned to the client application.

図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 Web service requester 200, a service providing apparatus that executes a program of the Web service provider 300, and a relay apparatus that executes the program of the relay server 400. is there.

図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 display device 901 having a CRT (Cathode / Ray / Tube) or LCD (Liquid Crystal Display) display screen, and a keyboard 902 (K / B). , Mouse 903, FDD904 (Flexible / Disk / Drive), CDD905 (Compact / Disc / Drive), printer device 906, and the like, which are connected by cables and signal lines.

サービス要求装置、サービス提供装置、中継装置は、プログラムを実行する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 CPU 911 that executes a program. The CPU 911 includes a ROM 913 (Read / Only / Memory), a RAM 914 (Random / Access / Memory), a communication board 915, a display device 901, a keyboard 902, a mouse 903, an FDD904, a CDD905, a printer device 906, and a magnetic disk. It is connected to the device 920 and controls these hardware devices. Instead of the magnetic disk device 920, a storage medium such as an optical disk device or a memory card reader / writer may be used.

RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、メモリの一例である。通信ボード915、キーボード902、マウス903、FDD904、CDD905などは、入力装置の一例である。また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。   The RAM 914 is an example of a volatile memory. The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of memories. A communication board 915, a keyboard 902, a mouse 903, an FDD 904, a CDD 905, and the like are examples of input devices. The communication board 915, the display device 901, the printer device 906, and the like are examples of output devices.

通信ボード915は、LAN(ローカルエリアネットワーク)などに接続されている。通信ボード915は、LANに限らず、インターネット、あるいは、IP−VPN(Internet・Protocol・Virtual・Private・Network)、広域LAN、ATM(Asynchronous・Transfer・Mode)ネットワークなどのWAN(ワイドエリアネットワーク)などに接続されていても構わない。LAN、インターネット、WANは、ネットワークの一例である。   The communication board 915 is connected to a LAN (local area network) or the like. The communication board 915 is not limited to a LAN, but is the Internet, or an IP-VPN (Internet, Protocol, Private, Network), a wide area LAN, a WAN (Wide Area Network) such as an ATM (Asynchronous, Transfer, Mode) network, or the like. It does not matter if it is connected to. LAN, the Internet, and WAN are examples of networks.

磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。また、ファイル群924には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ID(識別子)」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として記憶されている。「〜ファイル」や「〜データベース」や「〜テーブル」は、ディスクやメモリなどの記憶媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのCPU911の処理(動作)に用いられる。抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのCPU911の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。   The magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924. The programs in the program group 923 are executed by the CPU 911, the operating system 921, and the window system 922. The program group 923 stores a program for executing a function described as “˜unit” in the description of the present embodiment. The program is read and executed by the CPU 911. The file group 924 includes data and information described as “˜data”, “˜information”, “˜ID (identifier)”, “˜flag”, and “˜result” in the description of this embodiment. Signal values, variable values, and parameters are stored as items of “˜file”, “˜database”, and “˜table”. The “˜file”, “˜database”, and “˜table” are stored in a storage medium such as a disk or a memory. Data, information, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for processing (operation) of the CPU 911 such as calculation / control / output / printing / display. Data, information, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory during processing of the CPU 911 such as extraction, search, reference, comparison, calculation, control, output, printing, and display. Is remembered.

また、本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号は、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 RAM 914, the flexible disk (FD) of the FDD 904, and the compact of the CDD 905. Recording is performed on a recording medium such as a disk (CD), a magnetic disk of the magnetic disk device 920, another optical disk, a mini disk (MD), or a DVD (Digital Versatile Disc). Data and signals are transmitted by a bus 912, a signal line, a cable, and other transmission media.

また、本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、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 ROM 913. Alternatively, it may be realized only by software, or only by hardware such as an element, a device, a board, and wiring, or a combination of software and hardware, and further by a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, flexible disk, optical disk, compact disk, minidisk, or DVD. This program is read by the CPU 911 and executed by the CPU 911. That is, the program causes the computer to function as “to part” described in the description of the present embodiment. Alternatively, it causes the computer to execute the procedures and methods described in the description of the present embodiment.

クライアントアプリケーション210及びWebサービス実装310を記述するプログラム言語は、オブジェクトからそのクラスで定義されている変数の名前やデータ型の情報を取得するAPI(Application・Program・Interface)、いわゆるリフレクション機能を実現しているものとする。ここではJava(登録商標)言語の例を記述する。なお、データ型が1対1に対応可能な範囲で使用するのであれば、クライアントアプリケーション210とWebサービス実装310の記述言語が異なっていてもよい。   The programming language that describes the client application 210 and the Web service implementation 310 implements an API (Application / Program / Interface) that acquires information on the names and data types of variables defined in the class from an object, a so-called reflection function. It shall be. Here, an example of Java (registered trademark) language will be described. Note that the description language of the client application 210 and that of the Web service implementation 310 may be different as long as the data type is used within a range that can correspond one-to-one.

リフレクション機能をもつプログラム言語のデータオブジェクトと、汎用的な形式のメッセージを相互に変換する方法としては、例えば、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 Web service requester 200 is shown in FIG. The client application 210 holds a data object 601 (data object Xq), for example, myBean. myBean has a property configuration that matches the message element defined in the WSDL of the service to be called (corresponding to WSDL 701 in FIG. 5). The client application 210 calls the API of the object conversion module 220 (in this example, the call method) using the service ID for identifying the Web service to be called and myBean as arguments. In the call method, the myBean object is converted into a general-purpose message 602 (generic-type request data Yq) that is a general-purpose request message. Since the message format of the general-purpose message 602 does not depend on the above-described WSDL, even if the WSDL is changed or added, there is no need to change or recreate the object conversion module 220 (corresponding to a stub). The object conversion module 220 creates a SOAP message 603 through the SOAP processing module 230 and sends it to the relay server 400.

中継サーバ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 relay server 400 is shown in FIG. The relay service 420 receives the service ID and the request message (general-purpose request data Yq) from the Web service requester 200 through the SOAP processing module 410 and passes them to the message conversion module 430. The message conversion module 430 passes the service ID to the WSDL acquisition module 440. The WSDL acquisition module obtains the URI of the Web service provider 300 corresponding to the service ID from the service ID / URI mapping database 450, acquires the WSDL 701 from the Web service provider 300, and passes it to the message conversion module 430. The message conversion module 430 sequentially converts the general-purpose message 602 into a service-specific message 604 (unique request data Zq) while referring to the message definition of the WSDL 701, and transmits it to the Web service provider 300.

インタフェースが異なり、別の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 service provider 300 having another WSDL, data is added to the service ID / URI mapping database 450 of the relay server 400 and the client application 210 of the Web service requester 200 is added. Then, an object of a data type adapted to a new WSDL is created, and the service ID that is an argument when calling the object conversion module 220 and the data object are changed.

Webサービスリクエスタ200では、サービスIDによって異なるサービスを呼び分けることができるため、新たなWebサービス呼び出しを行うことになっても、スタブの再生成は不要であり、また特許文献1に記載のシステムのような、インタフェース類似性の制限も生じない。なお、特許文献1では、インタフェースが変更されてもクライアントプログラムの修正が不要であるという効果について記載されているが、それはクライアントプログラムの機能の変更が全くない場合に限定される。例えば、これまで使用していたプロバイダのWebサービスに加えて、別のプロバイダのサービスを使用する場合などは、クライアントプログラムの修正は必要となる。本実施の形態では、そのような場合におけるクライアントアプリケーション210の修正は必要最小限のものである。   Since the Web service requester 200 can call different services according to service IDs, it is not necessary to regenerate a stub even when a new Web service call is made. There is no interface similarity limitation. Note that Patent Document 1 describes the effect that the client program does not need to be modified even if the interface is changed, but this is limited to the case where there is no change in the function of the client program. For example, in the case where a service of another provider is used in addition to the Web service of the provider used so far, the client program needs to be corrected. In this embodiment, the modification of the client application 210 in such a case is the minimum necessary.

以上説明した本実施の形態に係る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との差異を説明する。
Embodiment 2. FIG.
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 Web service provider 300 having a general configuration is used. However, in the present embodiment, not only the Web service requester 200 has the object conversion module 220 but also the Web service provider 300 has the same configuration. It has a configuration with modules. In this case as well, it is possible to eliminate the need for stub regeneration.

図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 service requester 200 and a Web service provider 300, but the relay server 400 is not necessary.

Webサービスリクエスタ200は、実施の形態1と同様のプログラムである。実施の形態1と同様に、このプログラムは、コンピュータであるサービス要求装置によって実行される。サービス要求装置の各部は、実施の形態1と同様に、メモリに予め記憶されたプログラム(モジュール)をCPUで読み取って実行することにより以下のように動作する。   The Web service requester 200 is a program similar to that of the first embodiment. As in the first embodiment, this program is executed by a service requesting apparatus that is a computer. As in the first embodiment, each unit of the service requesting device operates as follows by reading and executing a program (module) stored in the memory in advance by the CPU.

まず、アプリケーション実行部は、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 client application 210 that inputs a service ID that identifies the type of Web service and an arbitrary data object Xq that is an input parameter for using the Web service. Next, the request-side data conversion unit receives the service ID and the data object Xq from the client application 210 executed by the application execution unit by executing the object conversion module 220 on the CPU. Then, the request side data conversion unit converts the data format of the data object Xq into a general-purpose data format, and generates general-purpose request data Yq. Next, the request side data communication unit executes the SOAP processing module 230, thereby obtaining the service ID received by the request side data conversion unit and the general-purpose request data Yq generated by the request side data conversion unit, The data is directly transmitted to the service providing apparatus via the communication network 500.

また、要求側データ通信部は、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 SOAP processing module 230. Next, the request-side data conversion unit converts the data format of the general-purpose response data Ys received by the request-side data communication unit by executing the object conversion module 220 on the CPU, and generates a data object Xs. Then, the request side data conversion unit returns the data object Xs to the client application 210 executed by the application execution unit. Finally, the application execution unit displays the result of using, for example, a Web service on a screen or the like using the data object Xs returned by the request side data conversion unit by executing the client application 210 by the CPU.

Webサービスプロバイダ300は、Webサービス実装310、オブジェクト変換モジュール320、SOAP処理モジュール330を含むプログラムである。このプログラムは、コンピュータであるサービス提供装置によって実行される。サービス提供装置は、サービス処理実行部、提供側データ変換部、提供側データ通信部を備える。また、図示していないが、サービス提供装置は、CPU、メモリ、入力装置、出力装置などのハードウェアを備えるものとする。サービス提供装置の各部は、メモリに予め記憶されたプログラム(モジュール)をCPUで読み取って実行することにより以下のように動作する。   The web service provider 300 is a program that includes a web service implementation 310, an object conversion module 320, and a SOAP processing module 330. This program is executed by a service providing apparatus that is a computer. The service providing apparatus includes a service processing execution unit, a providing side data conversion unit, and a providing side data communication unit. Although not shown, the service providing apparatus includes hardware such as a CPU, a memory, an input device, and an output device. Each unit of the service providing apparatus operates as follows by reading and executing a program (module) stored in the memory in advance by the CPU.

まず、提供側データ通信部は、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 SOAP processing module 330. Next, the providing side data conversion unit executes the object conversion module 320 by the CPU, thereby converting the data format of the general-purpose request data Yq received by the providing side data communication unit to generate the data object Xq. Next, the service process execution unit is identified by the service ID received by the providing side data communication unit using the data object Xq generated by the providing side data conversion unit by executing the Web service implementation 310 by the CPU. The processing related to the type of service is executed by the CPU, and a new data object Xs is returned as the execution result. Next, the providing-side data conversion unit converts the data format of the data object Xs returned by the service processing execution unit into a general-purpose data format by executing the object conversion module 320 with the CPU, and converts the general-purpose response data Ys. Is generated. Finally, the providing-side data communication unit transmits the general-purpose response data Ys generated by the providing-side data conversion unit to the service requesting device via the communication network 500 by executing the SOAP processing module 330.

上記のように、本実施の形態では、Webサービスプロバイダ300側のオブジェクト変換モジュール320は、汎用的な形式の要求メッセージ(汎用型の要求データYq)をWebサービス実装310のプログラム言語のデータオブジェクト(データオブジェクトXq)に変換する。また、Webサービス実装310が返したデータオブジェクト(データオブジェクトXs)を、汎用的な形式の応答メッセージ(汎用型の応答データYs)に変換する。   As described above, in the present embodiment, the object conversion module 320 on the Web service provider 300 side sends a request message in the general format (generic request data Yq) to a data object in the programming language of the Web service implementation 310 ( Data object Xq). Also, the data object (data object Xs) returned by the Web service implementation 310 is converted into a general-purpose response message (general-purpose response data Ys).

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 Web service provider 300 from the Web service requester 200, the Web service requester 200 sends a general-purpose message directly to the Web service provider 300. Specifically, first, the client application 210 provides the object conversion module 220 with a data object (data object Xq) to be passed to the Web service as an argument of the Web service call API provided by the object conversion module 220. The object conversion module 220 converts the data object into a general-purpose request message (general-purpose request data Yq) and passes it to the SOAP processing module 230. Here, it is assumed that the SOAP processing module 230 is previously given a URI (stored in the memory) as an identifier representing the Web service provider 300 of the connection destination. The SOAP processing module 230 transmits a request message to the SOAP processing module 330 of the connected Web service provider 300 indicated by the URI using SOAP as a communication protocol.

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 processing module 330 passes the received request message to the object conversion module 320. The object conversion module 320 converts the request message into a data object (data object Xq) in a programming language describing the Web service implementation 310 and passes it to the Web service implementation 310. The Web service implementation 310 performs information processing provided by the service, and returns the resulting data object (data object Xs) to the object conversion module 320. The resulting data object may be the same as that converted from the request message, or may be generated separately by the processing of the Web service implementation 310. The data type may be different from that converted from the request message. The object conversion module 320 converts the data object into a general-purpose response message (general-purpose response data Ys) and passes it to the SOAP processing module 330. The SOAP processing module 330 returns a response message to the SOAP processing module 230 of the requesting Web service requester 200 using SOAP as a communication protocol.

SOAP処理モジュール230は、応答メッセージをオブジェクト変換モジュール220に渡す。オブジェクト変換モジュール220は、応答メッセージをデータオブジェクト(データオブジェクトXs)に変換する。   The SOAP processing module 230 passes the response message to the object conversion module 220. The object conversion module 220 converts the response message into a data object (data object Xs).

本実施の形態によれば、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 service provider 300 receives a general-purpose request message as a character string and returns a general-purpose response message as a character string. When creating a Web service requester 200 that uses another Web service, if the Web service provider 300 according to the present embodiment is used, a data object to be passed to the object conversion module 220 is generated without generating a new stub. It is possible to connect to another web service simply by changing the connection destination URI set in the SOAP processing module 230 with the data type expected by the web service implementation 310.

以上説明した本実施の形態に係る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.

実施の形態1におけるWebサービス接続システムの構成を示すブロック図である。1 is a block diagram illustrating a configuration of a Web service connection system in Embodiment 1. FIG. 実施の形態1におけるWebサービス接続システムを構成する各装置のハードウェア構成の一例を示す図である。FIG. 3 is a diagram illustrating an example of a hardware configuration of each device configuring the Web service connection system according to the first embodiment. 実施の形態1におけるデータオブジェクトと汎用メッセージとの間の変換例を示す表である。4 is a table illustrating an example of conversion between data objects and general-purpose messages in the first embodiment. 実施の形態1におけるWebサービスリクエスタの動作を示す図である。6 is a diagram illustrating an operation of a Web service requester according to Embodiment 1. FIG. 実施の形態1における中継サーバの動作を示す図である。6 is a diagram illustrating an operation of a relay server in the first embodiment. FIG. 実施の形態2におけるWebサービス接続システムの構成を示すブロック図である。6 is a block diagram illustrating a configuration of a Web service connection system in Embodiment 2. FIG.

符号の説明Explanation of symbols

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に記載のサービス接続システム。The request-side data conversion unit generates general-purpose request data that represents a data type and a value of the variable in a general-purpose data format if the data object that has received the input is a variable. The service connection system described. 要求側データ変換部は、入力を受け付けたデータオブジェクトが配列であれば、当該配列の長さと当該配列に含まれる変数のデータ型及び値とを汎用のデータ形式で表す汎用型の要求データを生成することを特徴とする請求項1又は2に記載のサービス接続システム。If the data object that received the input is an array, the request-side data conversion unit generates general-purpose request data that represents the length of the array and the data type and value of the variables included in the array in a general-purpose data format. The service connection system according to claim 1 or 2, characterized in that: 要求側データ変換部は、入力を受け付けたデータオブジェクトが構造体であれば、当該構造体のフィールドを汎用のデータ形式で表す汎用型の要求データを生成することを特徴とする請求項1から3までのいずれかに記載のサービス接続システム。The request-side data conversion unit generates general-purpose request data that represents a field of the structure in a general-purpose data format if the data object that has received the input is a structure. Service connection system according to any of the above. 要求側データ変換部は、入力を受け付けた構造体のフィールドが変数であれば当該フィールドの変数のデータ型及び値を汎用のデータ形式で表し、入力を受け付けた構造体のフィールドが配列であれば当該フィールドの配列の長さと当該フィールドの配列に含まれる変数のデータ型及び値とを汎用のデータ形式で表し、入力を受け付けた構造体のフィールドが構造体であれば当該フィールドの構造体のフィールドを汎用のデータ形式で表す汎用型の要求データを生成することを特徴とする請求項4に記載のサービス接続システム。If the structure field that accepted the input is a variable, the request side data conversion unit represents the data type and value of the variable in the field in a general-purpose data format. If the field in the structure that accepted the input is an array, If the field length of the field and the data type and value of the variable included in the field array are expressed in a general-purpose data format, and the field of the structure that accepts input is a structure, the field of the structure of the field 5. The service connection system according to claim 4, wherein general-purpose type request data that represents data in a general-purpose data format is generated. それぞれのサービス提供装置は、提供するサービスの種類ごとに、固有のデータ形式を定義するサービス定義ファイルを保持しており、
前記中継装置は、さらに、
第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サービスプロバイダのプログラムを実行するコンピュータであり、
前記サービス要求装置は、Webサービスを要求するWebサービスリクエスタのプログラムを実行するコンピュータであることを特徴とする請求項1からまでのいずれかに記載のサービス接続システム。
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.
JP2008157869A 2008-06-17 2008-06-17 Service connection system and service connection method Expired - Fee Related JP5188284B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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