[go: up one dir, main page]

JP5404528B2 - Data processing apparatus, data processing method, and program - Google Patents

Data processing apparatus, data processing method, and program Download PDF

Info

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
Application number
JP2010120301A
Other languages
Japanese (ja)
Other versions
JP2011248574A (en
Inventor
良太 塚本
広泰 田畠
敏之 五十嵐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Mitsubishi Electric Building Solutions Corp
Original Assignee
Mitsubishi Electric Corp
Mitsubishi Electric Building Techno Service Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp, Mitsubishi Electric Building Techno Service Co Ltd filed Critical Mitsubishi Electric Corp
Priority to JP2010120301A priority Critical patent/JP5404528B2/en
Publication of JP2011248574A publication Critical patent/JP2011248574A/en
Application granted granted Critical
Publication of JP5404528B2 publication Critical patent/JP5404528B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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).

特開2006−190008号公報JP 2006-190008 A 特開2008−130033号公報JP 2008-130033 A

従来のサービス連携技術は、リクエストをサービス実行サーバ装置へ適切に転送する点においては解決されているが、その結果を次のサービスへ転送するといったような処理が必要な場合に課題がある。   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に係るサービス連携サーバ装置の構成例を示す図。FIG. 3 is a diagram illustrating a configuration example of a service cooperation server device according to the first embodiment. 実施の形態1に係るクライアント装置の動作例を示すフローチャート図。FIG. 4 is a flowchart showing an operation example of the client apparatus according to the first embodiment. 実施の形態1に係るサービス公開部の動作例を示すフローチャート図。FIG. 4 is a flowchart showing an operation example of a service disclosure unit according to the first embodiment. 実施の形態1に係る共通変数生成部の動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example of a common variable generation unit according to the first embodiment. 実施の形態1に係る型マッピング管理部の動作例を示すフローチャート図。FIG. 6 is a flowchart showing an operation example of a type mapping management unit according to the first embodiment. 実施の形態1に係るサービスI/F管理部の動作例を示すフローチャート図。FIG. 4 is a flowchart showing an operation example of a service I / F management unit according to the first embodiment. 実施の形態1に係るデータ型管理部の動作例を示すフローチャート図。FIG. 4 is a flowchart showing an operation example of a data type management unit according to the first embodiment. 実施の形態1に係る共通変数入出力部の動作例を示すフローチャート図。FIG. 4 is a flowchart showing an operation example of a common variable input / output unit according to the first embodiment. 実施の形態1に係るサービス接続部の動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example of a service connection unit according to the first embodiment. 実施の形態1に係るサービス実行サーバ装置の動作例を示すフローチャート図。FIG. 4 is a flowchart showing an operation example of the service execution server device according to the first embodiment. 実施の形態1に係る処理シーケンスを示す図。FIG. 4 shows a processing sequence according to the first embodiment. 実施の形態1に係る処理シーケンスを示す図。FIG. 4 shows a processing sequence according to the first embodiment. 実施の形態2に係るサービス連携サーバ装置の構成例を示す図。The figure which shows the structural example of the service cooperation server apparatus which concerns on Embodiment 2. FIG. 実施の形態2に係るサービス公開部の動作例を示すフローチャート図。FIG. 9 is a flowchart showing an operation example of a service disclosure unit according to the second embodiment. 実施の形態2に係るシナリオ管理部の動作例を示すフローチャート図。FIG. 9 is a flowchart showing an operation example of a scenario management unit according to the second embodiment. 実施の形態2に係る共通変数生成部の動作例を示すフローチャート図。FIG. 9 is a flowchart showing an operation example of a common variable generation unit according to the second embodiment. 実施の形態2に係るシナリオ制御部の動作例を示すフローチャート図。FIG. 9 is a flowchart showing an operation example of a scenario control unit according to the second embodiment. 実施の形態2に係る処理シーケンスを示す図。FIG. 6 shows a processing sequence according to the second embodiment. 実施の形態2に係る処理シーケンスを示す図。FIG. 6 shows a processing sequence according to the second embodiment. 実施の形態3に係るサービス連携サーバ装置の構成例を示す図。FIG. 10 is a diagram illustrating a configuration example of a service cooperation server device according to a third embodiment. 実施の形態3に係る変数変換部の動作例を示すフローチャート図。FIG. 10 is a flowchart showing an operation example of a variable conversion unit according to the third embodiment. 実施の形態3に係る処理シーケンスを示す図。FIG. 10 shows a processing sequence according to the third embodiment. 実施の形態1に係るデータ型管理部等で管理される情報の例を示す図。FIG. 4 is a diagram illustrating an example of information managed by a data type management unit or the like according to the first embodiment. 実施の形態1〜3に係るサービス連携サーバ装置のハードウェア構成例を示す図。The figure which shows the hardware structural example of the service cooperation server apparatus which concerns on Embodiment 1-3.

実施の形態1.
図1は、本実施の形態に係る、1つのサービスを接続し公開する方式を示すシステム構成図である。
Embodiment 1 FIG.
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 client device 100 is a computer device that executes a client program that calls a service.
That is, the client device 100 requests the service cooperation server device 200 to provide a service.

サービス連携サーバ装置200は、クライアント装置100とサービス実行サーバ装置300に接続されている。
サービス連携サーバ装置200は、クライアント装置100から利用することができるサービスを提供するサーバ装置である。
サービス連携サーバ装置200は、データ処理装置の例である。
The service cooperation server device 200 is connected to the client device 100 and the service execution server device 300.
The service cooperation server device 200 is a server device that provides a service that can be used from the client device 100.
The service cooperation server device 200 is an example of a data processing device.

サービス実行サーバ装置300は、サービス連携サーバ装置200がサービス処理を依頼するサーバ装置である。
つまり、サービス実行サーバ装置300は、クライアント装置100により要求されたサービスを実行する。
サービス実行サーバ装置300は、サービス実体ともいう。
The service execution server device 300 is a server device from which the service cooperation server device 200 requests service processing.
That is, the service execution server device 300 executes the service requested by the client device 100.
The service execution server device 300 is also called a service entity.

サービス連携サーバ装置200において、サービス公開部201はクライアント装置100へサービス利用のインタフェースを公開する機能である。
サービス公開部201は、クライアント装置100から、リクエスト(クライアント要求ともいう)を受信し、クライアント装置100からのリクエストに対するレスポンス(クライアント応答ともいう)を生成し、レスポンスをクライアント装置100に送信する。
サービス公開部201は、クライアント通信部の例となる。
また、後述する共通変数入出力部206とともにクライアント変数処理部の例となる。
In the service cooperation server device 200, the service disclosure unit 201 has a function of exposing a service use interface to the client device 100.
The service disclosure unit 201 receives a request (also referred to as a client request) from the client device 100, generates a response (also referred to as a client response) to the request from the client device 100, and transmits the response to the client device 100.
The service disclosure unit 201 is an example of a client communication unit.
Also, it becomes an example of a client variable processing unit together with a common variable input / output unit 206 described later.

共通変数生成部202はクライアント装置からのリクエストにおける処理実行のための共通変数を生成する機能である。
共通変数は、クライアント装置100からのリクエストがサービス連携サーバ装置200を介してサービス実行サーバ装置300において処理され、クライアント装置100にレスポンスが返されるまでの間に利用される変数である。
つまり、共通変数は、リクエストの受信からレスポンスの送信までの一連の流れの中で共通的に扱われる変数である。
クライアント装置100からの1リクエスト/レスポンスに専用に用いられる共通変数が生成され、他のリクエスト/レスポンスには影響しない。
共通変数の生成方法については、後述する。
なお、共通変数生成部202は、後述するデータ型管理部203、型マッピング管理部204、サービスI/F管理部205とともに共通変数管理部の例となる。
The common variable generation unit 202 is a function that generates a common variable for execution of processing in a request from a client device.
The common variable is a variable used until a request from the client device 100 is processed in the service execution server device 300 via the service cooperation server device 200 and a response is returned to the client device 100.
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 client apparatus 100 is generated and does not affect other requests / responses.
A method for generating the common variable will be described later.
The common variable generation unit 202 is an example of a common variable management unit together with a data type management unit 203, a type mapping management unit 204, and a service I / F management unit 205 described later.

データ型管理部203は、サービス連携サーバ装置200で管理されるサービスが扱うデータ型(種類)と型間の相互関係を管理する機能である。
本実施の形態及び以降の実施の形態において、データ型とは、サービスが扱う情報の型(データ種別)を指している。int型やchar型といったプログラムにおけるデータ型とは異なる。
例えば、品番から品名を検索するサービスの場合、クライアント装置100は「品番」の引数として特定の値を指定してリクエストを発行し、サービス連携サーバ装置200は「品名」の戻り値として特定の値を指定してレスポンスを返す。この場合の「品番」及び「品名」がそれぞれデータ型(データ種別)となる。
つまり、クライアント装置100からのリクエストに含まれる引数のデータ種別、クライアント装置100へのレスポンスに含まれる戻り値のデータ種別、更に、サービス連携サーバ装置200からサービス実行サーバ装置300に送信されるリクエスト(サーバ要求ともいう)に含まれる引数のデータ種別、サービス実行サーバ装置300からサービス連携サーバ装置200に送信されるレスポンス(サーバ応答ともいう)に含まれる戻り値のデータ種別が、本実施の形態及び以降の実施の形態で用いるデータ型である。
このように、データ型管理部203は、上記「品番」、「品名」の他、「価格」、「在庫数」、「納期」、「製造ロット」、「従業員番号」、「従業員氏名」、「所属部署」、「役職」、「センサID」、「温度」、「湿度」、「消費電力」、「重さ」等、サービス連携サーバ装置200が扱うサービスにおける全ての引数、戻り値のデータ種別を管理する。
The data type management unit 203 is a function that manages a data type (type) handled by a service managed by the service cooperation server device 200 and a mutual relationship between the types.
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 client device 100 issues a request specifying a specific value as an argument of “product number”, and the service cooperation server device 200 uses a specific value as a return value of “product name”. Specify and return a response. In this case, “product number” and “product name” are data types (data types), respectively.
That is, the data type of the argument included in the request from the client device 100, the data type of the return value included in the response to the client device 100, and the request (from the service cooperation server device 200 to the service execution server device 300) The data type of the argument included in the server request), the data type of the return value included in the response (also referred to as the server response) transmitted from the service execution server device 300 to the service cooperation server device 200, and This is a data type used in the following embodiments.
In this way, the data type management unit 203 performs “price”, “stock quantity”, “delivery date”, “production lot”, “employee number”, “employee name” in addition to the above “article number” and “article name”. ”,“ Department ”,“ Position ”,“ Sensor ID ”,“ Temperature ”,“ Humidity ”,“ Power consumption ”,“ Weight ”, etc. All arguments and return values in the service handled by the service cooperation server device 200 Manage the data type.

型マッピング管理部204はサービス連携サーバ装置200で管理されるサービスのI/Fの具体的な項目とデータ型管理部203で管理されている情報の種類のマッピングを管理する機能である。
サービスI/F管理部205はサービス連携サーバ装置200で管理されるサービスのI/Fを管理する機能である。
前述したように、データ型管理部203、型マッピング管理部204、サービスI/F管理部205は、共通変数生成部202とともに共通変数管理部の例となる。
The type mapping management unit 204 is a function that manages the mapping between specific items of service I / F managed by the service cooperation server device 200 and the types of information managed by the data type management unit 203.
The service I / F management unit 205 is a function for managing an I / F of a service managed by the service cooperation server device 200.
As described above, the data type management unit 203, the type mapping management unit 204, and the service I / F management unit 205 are examples of the common variable management unit together with the common variable generation unit 202.

共通変数入出力部206は、共通変数生成部202によって生成された共通変数への値の入出力を行う機能である。
前述したように、共通変数入出力部206は、サービス公開部201とともにクライアント変数処理部の例となる。
また、共通変数入出力部206は、後述するサービス接続部208とともにサーバ変数処理部の例となる。
The common variable input / output unit 206 is a function for inputting / outputting a value to / from the common variable generated by the common variable generation unit 202.
As described above, the common variable input / output unit 206 is an example of the client variable processing unit together with the service disclosure unit 201.
The common variable input / output unit 206 is an example of a server variable processing unit together with a service connection unit 208 described later.

共通変数代入値記憶部207は、共通変数生成部202によって生成された共通変数への代入値を記憶する。
共通変数代入値記憶部207は、例えば、RAM(Random Access Memory)等のメモリの一部の領域であり、共通変数を格納するために共通変数生成部202により確保された領域である。
The common variable substitution value storage unit 207 stores the substitution value for the common variable generated by the common variable generation unit 202.
The common variable substitution value storage unit 207 is a partial area of a memory such as a RAM (Random Access Memory), for example, and is an area secured by the common variable generation unit 202 for storing the common variable.

サービス接続部208は、サービス連携サーバ装置200からサービス実行サーバ装置300へリクエストを送信するための機能である。
サービス接続部208は、クライアント装置100からのリクエスト(クライアント要求)に基づいて、サービス実行サーバ装置300へのリクエスト(サーバ要求)を送信し、また、サービス実行サーバ装置300からレスポンス(サーバ応答)を受信する。
サービス実行サーバ装置300からのレスポンスはクライアント装置100へのレスポンス(クライアント応答)のもとになる。
サービス接続部208は、サーバ通信部の例である。
また、サービス接続部208は、前述のように、共通変数入出力部206とともにサーバ変数処理部の例となる。
The service connection unit 208 is a function for transmitting a request from the service cooperation server device 200 to the service execution server device 300.
The service connection unit 208 transmits a request (server request) to the service execution server device 300 based on a request (client request) from the client device 100, and receives a response (server response) from the service execution server device 300. Receive.
The response from the service execution server device 300 is the basis of the response to the client device 100 (client response).
The service connection unit 208 is an example of a server communication unit.
The service connection unit 208 is an example of a server variable processing unit together with the common variable input / output unit 206 as described above.

なお、データ型管理部203、型マッピング管理部204、サービスI/F管理部205はそれぞれ別サーバでも良い。   The data type management unit 203, the type mapping management unit 204, and the service I / F management unit 205 may be separate servers.

次に、各機能の動作を詳述する前に、以下にて本実施の形態に係るサービス連携サーバ装置200の動作の概要を説明する。   Next, before describing the operation of each function in detail, an outline of the operation of the service cooperation server device 200 according to the present embodiment will be described below.

本実施の形態では、共通変数生成部202が、クライアント装置100のクライアント用インタフェースとサービス実行サーバ装置300のサーバ用インタフェースに含まれる引数及び戻り値において共通するデータ型に対して共通変数を生成する。
サービス公開部201は、クライアント装置100からのリクエスト(クライアント要求)に含まれる引数を共通変数に代入し、サービス接続部208は、共通変数のデータ値を引数とするサービス実行サーバ装置300へのリクエスト(サーバ要求)を生成し、サービス実行サーバ装置300のレスポンス(サーバ応答)に含まれる戻り値を共通変数に代入する。
そして、サービス公開部201は共通変数のデータ値を戻り値とするクライアント装置100へのレスポンス(クライアント応答)を生成し、クライアント装置100に送信する。
In the present embodiment, the common variable generation unit 202 generates a common variable for data types that are common in arguments and return values included in the client interface of the client device 100 and the server interface of the service execution server device 300. .
The service disclosure unit 201 assigns an argument included in the request (client request) from the client device 100 to the common variable, and the service connection unit 208 requests the service execution server device 300 using the data value of the common variable as an argument. (Server request) is generated, and the return value included in the response (server response) of the service execution server device 300 is substituted into the common variable.
Then, the service disclosure unit 201 generates a response (client response) to the client device 100 using the data value of the common variable as a return value, and transmits the response to the client device 100.

より具体的には、サービス公開部201は、クライアント装置100から送信されたクライアント要求を受信する。
クライアント要求は、クライアント用インタフェースに従って生成され、1つ以上の引数がクライアント引数として含まれている。
なお、クライアント用インタフェースでは、クライアント引数ごとにクライアント引数のデータ型(データ種別)が定義されている。
このため、クライアント要求には、定義されているデータ型のクライアント引数が含まれ、各クライアント引数として特定のデータ値が含まれている(例えば、「品番」のクライアント引数として「123456」がクライアント要求に含まれる)。
また、サービス公開部201は、クライアント要求に対する応答としてクライアント応答をクライアント装置100に送信する。
クライアント応答は、クライアント用インタフェースに従って生成され、1つ以上の戻り値がクライアント戻り値として含まれている。
クライアント用インタフェースでは、クライアント戻り値ごとにクライアント戻り値のデータ型(データ種別)が定義されている。
このため、クライアント応答には、定義されているデータ型のクライアント戻り値が含まれ、各クライアント戻り値として特定のデータ値が含まれている(例えば、「品名」のクライアント戻り値として「ABC−XYZ」がクライアント応答に含まれる)。
More specifically, the service disclosure unit 201 receives a client request transmitted from the client device 100.
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 service disclosure unit 201 transmits a client response to the client device 100 as a response to the client request.
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 service connection unit 208 transmits a server request generated based on the client request to the service execution server device 300.
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 service connection unit 208 receives a server response from the service execution server device 300 as a response to the server request.
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 variable generation unit 202 uses the data type management unit 203, the type mapping management unit 204, and the service I / F management unit 205 to define data defined for each client argument and each client return value of the client interface. The type and the data type defined for each server argument and each server return value of the server interface are analyzed, and a common variable used in common for the common data type is generated for each data type.
Further, the common variable generation unit 202 generates common variable association information indicating associations between client arguments, server arguments, and common variables, and associations between client return values, server return values, and common variables.
For example, if the client argument A and the server argument C are the data type “product number”, the common variable generation unit 202 generates the common variable a for the data type “product number”, and the client return value B and the server return value D are the data type. If “product name”, a common variable “b” is generated for the data type “product name”.
Then, the common variable generation unit 202 displays common variable association information indicating a correspondence between the client argument A, the server argument C, and the common variable a, and a correspondence between the client return value B, the server return value D, and the common variable b. Is generated.

また、共通変数生成部202は、相互に異なるデータ種別であるが相互に置換可能な関係にある2以上の同義なデータ型(置換可能なデータ種別)が含まれている場合に、同義なデータ型に対して同じ共通変数を生成する。
更に、共通変数生成部202は、同義なデータ型に対して生成した共通変数に対してクライアント引数及びサーバ引数の対応付けとクライアント戻り値及びサーバ戻り値の対応付けが示される共通変数対応付け情報を生成する。
例えば、クライアント引数Aのデータ型が「品番」であり、サーバ引数Cのデータ型が「シリアルナンバー」であれば、両者は一致していないが同じ内容であるため、同義(置換可能)であり、共通変数生成部202は、クライアント引数Aのデータ型「品番」とサーバ引数Cのデータ型「シリアルナンバー」に共通変数aを生成し、クライアント引数Aとサーバ引数Cと共通変数aとの対応付けが示される共通変数対応付け情報を生成する。
また、共通変数生成部202は、クライアント引数Aのデータ型が「品番」であり、サーバ引数Cのデータ型が「シリアルナンバー」であることを示す情報も生成する。
In addition, the common variable generation unit 202 includes synonymous data when two or more synonymous data types (replaceable data types) that are mutually different data types but have a replaceable relationship are included. Generate the same common variable for the type.
Further, the common variable generation unit 202 displays common variable association information indicating the association between client arguments and server arguments and the association between client return values and server return values for common variables generated for synonymous data types. Is generated.
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 variable generation unit 202 generates a common variable a for the data type “product number” of the client argument A and the data type “serial number” of the server argument C, and the correspondence between the client argument A, the server argument C, and the common variable a. The common variable association information indicating the attachment is generated.
The common variable generation unit 202 also generates information indicating that the data type of the client argument A is “product number” and the data type of the server argument C is “serial number”.

共通変数代入値記憶部207は、前述したように、共通変数生成部202によって生成された共通変数への代入値を記憶する。   As described above, the common variable substitution value storage unit 207 stores the substitution value for the common variable generated by the common variable generation unit 202.

共通変数入出力部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 / output unit 206 inputs the data value of each client argument of the client request from the service disclosure unit 201, assigns the input data value to the common variable corresponding to the data type of each client argument, and sets the common variable substitution value Write to the storage unit 207.
Further, the common variable input / output unit 206 acquires the data value assigned to the common variable from the common variable assigned value storage unit 207 and passes it to the service connection unit 208.
The service connection unit 208 sets the data value acquired from the common variable input / output unit 206 as a server argument corresponding to the common variable, generates a server request according to the server interface, and transmits the server request to the service execution server device 300. .
According to the above example, the common variable input / output unit 206 assigns the data value “123456” of the client argument A to the common variable a and writes it to the common variable assigned value storage unit 207. The value “123456” of the common variable a is acquired from 207 and passed to the service connection unit 208 as the server argument C.
The service connection unit 208 sets “123456” as the server argument C and generates a server request.

また、共通変数入出力部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 / output unit 206 inputs the data value of each server return value of the server response from the service connection unit 208, and substitutes the input data value into the common variable corresponding to the data type of each server return value. Write to the common variable substitution value storage unit 207.
Further, the common variable input / output unit 206 acquires the data value assigned to the common variable from the common variable assigned value storage unit 207 and passes it to the service disclosure unit 201.
The service disclosure unit 201 sets the data value acquired from the common variable input / output unit 206 as a corresponding client return value, generates a client response according to the client interface, and transmits the client response to the client device 100.
According to the above example, the common variable input / output unit 206 assigns the data value “ABC-XYZ” of the server return value D to the common variable b and writes it to the common variable assignment value storage unit 207.
In addition, the value “ABC-XYZ” of the common variable b is acquired from the common variable substitution value storage unit 207 and passed to the service disclosure unit 201 as the data value of the client return value B.
The service disclosure unit 201 sets “ABC-XYZ” as the client return value B and generates a client response.

次に、本実施の形態に係るサービス連携サーバ装置200の動作を詳細に説明する。
なお、各機能の動作はフローチャートを用いて説明し、各機能を組み合わせた全体の動作はシーケンス図を用いて説明する。
Next, the operation of the service cooperation server device 200 according to this embodiment will be described in detail.
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 client apparatus 100.
The client device 100 transmits a request to the service cooperation server device 200 and obtains the result (F0100).

図3は、サービス連携サーバ装置200のサービス公開部201における処理フローチャートである。
サービス公開部201ではクライアント装置100からのリクエスト(クライアント要求)を受信し(F0200)、どのサービスへのリクエストであるかを共通変数生成部202に通知して共通変数の生成を要求し、共通変数生成部202から共通変数への参照を取得する(F0201)。
この共通変数への参照とは、クライアント引数が代入される共通変数(サーバ引数として値を読み出すべき共通変数)とサーバ戻り値が代入される共通変数(クライアント戻り値として値を読み出すべき共通変数)が示される情報であり、共通変数対応付け情報の例である。
FIG. 3 is a process flowchart in the service disclosure unit 201 of the service cooperation server device 200.
The service disclosure unit 201 receives a request (client request) from the client device 100 (F0200), notifies the common variable generation unit 202 of which service the request is for, and requests generation of the common variable. A reference to the common variable is acquired from the generation unit 202 (F0201).
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 service disclosure unit 201 assigns the value of the client argument included in the request to the common variable using the common variable input / output unit 206 (F0202), and passes the reference to the common variable to the service connection unit 208 to request service execution. (F0203).
That is, the service disclosure unit 201 notifies the common variable input / output unit 206 of the data value of the client argument in association with the variable name of the target common variable, and the common variable input / output unit 206 corresponds the data value of the client argument. Is assigned to the common variable and written to the common variable assignment value storage unit 207.
Further, the service disclosure unit 201 assigns, to the service connection unit 208, a common variable (a common variable whose value should be read as a server argument) to which a client argument value is substituted and a common variable (client return) to which a server return value is substituted. A service execution is requested by notifying a reference (common variable association information) to a common variable indicating a common variable whose value is to be read).

また、サービス公開部201は、共通変数入出力部206からサービスの実行結果(クライアント戻り値)を取得し(F0204)、取得した実行結果に基づきクライアント用インタフェースに従ったレスポンス(クライアント応答)を生成し、レスポンスをクライアント装置100へ返す(F0205)。
つまり、サービス公開部201は、サービス接続部208からサービス実行サーバ装置300からのレスポンスを得たとの通知を受け、共通変数入出力部206にサーバ戻り値の値が代入される共通変数(クライアント戻り値として値を読み出すべき共通変数)を通知し、共通変数入出力部206からクライアント戻り値の値を取得し、取得した値を用いてレスポンス(クライアント応答)を生成し、レスポンスをクライアント装置100へ返す。
Also, the service disclosure unit 201 acquires a service execution result (client return value) from the common variable input / output unit 206 (F0204), and generates a response (client response) according to the client interface based on the acquired execution result. The response is returned to the client device 100 (F0205).
That is, the service disclosure unit 201 receives a notification from the service connection unit 208 that a response from the service execution server device 300 has been obtained, and a common variable (client return) in which the value of the server return value is substituted into the common variable input / output unit 206. Common variable from which the value is to be read out), the client return value is acquired from the common variable input / output unit 206, a response (client response) is generated using the acquired value, and the response is sent to the client apparatus 100. return.

図4は共通変数生成部202における処理フローチャートである。   FIG. 4 is a process flowchart in the common variable generation unit 202.

共通変数生成部202ではサービス公開部201から共通変数の生成要求を受け付けると(F0300)、クライアント装置100から要求されたサービスに対して共通変数化するデータ型を型マッピング管理部204に問い合わせる(F0301)。
次に、共通変数生成部202は、得られたマッピングのデータ型一覧から共通変数を生成し、同義なデータ型も記憶しておく(F0302)。
また、共通変数生成部202は、共通変数の参照(共通変数対応付け情報の例)を生成する。
共通変数の参照は、前述したように、クライアント引数とサーバ引数と共通変数との対応付け及びクライアント戻り値とサーバ戻り値と共通変数との対応付けが示される情報である。
生成された共通変数の参照は呼び出し元であるサービス公開部201に返される(F0303)。
When the common variable generation unit 202 receives a common variable generation request from the service disclosure unit 201 (F0300), the common variable generation unit 202 inquires of the type mapping management unit 204 about a data type to be converted into a common variable for the service requested by the client device 100 (F0301). ).
Next, the common variable generation unit 202 generates a common variable from the obtained mapping data type list, and stores a synonymous data type (F0302).
Further, the common variable generation unit 202 generates a reference to the common variable (an example of common variable association information).
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 service disclosure unit 201 that is the caller (F0303).

図5は型マッピング管理部204における処理フローチャートである。   FIG. 5 is a processing flowchart in the type mapping management unit 204.

型マッピング管理部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 mapping management unit 204 refers to the I / F of the corresponding service from the service I / F management unit 205 (F0401).
Next, the type mapping management unit 204 outputs a mapping list from the mapping information managed in the type mapping management unit 204 to the data type for arguments and return values to the service obtained from the service I / F (F0402). ).
The type of each type in the mapping list is acquired using the data type management unit 203, and the data type having the same meaning (the same type) is removed from the list (F0403).
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 type management unit 203, information managed by the type mapping management unit 204, and information managed by the service I / F management unit 205.
The data type management unit 203 manages the data type and the mutual relationship between the data types.
The service I / F management unit 205 manages arguments and return values in each interface.
The type mapping management unit 204 manages mapping information.
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 / F management unit 205 manages client interface information and service A interface information.
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 mapping management unit 204 uses the client interface argument 1, argument 2, and return value data type (argument 1 = data type A, argument 2 = data type C, return value = data type D) as mapping information. In addition, the argument 1 and argument 2 of the service A interface and the data type of the return value (argument 1 = data type B, argument 2 = data type C, return value = data type E) are managed.
The data type management unit 203 manages data types that are synonymous as mutual relationships. Specifically, data type A and data type B are synonymous, and data type D and data type E are synonymous.
The type mapping management unit 204 generates a data type mapping list from these pieces of information.
That is, the type mapping management unit 204 has the same meaning as the argument 1 (data type A) of the client interface and the argument 1 (data type B) of the service A interface, and the argument 2 (data type C) of the client interface. The mapping list that the argument 2 (data type C) of the service A interface is the same data type, and the return value (data type D) of the client interface and the return value (data type E) of the service A interface are synonymous. Is generated.

図6はサービスI/F管理部205における処理フローチャートである。   FIG. 6 is a processing flowchart in the service I / F management unit 205.

サービスI/F管理部205ではサービスI/Fの参照を受け付けると(F0500)、サービス名等の識別子から該当するサービスのI/Fを返す(F0501)。   When the service I / F management unit 205 receives the reference of the service I / F (F0500), the service I / F management unit 205 returns the I / F of the corresponding service from the identifier such as the service name (F0501).

図7はデータ型管理部203における処理フローチャートである。
データ型管理部203ではデータ型の問い合わせを受けると(F0600)、データ型管理部203内で管理しているデータ型から同義(種類が同じ)のデータ型一覧を返す(F0601)。
FIG. 7 is a processing flowchart in the data type management unit 203.
When the data type management unit 203 receives a data type inquiry (F0600), it returns a synonymous (same type) data type list from the data types managed in the data type management unit 203 (F0601).

図8は共通変数入出力部206における処理フローチャートである。   FIG. 8 is a processing flowchart in the common variable input / output unit 206.

共通変数入出力部206では共通変数の入出力の問い合わせを入力する(F0700)。
より具合的には、共通変数入出力部206は、共通変数へのデータ値の代入の場合は、問い合わせ元の情報(サービス公開部201か、サービス接続部208か)、共通変数に代入すべき値、当該値の対応I/F(引数か、戻り値か)を入力する。
また、共通変数からのデータ値の読み出しの場合は、問い合わせ元の情報(サービス公開部201か、サービス接続部208か)、読み出し対象の対応I/F(引数か、戻り値か)を入力する。
次に、共通変数入出力部206は、F0700での共通変数への代入値の有無を判断して、実行すべき処理が入力か出力かを判断する(F0701)。
具体的には、共通変数への代入値を入力している場合は、F0702において入力となる。
一方、共通変数への代入値を入力していない場合は、F0702において出力となる。
The common variable input / output unit 206 inputs an input / output inquiry for the common variable (F0700).
More specifically, the common variable input / output unit 206, when assigning a data value to a common variable, should assign the information of the inquiry source (whether it is the service disclosure unit 201 or the service connection unit 208) and the common variable. Enter the value and the corresponding I / F of the value (argument or return value).
Further, in the case of reading a data value from a common variable, information on the inquiry source (whether it is the service disclosure unit 201 or the service connection unit 208) and a corresponding I / F to be read (whether it is an argument or a return value) are input. .
Next, the common variable input / output unit 206 determines whether there is an assignment value to the common variable in F0700, and determines whether the process to be executed is input or output (F0701).
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 / output unit 206 substitutes the value input from the inquiry source into the common variable of the variable name corresponding to the input I / F (F0703).
If the inquiry is an input from the service disclosure unit 201 (request input from the client), the value input from the service disclosure unit 201 is substituted into a common variable corresponding to the client argument.
If the inquiry is an input from the service connection unit 208 (response acquisition from the service entity), the value input from the service connection unit 208 is substituted into a common variable corresponding to the server return value.
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 service connection unit 208 Is output to the service connection unit 208.
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 service disclosure unit 201 Is output to the service disclosure unit 201.

図9はサービス接続部208における処理フローチャートである。   FIG. 9 is a process flowchart in the service connection unit 208.

サービス接続部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 service connection unit 208 receives a service execution request from the service disclosure unit 201 (F0800), the service connection unit 208 uses the common variable input / output unit 206 to acquire a value serving as a service argument from the common variable (F0801).
As described above, since the service connection unit 208 acquires the reference of the common variable from the service disclosure unit 201, the service connection unit 208 notifies the common variable input / output unit 206 of the output of the common variable in which the value to be read as the server argument is stored. can do. For the same reason, the input to the common variable to be substituted for the server return value can be notified to the common variable input / output unit 206 also when the server return value to be described later is substituted.
Next, the service connection unit 208 uses the value acquired from the common variable input / output unit 206 to cause the service execution server device 300 to execute a process to obtain a result (F0802).
That is, a value acquired from the common variable input / output unit 206 is set as a server argument, a request to the service execution server device 300 is generated, transmitted to the service execution server device 300, and a response is received from the service execution server device 300. Receive.
Next, the service connection unit 208 substitutes the result obtained from the service execution server device 300 into the common variable using the common variable input / output unit (F0803).
That is, the service connection unit 208 passes the server return value included in the response and the server return value (I / F) to the common variable input / output unit 206, and causes the server return value to be assigned to the common variable.
The common variable input / output unit 206 assigns the server return value to the corresponding common variable and writes it in the common variable assignment value storage unit 207.
Further, the service connection unit 208 notifies the service disclosure unit 201 that the response from the service execution server device 300 has been obtained.

図10はサービス実行サーバ装置300における処理フローチャートである。
サービス実行サーバ装置300では、サービス連携サーバ装置200からリクエスト(サーバ要求)を受信し、サービス処理を実行して結果を示すレスポンス(サーバ応答)を生成し、レスポンスをサービス連携サーバ装置200に返す(F0900)。
FIG. 10 is a process flowchart in the service execution server apparatus 300.
The service execution server apparatus 300 receives a request (server request) from the service cooperation server apparatus 200, executes service processing, generates a response (server response) indicating the result, and returns the response to the service cooperation server apparatus 200 ( F0900).

各機能を組み合わせた全体の動作を、クライアント装置100がサービス連携サーバ装置200上で公開されているサービス実行サーバ装置300のサービスを利用する場合の動作で説明する。   The overall operation combining the respective functions will be described in the case where the client device 100 uses the service of the service execution server device 300 disclosed on the service cooperation server device 200.

図11及び図12はクライアント装置100がサービス連携サーバ装置200上で公開されているサービス実行サーバ装置300のサービスを利用する動作を示したシーケンス図である。
これを用いてクライアント装置100がサービス実行結果を得るまでの動作を説明する。
FIGS. 11 and 12 are sequence diagrams illustrating operations in which the client device 100 uses the service of the service execution server device 300 disclosed on the service cooperation server device 200.
The operation until the client device 100 obtains the service execution result will be described using this.

クライアント装置100がサービス公開部201で公開されているクライアント用インタフェースに従ったリクエストを送信する(S0100)。
サービス公開部201は、リクエストを受信し、共通変数生成部202に呼び出されたサービス(リクエストで要求されているサービス)に対応する共通変数を生成するように要求する(S0101)。
The client apparatus 100 transmits a request according to the client interface disclosed by the service disclosure unit 201 (S0100).
The service disclosure unit 201 receives the request and requests the common variable generation unit 202 to generate a common variable corresponding to the service called (the service requested by the request) (S0101).

共通変数生成部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 variable generation unit 202 inquires of the data type list used in the service called by the type mapping management unit 204 (S0102).
The type mapping management unit 204 acquires the I / F of the corresponding service from the service I / F management unit 205 (S0103 to S0104), and acquires the mapping between the argument and the return value I / F and the type from the service I / F. (S0105).
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 variable generation unit 202 generates a common variable from the obtained data type list (S0110).
At this time, a synonymous data type list is also stored.
That is, the common variable generation unit 202 generates the same common variable for the same data type. The same common variable is also generated for synonymous data types.
The common variable generation unit 202 returns a reference to the generated common variable to the service disclosure unit 201 (S0111).

サービス公開部201は得られた共通変数への参照から共通変数入出力部206を用いてリクエストのクライアント引数を共通変数化し(S0112〜S0113)、サービス接続部208に共通変数の参照を通知してサービス実行を要求する(S0114)。   The service disclosure unit 201 converts the client argument of the request into a common variable using the common variable input / output unit 206 from the obtained reference to the common variable (S0112 to S0113), and notifies the service connection unit 208 of the reference to the common variable. A service execution is requested (S0114).

サービス接続部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 service disclosure unit 201, the service connection unit 208 acquires a value for requesting the service to be executed (the value of the server argument) from the common variable input / output unit 206 (S0115 to S0116). Then, a request to the service execution server device 300 is generated using the acquired value, the request is transmitted to the service execution server device 300, and a service execution result is obtained from the service execution server device 300 (S0117 to S0118).
Here, since the values obtained from the common variable input / output unit 206 are grouped with synonymous types according to the service I / F when the common variable is generated, a value to be used for the request is obtained.
The service connection unit 208 converts the result obtained by executing the service into a common variable using the common variable input / output unit 206 (S0119 to S0120), and returns execution completion to the service disclosure unit 201 (S0121).
The service disclosure unit 201 acquires an execution result (a client return value) from the common variable input / output unit 206 (S0122 to S0123), generates a response to the client device 100 from the acquired value, and sends the generated response to the client device. Return to 100 (S0124).
Here, since the values obtained from the common variable input / output unit 206 are grouped with synonymous types according to the service I / F when the common variable is generated, the value to be used for the response can be obtained as in the case of S0115. become.

以上のように、サービスを実行するために必要な情報(サービス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 cooperation server device 200 cooperates so that one type of service can be executed from the client. Next, an embodiment in which a plurality of services are cooperated will be described. .

図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 service disclosure unit 201, a common variable generation unit 202, a scenario management unit 209, and a scenario control unit 210. The same as in the first embodiment.
The service cooperation server device 200 is connected to a service execution server device A301 and a service execution server device B302.
The service execution server device A301 and the service execution server device B302 execute the service in the same manner as the service execution server device 300 in the first embodiment, but the internal service processes are different.
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 execution server apparatus 300. FIG.

サービス公開部201はクライアント装置100へサービス利用のインタフェースを公開し、複数サービスを実行するシナリオもサービスとして公開する機能である。
共通変数生成部202は、クライアント装置100からのリクエストにおけるサービス実行と、シナリオ内の各サービス実行のための共通変数を生成する機能である。
シナリオ管理部209は、サービスの実行順序をサービス実行シナリオ(単にシナリオともいう)として管理する機能である。
シナリオ制御部210は、サービスをシナリオに設定された順序で実行する機能である。
シナリオ管理部209とシナリオ制御部210は連携サービス管理部の例である。
なお、シナリオ管理部209は別サーバでも良い。
また、シナリオには実行順序だけでなく実行条件や条件分岐、エラー時に呼び出すサービスの指定などの実行フローが指定されており、判断のための情報はデータ型管理部203で管理されている範囲で指定する。
The service publishing unit 201 has a function of publishing a service use interface to the client apparatus 100 and publishing a scenario for executing a plurality of services as a service.
The common variable generation unit 202 is a function that generates a common variable for service execution in a request from the client device 100 and each service execution in the scenario.
The scenario management unit 209 is a function that manages the execution order of services as a service execution scenario (also simply referred to as a scenario).
The scenario control unit 210 is a function that executes services in the order set in the scenario.
The scenario management unit 209 and the scenario control unit 210 are examples of a cooperative service management unit.
The scenario management unit 209 may be a separate server.
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 service disclosure unit 201 is an example of a client communication unit and a client variable processing unit, and a common variable generation unit 202, a data type management unit 203, a type mapping management unit 204, a service I / F management. A unit 205 is an example of a common variable management unit.
The common variable input / output unit 206 is an example of a client variable processing unit and a server variable processing unit, and the service connection unit 208 is an example of a server communication unit and a server variable processing unit.

次に、実施の形態1との差分を中心に本実施の形態に係るサービス連携サーバ装置200の動作を概説する。   Next, the operation of the service cooperation server device 200 according to the present embodiment will be outlined with a focus on differences from the first embodiment.

シナリオ管理部209は、クライアント装置100からのリクエスト(クライアント要求)を解析し、リクエストにおいて要求されているサービスが2以上のサービス実行サーバ装置の連携により実現される連携サービスである場合に、該当するサービス実行シナリオを複数のサービス実行シナリオの中から選択する。
前述のように、サービス実行シナリオには、連携サービスを実現する2以上のサービス実行サーバ装置(連携サービス実行サーバ装置)におけるサービス実行順序が示される。
また、共通変数生成部202は、クライアント用インタフェースの各クライアント引数及び各クライアント戻り値に対して定義されているデータ型と、各連携サービス実行サーバ装置300のサーバ用インタフェースの各サーバ引数及び各サーバ戻り値に対して定義されているデータ型を解析し、データ型ごとに共通変数を生成する。
The scenario management unit 209 corresponds to the case where the request (client request) from the client device 100 is analyzed, and the service requested in the request is a cooperation service realized by cooperation of two or more service execution server devices. Select a service execution scenario from multiple service execution scenarios.
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 variable generation unit 202 includes data types defined for each client argument and each client return value of the client interface, and each server argument and each server of the server interface of each cooperative service execution server device 300. Analyzes the data type defined for the return value and generates a common variable for each data type.

共通変数入出力部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 / output unit 206 acquires the data value of the client argument assigned to the common variable from the common variable assigned value storage unit 207.
Then, the service connection unit 208 corresponds to the data value acquired by the common variable input / output unit 206 in correspondence with the common variable in the server interface of the cooperative service execution server device 300 in the first order in the scenario service execution order. The server request to the first order linkage service execution server apparatus 300 is generated according to the server interface of the first order linkage service execution server apparatus 300, and the first order linkage service execution server apparatus 300 is set. Send to.
Every time the service connection unit 208 receives a server response until the server response from the cooperative service execution server device 300 in the last order, the common variable input / output unit 206 sets each server return value of the received server response. The assigned data value is assigned to a common variable corresponding to each server return value and written to the common variable assignment value storage unit 207, and the data value assigned to the common variable is acquired from the common variable assignment value storage unit 207. The service connection unit 208 sets the data value acquired by the common variable input / output unit 206 as a server argument corresponding to the common variable in the server interface of the subsequent cooperative service execution server device 300 in the scenario service execution order. In accordance with the server interface of the subsequent cooperative service execution server device 300, the subsequent cooperative service execution It generates a server request to the server apparatus 300 repeats the operation of sending to the subsequent cooperative service executing server device 300.
The subsequent cooperation service execution server device 300 includes not only the cooperation service execution server device 300 in the next order in the service execution order of the scenario, but also the cooperation service execution server device 300 in the next order or later.
Further, the scenario control unit 210 notifies the service connection unit 208 of the subsequent cooperative service execution server device 300 every time the service connection unit 208 receives a server response.
The service connection unit 208 uses the server parameter of the server interface of the subsequent cooperative service execution server device 300 notified by the scenario control unit 210 of the data value acquired by the common variable input / output unit 206 from the common variable substitution value storage unit 207. To generate a server request to the subsequent linked service execution server device.

そして、シナリオのサービス実行順序において最後の順序の連携サービス実行サーバ装置300からのサーバ応答が受信され、サービス応答に含まれているサーバ戻り値が共通変数代入値記憶部207に格納された後に、共通変数入出力部206は、共通変数に代入されているデータ値を共通変数代入値記憶部207から取得し、サービス公開部201は共通変数代入値記憶部207が取得したデータ値を、前記共通変数に対応しているクライアント戻り値に設定してクライアント用インタフェースに従ってクライアント応答を生成し、クライアント装置100に送信する。   Then, after the server response from the cooperative service execution server device 300 in the last order in the service execution order of the scenario is received and the server return value included in the service response is stored in the common variable substitution value storage unit 207, The common variable input / output unit 206 acquires the data value assigned to the common variable from the common variable assigned value storage unit 207, and the service disclosure unit 201 uses the data value acquired by the common variable assigned value storage unit 207 as the common value. The client response value corresponding to the variable is set and a client response is generated according to the client interface, and is transmitted to the client device 100.

次に、本実施の形態に係るサービス連携サーバ装置200の動作を詳細に説明する。
各機能の動作はフローチャートを用いて説明し、各機能を組み合わせた全体の動作はシーケンス図を用いて説明する。
なお、以下では、各機能の動作については実施の形態1と異なる機能についてのみ説明する。
Next, the operation of the service cooperation server device 200 according to this embodiment will be described in detail.
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 service disclosure unit 201.

サービス公開部201ではクライアント装置100からのリクエストを受信し(F1000)、リクエストで要求されたサービスが連携サービスの場合は、クライアント装置100からのリクエストに対応するシナリオをシナリオ管理部209から取得してシナリオ内のサービス一覧を得る(F1001)。
サービス一覧には、サービスの実行順序が示される。
次に、サービス公開部201は、サービス一覧を共通変数生成部202に渡して共通変数の生成を要求し、共通変数への参照を取得する(F1002)。
共通変数の参照は共通変数対応付け情報の例である。
本実施の形態では、共通変数の参照は、クライアント引数と最初の順序の連携サービス実行サーバ装置のサーバ引数と共通変数との対応付け、クライアント戻り値と最後の順序の連携サービス実行サーバ装置のサーバ戻り値と共通変数との対応付け及び各連携サービス実行サーバ装置のサーバ戻り値と後続の連携サービス実行サーバ装置のサーバ引数と共通変数との対応付けが示される。
The service disclosure unit 201 receives a request from the client device 100 (F1000), and if the service requested by the request is a cooperation service, acquires a scenario corresponding to the request from the client device 100 from the scenario management unit 209. A list of services in the scenario is obtained (F1001).
The service list shows the execution order of services.
Next, the service disclosure unit 201 passes the service list to the common variable generation unit 202, requests generation of the common variable, and acquires a reference to the common variable (F1002).
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 service publishing unit 201 substitutes the client argument of the request into a common variable using the common variable input / output unit 206 (F1003), and passes the reference to the common variable and the scenario to the scenario control unit 210 to request scenario execution ( F1004), the scenario execution result is acquired from the common variable input / output unit 206 (F1005), and it is returned to the client device 100 as a response (F1006).

図15はシナリオ管理部209における処理フローチャートである。   FIG. 15 is a processing flowchart in the scenario management unit 209.

シナリオ管理部209では、サービス公開部201からシナリオの内容取得を受け付けると(F1100)、サービス公開部201から通知されたリクエストに対応するシナリオの内容を返す(F1101)。
つまり、シナリオ管理部209は、複数のシナリオの中からサービス公開部201から通知されたリクエストで要求されている連携サービスを実現するシナリオを選択する。
When the scenario management unit 209 receives the scenario content acquisition from the service disclosure unit 201 (F1100), the scenario management unit 209 returns the scenario content corresponding to the request notified from the service disclosure unit 201 (F1101).
That is, the scenario management unit 209 selects a scenario that realizes the cooperation service requested by the request notified from the service disclosure unit 201 from among a plurality of scenarios.

図16は共通変数生成部202における処理フローチャートである。   FIG. 16 is a process flowchart in the common variable generation unit 202.

共通変数生成部202では、サービス公開部201からサービス一覧とともに共通変数の生成要求を受け付けると(F1200)、型マッピング管理部204に、サービス公開部201から取得したサービス一覧に含まれる各サービスに対して共通変数化するデータ型を問い合わせる(F1201)。
次に、共通変数生成部202は、得られたマッピングのデータ型一覧から共通変数を生成し、同義なデータ型も記憶しておく(F1202)。
また、生成された共通変数の参照は呼び出し元であるサービス公開部201に返される(F1203)。
本実施の形態では、共通変数生成部202は、サービス一覧に示される各サービスに対して、データ型管理部203、型マッピング管理部204、サービスI/F管理部205を用いて、クライアント用インタフェースの各クライアント引数及び各クライアント戻り値に対して定義されているデータ型と、各連携サービス実行サーバ装置300のサーバ用インタフェースの各サーバ引数及び各サーバ戻り値に対して定義されているデータ型を解析し、データ型ごとに共通変数を生成する。
そして、共通変数生成部202は、サービス一覧に示されるサービスの実行順序に従って、共通変数の参照を生成する。
前述したように、具体的には、共通変数生成部202は、クライアント引数と最初の順序の連携サービス実行サーバ装置のサーバ引数と共通変数との対応付け、クライアント戻り値と最後の順序の連携サービス実行サーバ装置のサーバ戻り値と共通変数との対応付け及び各連携サービス実行サーバ装置のサーバ戻り値と後続の連携サービス実行サーバ装置のサーバ引数と共通変数との対応付けが示される共通変数の参照を生成する。
When the common variable generation unit 202 receives a request for generating a common variable together with the service list from the service disclosure unit 201 (F1200), the type mapping management unit 204 instructs each service included in the service list acquired from the service disclosure unit 201 for each service. The data type to be converted into a common variable is inquired (F1201).
Next, the common variable generation unit 202 generates a common variable from the obtained mapping data type list, and also stores a synonymous data type (F1202).
Further, the reference to the generated common variable is returned to the service disclosure unit 201 that is the caller (F1203).
In the present embodiment, the common variable generation unit 202 uses the data type management unit 203, the type mapping management unit 204, and the service I / F management unit 205 for each service shown in the service list, and uses the client interface. The data type defined for each client argument and each client return value, and the data type defined for each server argument and each server return value of the server interface of each cooperative service execution server device 300 Analyze and generate a common variable for each data type.
Then, the common variable generation unit 202 generates a common variable reference according to the service execution order shown in the service list.
As described above, specifically, the common variable generation unit 202 associates the client argument with the server argument of the cooperation service execution server device in the first order and the common variable, the client return value and the cooperation service in the last order. Reference of the common variable indicating the correspondence between the server return value of the execution server device and the common variable, and the correspondence between the server return value of each linkage service execution server device, the server argument of the subsequent linkage service execution server device, and the common variable Is generated.

図17は、シナリオ制御部210における処理フローチャートである。   FIG. 17 is a process flowchart in the scenario control unit 210.

シナリオ制御部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 scenario control unit 210 receives a scenario execution request together with the target scenario from the service disclosure unit 201 (F1300), the service is executed using the service connection unit 208 in accordance with the service execution order indicated in the scenario. (F1301).
That is, whenever the service connection unit 208 receives a server response, the scenario control unit 210 receives a notification that the server response has been received from the service connection unit 208, refers to the service execution order of the scenario, and The subsequent linked service execution server apparatus 300 is notified.
In the service connection unit 208, the server return value assigned to the common variable from the common variable substitution value storage unit 207 via the common variable input / output unit 206 is used as the server argument value of the subsequent cooperative service execution server device 300. The acquired data value is set in the corresponding server argument, a request (server request) is generated according to the server interface of the subsequent cooperative service execution server device 300, and is transmitted to the subsequent cooperative service execution server device 300.
Further, the scenario control unit 210 acquires a value for determination from the common variable input / output unit 206 if there is a designation such as a conditional branch in the scenario (for example, “if the return value of the service A is 0 or more”). And execute the following services:
That is, the scenario management unit 209 creates a scenario in which the destination of the next server request branches to two or more cooperation service execution server devices 300 according to a specific server return value of the server response from the specific cooperation service execution server device 300. May be selected.
When a branch occurs due to the server return value of the server response received by the service connection unit 208, the scenario control unit 210 determines that the branch destination linked service from among the two or more linked service execution server devices based on the server return value. Select an execution server device.
Which server return value is to be subjected to branch determination is specified in the request from the client device 100 or the execution result of any service.
When the data value (server return value) subject to branch determination is stored in the common variable substitution value storage unit 207, the scenario control unit 210 stores data values (servers) subject to branch determination in the common variable input / output unit 206. Return value) is acquired, and the data value (server return value) that is the object of branch determination is acquired from the common variable input / output unit 206.
Then, the scenario control unit 210 compares the server return value with the branch determination condition, and selects the branch destination cooperative service execution server device.
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 scenario control unit 210 The branch destination cooperative service execution server device is selected depending on whether the target data value is 0 or not.
The scenario control unit 210 notifies the service connection unit 208 of the selected cooperative service execution server device.
Then, when the service connection unit 208 inputs the data value assigned to the common variable from the common variable input / output unit 206, the service connection unit 208 uses the server interface of the branch destination cooperative service execution server device 300 selected by the scenario control unit 210. A server request to the branch destination cooperative service execution server device 300 is generated by setting the server argument corresponding to the common variable.

各機能を組み合わせた全体の動作を、クライアント装置100がサービス連携サーバ装置200上で公開されているサービス実行サーバ装置A301のサービスAとサービス実行サーバ装置B302のサービスBをシナリオで連携して利用する場合の動作で説明する。   The client apparatus 100 uses the service A of the service execution server apparatus A301 and the service B of the service execution server apparatus B302 published on the service cooperation server apparatus 200 in a scenario in cooperation with each other by combining the functions. The operation will be described.

図18及び図19はクライアント装置100がサービス連携サーバ装置200上で公開されているサービス実行サーバ装置A301のサービスAとサービス実行サーバ装置B302のサービスBをシナリオで連携して利用する動作を示したシーケンス図である。
これを用いてクライアント装置100がサービス実行結果を得るまでの動作を説明する。
実施の形態1と同様なシーケンスとなる部分は簡略化している。
FIG. 18 and FIG. 19 show an operation in which the client apparatus 100 uses the service A of the service execution server apparatus A301 and the service B of the service execution server apparatus B302 that are disclosed on the service cooperation server apparatus 200 in a scenario. It is a sequence diagram.
The operation until the client device 100 obtains the service execution result will be described using this.
The part which becomes the sequence similar to Embodiment 1 is simplified.

クライアント装置100がサービス公開部201で公開されているクライアント用インタフェースに従ったリクエストを送信する(S0200)。
サービス公開部201はシナリオ管理部209から該当するシナリオを取得し(S0201〜S0202)、シナリオ内のサービス一覧を共通変数生成部202に渡して共通変数を生成するように要求する(S0203)。
The client apparatus 100 transmits a request according to the client interface disclosed by the service disclosure unit 201 (S0200).
The service disclosure unit 201 acquires the corresponding scenario from the scenario management unit 209 (S0201 to S0202), and passes the service list in the scenario to the common variable generation unit 202 and requests to generate a common variable (S0203).

共通変数生成部202はシナリオ内の各サービスについて型マッピング管理部204へデータ型を問い合わせ(S0204:図11のS0102〜S0109と同様)、共通変数を生成する(S0205:図11のS0110と同様)。
共通変数生成部202は生成した共通変数への参照をサービス公開部201に返す(S0206:図11のS0111と同様)。
The common variable generation unit 202 inquires the data type to the type mapping management unit 204 for each service in the scenario (S0204: same as S0102 to S0109 in FIG. 11), and generates a common variable (S0205: same as S0110 in FIG. 11). .
The common variable generation unit 202 returns a reference to the generated common variable to the service disclosure unit 201 (S0206: the same as S0111 in FIG. 11).

サービス公開部201は得られた共通変数への参照から共通変数入出力部206を用いてリクエスト内容を共通変数化し(S0207:図11のS0112〜S0113と同様)、シナリオ制御部210にシナリオ実行を要求する(S0208)。   The service disclosure unit 201 uses the common variable input / output unit 206 from the obtained reference to the common variable to convert the request content into a common variable (S0207: similar to S0112 to S0113 in FIG. 11), and executes the scenario to the scenario control unit 210. A request is made (S0208).

シナリオ制御部210はシナリオに従いサービスA実行をサービス接続部208に要求する(S0209)。また、このとき、サービスAのサーバ引数及びサーバ戻り値が格納される共通変数の参照がシナリオ制御部210からサービス接続部208に渡される。
サービス接続部208は、シナリオ制御部210から取得した共通変数の参照に基づき、実行するサービスへリクエストするための値(サーバ引数の値)を共通変数入出力部206から取得し、取得した値を用いてサービス実行サーバ装置A301へリクエストを生成し、サービス実行サーバ装置A301にリクエストを送信して、サービス実行サーバ装置A301からサービスの実行結果を得て、共通変数入出力部206を用いて共通変数に結果(サーバ戻り値)を代入する(S0210:図11のS0115〜S0120と同様)。
The scenario control unit 210 requests the service connection unit 208 to execute service A according to the scenario (S0209). At this time, the common variable reference storing the server argument and server return value of the service A is passed from the scenario control unit 210 to the service connection unit 208.
Based on the reference of the common variable acquired from the scenario control unit 210, the service connection unit 208 acquires a value for requesting the service to be executed (the value of the server argument) from the common variable input / output unit 206, and the acquired value is The service execution server device A301 is used to generate a request, the request is transmitted to the service execution server device A301, the service execution result is obtained from the service execution server device A301, and the common variable input / output unit 206 is used to obtain the common variable. The result (server return value) is substituted for (S0210: the same as S0115 to S0120 in FIG. 11).

サービス接続部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 service connection unit 208 returns execution completion (S0211), the scenario control unit 210 proceeds to the next service execution. If there is a branch or the like in the scenario, the common variable input / output unit 206 is used to obtain a value used for the determination. (S0212). In this sequence, the process proceeds to the next service execution.
As in the case of execution of service A (S0209 to S0211), the scenario control unit 210 passes the reference of the common variable storing the server argument and server return value of the service B to the service connection unit 208, and executes the service B (S0213). ~ S0215).
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 scenario control unit 210 returns execution completion to the service disclosure unit 201 (S0216).
The service disclosure unit 201 acquires an execution result (client return value) using the common variable input / output unit 206 (S0217: similar to S0122 to S0123 in FIG. 11), and generates a response to the client device 100 from the acquired value. The generated response is returned to the client device 100 (S0218).

以上のように、サービスを実行するために必要な情報(サービス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 variable conversion unit 211, and other functions are the same as those of the second embodiment.

変数変換部211は共通変数への入出力時にデータ型に応じて値を変換する機能である。
変数変換部211による変換は、例えば、トンで表記されている重量値を、キログラム表記に変換するというものである。
変数変換部211は、データ変換部の例である。
The variable conversion unit 211 has a function of converting a value according to a data type when inputting / outputting to / from a common variable.
The conversion by the variable conversion unit 211 is, for example, to convert a weight value expressed in tons into a kilogram notation.
The variable conversion unit 211 is an example of a data conversion unit.

変数変換部211は、具体的には、共通変数入出力部206から共通変数代入値記憶部207に格納するデータ値を入力し、当該データ値のデータ形式(トン表記、キログラム表記等)が、当該データ値が次に共通変数代入値記憶部207から読み出されてサービス公開部201又はサービス接続部208で用いられる際のデータ形式と一致するか否かを判断し、データ形式が一致しない場合に、当該データ値のデータ形式をサービス公開部201又はサービス接続部208で用いられる際のデータ形式に変換する。
また、変数変換部211は、共通変数入出力部206が共通変数代入値記憶部207から取得したデータ値を入力し、当該データ値のデータ形式が、当該データ値がサービス公開部201又はサービス接続部208で用いられる際のデータ形式と一致するか否かを判断し、データ形式が一致しない場合に、当該データ値のデータ形式をサービス公開部201又はサービス接続部208で用いられる際のデータ形式に変換する。
なお、変数変換部211は、共通変数への参照(クライアント装置100のリクエスト受信からクライアント装置100のレスポンス送信までの共通変数の参照)と同義型の情報を有しているため、共通変数ごとに次に引数又は戻り値として用いられる際のデータ形式を判別することができる。
Specifically, the variable conversion unit 211 inputs a data value to be stored in the common variable substitution value storage unit 207 from the common variable input / output unit 206, and the data format of the data value (ton notation, kilogram notation, etc.) When the data value is read out from the common variable substitution value storage unit 207 to determine whether it matches the data format used in the service disclosure unit 201 or the service connection unit 208, and the data format does not match In addition, the data format of the data value is converted into a data format used by the service disclosure unit 201 or the service connection unit 208.
Further, the variable conversion unit 211 inputs the data value acquired by the common variable input / output unit 206 from the common variable substitution value storage unit 207, and the data format of the data value is the service disclosure unit 201 or the service connection. It is determined whether or not the data format used by the unit 208 matches, and if the data format does not match, the data format of the data value used by the service disclosure unit 201 or the service connection unit 208 is determined. Convert to
Since the variable conversion unit 211 has information synonymous with the reference to the common variable (reference of the common variable from the request reception of the client device 100 to the response transmission of the client device 100), for each common variable Next, the data format when used as an argument or a return value can be determined.

なお、本実施の形態においても、サービス公開部201はクライアント通信部及びクライアント変数処理部の例であり、共通変数生成部202、データ型管理部203、型マッピング管理部204、サービスI/F管理部205は共通変数管理部の例である。
また、共通変数入出力部206はクライアント変数処理部及びサーバ変数処理部の例であり、サービス接続部208は、サーバ通信部及びサーバ変数処理部の例である。
また、シナリオ管理部209及びシナリオ制御部210は連携サービス管理部の例である。
Also in this embodiment, the service disclosure unit 201 is an example of a client communication unit and a client variable processing unit, and a common variable generation unit 202, a data type management unit 203, a type mapping management unit 204, a service I / F management. A unit 205 is an example of a common variable management unit.
The common variable input / output unit 206 is an example of a client variable processing unit and a server variable processing unit, and the service connection unit 208 is an example of a server communication unit and a server variable processing unit.
Further, the scenario management unit 209 and the scenario control unit 210 are examples of a cooperative service management unit.

次に動作について説明する。
各機能の動作はフローチャートを用いて説明し、各機能を組み合わせた全体の動作はシーケンス図を用いて説明する。
各機能の動作については実施の形態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 variable conversion unit 211.
When the variable conversion unit 211 receives input / output to / from the common variable (F1400), the process is divided depending on whether the target common variable completely matches the input / output data type (F1401).

データ型が完全一致する場合は、変数変換部211は、そのまま値を代入または取得し(F1402)、データ型が完全一致しない場合は共通変数と共に記憶されている同義型の情報から一致する型へ変換して代入または取得する(F1403)。
変数変換部211は、例えば、トンとキログラムとの間の変換では、データ値を1000倍する、1000分の1倍するという変換を行う。
If the data types match completely, the variable conversion unit 211 assigns or acquires the value as it is (F1402). If the data types do not match completely, the variable conversion unit 211 changes the synonym type information stored together with the common variable to the matching type. It is converted and assigned or acquired (F1403).
For example, in the conversion between tons and kilograms, the variable conversion unit 211 performs conversion that multiplies the data value by 1000 or 1/1000.

各機能を組み合わせた全体の動作を、クライアント装置100がサービス連携サーバ装置200上で公開されているサービス実行サーバ装置A301のサービスAとサービス実行サーバ装置B302のサービスBをシナリオで連携して利用する場合の動作で説明する。
ここでは実施の形態2の場合と異なり、サービスAの戻り値をサービスBに渡す場合にその型(データ形式)が完全一致しないものとする。
The client apparatus 100 uses the service A of the service execution server apparatus A301 and the service B of the service execution server apparatus B302 published on the service cooperation server apparatus 200 in a scenario in cooperation with each other by combining the functions. The operation will be described.
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 client apparatus 100 uses the service A of the service execution server apparatus A301 and the service B of the service execution server apparatus B302 that are disclosed on the service cooperation server apparatus 200 in a scenario. It is the sequence diagram which showed only the input / output part.
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 / output unit 206 requests the variable conversion unit 211 to substitute a value (S0300), the variable conversion unit 211 uses the type of the common variable (data to be used as an argument or a return value when it is read next time). Compared with the format), it is checked whether direct substitution is possible (S0301).
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 / output unit 206.

次に、値の出力について説明する。
共通変数入出力部206が変数変換部211に値の参照を要求すると(S0304)、変数変換部211は共通変数の型を参照して値が参照したい型(引数又は戻り値として用いるデータ形式)かチェックする(S0305)。
異なる型であれば共通変数とともに記憶されている同義の型から値を目的の型へ変換し(S0306)、共通変数入出力部206へ変換後の値を返す(S0307)。
Next, output of values will be described.
When the common variable input / output unit 206 requests the variable conversion unit 211 to refer to the value (S0304), the variable conversion unit 211 refers to the type of the common variable and the type that the value wants to reference (data format used as an argument or a return value). Is checked (S0305).
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 variable conversion unit 211 is also performed when there is no service cooperation shown in the first embodiment. It can be performed.
That is, the conversion by the variable conversion unit 211 is performed when the data format differs between the client argument and the server argument, or when the data format differs between the client return value and the server return value.

以上、本実施の形態では、一時記憶領域に適切な型へ変換して情報を入出力できる手段を備えたサービス連携装置を説明した。   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 cooperation server device 200 shown in the first to third embodiments will be described.
FIG. 24 is a diagram illustrating an example of hardware resources of the service cooperation server device 200 illustrated in the first to third embodiments.
Note that the configuration in FIG. 24 is merely an example of the hardware configuration of the service cooperation server device 200, and the hardware configuration of the service cooperation server device 200 is not limited to the configuration described in FIG. There may be.

図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 cooperation server device 200 includes a CPU 911 (also referred to as a central processing unit, a central processing unit, a processing unit, a processing unit, a microprocessor, a microcomputer, and a processor) that executes a program.
The CPU 911 is connected to, for example, a ROM (Read Only Memory) 913, a RAM (Random Access Memory) 914, a communication board 915, a display device 901, a keyboard 902, a mouse 903, and a magnetic disk device 920 via a bus 912. Control hardware devices.
Further, the CPU 911 may be connected to an FDD 904 (Flexible Disk Drive), a compact disk device 905 (CDD), a printer device 906, and a scanner device 907. Further, instead of the magnetic disk device 920, a storage device such as an optical disk device or a memory card (registered trademark) read / write device may be used.
The RAM 914 is an example of a volatile memory. The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of the storage device.
The “common variable substitution value storage unit 207” described in the first to third embodiments is realized by the RAM 914 or the like.
A communication board 915, a keyboard 902, a mouse 903, a scanner device 907, an FDD 904, and the like are examples of input devices.
The communication board 915, the display device 901, the printer device 906, and the like are examples of output devices.

通信ボード915は、ネットワークに接続されている。例えば、通信ボード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 magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924.
The programs in the program group 923 are executed by the CPU 911 using the operating system 921 and the window system 922.

また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
The RAM 914 temporarily stores at least part of the operating system 921 program and application programs to be executed by the CPU 911.
The RAM 914 stores various data necessary for processing by the CPU 911.

また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
サービス連携サーバ装置200の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
The ROM 913 stores a BIOS (Basic Input Output System) program, and the magnetic disk device 920 stores a boot program.
When the service cooperation server device 200 is activated, the BIOS program in the ROM 913 and the boot program in the magnetic disk device 920 are executed, and the operating system 921 is activated by the BIOS program and the boot program.

上記プログラム群923には、実施の形態1〜3の説明において「〜部」(「共通変数代入値記憶部207」以外、以下同様)、「〜手段」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。   In the program group 923, programs that execute the functions described as “˜unit” (other than “common variable substitution value storage unit 207” hereinafter) and “˜means” in the description of the first to third embodiments. Is remembered. The program is read and executed by the CPU 911.

ファイル群924には、実施の形態1〜3の説明において、「〜の判断」、「〜の判定」、「〜の比較」、「〜の代入」、「〜の取得」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜3で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
In the description of the first to third embodiments, the file group 924 includes “determination of”, “determination of”, “comparison of”, “substitution of”, “acquisition of”, and “update of”. ”,“ Setting of ”,“ registration of ”,“ selection of ”, etc., information, data, signal values, variable values, and parameters indicating the results of the processing are represented by“ ˜file ”or“ ˜ It is stored as each item of “Database”.
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 CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, editing, output, printing, and display.
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 RAM 914, the flexible disk of the FDD904, the compact disk of the CDD905, and the magnetic field. Recording is performed on a recording medium such as a magnetic disk of the disk device 920, other optical disks, mini disks, DVDs, and the like. Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.

また、実施の形態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 ROM 913. Alternatively, it may be implemented only by software, or only by hardware such as elements, devices, substrates, and wirings, by a combination of software and hardware, or by a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read by the CPU 911 and executed by the CPU 911. That is, the program causes the computer to function as “to part” and “to means” in the first to third embodiments. Alternatively, the procedures and methods of “to part” and “to means” in the first to third embodiments are executed by a computer.

このように、実施の形態1〜3に示すサービス連携サーバ装置200は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。   As described above, the service cooperation server device 200 shown in the first to third embodiments includes a CPU as a processing device, a memory as a storage device, a magnetic disk, a keyboard as an input device, a mouse, a communication board, and a display device as an output device, A computer including a communication board and the like, and as described above, functions indicated as “˜unit” and “˜means” are realized by using these processing devices, storage devices, input devices, and output devices.

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
JP2010120301A 2010-05-26 2010-05-26 Data processing apparatus, data processing method, and program Expired - Fee Related JP5404528B2 (en)

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)

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

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

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