JP5404528B2 - Data processing apparatus, data processing method, and program - Google Patents
Data processing apparatus, data processing method, and program Download PDFInfo
- Publication number
- JP5404528B2 JP5404528B2 JP2010120301A JP2010120301A JP5404528B2 JP 5404528 B2 JP5404528 B2 JP 5404528B2 JP 2010120301 A JP2010120301 A JP 2010120301A JP 2010120301 A JP2010120301 A JP 2010120301A JP 5404528 B2 JP5404528 B2 JP 5404528B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- client
- data
- common variable
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Description
本発明は、Webサービス等のクライアント装置にサービスを提供するシステムに関する。 The present invention relates to a system that provides a service to a client device such as a Web service.
Webサービス等のサービス接続とI/F(インタフェース)を管理し、サービスの連携を提供する技術において、従来ではリクエストに目的のサービスのI/Fに一致するデータ型を埋め込み、サービス実行サーバ装置へリクエストを変換・転送する方法が用いられていた(例えば、特許文献1)。 In a technology for managing service connection and I / F (interface) such as a Web service and providing service cooperation, conventionally, a data type matching an I / F of a target service is embedded in a request, and the service execution server apparatus A method of converting and transferring a request has been used (for example, Patent Document 1).
また、シナリオに沿ってサービスを呼び出すような場合は、あらかじめシナリオにメタデータを埋め込んでおき、ユーザがシナリオに定義された次のサービスを実行する際に該当するサービス実行サーバ装置を呼び出す方法が用いられていた(例えば、特許文献2)。 In addition, when calling a service according to a scenario, a method is used in which metadata is embedded in the scenario in advance, and the corresponding service execution server device is called when the user executes the next service defined in the scenario. (For example, Patent Document 2).
従来のサービス連携技術は、リクエストをサービス実行サーバ装置へ適切に転送する点においては解決されているが、その結果を次のサービスへ転送するといったような処理が必要な場合に課題がある。 The conventional service cooperation technology is solved in that the request is appropriately transferred to the service execution server device, but there is a problem when processing such as transferring the result to the next service is necessary.
また、従来技術では、サービスの呼び出し順はシナリオによって制御することができているが、呼び出し自体は基本的にユーザがトリガーとなっており、機械的に処理する場合でも別途サービス間をつなぐメッセージの設計もしくは新規モジュールが必要であるため、機械的にサービス間の連携を行うための開発コストが大きいという課題がある。 In the prior art, the service call order can be controlled according to the scenario. However, the call itself is basically triggered by the user, and even when it is processed mechanically, a message that connects between services separately. Since a design or a new module is required, there is a problem that the development cost for mechanically linking services is high.
また、サービスを実行するサーバ装置のI/Fとクライアント装置へ公開するI/Fは必ずしも一致するものではない。
サービス実行サーバ装置が新規に作られる場合はサーバ装置のI/Fとクライアント装置へ公開するI/Fは一致するが、サービスを実行するサーバ装置が既存の外部システムであったりすると、クライアント側が利用しやすいようにクライアント装置に公開するI/Fはサーバ装置のI/Fとは異なるI/Fに設計される場合がある。
このような場合においても、サービス間連携と同様に、従来技術では異なるI/F間(クライアント装置への公開I/Fとサーバ装置のI/F)をつなぐためのメッセージ設計や新規モジュールが必要である。
In addition, the I / F of the server device that executes the service does not necessarily match the I / F that is disclosed to the client device.
When a service execution server device is newly created, the I / F of the server device matches the I / F disclosed to the client device. However, if the server device that executes the service is an existing external system, the client side uses it. In some cases, the I / F disclosed to the client device may be designed to be different from the I / F of the server device.
Even in such a case, as in the case of inter-service cooperation, the conventional technology requires a message design and a new module for connecting different I / Fs (public I / F to the client device and I / F of the server device). It is.
この発明は上記のような課題を解決することを主な目的とし、クライアント装置用のインタフェースとサービス実行サーバ装置のインタフェースとをつなぐためのメッセージ設計や新規モジュール開発を不要とすることを主な目的の一つとする。
また、サービス間連携において連携のためのメッセージ設計や新規モジュール開発を不要とすることを主な目的の一つとする。
また、登録されているサービスの実行順を指定するだけでサービス間連携を行うことを主な目的の一つとする。
The main object of the present invention is to solve the above-mentioned problems and to eliminate the need for message design and new module development for connecting the interface for the client device and the interface of the service execution server device. One of them.
One of the main objectives is to eliminate the need for message design and new module development for inter-service collaboration.
In addition, one of the main purposes is to perform inter-service cooperation simply by specifying the execution order of registered services.
本発明に係るデータ処理装置は、
サービスの提供を要求するクライアント装置と、前記クライアント装置により要求されたサービスを実行するサービス実行サーバ装置に接続されているデータ処理装置であって、
1つ以上の引数と1つ以上の戻り値がクライアント引数及びクライアント戻り値として指定され、クライアント引数ごとにクライアント引数のデータ種別が定義され、クライアント戻り値ごとにクライアント戻り値のデータ種別が定義されているクライアント用インタフェースに従って生成され各クライアント引数に特定のデータ値が設定されているクライアント要求を前記クライアント装置から受信し、前記クライアント用インタフェースに従って生成され各クライアント戻り値に特定のデータ値が設定されているクライアント応答を前記クライアント装置に送信するクライント通信部と、
1つ以上の引数と1つ以上の戻り値がサーバ引数及びサーバ戻り値として指定され、サーバ引数ごとにサーバ引数のデータ種別が定義され、サーバ戻り値ごとにサーバ戻り値のデータ種別が定義されているサーバ用インタフェースに従って生成され各サーバ引数に特定のデータ値が設定されているサーバ要求を前記サービス実行サーバ装置に送信し、前記サーバ用インタフェースに従って生成され各サーバ戻り値に特定のデータ値が設定されているサーバ応答を前記サービス実行サーバ装置から受信するサーバ通信部と、
前記クライアント用インタフェースの各クライアント引数及び各クライアント戻り値に対して定義されているデータ種別と前記サーバ用インタフェースの各サーバ引数及び各サーバ戻り値に対して定義されているデータ種別を解析し、データ種別ごとに、共通するデータ種別に対して共通に用いられる共通変数を生成する共通変数管理部と、
各共通変数に代入されたデータ値を記憶する共通変数代入値記憶部と、
前記クライアント要求の各クライアント引数のデータ値を各クライアント引数に対応する共通変数に代入して前記共通変数代入値記憶部に書き込み、前記サーバ通信部により前記サーバ応答が受信された後に、共通変数に代入されているデータ値を前記共通変数代入値記憶部から取得し、取得したデータ値を、前記共通変数に対応しているクライアント戻り値に設定して前記クライアント用インタフェースに従ってクライアント応答を生成するクライアント変数処理部と、
前記クライアント変数処理部により共通変数に代入されたデータ値を前記共通変数代入値記憶部から取得し、取得したデータ値を、前記共通変数に対応しているサーバ引数に設定して前記サーバ用インタフェースに従ってサーバ要求を生成し、前記サーバ応答の各サーバ戻り値のデータ値を各サーバ戻り値に対応する共通変数に代入して前記共通変数代入値記憶部に書き込むサーバ変数処理部とを有することを特徴とする。
The data processing apparatus according to the present invention
A data processing apparatus connected to a client apparatus that requests provision of a service and a service execution server apparatus that executes a service requested by the client apparatus;
One or more arguments and one or more return values are specified as client arguments and client return values, and the client argument data type is defined for each client argument, and the client return value data type is defined for each client return value A client request generated according to the client interface and having a specific data value set in each client argument is received from the client device, and a specific data value is set in each client return value generated according to the client interface. A client communication unit that transmits a client response to the client device;
One or more arguments and one or more return values are specified as server arguments and server return values, the server argument data type is defined for each server argument, and the server return value data type is defined for each server return value A server request generated according to the server interface and having a specific data value set in each server argument is transmitted to the service execution server device, and a specific data value is generated in each server return value generated according to the server interface. A server communication unit that receives a set server response from the service execution server device; and
Analyzing the data type defined for each client argument and each client return value of the client interface and the data type defined for each server argument and each server return value of the server interface, For each type, a common variable management unit that generates a common variable used in common for common data types,
A common variable substitution value storage unit for storing a data value assigned to each common variable;
Substitute the data value of each client argument of the client request into a common variable corresponding to each client argument and write it to the common variable substitution value storage unit. After the server response is received by the server communication unit, A client that acquires a substituted data value from the common variable substitution value storage unit, sets the acquired data value to a client return value corresponding to the common variable, and generates a client response according to the client interface A variable processing unit;
The server variable interface acquires the data value assigned to the common variable by the client variable processing unit from the common variable assigned value storage unit, sets the acquired data value to a server argument corresponding to the common variable, and the server interface A server variable processing unit that generates a server request according to the server response, assigns a data value of each server return value of the server response to a common variable corresponding to each server return value, and writes the same to the common variable substitution value storage unit Features.
本発明によれば、クライアント用インタフェースとサーバ用インタフェースに含まれる引数及び戻り値において共通するデータ種別に対して共通変数を生成し、共通変数を用いてサービス実行サーバ装置への要求発行、サービス実行サーバ装置の実行結果のクライアント装置への応答を行うことができ、クライアント装置のインタフェースとサービス実行サーバ装置のインタフェースとをつなぐためのメッセージ設計や新規モジュール開発が不要となる。 According to the present invention, a common variable is generated for a common data type in arguments and return values included in a client interface and a server interface, and a request issuance to a service execution server device and service execution are performed using the common variable. The server apparatus can respond to the execution result of the server apparatus, and it becomes unnecessary to design a message and develop a new module for connecting the interface of the client apparatus and the interface of the service execution server apparatus.
実施の形態1.
図1は、本実施の形態に係る、1つのサービスを接続し公開する方式を示すシステム構成図である。
FIG. 1 is a system configuration diagram showing a method for connecting and disclosing one service according to the present embodiment.
図1において、クライアント装置100は、サービスを呼び出すクライアントプログラムを実行する計算機装置である。
つまり、クライアント装置100はサービス連携サーバ装置200に対してサービスの提供を要求する。
In FIG. 1, a
That is, the
サービス連携サーバ装置200は、クライアント装置100とサービス実行サーバ装置300に接続されている。
サービス連携サーバ装置200は、クライアント装置100から利用することができるサービスを提供するサーバ装置である。
サービス連携サーバ装置200は、データ処理装置の例である。
The service
The service
The service
サービス実行サーバ装置300は、サービス連携サーバ装置200がサービス処理を依頼するサーバ装置である。
つまり、サービス実行サーバ装置300は、クライアント装置100により要求されたサービスを実行する。
サービス実行サーバ装置300は、サービス実体ともいう。
The service
That is, the service
The service
サービス連携サーバ装置200において、サービス公開部201はクライアント装置100へサービス利用のインタフェースを公開する機能である。
サービス公開部201は、クライアント装置100から、リクエスト(クライアント要求ともいう)を受信し、クライアント装置100からのリクエストに対するレスポンス(クライアント応答ともいう)を生成し、レスポンスをクライアント装置100に送信する。
サービス公開部201は、クライアント通信部の例となる。
また、後述する共通変数入出力部206とともにクライアント変数処理部の例となる。
In the service
The
The
Also, it becomes an example of a client variable processing unit together with a common variable input /
共通変数生成部202はクライアント装置からのリクエストにおける処理実行のための共通変数を生成する機能である。
共通変数は、クライアント装置100からのリクエストがサービス連携サーバ装置200を介してサービス実行サーバ装置300において処理され、クライアント装置100にレスポンスが返されるまでの間に利用される変数である。
つまり、共通変数は、リクエストの受信からレスポンスの送信までの一連の流れの中で共通的に扱われる変数である。
クライアント装置100からの1リクエスト/レスポンスに専用に用いられる共通変数が生成され、他のリクエスト/レスポンスには影響しない。
共通変数の生成方法については、後述する。
なお、共通変数生成部202は、後述するデータ型管理部203、型マッピング管理部204、サービスI/F管理部205とともに共通変数管理部の例となる。
The common
The common variable is a variable used until a request from the
That is, the common variable is a variable that is commonly handled in a series of flows from reception of a request to transmission of a response.
A common variable used exclusively for one request / response from the
A method for generating the common variable will be described later.
The common
データ型管理部203は、サービス連携サーバ装置200で管理されるサービスが扱うデータ型(種類)と型間の相互関係を管理する機能である。
本実施の形態及び以降の実施の形態において、データ型とは、サービスが扱う情報の型(データ種別)を指している。int型やchar型といったプログラムにおけるデータ型とは異なる。
例えば、品番から品名を検索するサービスの場合、クライアント装置100は「品番」の引数として特定の値を指定してリクエストを発行し、サービス連携サーバ装置200は「品名」の戻り値として特定の値を指定してレスポンスを返す。この場合の「品番」及び「品名」がそれぞれデータ型(データ種別)となる。
つまり、クライアント装置100からのリクエストに含まれる引数のデータ種別、クライアント装置100へのレスポンスに含まれる戻り値のデータ種別、更に、サービス連携サーバ装置200からサービス実行サーバ装置300に送信されるリクエスト(サーバ要求ともいう)に含まれる引数のデータ種別、サービス実行サーバ装置300からサービス連携サーバ装置200に送信されるレスポンス(サーバ応答ともいう)に含まれる戻り値のデータ種別が、本実施の形態及び以降の実施の形態で用いるデータ型である。
このように、データ型管理部203は、上記「品番」、「品名」の他、「価格」、「在庫数」、「納期」、「製造ロット」、「従業員番号」、「従業員氏名」、「所属部署」、「役職」、「センサID」、「温度」、「湿度」、「消費電力」、「重さ」等、サービス連携サーバ装置200が扱うサービスにおける全ての引数、戻り値のデータ種別を管理する。
The data
In the present embodiment and the following embodiments, the data type refers to the type of information handled by the service (data type). It is different from the data type in programs such as int type and char type.
For example, in the case of a service for retrieving a product name from a product number, the
That is, the data type of the argument included in the request from the
In this way, the data
型マッピング管理部204はサービス連携サーバ装置200で管理されるサービスのI/Fの具体的な項目とデータ型管理部203で管理されている情報の種類のマッピングを管理する機能である。
サービスI/F管理部205はサービス連携サーバ装置200で管理されるサービスのI/Fを管理する機能である。
前述したように、データ型管理部203、型マッピング管理部204、サービスI/F管理部205は、共通変数生成部202とともに共通変数管理部の例となる。
The type
The service I /
As described above, the data
共通変数入出力部206は、共通変数生成部202によって生成された共通変数への値の入出力を行う機能である。
前述したように、共通変数入出力部206は、サービス公開部201とともにクライアント変数処理部の例となる。
また、共通変数入出力部206は、後述するサービス接続部208とともにサーバ変数処理部の例となる。
The common variable input /
As described above, the common variable input /
The common variable input /
共通変数代入値記憶部207は、共通変数生成部202によって生成された共通変数への代入値を記憶する。
共通変数代入値記憶部207は、例えば、RAM(Random Access Memory)等のメモリの一部の領域であり、共通変数を格納するために共通変数生成部202により確保された領域である。
The common variable substitution
The common variable substitution
サービス接続部208は、サービス連携サーバ装置200からサービス実行サーバ装置300へリクエストを送信するための機能である。
サービス接続部208は、クライアント装置100からのリクエスト(クライアント要求)に基づいて、サービス実行サーバ装置300へのリクエスト(サーバ要求)を送信し、また、サービス実行サーバ装置300からレスポンス(サーバ応答)を受信する。
サービス実行サーバ装置300からのレスポンスはクライアント装置100へのレスポンス(クライアント応答)のもとになる。
サービス接続部208は、サーバ通信部の例である。
また、サービス接続部208は、前述のように、共通変数入出力部206とともにサーバ変数処理部の例となる。
The
The
The response from the service
The
The
なお、データ型管理部203、型マッピング管理部204、サービスI/F管理部205はそれぞれ別サーバでも良い。
The data
次に、各機能の動作を詳述する前に、以下にて本実施の形態に係るサービス連携サーバ装置200の動作の概要を説明する。
Next, before describing the operation of each function in detail, an outline of the operation of the service
本実施の形態では、共通変数生成部202が、クライアント装置100のクライアント用インタフェースとサービス実行サーバ装置300のサーバ用インタフェースに含まれる引数及び戻り値において共通するデータ型に対して共通変数を生成する。
サービス公開部201は、クライアント装置100からのリクエスト(クライアント要求)に含まれる引数を共通変数に代入し、サービス接続部208は、共通変数のデータ値を引数とするサービス実行サーバ装置300へのリクエスト(サーバ要求)を生成し、サービス実行サーバ装置300のレスポンス(サーバ応答)に含まれる戻り値を共通変数に代入する。
そして、サービス公開部201は共通変数のデータ値を戻り値とするクライアント装置100へのレスポンス(クライアント応答)を生成し、クライアント装置100に送信する。
In the present embodiment, the common
The
Then, the
より具体的には、サービス公開部201は、クライアント装置100から送信されたクライアント要求を受信する。
クライアント要求は、クライアント用インタフェースに従って生成され、1つ以上の引数がクライアント引数として含まれている。
なお、クライアント用インタフェースでは、クライアント引数ごとにクライアント引数のデータ型(データ種別)が定義されている。
このため、クライアント要求には、定義されているデータ型のクライアント引数が含まれ、各クライアント引数として特定のデータ値が含まれている(例えば、「品番」のクライアント引数として「123456」がクライアント要求に含まれる)。
また、サービス公開部201は、クライアント要求に対する応答としてクライアント応答をクライアント装置100に送信する。
クライアント応答は、クライアント用インタフェースに従って生成され、1つ以上の戻り値がクライアント戻り値として含まれている。
クライアント用インタフェースでは、クライアント戻り値ごとにクライアント戻り値のデータ型(データ種別)が定義されている。
このため、クライアント応答には、定義されているデータ型のクライアント戻り値が含まれ、各クライアント戻り値として特定のデータ値が含まれている(例えば、「品名」のクライアント戻り値として「ABC−XYZ」がクライアント応答に含まれる)。
More specifically, the
The client request is generated according to the client interface and includes one or more arguments as client arguments.
In the client interface, a client argument data type (data type) is defined for each client argument.
For this reason, the client request includes a client argument of a defined data type, and includes a specific data value as each client argument (for example, “123456” is used as the client argument of “product number”). include).
In addition, the
The client response is generated according to the client interface, and one or more return values are included as client return values.
In the client interface, a client return value data type (data type) is defined for each client return value.
Therefore, the client response includes a client return value of a defined data type, and a specific data value is included as each client return value (for example, “ABC−” as the client return value of “product name”). XYZ "is included in the client response).
サービス接続部208は、クライアント要求に基づいて生成されたサーバ要求をサービス実行サーバ装置300に送信する。
サーバ要求は、サーバ用インタフェースに従って生成され、1つ以上の引数がサーバ引数として含まれている。
なお、本実施の形態では、クライアント用インタフェースとサーバ用インタフェースは異なっているものとする。
サーバ用インタフェースでは、サーバ引数ごとにサーバ引数のデータ型(データ種別)が定義されている。
このため、サーバ要求には、定義されているデータ型のサーバ引数が含まれ、各サーバ引数として特定のデータ値が含まれている(例えば、「品番」のサーバ引数として「123456」がサーバ要求に含まれる)。
また、サービス接続部208は、サーバ要求に対する応答としてサーバ応答をサービス実行サーバ装置300から受信する。
サーバ応答は、サーバ用インタフェースに従って生成され、1つ以上の戻り値がサーバ戻り値として含まれている。
なお、サーバ用インタフェースでは、サーバ戻り値ごとにサーバ戻り値のデータ型(データ種別)が定義されている。
このため、サーバ応答には、定義されているデータ型のサーバ戻り値が含まれ、各サーバ戻り値として特定のデータ値が含まれている(例えば、「品名」のサーバ戻り値として「ABC−XYZ」がサーバ応答に含まれる)。
The
The server request is generated according to the server interface, and one or more arguments are included as server arguments.
In this embodiment, it is assumed that the client interface and the server interface are different.
In the server interface, the server argument data type (data type) is defined for each server argument.
For this reason, the server request includes a server argument of a defined data type, and includes a specific data value as each server argument (for example, “123456” is the server request as the server argument of “product number”). include).
Further, the
The server response is generated according to the server interface, and one or more return values are included as server return values.
In the server interface, the server return value data type (data type) is defined for each server return value.
For this reason, the server response includes a server return value of a defined data type, and includes a specific data value as each server return value (for example, “ABC− XYZ "is included in the server response).
共通変数生成部202は、データ型管理部203、型マッピング管理部204、サービスI/F管理部205を用いて、クライアント用インタフェースの各クライアント引数及び各クライアント戻り値に対して定義されているデータ種別とサーバ用インタフェースの各サーバ引数及び各サーバ戻り値に対して定義されているデータ種別を解析し、データ種別ごとに、共通するデータ種別に対して共通に用いられる共通変数を生成する。
また、共通変数生成部202は、クライアント引数とサーバ引数と共通変数との対応付け及びクライアント戻り値とサーバ戻り値と共通変数との対応付けが示される共通変数対応付け情報を生成する。
共通変数生成部202は、例えば、クライアント引数Aとサーバ引数Cがデータ型「品番」であればデータ型「品番」に共通変数aを生成し、クライアント戻り値Bとサーバ戻り値Dがデータ型「品名」であればデータ型「品名」に共通変数bを生成する。
そして、共通変数生成部202は、クライアント引数Aとサーバ引数Cと共通変数aとの対応付け及びクライアント戻り値Bとサーバ戻り値Dと共通変数bとの対応付けが示される共通変数対応付け情報を生成する。
The common
Further, the common
For example, if the client argument A and the server argument C are the data type “product number”, the common
Then, the common
また、共通変数生成部202は、相互に異なるデータ種別であるが相互に置換可能な関係にある2以上の同義なデータ型(置換可能なデータ種別)が含まれている場合に、同義なデータ型に対して同じ共通変数を生成する。
更に、共通変数生成部202は、同義なデータ型に対して生成した共通変数に対してクライアント引数及びサーバ引数の対応付けとクライアント戻り値及びサーバ戻り値の対応付けが示される共通変数対応付け情報を生成する。
例えば、クライアント引数Aのデータ型が「品番」であり、サーバ引数Cのデータ型が「シリアルナンバー」であれば、両者は一致していないが同じ内容であるため、同義(置換可能)であり、共通変数生成部202は、クライアント引数Aのデータ型「品番」とサーバ引数Cのデータ型「シリアルナンバー」に共通変数aを生成し、クライアント引数Aとサーバ引数Cと共通変数aとの対応付けが示される共通変数対応付け情報を生成する。
また、共通変数生成部202は、クライアント引数Aのデータ型が「品番」であり、サーバ引数Cのデータ型が「シリアルナンバー」であることを示す情報も生成する。
In addition, the common
Further, the common
For example, if the data type of the client argument A is “product number” and the data type of the server argument C is “serial number”, the two do not match but have the same contents, and thus are synonymous (replaceable). The common
The common
共通変数代入値記憶部207は、前述したように、共通変数生成部202によって生成された共通変数への代入値を記憶する。
As described above, the common variable substitution
共通変数入出力部206は、サービス公開部201からクライアント要求の各クライアント引数のデータ値を入力し、入力したデータ値を各クライアント引数のデータ型に対応する共通変数に代入して共通変数代入値記憶部207に書き込む。
更に、共通変数入出力部206は、共通変数に代入されたデータ値を共通変数代入値記憶部207から取得し、サービス接続部208に渡す。
サービス接続部208は、共通変数入出力部206から取得したデータ値を、共通変数に対応しているサーバ引数に設定してサーバ用インタフェースに従ってサーバ要求を生成し、サービス実行サーバ装置300に送信する。
前出の例に従えば、共通変数入出力部206はクライアント引数Aのデータ値「123456」を共通変数aに代入して共通変数代入値記憶部207に書き込む、また、共通変数代入値記憶部207から共通変数aの値「123456」を取得し、サーバ引数Cとしてサービス接続部208に渡す。
サービス接続部208は、サーバ引数Cとして「123456」を設定してサーバ要求を生成する。
The common variable input /
Further, the common variable input /
The
According to the above example, the common variable input /
The
また、共通変数入出力部206は、サービス接続部208からサーバ応答の各サーバ戻り値のデータ値を入力し、入力したデータ値を各サーバ戻り値のデータ型に対応する共通変数に代入して共通変数代入値記憶部207に書き込む。
更に、共通変数入出力部206は、共通変数に代入されているデータ値を共通変数代入値記憶部207から取得し、サービス公開部201に渡す。
サービス公開部201は、共通変数入出力部206から取得したデータ値を、対応しているクライアント戻り値に設定してクライアント用インタフェースに従ってクライアント応答を生成し、クライアント装置100に送信する。
前出の例に従えば、共通変数入出力部206はサーバ戻り値Dのデータ値「ABC−XYZ」を共通変数bに代入して共通変数代入値記憶部207に書き込む。
また、共通変数代入値記憶部207から共通変数bの値「ABC−XYZ」を取得し、クライアント戻り値Bのデータ値としてサービス公開部201に渡す。
サービス公開部201は、クライアント戻り値Bとして「ABC−XYZ」を設定してクライアント応答を生成する。
Further, the common variable input /
Further, the common variable input /
The
According to the above example, the common variable input /
In addition, the value “ABC-XYZ” of the common variable b is acquired from the common variable substitution
The
次に、本実施の形態に係るサービス連携サーバ装置200の動作を詳細に説明する。
なお、各機能の動作はフローチャートを用いて説明し、各機能を組み合わせた全体の動作はシーケンス図を用いて説明する。
Next, the operation of the service
The operation of each function will be described using a flowchart, and the overall operation combining the functions will be described using a sequence diagram.
図2はクライアント装置100における処理フローチャートである。
クライアント装置100ではサービス連携サーバ装置200へリクエストを送信し、結果を得る(F0100)。
FIG. 2 is a process flowchart in the
The
図3は、サービス連携サーバ装置200のサービス公開部201における処理フローチャートである。
サービス公開部201ではクライアント装置100からのリクエスト(クライアント要求)を受信し(F0200)、どのサービスへのリクエストであるかを共通変数生成部202に通知して共通変数の生成を要求し、共通変数生成部202から共通変数への参照を取得する(F0201)。
この共通変数への参照とは、クライアント引数が代入される共通変数(サーバ引数として値を読み出すべき共通変数)とサーバ戻り値が代入される共通変数(クライアント戻り値として値を読み出すべき共通変数)が示される情報であり、共通変数対応付け情報の例である。
FIG. 3 is a process flowchart in the
The
The reference to this common variable is a common variable to which a client argument is assigned (a common variable whose value is to be read as a server argument) and a common variable to which a server return value is assigned (a common variable whose value is to be read as a client return value) Is an example of common variable association information.
サービス公開部201は、リクエストに含まれるクライント引数の値を共通変数入出力部206を用いて共通変数に代入し(F0202)、サービス接続部208へ共通変数への参照を渡してサービス実行を要求する(F0203)。
つまり、サービス公開部201は、クライアント引数のデータ値を対象となる共通変数の変数名と対応付けて共通変数入出力部206に通知し、共通変数入出力部206がクライアント引数のデータ値を対応する共通変数に代入して共通変数代入値記憶部207に書き込む。
また、サービス公開部201は、サービス接続部208に、クライアント引数の値が代入される共通変数(サーバ引数として値を読み出すべき共通変数)とサーバ戻り値の値が代入される共通変数(クライアント戻り値として値を読み出すべき共通変数)が示される共通変数への参照(共通変数対応付け情報)を通知してサービス実行を要求する。
The
That is, the
Further, the
また、サービス公開部201は、共通変数入出力部206からサービスの実行結果(クライアント戻り値)を取得し(F0204)、取得した実行結果に基づきクライアント用インタフェースに従ったレスポンス(クライアント応答)を生成し、レスポンスをクライアント装置100へ返す(F0205)。
つまり、サービス公開部201は、サービス接続部208からサービス実行サーバ装置300からのレスポンスを得たとの通知を受け、共通変数入出力部206にサーバ戻り値の値が代入される共通変数(クライアント戻り値として値を読み出すべき共通変数)を通知し、共通変数入出力部206からクライアント戻り値の値を取得し、取得した値を用いてレスポンス(クライアント応答)を生成し、レスポンスをクライアント装置100へ返す。
Also, the
That is, the
図4は共通変数生成部202における処理フローチャートである。
FIG. 4 is a process flowchart in the common
共通変数生成部202ではサービス公開部201から共通変数の生成要求を受け付けると(F0300)、クライアント装置100から要求されたサービスに対して共通変数化するデータ型を型マッピング管理部204に問い合わせる(F0301)。
次に、共通変数生成部202は、得られたマッピングのデータ型一覧から共通変数を生成し、同義なデータ型も記憶しておく(F0302)。
また、共通変数生成部202は、共通変数の参照(共通変数対応付け情報の例)を生成する。
共通変数の参照は、前述したように、クライアント引数とサーバ引数と共通変数との対応付け及びクライアント戻り値とサーバ戻り値と共通変数との対応付けが示される情報である。
生成された共通変数の参照は呼び出し元であるサービス公開部201に返される(F0303)。
When the common
Next, the common
Further, the common
As described above, the common variable reference is information indicating a correspondence between the client argument, the server argument, and the common variable, and a correspondence between the client return value, the server return value, and the common variable.
The generated reference to the common variable is returned to the
図5は型マッピング管理部204における処理フローチャートである。
FIG. 5 is a processing flowchart in the type
型マッピング管理部204では共通変数生成部202から共通変数化するデータ型の問い合わせを受けると(F0400)、サービスI/F管理部205から該当するサービスのI/Fを参照する(F0401)。
次に、型マッピング管理部204は、サービスI/Fから得られるサービスへの引数と戻り値について型マッピング管理部204内で管理しているマッピングの情報からデータ型へのマッピング一覧を出す(F0402)。
マッピング一覧の各型についてデータ型管理部203を用いてその種類を取得し、同義(種類が同じ)のデータ型を一覧からはずす(F0403)。
このときデータ型をまとめる方法は同義のデータ型一覧の最初を選ぶ方法でもランダムに選ぶ方法でもよい(例えば、データ型一覧に「データA、データB、データC、データD」があり、データAとデータBとデータCが同義である場合、最初を選ぶと「データA、データD」とまとめられることになる。選ぶルールは特に指定しないのでランダムに「データB、データD」とまとめてもよい)。
整理されたデータ型一覧と、同義であるためはずされたデータ型一覧を返す(F0404)。
より具体的には、マッピング情報も一覧に紐付けられているので、「データA、データD」という一覧は、例えば「データA=クライアント引数1(同義:データB=サービスA引数1)、データD=クライアント戻り値(同義:データC=サービスA戻り値)」といった一覧になる。
When receiving an inquiry about a data type to be converted into a common variable from the common variable generation unit 202 (F0400), the type
Next, the type
The type of each type in the mapping list is acquired using the data
At this time, the method of grouping the data types may be a method of selecting the first synonymous data type list or a method of selecting at random (for example, “Data A, Data B, Data C, Data D” exists in the data type list, and data A When data B and data C are synonymous, when the first is selected, the data is summarized as “data A, data D.” Since the selection rule is not particularly specified, even if “data B, data D” are randomly combined. Good).
The arranged data type list and the data type list removed because it is synonymous are returned (F0404).
More specifically, since the mapping information is also associated with the list, the list of “data A, data D” is, for example, “data A = client argument 1 (synonymous: data B = service A argument 1), data D = client return value (synonymous: data C = service A return value) ”.
図23は、データ型管理部203で管理される情報、型マッピング管理部204で管理される情報、サービスI/F管理部205で管理される情報の例を示す。
データ型管理部203では、データ型と、データ型の相互関係が管理される。
サービスI/F管理部205では各インタフェースにおける引数や戻り値が管理される。
型マッピング管理部204では、マッピング情報が管理される。
マッピング情報はサービスのI/Fとデータ型のマッピング情報である。
マッピング一覧は指定されたサービスのI/Fの引数・戻り値からマッピング情報を引くことで得られるマッピングの一覧である。
図23の例では、サービスI/F管理部205において、クライアント用インタフェースの情報とサービスA用インタフェースの情報を管理している。
クライアント用インタフェースには引数1(int型)、引数2(int型)、戻り値1(int型)が含まれており、サービスA用インタフェースには引数1(string型)、引数2(int型)、戻り値1(string型)が含まれている。
また、型マッピング管理部204では、マッピング情報として、クライアント用インタフェースの引数1、引数2、戻り値のデータ型(引数1=データ型A、引数2=データ型C、戻り値=データ型D)が管理され、また、サービスA用インタフェースの引数1、引数2、戻り値のデータ型(引数1=データ型B、引数2=データ型C、戻り値=データ型E)が管理される。
そして、データ型管理部203では、相互関係として、同義であるデータ型が管理される。具体的には、データ型Aとデータ型Bが同義であり、データ型Dとデータ型Eが同義である。
型マッピング管理部204では、これら情報よりデータ型のマッピング一覧を生成する。
つまり、型マッピング管理部204は、クライアント用インタフェースの引数1(データ型A)とサービスA用インタフェースの引数1(データ型B)は同義であり、クライアント用インタフェースの引数2(データ型C)とサービスA用インタフェースの引数2(データ型C)は同じデータ型であり、クライアント用インタフェースの戻り値(データ型D)とサービスA用インタフェースの戻り値(データ型E)は同義であるというマッピング一覧を生成する。
FIG. 23 shows an example of information managed by the data
The data
The service I /
The type
The mapping information is service I / F and data type mapping information.
The mapping list is a list of mappings obtained by subtracting mapping information from the argument / return value of the specified service I / F.
In the example of FIG. 23, the service I /
The client interface includes argument 1 (int type), argument 2 (int type), and return value 1 (int type). The service A interface includes argument 1 (string type) and argument 2 (int type). ), A return value 1 (string type) is included.
Also, the type
The data
The type
That is, the type
図6はサービスI/F管理部205における処理フローチャートである。
FIG. 6 is a processing flowchart in the service I /
サービスI/F管理部205ではサービスI/Fの参照を受け付けると(F0500)、サービス名等の識別子から該当するサービスのI/Fを返す(F0501)。
When the service I /
図7はデータ型管理部203における処理フローチャートである。
データ型管理部203ではデータ型の問い合わせを受けると(F0600)、データ型管理部203内で管理しているデータ型から同義(種類が同じ)のデータ型一覧を返す(F0601)。
FIG. 7 is a processing flowchart in the data
When the data
図8は共通変数入出力部206における処理フローチャートである。
FIG. 8 is a processing flowchart in the common variable input /
共通変数入出力部206では共通変数の入出力の問い合わせを入力する(F0700)。
より具合的には、共通変数入出力部206は、共通変数へのデータ値の代入の場合は、問い合わせ元の情報(サービス公開部201か、サービス接続部208か)、共通変数に代入すべき値、当該値の対応I/F(引数か、戻り値か)を入力する。
また、共通変数からのデータ値の読み出しの場合は、問い合わせ元の情報(サービス公開部201か、サービス接続部208か)、読み出し対象の対応I/F(引数か、戻り値か)を入力する。
次に、共通変数入出力部206は、F0700での共通変数への代入値の有無を判断して、実行すべき処理が入力か出力かを判断する(F0701)。
具体的には、共通変数への代入値を入力している場合は、F0702において入力となる。
一方、共通変数への代入値を入力していない場合は、F0702において出力となる。
The common variable input /
More specifically, the common variable input /
Further, in the case of reading a data value from a common variable, information on the inquiry source (whether it is the
Next, the common variable input /
Specifically, when an assignment value to a common variable is input, the input is made at F0702.
On the other hand, when the assignment value to the common variable is not input, an output is made in F0702.
そして、共通変数入出力部206は、F0702の判断において入力の場合は、問い合わせ元から入力した値を、入力したI/Fに対応する変数名の共通変数に代入する(F0703)。
問い合わせがサービス公開部201からの入力(クライアントからのリクエスト入力)である場合は、サービス公開部201から入力した値をクライアント引数に対応する共通変数に代入する。
また、問い合わせがサービス接続部208からの入力(サービス実体からのレスポンス取得)である場合は、サービス接続部208から入力した値をサーバ戻り値に対応する共通変数に代入する。
一方、F0702の判断において出力であった場合は、問い合わせ元から入力したI/Fに対応する変数名の共通変数からデータ値を読み出し、問い合わせ元に出力する(F0704)。
問い合わせがサービス接続部208からの出力(サービス実体へのリクエスト取得)である場合は、サービス接続部208から入力したI/Fに対応する変数名の共通変数からデータ値(サーバ引数に相当する)を読み出して、サービス接続部208に出力する。
また、問い合わせがサービス公開部201からの出力(クライアントへのレスポンス取得)である場合は、サービス公開部201から入力したI/Fに対応する変数名の共通変数からデータ値(クライアント戻り値に相当する)を読み出して、サービス公開部201に出力する。
In the case of input in the determination of F0702, the common variable input /
If the inquiry is an input from the service disclosure unit 201 (request input from the client), the value input from the
If the inquiry is an input from the service connection unit 208 (response acquisition from the service entity), the value input from the
On the other hand, if it is output in the determination of F0702, the data value is read from the common variable having the variable name corresponding to the I / F input from the inquiry source, and is output to the inquiry source (F0704).
If the inquiry is an output from the service connection unit 208 (request acquisition to the service entity), a data value (corresponding to a server argument) from a common variable with a variable name corresponding to the I / F input from the
Further, when the inquiry is an output from the service disclosure unit 201 (acquisition of a response to the client), a data value (corresponding to a client return value) from a common variable having a variable name corresponding to the I / F input from the
図9はサービス接続部208における処理フローチャートである。
FIG. 9 is a process flowchart in the
サービス接続部208では、サービス公開部201からサービス実行の要求を受けると(F0800)、共通変数入出力部206を用いて共通変数からサービスの引数となる値を取得する(F0801)。
前述したように、サービス接続部208は、サービス公開部201から共通変数の参照を取得しているため、サーバ引数として読み出す値が格納されている共通変数の出力を共通変数入出力部206に通知することができる。また、同様の理由により、後述するサーバ戻り値の代入の際にも、サーバ戻り値の代入対象の共通変数への入力を共通変数入出力部206に通知することができる。
次に、サービス接続部208は、共通変数入出力部206から取得した値を用いてサービス実行サーバ装置300に処理を実行させて結果を得る(F0802)。
つまり、共通変数入出力部206から取得した値をサーバ引数に設定してサービス実行サーバ装置300へのリクエストを生成し、サービス実行サーバ装置300へ送信し、また、サービス実行サーバ装置300からレスポンスを受信する。
次に、サービス接続部208は、サービス実行サーバ装置300から得た結果は共通変数入出力部を用いて共通変数に代入する(F0803)。
つまり、サービス接続部208は、レスポンスに含まれるサーバ戻り値と、当該サーバ戻り値であること(I/F)を共通変数入出力部206に渡し、サーバ戻り値を共通変数に代入させる。
共通変数入出力部206は、サーバ戻り値を対応する共通変数に代入して共通変数代入値記憶部207に書き込む。
また、サービス接続部208は、サービス公開部201にサービス実行サーバ装置300からのレスポンスを得た旨を通知する。
When the
As described above, since the
Next, the
That is, a value acquired from the common variable input /
Next, the
That is, the
The common variable input /
Further, the
図10はサービス実行サーバ装置300における処理フローチャートである。
サービス実行サーバ装置300では、サービス連携サーバ装置200からリクエスト(サーバ要求)を受信し、サービス処理を実行して結果を示すレスポンス(サーバ応答)を生成し、レスポンスをサービス連携サーバ装置200に返す(F0900)。
FIG. 10 is a process flowchart in the service
The service
各機能を組み合わせた全体の動作を、クライアント装置100がサービス連携サーバ装置200上で公開されているサービス実行サーバ装置300のサービスを利用する場合の動作で説明する。
The overall operation combining the respective functions will be described in the case where the
図11及び図12はクライアント装置100がサービス連携サーバ装置200上で公開されているサービス実行サーバ装置300のサービスを利用する動作を示したシーケンス図である。
これを用いてクライアント装置100がサービス実行結果を得るまでの動作を説明する。
FIGS. 11 and 12 are sequence diagrams illustrating operations in which the
The operation until the
クライアント装置100がサービス公開部201で公開されているクライアント用インタフェースに従ったリクエストを送信する(S0100)。
サービス公開部201は、リクエストを受信し、共通変数生成部202に呼び出されたサービス(リクエストで要求されているサービス)に対応する共通変数を生成するように要求する(S0101)。
The
The
共通変数生成部202は型マッピング管理部204に呼び出されたサービスで用いるデータ型一覧を問い合わせる(S0102)。
型マッピング管理部204はサービスI/F管理部205から該当するサービスのI/Fを取得し(S0103〜S0104)、サービスI/Fから引数と戻り値のI/Fと型のマッピングを取得する(S0105)。
マッピングから得られる各データ型と同義のデータ型一覧をデータ型管理部203から取得し(S0106〜S0107)、I/Fと型のマッピング一覧から同義な型をまとめる(S0108)。
まとめられたデータ型一覧とその一覧にある各データ型と同義なデータ型一覧を共通変数生成部202に返す(S0109)。
共通変数生成部202は得られたデータ型一覧から共通変数を生成する(S0110)。
このとき、同義なデータ型一覧も記憶される。
つまり、共通変数生成部202は、同じデータ型に対して同じ共通変数を生成する。また、同義なデータ型に対しても同じ共通変数を生成する。
共通変数生成部202は生成した共通変数への参照をサービス公開部201に返す(S0111)。
The common
The type
A data type list synonymous with each data type obtained from the mapping is acquired from the data type management unit 203 (S0106 to S0107), and synonymous types are collected from the I / F and type mapping list (S0108).
The collected data type list and a data type list synonymous with each data type in the list are returned to the common variable generation unit 202 (S0109).
The common
At this time, a synonymous data type list is also stored.
That is, the common
The common
サービス公開部201は得られた共通変数への参照から共通変数入出力部206を用いてリクエストのクライアント引数を共通変数化し(S0112〜S0113)、サービス接続部208に共通変数の参照を通知してサービス実行を要求する(S0114)。
The
サービス接続部208は、サービス公開部201から取得した共通変数の参照に基づき、実行するサービスへリクエストするための値(サーバ引数の値)を共通変数入出力部206から取得し(S0115〜S0116)、取得した値を用いてサービス実行サーバ装置300へのリクエストを生成し、サービス実行サーバ装置300にリクエストを送信して、サービス実行サーバ装置300からサービスの実行結果を得る(S0117〜S0118)。
ここで、共通変数入出力部206から得られる値は共通変数生成時にサービスI/Fに合わせて同義の型がまとめられているので、リクエストに用いるべき値が得られることになる。
サービス接続部208は、サービスを実行して得られた結果は共通変数入出力部206を用いて共通変数化し(S0119〜S0120)、サービス公開部201へ実行完了を返す(S0121)。
サービス公開部201は共通変数入出力部206から実行結果(クライアント戻り値の値)を取得し(S0122〜S0123)、取得した値からクライアント装置100へのレスポンスを生成し、生成したレスポンスをクライアント装置100に返す(S0124)。
ここで、共通変数入出力部206から得られる値は共通変数生成時にサービスI/Fに合わせて同義の型がまとめられているので、S0115の場合と同様にレスポンスに用いるべき値が得られることになる。
Based on the reference to the common variable acquired from the
Here, since the values obtained from the common variable input /
The
The
Here, since the values obtained from the common variable input /
以上のように、サービスを実行するために必要な情報(サービスI/Fと引数・戻り値の型の種類とそのマッピング)を管理し、同義なデータをまとめて一連の連携処理内で共通変数化することで、連携のための内部メッセージ設計を不要とすることができる。
ここで、連携のための内部メッセージ設計というのは、サービス連携サーバ装置がリクエストを受け取ってからサービス実行サーバ装置へ転送するまでと、サービス実行サーバ装置からの処理結果をクライアント装置へレスポンスするまでのデータフォーマットの設計に相当するものである。
インタフェースに合わせて、バイトデータであれば何バイト目から何バイト目までを引数を格納するための領域にするかといった設計が、XML(Extensible Markup Language)データであればどのようなスキーマにするかといった設計が必要になる。
本実施の形態ではインタフェースに合わせて共通変数が生成されるのでこういった設計が不要になる。
As described above, information necessary to execute a service (service I / F and types of argument / return value types and their mapping) is managed, and synonymous data is collected into a common variable within a series of linkage processes. By doing so, it is possible to eliminate the need for an internal message design for cooperation.
Here, the internal message design for cooperation is from when the service cooperation server device receives the request until it is transferred to the service execution server device, and until the processing result from the service execution server device is returned to the client device. This corresponds to a data format design.
In accordance with the interface, the design of how many bytes to how many bytes should be used as an area for storing an argument if it is byte data, what schema should be used if it is XML (Extensible Markup Language) data Such a design is required.
In this embodiment, a common variable is generated in accordance with the interface, so that such a design is not necessary.
また、共通変数は共通変数生成部によって一時的な記憶領域を確保しているので複数クライアントからの同時リクエストに対してもそれぞれ独立して動作させることが可能である。 In addition, since the common variable has a temporary storage area secured by the common variable generation unit, it can be operated independently for simultaneous requests from a plurality of clients.
以上、本実施の形態では、
任意のクライアントから利用できるサービスを公開する手段と、サービスのI/Fを管理する手段と、情報の種類と相互関係を管理する手段と、I/Fと種類のマッピングを管理する手段と、処理中にその処理において共通的な一時記憶領域を取得する手段と、一時領域へ情報を入出力する手段と、サービス実行サーバ装置への接続手段を備えたサーバを用いてサービスの連携を実行する装置を説明した。
As described above, in the present embodiment,
Means for publishing services available from any client, means for managing service I / F, means for managing information types and interrelationships, means for managing I / F and type mapping, and processing Apparatus for executing service cooperation using a server having means for acquiring a common temporary storage area in the process, means for inputting / outputting information to / from the temporary area, and means for connecting to the service execution server apparatus Explained.
実施の形態2.
以上の実施の形態1では1種類のサービスをクライアントから実行できるようにサービス連携サーバ装置200で連携するようにしたものであるが、次に複数サービスを連携するような場合の実施の形態を示す。
Embodiment 2. FIG.
In the first embodiment described above, the service
図13は2つのサービスを接続し連携する方式を示すシステム構成図である。 FIG. 13 is a system configuration diagram showing a method for connecting and linking two services.
図13において、実施の形態1のシステム構成図(図1)から変更・追加された機能はサービス公開部201、共通変数生成部202、シナリオ管理部209、シナリオ制御部210であり他の機能は実施の形態1と同様である。
また、サービス連携サーバ装置200は、サービス実行サーバ装置A301、サービス実行サーバ装置B302に接続されている。
サービス実行サーバ装置A301、サービス実行サーバ装置B302は実施の形態1におけるサービス実行サーバ装置300と同様にサービスを実行するが、各々の内部のサービス処理が異なるものである。
また、サービス実行サーバ装置A301、サービス実行サーバ装置B302それぞれに固有のサーバ用インタフェースが設けられている。
なお、サービス実行サーバ装置A301、サービス実行サーバ装置B302を区別しない場合は、サービス実行サーバ装置300と表記する。
In FIG. 13, the functions changed / added from the system configuration diagram (FIG. 1) of the first embodiment are a
The service
The service execution server device A301 and the service execution server device B302 execute the service in the same manner as the service
Further, a server interface specific to each of the service execution server device A301 and the service execution server device B302 is provided.
In addition, when not distinguishing service execution server apparatus A301 and service execution server apparatus B302, it describes with the service
サービス公開部201はクライアント装置100へサービス利用のインタフェースを公開し、複数サービスを実行するシナリオもサービスとして公開する機能である。
共通変数生成部202は、クライアント装置100からのリクエストにおけるサービス実行と、シナリオ内の各サービス実行のための共通変数を生成する機能である。
シナリオ管理部209は、サービスの実行順序をサービス実行シナリオ(単にシナリオともいう)として管理する機能である。
シナリオ制御部210は、サービスをシナリオに設定された順序で実行する機能である。
シナリオ管理部209とシナリオ制御部210は連携サービス管理部の例である。
なお、シナリオ管理部209は別サーバでも良い。
また、シナリオには実行順序だけでなく実行条件や条件分岐、エラー時に呼び出すサービスの指定などの実行フローが指定されており、判断のための情報はデータ型管理部203で管理されている範囲で指定する。
The
The common
The
The
The
The
In addition, not only the execution order but also an execution flow such as execution conditions, conditional branching, and specification of a service to be called in the case of an error is specified in the scenario. specify.
なお、本実施の形態においても、サービス公開部201はクライアント通信部及びクライアント変数処理部の例であり、共通変数生成部202、データ型管理部203、型マッピング管理部204、サービスI/F管理部205は共通変数管理部の例である。
また、共通変数入出力部206はクライアント変数処理部及びサーバ変数処理部の例であり、サービス接続部208はサーバ通信部及びサーバ変数処理部の例である。
Also in this embodiment, the
The common variable input /
次に、実施の形態1との差分を中心に本実施の形態に係るサービス連携サーバ装置200の動作を概説する。
Next, the operation of the service
シナリオ管理部209は、クライアント装置100からのリクエスト(クライアント要求)を解析し、リクエストにおいて要求されているサービスが2以上のサービス実行サーバ装置の連携により実現される連携サービスである場合に、該当するサービス実行シナリオを複数のサービス実行シナリオの中から選択する。
前述のように、サービス実行シナリオには、連携サービスを実現する2以上のサービス実行サーバ装置(連携サービス実行サーバ装置)におけるサービス実行順序が示される。
また、共通変数生成部202は、クライアント用インタフェースの各クライアント引数及び各クライアント戻り値に対して定義されているデータ型と、各連携サービス実行サーバ装置300のサーバ用インタフェースの各サーバ引数及び各サーバ戻り値に対して定義されているデータ型を解析し、データ型ごとに共通変数を生成する。
The
As described above, the service execution scenario indicates a service execution order in two or more service execution server devices (cooperation service execution server devices) that realize the cooperation service.
In addition, the common
共通変数入出力部206は、共通変数に代入されたクライアント引数のデータ値を共通変数代入値記憶部207から取得する。
そして、サービス接続部208が、共通変数入出力部206により取得されたデータ値を、シナリオのサービス実行順序において最初の順序の連携サービス実行サーバ装置300のサーバ用インタフェースにおいて前記共通変数に対応しているサーバ引数に設定して最初の順序の連携サービス実行サーバ装置300のサーバ用インタフェースに従って最初の順序の連携サービス実行サーバ装置300へのサーバ要求を生成し、最初の順序の連携サービス実行サーバ装置300へ送信する。
なお、最後の順序の連携サービス実行サーバ装置300からのサーバ応答まで、サービス接続部208がサーバ応答を受信する度に、共通変数入出力部206は、受信したサーバ応答の各サーバ戻り値に設定されているデータ値を各サーバ戻り値に対応する共通変数に代入して共通変数代入値記憶部207に書き込み、共通変数に代入されているデータ値を共通変数代入値記憶部207から取得し、サービス接続部208が、共通変数入出力部206が取得したデータ値を、シナリオのサービス実行順序において後続の連携サービス実行サーバ装置300のサーバ用インタフェースにおいて前記共通変数に対応しているサーバ引数に設定して後続の連携サービス実行サーバ装置300のサーバ用インタフェースに従って後続の連携サービス実行サーバ装置300へのサーバ要求を生成し、後続の連携サービス実行サーバ装置300へ送信する動作を繰り返す。
なお、後続の連携サービス実行サーバ装置300とは、シナリオのサービス実行順序における次の順序の連携サービス実行サーバ装置300のみならず、次の順序以降の連携サービス実行サーバ装置300も含む。
また、シナリオ制御部210はサービス接続部208がサーバ応答を受信する度に、サービス接続部208に後続の連携サービス実行サーバ装置300を通知する。
サービス接続部208は、共通変数入出力部206が共通変数代入値記憶部207から取得したデータ値を、シナリオ制御部210により通知された後続の連携サービス実行サーバ装置300のサーバ用インタフェースのサーバ引数に設定して後続の連携サービス実行サーバ装置へのサーバ要求を生成する。
The common variable input /
Then, the
Every time the
The subsequent cooperation service
Further, the
The
そして、シナリオのサービス実行順序において最後の順序の連携サービス実行サーバ装置300からのサーバ応答が受信され、サービス応答に含まれているサーバ戻り値が共通変数代入値記憶部207に格納された後に、共通変数入出力部206は、共通変数に代入されているデータ値を共通変数代入値記憶部207から取得し、サービス公開部201は共通変数代入値記憶部207が取得したデータ値を、前記共通変数に対応しているクライアント戻り値に設定してクライアント用インタフェースに従ってクライアント応答を生成し、クライアント装置100に送信する。
Then, after the server response from the cooperative service
次に、本実施の形態に係るサービス連携サーバ装置200の動作を詳細に説明する。
各機能の動作はフローチャートを用いて説明し、各機能を組み合わせた全体の動作はシーケンス図を用いて説明する。
なお、以下では、各機能の動作については実施の形態1と異なる機能についてのみ説明する。
Next, the operation of the service
The operation of each function will be described using a flowchart, and the overall operation combining the functions will be described using a sequence diagram.
Hereinafter, only the functions different from those of the first embodiment will be described for the operation of each function.
図14はサービス公開部201における処理フローチャートである。
FIG. 14 is a process flowchart in the
サービス公開部201ではクライアント装置100からのリクエストを受信し(F1000)、リクエストで要求されたサービスが連携サービスの場合は、クライアント装置100からのリクエストに対応するシナリオをシナリオ管理部209から取得してシナリオ内のサービス一覧を得る(F1001)。
サービス一覧には、サービスの実行順序が示される。
次に、サービス公開部201は、サービス一覧を共通変数生成部202に渡して共通変数の生成を要求し、共通変数への参照を取得する(F1002)。
共通変数の参照は共通変数対応付け情報の例である。
本実施の形態では、共通変数の参照は、クライアント引数と最初の順序の連携サービス実行サーバ装置のサーバ引数と共通変数との対応付け、クライアント戻り値と最後の順序の連携サービス実行サーバ装置のサーバ戻り値と共通変数との対応付け及び各連携サービス実行サーバ装置のサーバ戻り値と後続の連携サービス実行サーバ装置のサーバ引数と共通変数との対応付けが示される。
The
The service list shows the execution order of services.
Next, the
The reference to the common variable is an example of the common variable association information.
In the present embodiment, the reference of the common variable refers to the association between the client argument and the server argument of the cooperation service execution server device in the first order and the common variable, the server return value and the server of the cooperation service execution server device in the last order. The association between the return value and the common variable and the association between the server return value of each cooperation service execution server device, the server argument of the subsequent cooperation service execution server device, and the common variable are shown.
サービス公開部201は、リクエストのクライアント引数は共通変数入出力部206を用いて共通変数に代入し(F1003)、シナリオ制御部210へ共通変数への参照とシナリオを渡してシナリオ実行を要求し(F1004)、共通変数入出力部206からシナリオの実行結果を取得し(F1005)、それをレスポンスとしてクライアント装置100へ返す(F1006)。
The
図15はシナリオ管理部209における処理フローチャートである。
FIG. 15 is a processing flowchart in the
シナリオ管理部209では、サービス公開部201からシナリオの内容取得を受け付けると(F1100)、サービス公開部201から通知されたリクエストに対応するシナリオの内容を返す(F1101)。
つまり、シナリオ管理部209は、複数のシナリオの中からサービス公開部201から通知されたリクエストで要求されている連携サービスを実現するシナリオを選択する。
When the
That is, the
図16は共通変数生成部202における処理フローチャートである。
FIG. 16 is a process flowchart in the common
共通変数生成部202では、サービス公開部201からサービス一覧とともに共通変数の生成要求を受け付けると(F1200)、型マッピング管理部204に、サービス公開部201から取得したサービス一覧に含まれる各サービスに対して共通変数化するデータ型を問い合わせる(F1201)。
次に、共通変数生成部202は、得られたマッピングのデータ型一覧から共通変数を生成し、同義なデータ型も記憶しておく(F1202)。
また、生成された共通変数の参照は呼び出し元であるサービス公開部201に返される(F1203)。
本実施の形態では、共通変数生成部202は、サービス一覧に示される各サービスに対して、データ型管理部203、型マッピング管理部204、サービスI/F管理部205を用いて、クライアント用インタフェースの各クライアント引数及び各クライアント戻り値に対して定義されているデータ型と、各連携サービス実行サーバ装置300のサーバ用インタフェースの各サーバ引数及び各サーバ戻り値に対して定義されているデータ型を解析し、データ型ごとに共通変数を生成する。
そして、共通変数生成部202は、サービス一覧に示されるサービスの実行順序に従って、共通変数の参照を生成する。
前述したように、具体的には、共通変数生成部202は、クライアント引数と最初の順序の連携サービス実行サーバ装置のサーバ引数と共通変数との対応付け、クライアント戻り値と最後の順序の連携サービス実行サーバ装置のサーバ戻り値と共通変数との対応付け及び各連携サービス実行サーバ装置のサーバ戻り値と後続の連携サービス実行サーバ装置のサーバ引数と共通変数との対応付けが示される共通変数の参照を生成する。
When the common
Next, the common
Further, the reference to the generated common variable is returned to the
In the present embodiment, the common
Then, the common
As described above, specifically, the common
図17は、シナリオ制御部210における処理フローチャートである。
FIG. 17 is a process flowchart in the
シナリオ制御部210では、サービス公開部201から対象となるシナリオとともに、シナリオ実行の要求を受け付けると(F1300)、シナリオに示されたサービスの実行順序に従い、サービス接続部208を用いてサービスを実行する(F1301)。
つまり、シナリオ制御部210はサービス接続部208がサーバ応答を受信する度に、サービス接続部208からサーバ応答を受信した旨の通知を受け、シナリオのサービス実行順序を参照し、サービス接続部208に後続の連携サービス実行サーバ装置300を通知する。
サービス接続部208では、共通変数入出力部206を介して共通変数代入値記憶部207から共通変数に代入されているサーバ戻り値の値を後続の連携サービス実行サーバ装置300のサーバ引数の値として取得し、取得したデータ値を対応するサーバ引数に設定し、後続の連携サービス実行サーバ装置300のサーバ用インタフェースに従ってリクエスト(サーバ要求)を生成し、後続の連携サービス実行サーバ装置300に送信する。
また、シナリオ制御部210は、シナリオ内に条件分岐等の指定(例えば、「サービスAの戻り値が0以上なら」等)があれば、判断のための値は共通変数入出力部206から取得し、次のサービスを実行する。
つまり、シナリオ管理部209は、特定の連携サービス実行サーバ装置300からのサーバ応答の特定のサーバ戻り値により、次のサーバ要求の送信先が2以上の連携サービス実行サーバ装置300に分岐するシナリオを選択する場合がある。
サービス接続部208により受信されたサーバ応答のサーバ戻り値により分岐が生じる場合に、シナリオ制御部210は、当該サーバ戻り値に基づき、2以上の連携サービス実行サーバ装置の中から分岐先の連携サービス実行サーバ装置を選択する。
どのサーバ戻り値に対して分岐判断を行うかは、クライアント装置100からのリクエスト又はいずれかのサービスの実行結果において特定されている。
シナリオ制御部210は、分岐判断の対象となるデータ値(サーバ戻り値)が共通変数代入値記憶部207に格納されると、共通変数入出力部206に分岐判断の対象となるデータ値(サーバ戻り値)を取得するよう指示し、共通変数入出力部206から分岐判断の対象となるデータ値(サーバ戻り値)を取得する。
そして、シナリオ制御部210は、当該サーバ戻り値を分岐判断の条件と照合し、分岐先の連携サービス実行サーバ装置を選択する。
例えば、「分岐判断の対象となるサーバ戻り値の値が0ならばサービスAへ移行し、それ以外はサービスBへ移行する」という条件がシナリオに設定されている場合、シナリオ制御部210は、対象となるデータ値が0かどうかによって分岐先の連携サービス実行サーバ装置を選択する。
シナリオ制御部210は、選択した連携サービス実行サーバ装置をサービス接続部208に通知する。
そして、サービス接続部208は、共通変数入出力部206から共通変数に代入されているデータ値を入力すると、シナリオ制御部210により選択された分岐先の連携サービス実行サーバ装置300のサーバ用インタフェースにおいて前記共通変数に対応しているサーバ引数に設定して分岐先の連携サービス実行サーバ装置300へのサーバ要求を生成する。
When the
That is, whenever the
In the
Further, the
That is, the
When a branch occurs due to the server return value of the server response received by the
Which server return value is to be subjected to branch determination is specified in the request from the
When the data value (server return value) subject to branch determination is stored in the common variable substitution
Then, the
For example, when the condition “shift to service A if the value of the server return value subject to branch determination is 0 and shift to service B otherwise” is set in the scenario, the
The
Then, when the
各機能を組み合わせた全体の動作を、クライアント装置100がサービス連携サーバ装置200上で公開されているサービス実行サーバ装置A301のサービスAとサービス実行サーバ装置B302のサービスBをシナリオで連携して利用する場合の動作で説明する。
The
図18及び図19はクライアント装置100がサービス連携サーバ装置200上で公開されているサービス実行サーバ装置A301のサービスAとサービス実行サーバ装置B302のサービスBをシナリオで連携して利用する動作を示したシーケンス図である。
これを用いてクライアント装置100がサービス実行結果を得るまでの動作を説明する。
実施の形態1と同様なシーケンスとなる部分は簡略化している。
FIG. 18 and FIG. 19 show an operation in which the
The operation until the
The part which becomes the sequence similar to
クライアント装置100がサービス公開部201で公開されているクライアント用インタフェースに従ったリクエストを送信する(S0200)。
サービス公開部201はシナリオ管理部209から該当するシナリオを取得し(S0201〜S0202)、シナリオ内のサービス一覧を共通変数生成部202に渡して共通変数を生成するように要求する(S0203)。
The
The
共通変数生成部202はシナリオ内の各サービスについて型マッピング管理部204へデータ型を問い合わせ(S0204:図11のS0102〜S0109と同様)、共通変数を生成する(S0205:図11のS0110と同様)。
共通変数生成部202は生成した共通変数への参照をサービス公開部201に返す(S0206:図11のS0111と同様)。
The common
The common
サービス公開部201は得られた共通変数への参照から共通変数入出力部206を用いてリクエスト内容を共通変数化し(S0207:図11のS0112〜S0113と同様)、シナリオ制御部210にシナリオ実行を要求する(S0208)。
The
シナリオ制御部210はシナリオに従いサービスA実行をサービス接続部208に要求する(S0209)。また、このとき、サービスAのサーバ引数及びサーバ戻り値が格納される共通変数の参照がシナリオ制御部210からサービス接続部208に渡される。
サービス接続部208は、シナリオ制御部210から取得した共通変数の参照に基づき、実行するサービスへリクエストするための値(サーバ引数の値)を共通変数入出力部206から取得し、取得した値を用いてサービス実行サーバ装置A301へリクエストを生成し、サービス実行サーバ装置A301にリクエストを送信して、サービス実行サーバ装置A301からサービスの実行結果を得て、共通変数入出力部206を用いて共通変数に結果(サーバ戻り値)を代入する(S0210:図11のS0115〜S0120と同様)。
The
Based on the reference of the common variable acquired from the
サービス接続部208が実行完了を返すと(S0211)、シナリオ制御部210は次のサービス実行に移るが、シナリオ中に分岐等があれば共通変数入出力部206を用いて判断に用いる値を得て判断する(S0212)。このシーケンスではそのまま次のサービス実行に移る。
シナリオ制御部210はサービスA実行時(S0209〜S0211)と同様に、サービスBのサーバ引数及びサーバ戻り値が格納される共通変数の参照をサービス接続部208に渡し、サービスBを実行する(S0213〜S0215)。
このとき、サービスBの実行に必要な値(サーバ引数の値)をサービスAの実行結果(サービス戻り値)から取得する必要があったとしても、サービスAの実行結果(サーバ戻り値)は共通変数化されており、サービスBへのリクエスト内容はその共通変数から取得されるため、リクエストに用いるべき値が得られることになる。
シナリオが完了するとシナリオ制御部210はサービス公開部201へ実行完了を返す(S0216)。
サービス公開部201は共通変数入出力部206を用いて実行結果(クライアント戻り値)を取得し(S0217:図11のS0122〜S0123と同様)、取得した値からクライアント装置100へのレスポンスを生成し、生成したレスポンスをクライアント装置100に返す(S0218)。
When the
As in the case of execution of service A (S0209 to S0211), the
At this time, even if it is necessary to acquire the value (server argument value) necessary for execution of service B from the execution result (service return value) of service A, the execution result (server return value) of service A is common. Since it is variable and the request content to the service B is acquired from the common variable, a value to be used for the request is obtained.
When the scenario is completed, the
The
以上のように、サービスを実行するために必要な情報(サービスI/Fと引数・戻り値の型の種類とそのマッピング)を管理し、同義なデータをまとめて一連の連携処理内で共通変数化することで、シナリオ実行のような複数サービスを連携する場合においても、内部メッセージ設計を不要とすることができる。
また、シナリオの内容は実行順序といった内容でありサービス間のI/Fを意識することが無くなるため、シナリオに変更が生じた際にもその改修コストを抑えることができる。
As described above, information necessary to execute a service (service I / F and types of argument / return value types and their mapping) is managed, and synonymous data is collected into a common variable within a series of linkage processes. As a result, even when multiple services such as scenario execution are linked, the internal message design can be made unnecessary.
Further, since the contents of the scenario are contents such as the execution order, and there is no need to be aware of the I / F between services, it is possible to reduce the cost of refurbishing when a change occurs in the scenario.
以上、本実施の形態では、サービス連携シナリオを管理する手段と、そのシナリオを制御する手段を備えたサービス連携装置を説明した。 As described above, in the present embodiment, the service cooperation apparatus including the means for managing the service cooperation scenario and the means for controlling the scenario has been described.
また、本実施の形態では、シナリオを制御する手段において、一時記憶領域の情報によって条件分岐等の制御ができる手段を備えたサービス連携装置を説明した。 Further, in the present embodiment, the service cooperation apparatus has been described that includes means for controlling a conditional branch or the like based on information in the temporary storage area in the means for controlling the scenario.
実施の形態3.
以上の実施の形態2では複数サービスを連携するような場合にサービス間を連携するようにしたものであるが、次に連携するサービス間で値の変換が必要となる場合の実施の形態を示す。
Embodiment 3 FIG.
In the second embodiment described above, when a plurality of services are linked, the services are linked. However, an embodiment in which value conversion is required between the linked services next is shown. .
図20は連携するサービス間で値の変換をする方式を示すシステム構成図である。 FIG. 20 is a system configuration diagram showing a method for converting values between linked services.
図20において、実施の形態2のシステム構成図(図13)から追加された機能は変数変換部211であり他の機能は実施の形態2と同様である。
In FIG. 20, the function added from the system configuration diagram (FIG. 13) of the second embodiment is a
変数変換部211は共通変数への入出力時にデータ型に応じて値を変換する機能である。
変数変換部211による変換は、例えば、トンで表記されている重量値を、キログラム表記に変換するというものである。
変数変換部211は、データ変換部の例である。
The
The conversion by the
The
変数変換部211は、具体的には、共通変数入出力部206から共通変数代入値記憶部207に格納するデータ値を入力し、当該データ値のデータ形式(トン表記、キログラム表記等)が、当該データ値が次に共通変数代入値記憶部207から読み出されてサービス公開部201又はサービス接続部208で用いられる際のデータ形式と一致するか否かを判断し、データ形式が一致しない場合に、当該データ値のデータ形式をサービス公開部201又はサービス接続部208で用いられる際のデータ形式に変換する。
また、変数変換部211は、共通変数入出力部206が共通変数代入値記憶部207から取得したデータ値を入力し、当該データ値のデータ形式が、当該データ値がサービス公開部201又はサービス接続部208で用いられる際のデータ形式と一致するか否かを判断し、データ形式が一致しない場合に、当該データ値のデータ形式をサービス公開部201又はサービス接続部208で用いられる際のデータ形式に変換する。
なお、変数変換部211は、共通変数への参照(クライアント装置100のリクエスト受信からクライアント装置100のレスポンス送信までの共通変数の参照)と同義型の情報を有しているため、共通変数ごとに次に引数又は戻り値として用いられる際のデータ形式を判別することができる。
Specifically, the
Further, the
Since the
なお、本実施の形態においても、サービス公開部201はクライアント通信部及びクライアント変数処理部の例であり、共通変数生成部202、データ型管理部203、型マッピング管理部204、サービスI/F管理部205は共通変数管理部の例である。
また、共通変数入出力部206はクライアント変数処理部及びサーバ変数処理部の例であり、サービス接続部208は、サーバ通信部及びサーバ変数処理部の例である。
また、シナリオ管理部209及びシナリオ制御部210は連携サービス管理部の例である。
Also in this embodiment, the
The common variable input /
Further, the
次に動作について説明する。
各機能の動作はフローチャートを用いて説明し、各機能を組み合わせた全体の動作はシーケンス図を用いて説明する。
各機能の動作については実施の形態2と異なる機能についてのみ説明する。
Next, the operation will be described.
The operation of each function will be described using a flowchart, and the overall operation combining the functions will be described using a sequence diagram.
Regarding the operation of each function, only functions different from those of the second embodiment will be described.
図21は変数変換部211における処理フローチャートである。
変数変換部211では共通変数への入出力を受け付けると(F1400)、対象の共通変数が入出力するデータ型と完全に一致するかで処理が分かれる(F1401)。
FIG. 21 is a processing flowchart in the
When the
データ型が完全一致する場合は、変数変換部211は、そのまま値を代入または取得し(F1402)、データ型が完全一致しない場合は共通変数と共に記憶されている同義型の情報から一致する型へ変換して代入または取得する(F1403)。
変数変換部211は、例えば、トンとキログラムとの間の変換では、データ値を1000倍する、1000分の1倍するという変換を行う。
If the data types match completely, the
For example, in the conversion between tons and kilograms, the
各機能を組み合わせた全体の動作を、クライアント装置100がサービス連携サーバ装置200上で公開されているサービス実行サーバ装置A301のサービスAとサービス実行サーバ装置B302のサービスBをシナリオで連携して利用する場合の動作で説明する。
ここでは実施の形態2の場合と異なり、サービスAの戻り値をサービスBに渡す場合にその型(データ形式)が完全一致しないものとする。
The
Here, unlike the case of the second embodiment, when the return value of service A is passed to service B, the type (data format) is not completely matched.
図20はクライアント装置100がサービス連携サーバ装置200上で公開されているサービス実行サーバ装置A301のサービスAとサービス実行サーバ装置B302のサービスBをシナリオで連携して利用する動作のうち、共通変数への入出力部分のみを示したシーケンス図である。
全体の動作の大部分は実施の形態2の場合(図18、図19)と同様であり、共通変数への入出力部分のみ異なるので、これを用いて共通変数への入出力部分の動作を説明する。
FIG. 20 illustrates a common variable among operations in which the
Most of the entire operation is the same as in the case of the second embodiment (FIGS. 18 and 19), and only the input / output portion to the common variable is different. explain.
まず、値の入力について説明する。
共通変数入出力部206が変数変換部211に値の代入を要求すると(S0300)、変数変換部211はその値が共通変数の型(次に読みだされた際に引数又は戻り値として用いるデータ形式)と比較して直接代入可能かチェックする(S0301)。
直接代入可能でなければ共通変数とともに記憶されている同義の型から代入可能な型へ値を変換して代入し(S0302)、共通変数入出力部206へ代入完了を返す。
First, input of values will be described.
When the common variable input /
If direct assignment is not possible, the value is converted from the synonymous type stored together with the common variable to an assignable type and assigned (S0302), and assignment completion is returned to the common variable input /
次に、値の出力について説明する。
共通変数入出力部206が変数変換部211に値の参照を要求すると(S0304)、変数変換部211は共通変数の型を参照して値が参照したい型(引数又は戻り値として用いるデータ形式)かチェックする(S0305)。
異なる型であれば共通変数とともに記憶されている同義の型から値を目的の型へ変換し(S0306)、共通変数入出力部206へ変換後の値を返す(S0307)。
Next, output of values will be described.
When the common variable input /
If the type is different, the value is converted from the synonymous type stored together with the common variable to the target type (S0306), and the converted value is returned to the common variable input / output unit 206 (S0307).
以上のように、サービスを実行するために必要な情報(サービスI/Fと引数・戻り値の型の種類とそのマッピング)を管理し、同義なデータをまとめて一連の連携処理内で共通変数化することで、シナリオ実行のような複数サービスを連携する場合において、値の変換が必要となる場合も、変数変換部を用いることで自動で変換することができ、内部メッセージ設計を不要とすることができる。
また、シナリオの内容は実行順序といった内容でありサービス間のI/Fを意識することが無くなるため、シナリオに変更が生じた際にも実施の形態2の場合と同様にその改修コストを抑えることができる。
As described above, information necessary to execute a service (service I / F and types of argument / return value types and their mapping) is managed, and synonymous data is collected into a common variable within a series of linkage processes. By integrating the multiple services such as scenario execution, even if it is necessary to convert the value, it can be automatically converted by using the variable conversion unit, eliminating the need for internal message design. be able to.
In addition, since the contents of the scenario are contents such as the execution order, and there is no need to be aware of the I / F between services, when the scenario is changed, the renovation cost is suppressed as in the case of the second embodiment. Can do.
なお、本実施の形態では、実施の形態2に示したサービス連携がある場合を例にして説明を進めたが、実施の形態1に示したサービス連携がない場合にも変数変換部211による変換を行うことができる。
つまり、クライアント引数とサーバ引数間でデータ形式が異なる場合やクライアント戻り値とサーバ戻り値でデータ形式が異なる場合に変数変換部211による変換がなされる。
In the present embodiment, the description has been made by taking as an example the case where the service cooperation shown in the second embodiment is present, but the conversion by the
That is, the conversion by the
以上、本実施の形態では、一時記憶領域に適切な型へ変換して情報を入出力できる手段を備えたサービス連携装置を説明した。 As described above, in the present embodiment, the service cooperation apparatus provided with the means capable of converting the temporary storage area into an appropriate type and inputting / outputting information has been described.
最後に、実施の形態1〜3に示したサービス連携サーバ装置200のハードウェア構成例について説明する。
図24は、実施の形態1〜3に示すサービス連携サーバ装置200のハードウェア資源の一例を示す図である。
なお、図24の構成は、あくまでもサービス連携サーバ装置200のハードウェア構成の一例を示すものであり、サービス連携サーバ装置200のハードウェア構成は図24に記載の構成に限らず、他の構成であってもよい。
Finally, a hardware configuration example of the service
FIG. 24 is a diagram illustrating an example of hardware resources of the service
Note that the configuration in FIG. 24 is merely an example of the hardware configuration of the service
図24において、サービス連携サーバ装置200は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態1〜3で説明した「共通変数代入値記憶部207」は、RAM914等により実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
In FIG. 24, the service
The
Further, the
The
The “common variable substitution
A communication board 915, a
The communication board 915, the
通信ボード915は、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されている。 The communication board 915 is connected to the network. For example, the communication board 915 is connected to a LAN (local area network), the Internet, a WAN (wide area network), a SAN (storage area network), and the like.
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
The
The programs in the
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
The
The
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
サービス連携サーバ装置200の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
The
When the service
上記プログラム群923には、実施の形態1〜3の説明において「〜部」(「共通変数代入値記憶部207」以外、以下同様)、「〜手段」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
In the
ファイル群924には、実施の形態1〜3の説明において、「〜の判断」、「〜の判定」、「〜の比較」、「〜の代入」、「〜の取得」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜3で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
In the description of the first to third embodiments, the
The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. Information, data, 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
Information, data, signal values, variable values, and parameters are stored in the main memory, registers, cache memory, and buffers during the CPU operations of extraction, search, reference, comparison, calculation, processing, editing, output, printing, and display. It is temporarily stored in a memory or the like.
In addition, arrows in the flowcharts described in the first to third embodiments mainly indicate input / output of data and signals, and the data and signal values are the memory of the
また、実施の形態1〜3の説明において「〜部」、「〜手段」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態1〜3で説明したフローチャートに示すステップ、手順、処理により、本発明に係るデータ処理方法を実現することができる。
また、「〜部」、「〜手段」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1〜3の「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、実施の形態1〜3の「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
Further, in the description of the first to third embodiments, what is described as “to part” and “to means” may be “to circuit”, “to device”, and “to device”. It may be “˜step”, “˜procedure”, “˜processing”.
That is, the data processing method according to the present invention can be realized by the steps, procedures, and processes shown in the flowcharts described in the first to third embodiments.
In addition, what is described as “˜unit” and “˜means” may be realized by firmware stored in the
このように、実施の形態1〜3に示すサービス連携サーバ装置200は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
As described above, the service
100 クライアント装置、200 サービス連携サーバ装置、201 サービス公開部、202 共通変数生成部、203 データ型管理部、204 型マッピング管理部、205 サービスI/F管理部、206 共通変数入出力部、207 共通変数代入値記憶部、208 サービス接続部、209 シナリオ管理部、210 シナリオ制御部、211 変数変換部、300 サービス実行サーバ装置、301 サービス実行サーバ装置A、302 サービス実行サーバ装置B。 100 client device, 200 service cooperation server device, 201 service disclosure unit, 202 common variable generation unit, 203 data type management unit, 204 type mapping management unit, 205 service I / F management unit, 206 common variable input / output unit, 207 common Variable substitution value storage unit, 208 service connection unit, 209 scenario management unit, 210 scenario control unit, 211 variable conversion unit, 300 service execution server device, 301 service execution server device A, 302 service execution server device B.
Claims (14)
1つ以上の引数と1つ以上の戻り値がクライアント引数及びクライアント戻り値として指定され、クライアント引数ごとにクライアント引数のデータ種別が定義され、クライアント戻り値ごとにクライアント戻り値のデータ種別が定義されているクライアント用インタフェースに従って生成され各クライアント引数に特定のデータ値が設定されているクライアント要求を前記クライアント装置から受信し、前記クライアント用インタフェースに従って生成され各クライアント戻り値に特定のデータ値が設定されているクライアント応答を前記クライアント装置に送信するクライント通信部と、
1つ以上の引数と1つ以上の戻り値がサーバ引数及びサーバ戻り値として指定され、サーバ引数ごとにサーバ引数のデータ種別が定義され、サーバ戻り値ごとにサーバ戻り値のデータ種別が定義されているサーバ用インタフェースに従って生成され各サーバ引数に特定のデータ値が設定されているサーバ要求を前記サービス実行サーバ装置に送信し、前記サーバ用インタフェースに従って生成され各サーバ戻り値に特定のデータ値が設定されているサーバ応答を前記サービス実行サーバ装置から受信するサーバ通信部と、
前記クライアント用インタフェースの各クライアント引数及び各クライアント戻り値に対して定義されているデータ種別と前記サーバ用インタフェースの各サーバ引数及び各サーバ戻り値に対して定義されているデータ種別を解析し、データ種別ごとに、共通するデータ種別に対して共通に用いられる共通変数を生成する共通変数管理部と、
各共通変数に代入されたデータ値を記憶する共通変数代入値記憶部と、
前記クライアント要求の各クライアント引数のデータ値を各クライアント引数に対応する共通変数に代入して前記共通変数代入値記憶部に書き込み、前記サーバ通信部により前記サーバ応答が受信された後に、共通変数に代入されているデータ値を前記共通変数代入値記憶部から取得し、取得したデータ値を、前記共通変数に対応しているクライアント戻り値に設定して前記クライアント用インタフェースに従ってクライアント応答を生成するクライアント変数処理部と、
前記クライアント変数処理部により共通変数に代入されたデータ値を前記共通変数代入値記憶部から取得し、取得したデータ値を、前記共通変数に対応しているサーバ引数に設定して前記サーバ用インタフェースに従ってサーバ要求を生成し、前記サーバ応答の各サーバ戻り値のデータ値を各サーバ戻り値に対応する共通変数に代入して前記共通変数代入値記憶部に書き込むサーバ変数処理部とを有することを特徴とするデータ処理装置。 A data processing apparatus connected to a client apparatus that requests provision of a service and a service execution server apparatus that executes a service requested by the client apparatus;
One or more arguments and one or more return values are specified as client arguments and client return values, and the client argument data type is defined for each client argument, and the client return value data type is defined for each client return value A client request generated according to the client interface and having a specific data value set in each client argument is received from the client device, and a specific data value is set in each client return value generated according to the client interface. A client communication unit that transmits a client response to the client device;
One or more arguments and one or more return values are specified as server arguments and server return values, the server argument data type is defined for each server argument, and the server return value data type is defined for each server return value A server request generated according to the server interface and having a specific data value set in each server argument is transmitted to the service execution server device, and a specific data value is generated in each server return value generated according to the server interface. A server communication unit that receives a set server response from the service execution server device; and
Analyzing the data type defined for each client argument and each client return value of the client interface and the data type defined for each server argument and each server return value of the server interface, For each type, a common variable management unit that generates a common variable used in common for common data types,
A common variable substitution value storage unit for storing a data value assigned to each common variable;
Substitute the data value of each client argument of the client request into a common variable corresponding to each client argument and write it to the common variable substitution value storage unit. After the server response is received by the server communication unit, A client that acquires a substituted data value from the common variable substitution value storage unit, sets the acquired data value to a client return value corresponding to the common variable, and generates a client response according to the client interface A variable processing unit;
The server variable interface acquires the data value assigned to the common variable by the client variable processing unit from the common variable assigned value storage unit, sets the acquired data value to a server argument corresponding to the common variable, and the server interface A server variable processing unit that generates a server request according to the server response, assigns a data value of each server return value of the server response to a common variable corresponding to each server return value, and writes the same to the common variable substitution value storage unit Characteristic data processing device.
クライアント引数とサーバ引数と共通変数との対応付け及びクライアント戻り値とサーバ戻り値と共通変数との対応付けが示される共通変数対応付け情報を生成し、
前記クライアント変数処理部は、
前記共通変数対応付け情報に示されるクライアント引数と共通変数との対応付けに基づき、前記クライアント要求の各クライアント引数のデータ値を対応する共通変数に代入し、
共通変数に代入されているデータ値を前記共通変数代入値記憶部から取得し、取得したデータ値を、前記共通変数対応付け情報に示されるクライアント戻り値と共通変数との対応付けに基づき、対応しているクライアント戻り値に設定し、
前記サーバ変数処理部は、
共通変数に代入されているデータ値を前記共通変数代入値記憶部から取得し、取得したデータ値を、前記共通変数対応付け情報に示されるサーバ引数と共通変数との対応付けに基づき、対応するサーバ引数に設定し、
前記共通変数対応付け情報に示されるサーバ戻り値と共通変数との対応付けに基づき、前記サーバ応答の各サーバ戻り値のデータ値を対応する共通変数に代入することを特徴とする請求項1に記載のデータ処理装置。 The common variable management unit
Generating common variable mapping information indicating the mapping between the client argument, the server argument, and the common variable, and the mapping between the client return value, the server return value, and the common variable;
The client variable processing unit
Substituting the data value of each client argument of the client request into the corresponding common variable based on the association between the client argument and the common variable indicated in the common variable association information,
The data value assigned to the common variable is acquired from the common variable assigned value storage unit, and the acquired data value is handled based on the correspondence between the client return value and the common variable indicated in the common variable association information. Set to the client return value
The server variable processing unit
The data value assigned to the common variable is acquired from the common variable assignment value storage unit, and the acquired data value is associated based on the association between the server argument and the common variable indicated in the common variable association information. Set in the server argument,
2. The data value of each server return value of the server response is assigned to the corresponding common variable based on the association between the server return value and the common variable indicated in the common variable association information. The data processing apparatus described.
前記クライアント用インタフェースの各クライアント引数及び各クライアント戻り値に対して定義されているデータ種別と前記サーバ用インタフェースの各サーバ引数及び各サーバ戻り値に対して定義されているデータ種別を解析し、相互に異なるデータ種別であるが相互に置換可能な関係にある2以上の置換可能データ種別が含まれている場合に、置換可能データ種別に対して同じ共通変数を生成し、
置換可能データ種別に対して生成した共通変数に対してクライアント引数とサーバ引数との対応付け及びクライアント戻り値とサーバ戻り値との対応付けが示される共通変数対応付け情報を生成することを特徴とする請求項2に記載のデータ処理装置。 The common variable management unit
Analyzing the data types defined for each client argument and each client return value of the client interface and the data types defined for each server argument and each server return value of the server interface, If two or more replaceable data types that have different data types but are mutually replaceable are included, generate the same common variable for the replaceable data types,
Generating common variable association information indicating a correspondence between a client argument and a server argument and a correspondence between a client return value and a server return value for the common variable generated for the replaceable data type The data processing apparatus according to claim 2.
前記クライアント変数処理部又は前記サーバ変数処理部から、前記共通変数代入値記憶部に格納するデータ値を入力し、
当該データ値のデータ形式が、当該データ値が次に前記共通変数代入値記憶部から読み出されて前記クライアント変数処理部又は前記サーバ変数処理部で用いられる際のデータ形式と一致するか否かを判断し、
データ形式が一致しない場合に、前記データ値のデータ形式を前記クライアント変数処理部又は前記サーバ変数処理部で用いられる際のデータ形式に変換するデータ変換部を有することを特徴とする請求項1〜3のいずれかに記載のデータ処理装置。 The data processing device further includes:
From the client variable processing unit or the server variable processing unit, input a data value to be stored in the common variable substitution value storage unit,
Whether or not the data format of the data value matches the data format when the data value is next read from the common variable substitution value storage unit and used in the client variable processing unit or the server variable processing unit Judging
The data conversion unit for converting the data format of the data value into a data format used in the client variable processing unit or the server variable processing unit when the data formats do not match. 4. The data processing device according to any one of 3.
前記クライアント変数処理部又は前記サーバ変数処理部から、前記クライアント変数処理部又は前記サーバ変数処理部が前記共通変数代入値記憶部から取得したデータ値を入力し、
当該データ値のデータ形式が、当該データ値が前記クライアント変数処理部又は前記サーバ変数処理部で用いられる際のデータ形式と一致するか否かを判断し、
データ形式が一致しない場合に、前記データ値のデータ形式を前記クライアント変数処理部又は前記サーバ変数処理部で用いられる際のデータ形式に変換するデータ変換部を有することを特徴とする請求項1〜4のいずれかに記載のデータ処理装置。 The data processing device further includes:
From the client variable processing unit or the server variable processing unit, the client variable processing unit or the server variable processing unit inputs a data value acquired from the common variable substitution value storage unit,
Determining whether the data format of the data value matches the data format used when the data value is used in the client variable processing unit or the server variable processing unit;
The data conversion unit for converting the data format of the data value into a data format used in the client variable processing unit or the server variable processing unit when the data formats do not match. 5. The data processing device according to any one of 4.
それぞれに固有のサーバ用インタフェースが設けられている複数のサービス実行サーバ装置に接続され、
前記データ処理装置は、更に、
クライアント要求を解析し、前記クライアント要求において要求されているサービスが2以上のサービス実行サーバ装置の連携により実現される連携サービスである場合に、前記連携サービスを実現する2以上の連携サービス実行サーバ装置におけるサービス実行順序が示されるサービス実行シナリオを選択する連携サービス管理部を有し、
前記共通変数管理部は、
前記クライアント用インタフェースの各クライアント引数及び各クライアント戻り値に対して定義されているデータ種別と、各連携サービス実行サーバ装置のサーバ用インタフェースの各サーバ引数及び各サーバ戻り値に対して定義されているデータ種別を解析し、データ種別ごとに共通変数を生成し、
前記クライアント変数処理部は、
前記サービス実行シナリオのサービス実行順序において最後の順序の連携サービス実行サーバ装置からのサーバ応答が受信された後に、共通変数に代入されているデータ値を前記共通変数代入値記憶部から取得し、取得したデータ値を、前記共通変数に対応しているクライアント戻り値に設定して前記クライアント用インタフェースに従ってクライアント応答を生成し、
前記サーバ変数処理部は、
前記クライアント変数処理部により共通変数に代入されたデータ値を前記共通変数代入値記憶部から取得し、取得したデータ値を、前記サービス実行順序において最初の順序の連携サービス実行サーバ装置のサーバ用インタフェースにおいて前記共通変数に対応しているサーバ引数に設定して最初の順序の連携サービス実行サーバ装置のサーバ用インタフェースに従って最初の順序の連携サービス実行サーバ装置へのサーバ要求を生成し、
最後の順序の連携サービス実行サーバ装置からのサーバ応答まで、前記サーバ通信部がサーバ応答を受信する度に、受信したサーバ応答の各サーバ戻り値のデータ値を各サーバ戻り値に対応する共通変数に代入して前記共通変数代入値記憶部に書き込み、共通変数に代入されているデータ値を前記共通変数代入値記憶部から取得し、取得したデータ値を、前記サービス実行順序において後続の連携サービス実行サーバ装置のサーバ用インタフェースにおいて前記共通変数に対応しているサーバ引数に設定して後続の連携サービス実行サーバ装置のサーバ用インタフェースに従って後続の連携サービス実行サーバ装置へのサーバ要求を生成することを特徴とする請求項1〜5のいずれかに記載のデータ処理装置。 The data processing device includes:
Connected to a plurality of service execution server devices each having its own server interface,
The data processing device further includes:
Two or more cooperative service execution server devices that analyze the client request and realize the cooperative service when the service requested in the client request is a cooperative service realized by cooperation of two or more service execution server devices A service management unit for selecting a service execution scenario indicating the service execution order in
The common variable management unit
Data types defined for each client argument and each client return value of the client interface, and for each server argument and each server return value of the server interface of each cooperative service execution server device Analyze the data type, generate a common variable for each data type,
The client variable processing unit
After the server response from the cooperative service execution server device in the last order in the service execution order of the service execution scenario is received, the data value assigned to the common variable is obtained from the common variable assignment value storage unit and obtained. Set the data value to the client return value corresponding to the common variable and generate a client response according to the client interface,
The server variable processing unit
The server value of the cooperative service execution server device in the first order in the service execution order is acquired from the common variable assignment value storage unit data value assigned to the common variable by the client variable processing unit A server request corresponding to the first order linkage service execution server device according to the server interface of the first order linkage service execution server device is set in the server argument corresponding to the common variable in
Every time the server communication unit receives a server response until the server response from the linked service execution server device in the last order, the data value of each server return value of the received server response is a common variable corresponding to each server return value. Is assigned to the common variable substitution value storage unit, the data value assigned to the common variable is acquired from the common variable substitution value storage unit, and the acquired data value is the subsequent cooperative service in the service execution order. Generating a server request to the subsequent cooperative service execution server device according to the server interface of the subsequent cooperative service execution server device by setting the server argument corresponding to the common variable in the server interface of the execution server device; The data processing device according to claim 1, wherein the data processing device is a data processing device.
前記サーバ通信部がサーバ応答を受信する度に、前記サーバ変数処理部に、前記サービス実行順序において後続の連携サービス実行サーバ装置を通知し、
前記サーバ変数処理部は、
前記共通変数代入値記憶部から取得したデータ値を、前記連携サービス管理部により通知された後続の連携サービス実行サーバ装置のサーバ用インタフェースのサーバ引数に設定して後続の連携サービス実行サーバ装置へのサーバ要求を生成することを特徴とする請求項6に記載のデータ処理装置。 The cooperative service management unit
Each time the server communication unit receives a server response, the server variable processing unit is notified of a subsequent cooperative service execution server device in the service execution order,
The server variable processing unit
The data value acquired from the common variable substitution value storage unit is set in the server argument of the server interface of the subsequent cooperative service execution server device notified by the cooperative service management unit, and sent to the subsequent cooperative service execution server device. The data processing apparatus according to claim 6, wherein a server request is generated.
クライアント引数と最初の順序の連携サービス実行サーバ装置のサーバ引数と共通変数との対応付け、クライアント戻り値と最後の順序の連携サービス実行サーバ装置のサーバ戻り値と共通変数との対応付け及び各連携サービス実行サーバ装置のサーバ戻り値と後続の連携サービス実行サーバ装置のサーバ引数と共通変数との対応付けが示される共通変数対応付け情報を生成し、
前記クライアント変数処理部は、
前記共通変数対応付け情報に示されるクライアント引数と共通変数との対応付けに基づき、前記クライアント要求の各クライアント引数のデータ値を対応する共通変数に代入し、
共通変数に代入されているデータ値を前記共通変数代入値記憶部から取得し、取得したデータ値を、前記共通変数対応付け情報に示されるクライアント戻り値と共通変数との対応付けに基づき、対応しているクライアント戻り値に設定し、
前記サーバ変数処理部は、
前記クライアント変数処理部により共通変数に代入されたデータ値を前記共通変数代入値記憶部から取得し、取得したデータ値を、前記共通変数対応付け情報に示される最初の順序の連携サービス実行サーバ装置のサーバ引数と共通変数との対応付けに基づき、最初の順序の連携サービス実行サーバ装置のサーバ用インタフェースにおいて対応しているサーバ引数に設定し、
前記サーバ通信部がサーバ応答を受信する度に、
前記共通変数対応付け情報に示される前記サーバ応答の送信元の連携サービス実行サーバ装置のサーバ戻り値と共通変数との対応付けに基づき、前記サーバ応答の各サーバ戻り値のデータ値を対応する共通変数に代入し、
共通変数に代入されているデータ値を前記共通変数代入値記憶部から取得し、取得したデータ値を、前記共通変数対応付け情報に示される後続の連携サービス実行サーバ装置のサーバ引数と共通変数との対応付けに基づき、後続の連携サービス実行サーバ装置のサーバ用インタフェースにおいて対応しているサーバ引数に設定することを特徴とする請求項6又は7に記載のデータ処理装置。 The common variable management unit
Correspondence between client arguments and server arguments and common variables of first-order linkage service execution server device, association of client return values and server return values and common variables of last-order linkage service execution server device, and each linkage Generate common variable association information indicating the association between the server return value of the service execution server device, the server argument of the subsequent linked service execution server device, and the common variable;
The client variable processing unit
Substituting the data value of each client argument of the client request into the corresponding common variable based on the association between the client argument and the common variable indicated in the common variable association information,
The data value assigned to the common variable is acquired from the common variable assigned value storage unit, and the acquired data value is handled based on the correspondence between the client return value and the common variable indicated in the common variable association information. Set to the client return value
The server variable processing unit
The data value assigned to the common variable by the client variable processing unit is acquired from the common variable assigned value storage unit, and the acquired data value is the first linked service execution server device indicated in the common variable association information. Based on the association between the server argument and the common variable, set the server argument that is supported in the server interface of the linked service execution server device in the first order,
Each time the server communication unit receives a server response,
Based on the association between the server return value of the cooperative service execution server device that is the transmission source of the server response indicated in the common variable association information and the common variable, the common data value corresponding to each server return value of the server response Assign to a variable,
A data value assigned to a common variable is acquired from the common variable assignment value storage unit, and the acquired data value is set to a server argument and a common variable of a subsequent cooperative service execution server device indicated in the common variable association information, 8. The data processing apparatus according to claim 6, wherein the server argument corresponding to the server interface of the subsequent cooperative service execution server apparatus is set based on the association.
前記クライアント用インタフェースの各クライアント引数及び各クライアント戻り値に対して定義されているデータ種別と各連携サービス実行サーバ装置のサーバ用インタフェースの各サーバ引数及び各サーバ戻り値に対して定義されているデータ種別を解析し、相互に異なるデータ種別であるが相互に置換可能な関係にある2以上の置換可能データ種別が含まれている場合に、置換可能データ種別に対して同じ共通変数を生成し、
置換可能データ種別に対して生成した共通変数に対してクライアント引数とサーバ引数との対応付け、クライアント戻り値とサーバ戻り値との対応付け及びサーバ戻り値とサーバ引数との対応付けが示される共通変数対応付け情報を生成することを特徴とする請求項8に記載のデータ処理装置。 The common variable management unit
Data types defined for each client argument and each client return value of the client interface and data defined for each server argument and each server return value of the server interface of each cooperative service execution server device Analyzing the type, if two or more replaceable data types are included that are different from each other but replaceable, generate the same common variable for the replaceable data type,
Common that shows the correspondence between client arguments and server arguments, the correspondence between client return values and server return values, and the correspondence between server return values and server arguments for common variables generated for replaceable data types The data processing apparatus according to claim 8, wherein variable association information is generated.
前記クライアント変数処理部又は前記サーバ変数処理部から、前記共通変数代入値記憶部に格納するデータ値を入力し、
当該データ値のデータ形式が、当該データ値が次に前記共通変数代入値記憶部から読み出されて前記クライアント変数処理部又は前記サーバ変数処理部で用いられる際のデータ形式と一致するか否かを判断し、
データ形式が一致しない場合に、前記データ値のデータ形式を前記クライアント変数処理部又は前記サーバ変数処理部で用いられる際のデータ形式に変換するデータ変換部を有することを特徴とする請求項6〜9のいずれかに記載のデータ処理装置。 The data processing device further includes:
From the client variable processing unit or the server variable processing unit, input a data value to be stored in the common variable substitution value storage unit,
Whether or not the data format of the data value matches the data format when the data value is next read from the common variable substitution value storage unit and used in the client variable processing unit or the server variable processing unit Judging
7. A data conversion unit for converting the data format of the data value into a data format used by the client variable processing unit or the server variable processing unit when the data formats do not match. The data processing device according to any one of 9.
前記クライアント変数処理部又は前記サーバ変数処理部から、前記クライアント変数処理部又は前記サーバ変数処理部が前記共通変数代入値記憶部から取得したデータ値を入力し、
当該データ値のデータ形式が、当該データ値が前記クライアント変数処理部又は前記サーバ変数処理部で用いられる際のデータ形式と一致するか否かを判断し、
データ形式が一致しない場合に、前記データ値のデータ形式を前記クライアント変数処理部又は前記サーバ変数処理部で用いられる際のデータ形式に変換するデータ変換部を有することを特徴とする請求項6〜10のいずれかに記載のデータ処理装置。 The data processing device further includes:
From the client variable processing unit or the server variable processing unit, the client variable processing unit or the server variable processing unit inputs a data value acquired from the common variable substitution value storage unit,
Determining whether the data format of the data value matches the data format used when the data value is used in the client variable processing unit or the server variable processing unit;
7. A data conversion unit for converting the data format of the data value into a data format used by the client variable processing unit or the server variable processing unit when the data formats do not match. The data processing apparatus according to any one of 10.
特定の連携サービス実行サーバ装置からのサーバ応答の特定のサーバ戻り値のデータ値により、次のサーバ要求の送信先が2以上の連携サービス実行サーバ装置に分岐するサービス実行シナリオを選択する場合があり、
前記サーバ通信部により受信されたサーバ応答のサーバ戻り値のデータ値が前記サービス実行シナリオにおいてサーバ要求の送信先の分岐が生じるデータ値である場合に、当該データ値に基づき、2以上の連携サービス実行サーバ装置の中から分岐先の連携サービス実行サーバ装置を選択し、
前記サーバ変数処理部は、
共通変数に代入されているデータ値を前記共通変数代入値記憶部から取得し、取得したデータ値を、前記連携サービス管理部により選択された分岐先の連携サービス実行サーバ装置のサーバ用インタフェースにおいて前記共通変数に対応しているサーバ引数に設定して分岐先の連携サービス実行サーバ装置へのサーバ要求を生成することを特徴とする請求項6〜11のいずれかに記載のデータ処理装置。 The cooperative service management unit
Depending on the data value of the specific server return value of the server response from the specific cooperative service execution server device, there may be a case where a service execution scenario is selected in which the destination of the next server request branches to two or more cooperative service execution server devices. ,
When the data value of the server return value of the server response received by the server communication unit is a data value that causes a branch of the transmission destination of the server request in the service execution scenario, two or more linked services based on the data value Select the branch destination linked service execution server device from the execution server devices,
The server variable processing unit
The data value assigned to the common variable is acquired from the common variable assignment value storage unit, and the acquired data value is determined in the server interface of the branch destination cooperative service execution server device selected by the cooperative service management unit. 12. The data processing apparatus according to claim 6, wherein a server request is generated for the branch destination cooperative service execution server apparatus by setting the server argument corresponding to the common variable.
1つ以上の引数と1つ以上の戻り値がクライアント引数及びクライアント戻り値として指定され、クライアント引数ごとにクライアント引数のデータ種別が定義され、クライアント戻り値ごとにクライアント戻り値のデータ種別が定義されているクライアント用インタフェースに従って生成され各クライアント引数に特定のデータ値が設定されているクライアント要求を前記コンピュータが前記クライアント装置から受信し、前記クライアント用インタフェースに従って生成され各クライアント戻り値に特定のデータ値が設定されているクライアント応答を前記コンピュータが前記クライアント装置に送信するクライント通信ステップと、
1つ以上の引数と1つ以上の戻り値がサーバ引数及びサーバ戻り値として指定され、サーバ引数ごとにサーバ引数のデータ種別が定義され、サーバ戻り値ごとにサーバ戻り値のデータ種別が定義されているサーバ用インタフェースに従って生成され各サーバ引数に特定のデータ値が設定されているサーバ要求を前記コンピュータが前記サービス実行サーバ装置に送信し、前記サーバ用インタフェースに従って生成され各サーバ戻り値に特定のデータ値が設定されているサーバ応答を前記コンピュータが前記サービス実行サーバ装置から受信するサーバ通信ステップと、
前記コンピュータが、前記クライアント用インタフェースの各クライアント引数及び各クライアント戻り値に対して定義されているデータ種別と前記サーバ用インタフェースの各サーバ引数及び各サーバ戻り値に対して定義されているデータ種別を解析し、データ種別ごとに、共通するデータ種別に対して共通に用いられる共通変数を生成する共通変数管理ステップと、
前記コンピュータが、各共通変数に代入されたデータ値を所定の共通変数代入値記憶領域に記憶する共通変数代入値記憶ステップと、
前記コンピュータが、前記クライアント要求の各クライアント引数のデータ値を各クライアント引数に対応する共通変数に代入して前記共通変数代入値記憶領域に書き込み、前記サーバ通信ステップにより前記サーバ応答が受信された後に、共通変数に代入されているデータ値を前記共通変数代入値記憶領域から取得し、取得したデータ値を、前記共通変数に対応しているクライアント戻り値に設定して前記クライアント用インタフェースに従ってクライアント応答を生成するクライアント変数処理ステップと、
前記コンピュータが、前記クライアント変数処理ステップにより共通変数に代入されたデータ値を前記共通変数代入値記憶領域から取得し、取得したデータ値を、前記共通変数に対応しているサーバ引数に設定して前記サーバ用インタフェースに従ってサーバ要求を生成し、前記サーバ応答の各サーバ戻り値のデータ値を各サーバ戻り値に対応する共通変数に代入して前記共通変数代入値記憶領域に書き込むサーバ変数処理ステップとを有することを特徴とするデータ処理方法。 A data processing method performed by a client device that requests service provision and a computer connected to a service execution server device that executes a service requested by the client device,
One or more arguments and one or more return values are specified as client arguments and client return values, and the client argument data type is defined for each client argument, and the client return value data type is defined for each client return value The client receives from the client device a client request that is generated according to the client interface and has a specific data value set in each client argument, and is generated according to the client interface and is specific to each client return value A client communication step in which the computer transmits a client response to the client device;
One or more arguments and one or more return values are specified as server arguments and server return values, the server argument data type is defined for each server argument, and the server return value data type is defined for each server return value The server sends a server request generated in accordance with the server interface and a specific data value set in each server argument to the service execution server device, and is generated in accordance with the server interface and specified in each server return value. A server communication step in which the computer receives a server response in which a data value is set from the service execution server device; and
The computer defines a data type defined for each client argument and each client return value of the client interface and a data type defined for each server argument and each server return value of the server interface. A common variable management step for analyzing and generating, for each data type, a common variable used in common for the common data type;
The computer stores a common variable substitution value storage step for storing a data value assigned to each common variable in a predetermined common variable substitution value storage area;
After the computer substitutes the data value of each client argument of the client request into a common variable corresponding to each client argument and writes it to the common variable substitution value storage area, and after the server response is received by the server communication step The data value assigned to the common variable is acquired from the common variable assigned value storage area, the acquired data value is set to the client return value corresponding to the common variable, and the client response is performed according to the client interface. Client variable processing step to generate
The computer acquires the data value assigned to the common variable by the client variable processing step from the common variable assignment value storage area, and sets the acquired data value as a server argument corresponding to the common variable. A server variable processing step of generating a server request in accordance with the server interface, assigning a data value of each server return value of the server response to a common variable corresponding to each server return value, and writing the same into the common variable assignment value storage area; A data processing method characterized by comprising:
1つ以上の引数と1つ以上の戻り値がクライアント引数及びクライアント戻り値として指定され、クライアント引数ごとにクライアント引数のデータ種別が定義され、クライアント戻り値ごとにクライアント戻り値のデータ種別が定義されているクライアント用インタフェースに従って生成され各クライアント引数に特定のデータ値が設定されているクライアント要求を前記クライアント装置から受信し、前記クライアント用インタフェースに従って生成され各クライアント戻り値に特定のデータ値が設定されているクライアント応答を前記クライアント装置に送信するクライント通信ステップと、
1つ以上の引数と1つ以上の戻り値がサーバ引数及びサーバ戻り値として指定され、サーバ引数ごとにサーバ引数のデータ種別が定義され、サーバ戻り値ごとにサーバ戻り値のデータ種別が定義されているサーバ用インタフェースに従って生成され各サーバ引数に特定のデータ値が設定されているサーバ要求を前記サービス実行サーバ装置に送信し、前記サーバ用インタフェースに従って生成され各サーバ戻り値に特定のデータ値が設定されているサーバ応答を前記サービス実行サーバ装置から受信するサーバ通信ステップと、
前記クライアント用インタフェースの各クライアント引数及び各クライアント戻り値に対して定義されているデータ種別と前記サーバ用インタフェースの各サーバ引数及び各サーバ戻り値に対して定義されているデータ種別を解析し、データ種別ごとに、共通するデータ種別に対して共通に用いられる共通変数を生成する共通変数管理ステップと、
各共通変数に代入されたデータ値を所定の共通変数代入値記憶領域に記憶する共通変数代入値記憶ステップと、
前記クライアント要求の各クライアント引数のデータ値を各クライアント引数に対応する共通変数に代入して前記共通変数代入値記憶領域に書き込み、前記サーバ通信ステップにより前記サーバ応答が受信された後に、共通変数に代入されているデータ値を前記共通変数代入値記憶領域から取得し、取得したデータ値を、前記共通変数に対応しているクライアント戻り値に設定して前記クライアント用インタフェースに従ってクライアント応答を生成するクライアント変数処理ステップと、
前記クライアント変数処理ステップにより共通変数に代入されたデータ値を前記共通変数代入値記憶領域から取得し、取得したデータ値を、前記共通変数に対応しているサーバ引数に設定して前記サーバ用インタフェースに従ってサーバ要求を生成し、前記サーバ応答の各サーバ戻り値のデータ値を各サーバ戻り値に対応する共通変数に代入して前記共通変数代入値記憶領域に書き込むサーバ変数処理ステップとを実行させることを特徴とするプログラム。 A client device that requests provision of a service, and a computer connected to a service execution server device that executes a service requested by the client device;
One or more arguments and one or more return values are specified as client arguments and client return values, and the client argument data type is defined for each client argument, and the client return value data type is defined for each client return value A client request generated according to the client interface and having a specific data value set in each client argument is received from the client device, and a specific data value is set in each client return value generated according to the client interface. A client communication step of transmitting a client response to the client device;
One or more arguments and one or more return values are specified as server arguments and server return values, the server argument data type is defined for each server argument, and the server return value data type is defined for each server return value A server request generated according to the server interface and having a specific data value set in each server argument is transmitted to the service execution server device, and a specific data value is generated in each server return value generated according to the server interface. A server communication step of receiving a set server response from the service execution server device;
Analyzing the data type defined for each client argument and each client return value of the client interface and the data type defined for each server argument and each server return value of the server interface, For each type, a common variable management step for generating a common variable used in common for common data types,
A common variable substitution value storage step for storing a data value assigned to each common variable in a predetermined common variable substitution value storage area;
Substitute the data value of each client argument of the client request into a common variable corresponding to each client argument and write it to the common variable substitution value storage area. After the server response is received by the server communication step, A client that acquires a substituted data value from the common variable substitution value storage area, sets the acquired data value to a client return value corresponding to the common variable, and generates a client response according to the client interface Variable processing steps;
The server variable interface acquires the data value assigned to the common variable by the client variable processing step from the common variable assignment value storage area, sets the acquired data value as a server argument corresponding to the common variable, and the server interface And generating a server request according to the server response, substituting the data value of each server return value of the server response into a common variable corresponding to each server return value, and writing to the common variable substitution value storage area. A program characterized by
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010120301A JP5404528B2 (en) | 2010-05-26 | 2010-05-26 | Data processing apparatus, data processing method, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010120301A JP5404528B2 (en) | 2010-05-26 | 2010-05-26 | Data processing apparatus, data processing method, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2011248574A JP2011248574A (en) | 2011-12-08 |
| JP5404528B2 true JP5404528B2 (en) | 2014-02-05 |
Family
ID=45413762
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010120301A Expired - Fee Related JP5404528B2 (en) | 2010-05-26 | 2010-05-26 | Data processing apparatus, data processing method, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5404528B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014241072A (en) * | 2013-06-12 | 2014-12-25 | 日本電気通信システム株式会社 | Instruction generation device, instruction generation method, and instruction generation program |
| KR102150545B1 (en) * | 2013-10-07 | 2020-10-26 | 에스케이플래닛 주식회사 | Apparatus, method and computer-readable medium for development web application |
| JP6904476B2 (en) * | 2018-02-20 | 2021-07-14 | 日本電信電話株式会社 | API linkage execution device, API linkage execution method and program |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3424597B2 (en) * | 1999-04-28 | 2003-07-07 | 日本電気株式会社 | Argument and return value transfer method and device between different models |
| JP2004030224A (en) * | 2002-06-26 | 2004-01-29 | Sony Corp | Processor, method for retracting register and method for designating register |
| JP2005174120A (en) * | 2003-12-12 | 2005-06-30 | Toshiba Corp | Web service connection processing method and system, and program |
| JP4705758B2 (en) * | 2004-02-12 | 2011-06-22 | 横河電機株式会社 | Service linkage system |
| JP4808558B2 (en) * | 2006-07-12 | 2011-11-02 | 日本電信電話株式会社 | Cooperation scenario creation support system, method and program thereof |
| JP2008160198A (en) * | 2006-12-20 | 2008-07-10 | Nippon Telegr & Teleph Corp <Ntt> | Service selection control method and system |
| JP5188284B2 (en) * | 2008-06-17 | 2013-04-24 | 三菱電機株式会社 | Service connection system and service connection method |
-
2010
- 2010-05-26 JP JP2010120301A patent/JP5404528B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2011248574A (en) | 2011-12-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Alpdemir et al. | Service-based distributed querying on the grid | |
| CN104520834B (en) | Systems and methods for end-to-end exposure of exported representations of native data types to third-party applications | |
| US8375377B2 (en) | Controlling java virtual machine component behavior on a per-classloader basis | |
| US6848079B2 (en) | Document conversion using an intermediate computer which retrieves and stores position information on document data | |
| US8140582B2 (en) | Service oriented architecture aggregation | |
| US9766869B2 (en) | Parameterized installation packages | |
| US20080091729A1 (en) | Associating a set of related web services having different input data structures with a common identification name | |
| US20080109524A1 (en) | Method and system for dynamically specifying a format for data provided by a web service invocation | |
| US20220405157A1 (en) | System, device, method and datastack for managing applications that manage operation of assets | |
| US20120167206A1 (en) | System and method for enabling secure display of external images | |
| US8417688B2 (en) | Converting two-tier resource mapping to one-tier resource mapping | |
| US20130036094A1 (en) | Method for determining a supported connectivity between applications | |
| US20090043864A1 (en) | Method and System for Generating Globally Unique Identifiers | |
| US11494371B2 (en) | Computer system and data management method | |
| US8719388B2 (en) | Method for installing a web package within a manufacturing executing system | |
| JP2019067288A (en) | Log management device, information processing system and program | |
| JP5404528B2 (en) | Data processing apparatus, data processing method, and program | |
| US10838781B1 (en) | Eventually consistent metadata exchange between software applications and services | |
| US20120136881A1 (en) | Exchanging data using data transformation | |
| US8959126B2 (en) | Device management apparatus and device management method | |
| MXPA05002273A (en) | SYSTEM AND METHOD FOR BUILDING COMPONENT APPLICATIONS USING DEFINITION ALLOCATED BY METADATA BETWEEN THE MESSAGE AND DATA DOMAINS. | |
| US20140229927A1 (en) | Integration and management apparatus, integration and management system and computer readable information recording medium | |
| CN113791819B (en) | Interface document generation method and device, storage medium, and electronic device | |
| Vinoski | The more things change | |
| US20130097622A1 (en) | Framework for system communication for handling data |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121217 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130919 |
|
| 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: 20131001 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131029 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5404528 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |