JP2014032543A - Service cooperation device and service cooperation program - Google Patents

Service cooperation device and service cooperation program Download PDF

Info

Publication number
JP2014032543A
JP2014032543A JP2012172977A JP2012172977A JP2014032543A JP 2014032543 A JP2014032543 A JP 2014032543A JP 2012172977 A JP2012172977 A JP 2012172977A JP 2012172977 A JP2012172977 A JP 2012172977A JP 2014032543 A JP2014032543 A JP 2014032543A
Authority
JP
Japan
Prior art keywords
service
service execution
execution program
endpoint
unit
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.)
Pending
Application number
JP2012172977A
Other languages
Japanese (ja)
Inventor
Satoru Tanaka
覚 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2012172977A priority Critical patent/JP2014032543A/en
Publication of JP2014032543A publication Critical patent/JP2014032543A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide means for suppressing an increase in memory consumption of a component used in an ESB.SOLUTION: A service cooperation device 101 includes a component X or the like connected to a service, routing definition 1211 describing kinds and parts of endpoints in order of services to be executed, endpoint management information 151 describing a component that can use the endpoints, a routing endpoint 121 for specifying the kind of an endpoint and parts of the endpoint in order of services to be executed with reference to the routing definition 1211 when receiving a request from a service requester 2, and an endpoint manager 15 for generating the specified endpoint and parts, specifying components that can use the generated endpoint with reference to the endpoint management information 151, and storing the generated endpoint and parts in a memory area to be used by the component.

Description

この発明は、サービスを連携するサービス連携装置及びサービス連携プログラムに関する。   The present invention relates to a service cooperation apparatus and a service cooperation program for linking services.

複数のシステムのデータや機能を利用して新しい機能を作成する方法としては、それぞれのシステムのデータや機能をWebサービスのようなサービスとして公開し、公開したサービスを連携させるSOA(Service Oriented Architecture:サービス指向アーキテクチャ) という方法がある。このSOAにおいて複数のサービスを連携させるためのミドルウェアとしてESB(Enterprise Service Bus)というソフトウェアが存在する。このESBは、コンポーネントと呼ばれる部品群を持っている(非特許文献1「4.3 High−Level Architecture」)。コンポーネントは、起動するサービスを呼出したり、コード変換のような処理を行うための部品群であり、サービスを連携させるときは、コンポーネント間でデータの受け渡しが行われる。コンポーネント間で受け渡されるデータは、ノーマライズメッセージと呼ばれるメッセージに格納される。例えば、サービス連携のために、サービスから取得したデータをあるコンポーネントから別のコンポーネントに渡す場合、取得したデータをノーマライズメッセージの中に格納して、そのメッセージを送信する。メッセージを受信したコンポーネントは、格納されているデータを使用して処理を行う。メッセージの受信や処理は、コンポーネントの中のエンドポイントと呼ばれる部品で処理を行う。   As a method of creating a new function by using data and functions of a plurality of systems, an SOA (Service Oriented Architecture) that publishes the data and functions of each system as a service such as a Web service and links the published services with each other. Service-oriented architecture). As middleware for linking a plurality of services in this SOA, there is software called ESB (Enterprise Service Bus). This ESB has a group of parts called components (Non-patent Document 1 “4.3 High-Level Architecture”). A component is a group of parts for calling a service to be activated or performing processing such as code conversion. When services are linked, data is exchanged between components. Data passed between components is stored in a message called a normalize message. For example, when data acquired from a service is passed from one component to another for service cooperation, the acquired data is stored in a normalized message and the message is transmitted. The component that has received the message performs processing using the stored data. Message reception and processing is performed by a component called an endpoint in the component.

コンポーネントやエンドポイントは、それぞれメモリ上に確保された領域を使用しており、コンポーネントやエンドポイントが増えた場合、メモリの消費量が増える。コンポーネントやその中のエンドポイントは、同じ種類のものであっても、呼出すサービスごとに異なる設定が必要になることがあり、それぞれの設定にあわせてコンポーネントやエンドポイントが用意される。すなわち、それぞれにメモリを消費する。サービス連携においては、ルーティングコンポーネントと呼ばれるコンポーネントが使用される。ルーティングコンポーネントは、他のコンポーネントの起動順番を制御するために使用され、設定された順番に従って、このルーティングコンポーネントが必要なコンポーネントに対してメッセージを送信することでサービスの起動順番が制御される。この制御の流れをルーティングという。ルーティングを定義することにより、複数のシステムのデータや機能が連携させた新しい機能が作成される。ルーティングの定義の中には、使用するサービスのためのエンドポイントを直接指定する方法や、特許文献1のように、ルーティングの中で使用するサービスの種類を指定する方法がある。特許文献1では、同じ処理が行えるサービスが複数あった場合に、それらの中から適切なサービスを選ぶための技術が開示されている。   Each component and endpoint uses an area secured on the memory, and when the number of components and endpoints increases, the amount of memory consumption increases. Even if the components and the endpoints in them are of the same type, different settings may be required for each service to be called, and components and endpoints are prepared for each setting. That is, each consumes memory. In service cooperation, a component called a routing component is used. The routing component is used to control the activation order of other components, and according to the set order, the activation order of services is controlled by transmitting a message to a component required by the routing component. This control flow is called routing. By defining the routing, a new function in which data and functions of a plurality of systems are linked is created. In the definition of routing, there are a method of directly specifying an end point for a service to be used, and a method of specifying a type of service to be used in routing as in Patent Document 1. Patent Document 1 discloses a technique for selecting an appropriate service from among a plurality of services that can perform the same processing.

特開2009−169793号公報JP 2009-169793 A

Java Business Integration 1.0<http://jcp.org/aboutJava/communityprocess/final/jsr208/index.html>(2012年7月17日現在、アクセス可能)(Javaは登録商標)Java Business Integration 1.0 <http: // jcp. org / aboutJava / communityprocess / final / jsr208 / index. html> (accessible as of July 17, 2012) (Java is a registered trademark)

特許文献1においては、同一の処理を行うサービスが複数ある場合は、一つのサービスが停止していても代替となるサービスを自動で選ぶ方法が開示されている。そのため、同一の処理を行うサービスが多い場合、耐障害性を高くすることができる。しかし、サービスとの連結部であるコンポーネントがそれぞれのサービスごとに必要となり、ESBのメモリ消費量が増えてしまうという課題がある。   Patent Document 1 discloses a method of automatically selecting an alternative service even when one service is stopped when there are a plurality of services that perform the same processing. Therefore, when there are many services that perform the same processing, fault tolerance can be increased. However, a component that is a connection part with a service is required for each service, and there is a problem that the memory consumption of the ESB increases.

この発明は、ESBで使用するコンポーネントが増えた場合にも、コンポーネントやエンドポイントを共通的に使用することでメモリ消費量の増加を抑制することを目的とする。   An object of the present invention is to suppress an increase in memory consumption by commonly using components and endpoints even when the number of components used in the ESB increases.

この発明のサービス連携装置は、
少なくとも一つのサービスと連結する少なくとも一つのサービス連結部と、
前記サービス連結部が利用する情報を格納するメモリ領域を有する情報格納部と、
実行するサービスの順に、サービスを実行するサービス実行プログラムの種類であり、実行するサービスを示す種類であるサービス実行プログラム種類が前記サービス実行プログラムの動作を制御する制御情報と共に記載されたサービス実行順序情報を格納するサービス実行順序情報格納部と、
複数のサービス実行プログラムの各サービス実行プログラムに対して、前記サービス実行プログラムを使用できる前記サービス連結部との対応関係が記載されたサービス実行プログラム管理情報を格納するサービス実行プログラム管理情報格納部と、
サービス実行のリクエストを受信する受信部と、
前記受信部が前記リクエストを受信すると前記サービス実行順序情報格納部のサービス実行順序情報を参照することにより、実行するサービスの順に、実行すべきサービス実行プログラムの種類と、実行すべきサービス実行プログラムの種類に対応する制御情報とを特定するサービス実行プログラム特定部と、
前記サービス実行プログラム特定部が特定した種類のサービス実行プログラムと制御情報とを生成し、前記サービス実行プログラム管理情報格納部の前記サービス実行プログラム管理情報を参照することにより、生成した種類の前記サービス実行プログラムを使用できる前記サービス連結部を特定し、特定した前記サービス連結部が利用する前記情報格納部の前記メモリ領域に、生成した前記サービス実行プログラムと前記制御情報とを格納する格納実行部と、
前記格納実行部によって前記情報格納部に格納された前記サービス実行プログラムに前記サービス実行プログラムの種類の示すサービスを実行させて、実行させた前記サービス実行プログラムから前記サービスの実行結果を取得する実行結果取得部と
を備えたことを特徴とする。
The service cooperation apparatus of this invention is
At least one service connection unit connected to at least one service;
An information storage unit having a memory area for storing information used by the service connection unit;
Service execution order information in which, in the order of the services to be executed, the types of service execution programs that execute the services, the service execution program type that indicates the service to be executed is described together with the control information that controls the operation of the service execution program A service execution order information storage unit for storing
A service execution program management information storage unit that stores service execution program management information in which a correspondence relationship with the service connection unit that can use the service execution program is described for each service execution program of a plurality of service execution programs;
A receiver for receiving a service execution request;
When the receiving unit receives the request, by referring to the service execution order information in the service execution order information storage unit, the type of service execution program to be executed and the service execution program to be executed A service execution program identification unit that identifies control information corresponding to the type;
The service execution program of the type specified by the service execution program specification unit is generated by referring to the service execution program management information in the service execution program management information storage unit. A storage execution unit for specifying the service connection unit that can use the program, and storing the generated service execution program and the control information in the memory area of the information storage unit used by the specified service connection unit;
Execution result obtained by causing the service execution program stored in the information storage unit to execute the service indicated by the type of the service execution program and acquiring the execution result of the service from the executed service execution program And an acquisition unit.

この発明によれば、ESBで使用するコンポーネントのメモリ消費量の増加を抑制することができる。   According to the present invention, an increase in memory consumption of components used in ESB can be suppressed.

実施の形態1のサービス連携装置101のブロック構成図。FIG. 2 is a block configuration diagram of a service cooperation apparatus 101 according to the first embodiment. 実施の形態1のルーティング定義1211を示す図。FIG. 6 is a diagram showing a routing definition 1211 according to the first embodiment. 実施の形態1のエンドポイント管理情報151を示す図。FIG. 5 is a diagram showing endpoint management information 151 according to the first embodiment. 実施の形態1のサービス連携装置101の動作を示すフローチャート。5 is a flowchart showing the operation of the service cooperation apparatus 101 according to the first embodiment. 実施の形態2のサービス連携装置102のブロック構成図。FIG. 4 is a block configuration diagram of a service cooperation apparatus 102 according to a second embodiment. 実施の形態2のエンドポイント状態情報152を示す図。FIG. 10 is a diagram illustrating endpoint state information 152 according to the second embodiment. 実施の形態2のサービス連携装置102の動作を示すフローチャート。9 is a flowchart showing an operation of the service cooperation apparatus 102 according to the second embodiment. 実施の形態2のエンドポイント確保の動作を表すフローチャート。9 is a flowchart illustrating an operation for securing an endpoint according to the second embodiment. 実施の形態2のエンドポイント解放の動作を表すフローチャート。9 is a flowchart illustrating an end point release operation according to the second embodiment. 実施の形態3のサービス連携装置103のブロック構成図。FIG. 6 is a block configuration diagram of a service cooperation apparatus 103 according to a third embodiment. 実施の形態3のパーツ状態情報153を示す図。The figure which shows the part status information 153 of Embodiment 3. FIG. 実施の形態3のエンドポイント確保の処理を示すフローチャート。10 is a flowchart illustrating processing for securing an endpoint according to the third embodiment. 実施の形態3のエンドポイントへのパーツセットの動作を示すフローチャート。10 is a flowchart showing an operation of a parts set to an end point according to the third embodiment. 実施の形態3のエンドポイント解放の処理を示すフローチャート。10 is a flowchart illustrating endpoint release processing according to the third embodiment. 実施の形態3のパーツをパーツプール17に返却する動作を示すフローチャート。10 is a flowchart showing an operation for returning the parts of the third embodiment to the parts pool 17; 実施の形態4のサービス連携装置101等の外観を示す図。The figure which shows the external appearance of the service cooperation apparatus 101 grade | etc., Of Embodiment 4. FIG. 実施の形態4のサービス連携装置101等のハードウェア構成を示す図。The figure which shows hardware constitutions, such as the service cooperation apparatus 101 of Embodiment 4. FIG.

実施の形態1.
図1は、実施の形態1のサービス連携装置101のブロック構成図である。図1において、サービス連携装置101は、複数のサービスを連携するためのソフトウェアである。サービス連携装置101におけるそれぞれの「〜部」は、実施の形態4で後述するように、記憶装置に格納される。実施の形態2,3で述べるサービス連携装置102,103も同様である。サービス連携装置101は、パーソナルコンピュータやサーバ装置のような計算機上のソフトウェア(例えばESB)として実現されることが多いが、専用の装置を使用してもかまわない。
Embodiment 1 FIG.
FIG. 1 is a block configuration diagram of the service cooperation apparatus 101 according to the first embodiment. In FIG. 1, a service cooperation apparatus 101 is software for linking a plurality of services. Each “˜unit” in the service cooperation apparatus 101 is stored in a storage device as described later in the fourth embodiment. The same applies to the service cooperation apparatuses 102 and 103 described in the second and third embodiments. The service cooperation apparatus 101 is often realized as software (for example, ESB) on a computer such as a personal computer or a server apparatus, but a dedicated apparatus may be used.

サービスリクエスタ2は、サービス連携装置101が公開しているサービスを利用する装置やアプリケーション(アプリケーションプログラム)である。   The service requester 2 is a device or application (application program) that uses a service published by the service cooperation device 101.

サービスA31、サービスB32、サービスC33、サービスD34は、サービス連携装置101が呼出すサービスである。   Service A31, service B32, service C33, and service D34 are services that the service cooperation apparatus 101 calls.

サービス連携装置101は、これらのサービスを連携させて新しい機能を作成する。サービスリクエスタ2は、その機能を使用する。   The service collaboration apparatus 101 creates a new function by linking these services. The service requester 2 uses the function.

(通信コンポーネント11)
サービス連携装置101の中にある通信コンポーネント11は、サービス連携装置101の中にあって、外部からのサービス実行要求を受け付けるための部品である。通信エンドポイント111(受信部)は、通信コンポーネント11の部品であり、HTTP(Hyper TexT Protocol)などのきめられた手順で、サービスリクエスタ2からのリクエストを受け付ける。
(Communication component 11)
The communication component 11 in the service cooperation apparatus 101 is a component that is in the service cooperation apparatus 101 and receives a service execution request from the outside. The communication end point 111 (reception unit) is a component of the communication component 11 and accepts a request from the service requester 2 according to a determined procedure such as HTTP (Hyper TextT Protocol).

(ルーティングコンポーネント12)
ルーティングコンポーネント12は、サービス連携を行うためにサービスの起動順番を制御するための部品である。ルーティングコンポーネント12は、通信コンポーネント11から送られたメッセージを受信し、ルーティングを行う。メッセージは、ルーティングエンドポイント121(サービス実行プログラム特定部、実行結果取得部)によって受信する。ルーティングエンドポイント121では、図2の説明で後述するルーティング定義1211(サービス実行順序情報)に従って、必要なコンポーネントにメッセージを送信する。
(Routing component 12)
The routing component 12 is a component for controlling the service activation order in order to perform service cooperation. The routing component 12 receives the message sent from the communication component 11 and performs routing. The message is received by the routing endpoint 121 (service execution program identification unit, execution result acquisition unit). The routing endpoint 121 transmits a message to a necessary component in accordance with a routing definition 1211 (service execution order information) described later in the description of FIG.

(コンポーネントX13等)
コンポーネントX13、コンポーネントY14は、サービスを実行するための部品(サービス連結部)である。それぞれ、エンドポイント(サービス実行プログラム)を持ち、それらのエンドポイントによってサービスを実行する。エンドポイントでは、受信したメッセージからサービスを実行するためのリクエストを作成したり、サービスのレスポンスからデータを抽出し、メッセージに格納したりする。エンドポイントA131、エンドポイントB132は、コンポーネントX13の部品であり、それぞれパーツa1311(制御情報)、パーツb1321(制御情報)を使用して、サービスA31、サービスB32を実行する。
(Component X13 etc.)
The component X13 and the component Y14 are parts (service connection unit) for executing a service. Each has an endpoint (service execution program), and the service is executed by these endpoints. The endpoint creates a request to execute the service from the received message, extracts data from the response of the service, and stores it in the message. The end point A131 and the end point B132 are parts of the component X13, and the service A31 and the service B32 are executed using the part a1311 (control information) and the part b1321 (control information), respectively.

(パーツa等)
パーツa1311、パーツb1321は、動作設定などを保持しており、エンドポイントA131とエンドポイントB132の動作を制御する制御情報である。すなわち、エンドポイントの動作は、エンドポイントの種類とその中で使用されるパーツとによって決定される。例えば、エンドポイントA131とエンドポイントB132が同じ種類の部品の場合でも、パーツを変更することで処理を変更することが可能である。
(Parts a etc.)
Part a 1311 and part b 1321 hold operation settings and the like, and are control information for controlling the operation of the endpoint A 131 and the endpoint B 132. That is, the operation of the endpoint is determined by the type of endpoint and the parts used therein. For example, even when the end point A 131 and the end point B 132 are the same type of part, the process can be changed by changing the part.

(コンポーネントY14等)
コンポーネントY14、エンドポイントC141、エンドポイントD142、パーツc1411、パーツd1421も、コンポーネントX13等と同様である。図1においては、コンポーネントX,Yの2個のコンポーネントを記載しているが、実際のサービス連携装置101においてはコンポーネントが2個に限定されるわけではない。コンポーネントは1個以上あればよい。エンドポイント、パーツも同様であり、1個以上あればよい。
(Component Y14 etc.)
The component Y14, the end point C141, the end point D142, the part c1411, and the part d1421 are the same as the component X13. In FIG. 1, two components X and Y are illustrated, but the actual service cooperation apparatus 101 is not limited to two components. There may be one or more components. The same applies to the end points and parts.

(エンドポイントマネージャ15)
エンドポイントマネージャ15(格納実行部、削除部)は、サービスの実行に使用されるエンドポイントを管理する部品であり、そのコンポーネントに使用できるエンドポイント種類を管理するエンドポイント管理情報151(サービス実行プログラム管理情報)を保持する。
(Endpoint Manager 15)
The endpoint manager 15 (storage execution unit, deletion unit) is a component that manages endpoints used for execution of services, and endpoint management information 151 (service execution program) that manages endpoint types that can be used for the components. Management information).

(ルーティング定義1211、エンドポイント管理情報151)
図2は、ルーティングコンポーネント12の有するルーティング定義1211の例を示す図である。ルーティング定義1211は、実行するサービスの順に、サービスを実行するためのエンドポイントの種類(サービス実行プログラム種類)とその実行設定を記述される。エンドポイントの「種類」とは、サービスを実行するエンドポイント自体の種類であり、かつ、実行するサービスを示すものである。エンドポイントが種類Aであるとは、このエンドポイントの実行するサービスが「サービスA」であることを示している。
図3は、エンドポイント管理情報151の例を示す図である。エンドポイント管理情報151は、サービス連携装置101上で使用されるエンドポイントの種類と、そのエンドポイントを使用することができるコンポーネントとの対応情報が記述される。
(Routing definition 1211, end point management information 151)
FIG. 2 is a diagram illustrating an example of the routing definition 1211 included in the routing component 12. The routing definition 1211 describes the types of endpoints (service execution program types) for executing the services and their execution settings in the order of the services to be executed. The “type” of the endpoint is the type of the endpoint itself that executes the service, and indicates the service to be executed. That the endpoint is of type A indicates that the service executed by this endpoint is “service A”.
FIG. 3 is a diagram illustrating an example of the endpoint management information 151. The end point management information 151 describes correspondence information between the types of end points used on the service cooperation apparatus 101 and components that can use the end points.

次に、図4に基づいて、実施の形態1のサービス連携装置101の動作を説明する。
図4は、サービス連携装置101の動作を示すフローチャートである。ここでは、ルーティング定義1211とエンドポイント管理情報151が、それぞれ図2、図3のように設定されている場合を考える。また、エンドポイントA131、エンドポイントD142の種類がそれぞれ、A、Dであるとする。
Next, the operation of the service cooperation apparatus 101 according to the first embodiment will be described with reference to FIG.
FIG. 4 is a flowchart showing the operation of the service cooperation apparatus 101. Here, consider a case where the routing definition 1211 and the endpoint management information 151 are set as shown in FIGS. Further, it is assumed that the types of the end point A131 and the end point D142 are A and D, respectively.

ここでエンドポイントの種類がそれぞれA、Dであるとは、種類AのエンドポイントはサービスAを実行し、種類DのエンドポイントはサービスDを実行することを意味する。なお、例えば、種類AのエンドポイントがサービスAを実行する際の処理内容は、種類Aのエンドポイントに設定されるパーツによって異なるのは前述したとおりである。   Here, the types of endpoints are A and D, respectively, that the endpoints of type A execute service A, and the endpoints of type D execute service D. For example, as described above, the processing content when the type A endpoint executes the service A differs depending on the parts set in the type A endpoint.

図4のSTARTのステップS1001は、サービス連携装置101の処理の開始を表す。この処理では、サービスリクエスタ2からサービス連携装置101に対して「サービス実行のリクエスト」が送信される。   Step S1001 of START in FIG. 4 represents the start of processing of the service cooperation apparatus 101. In this process, a “service execution request” is transmitted from the service requester 2 to the service cooperation apparatus 101.

リクエスト受付のステップS1002では、通信エンドポイント111がサービスリクエスタ2から送信されたリクエストを受信し、そのリクエストをもとにノーマライズメッセージを作成する。そして、作成したノーマライズメッセージをルーティングエンドポイント121に送信する。   In step S1002 for request reception, the communication endpoint 111 receives a request transmitted from the service requester 2, and creates a normalized message based on the request. Then, the created normalize message is transmitted to the routing endpoint 121.

ルーティングエンドポイントのステップS1003では、ノーマライズメッセージを受信したルーティングエンドポイント121は、ルーティング定義1211を参照して、最初に実行するエンドポイントの種類がAであることと、その設定としてパーツaが使用されるという情報を取得(特定)する。なお、ルーティングエンドポイント121は、サービスリクエスタ2からの「サービス実行のリクエスト」に応答する形でルーティング定義1211を参照する。この場合、例えば、サービスリクエスタ2からの「サービス実行のリクエスト」と、ルーティング定義1211とには対応関係があり、ルーティングエンドポイント121は、「サービス実行のリクエスト」に対応するルーティング定義1211を参照する。   In step S1003 of the routing endpoint, the routing endpoint 121 that has received the normalization message refers to the routing definition 1211 and the type of the endpoint to be executed first is A, and part a is used as the setting. Get (specify) information that The routing endpoint 121 refers to the routing definition 1211 in response to the “service execution request” from the service requester 2. In this case, for example, the “service execution request” from the service requester 2 has a corresponding relationship with the routing definition 1211, and the routing endpoint 121 refers to the routing definition 1211 corresponding to the “service execution request”. .

(エンドポイントAの作成:S1004)
エンドポイントA作成のステップS1004では、ルーティングエンドポイント121が、エンドポイントマネージャ15に対して種類がAであり、設定としてパーツaを使用するエンドポイントの作成を依頼する。
(1)依頼されたエンドポイントマネージャ15は、種類がAであるエンドポイントとして、エンドポイントA131を作成する。
(2)また、エンドポイントマネージャ15はパーツa1311を作成し、エンドポイントA131にセットする。
(3)次に、エンドポイントマネージャ15はエンドポイント管理情報151を参照して、作成したそのエンドポイントA131(パーツaが設定済)を、コンポーネントX13に格納する。つまり、エンドポイントマネージャ15は、エンドポイント管理情報151を参照し、パーツaがセットされたエンドポイントA131を、コンポーネントX13がエンドポイントを使用するための「記憶装置のメモリ領域」に格納する。ここで記憶装置とは、実施の形態4で後述する不揮発性メモリ及び揮発性メモリの両者を含む。また後に後述のS1006で、このエンドポイントA131を削除する際には、エンドポイントマネージャ15が、このメモリ領域からエンドポイントA131を削除する。そして、エンドポイントマネージャ15は、エンドポイントA131のアドレス情報をルーティングエンドポイント121に伝える。
(Endpoint A creation: S1004)
In step S1004 for creating an endpoint A, the routing endpoint 121 requests the endpoint manager 15 to create an endpoint that is of type A and uses part a as a setting.
(1) The requested endpoint manager 15 creates an endpoint A 131 as an endpoint of type A.
(2) Further, the endpoint manager 15 creates a part a1311 and sets it in the endpoint A131.
(3) Next, the endpoint manager 15 refers to the endpoint management information 151, and stores the created endpoint A131 (part a is already set) in the component X13. That is, the endpoint manager 15 refers to the endpoint management information 151 and stores the endpoint A 131 in which the part a is set in the “memory area of the storage device” for the component X 13 to use the endpoint. Here, the storage device includes both a nonvolatile memory and a volatile memory, which will be described later in Embodiment 4. In S1006, which will be described later, when the endpoint A131 is deleted, the endpoint manager 15 deletes the endpoint A131 from the memory area. Then, the end point manager 15 transmits the address information of the end point A 131 to the routing end point 121.

(エンドポイントAの実行:S1005)
エンドポイントA実行のステップS1005では、ルーティングコンポーネント12は、エンドポイントマネージャ15から取得したアドレス情報をもとに、エンドポイントA131に対してメッセージを送信する。エンドポイントA131はメッセージを受信すると、受信したメッセージをもとにサービスA31を実行するためのリクエストメッセージを作成し、サービスA31を起動する。次に、エンドポイントA131は、サービスA31のレスポンスからデータを取り出し、メッセージに格納し、そのメッセージを「返信」としてルーティングエンドポイント121に送信する。このように、ルーティングエンドポイント121は、エンドポイントA131を介してサービスAを実行し、サービスAからサービスAの実行結果(レスポンスデータを含む返信)を取得する。
(Execution of end point A: S1005)
In step S1005 of execution of the endpoint A, the routing component 12 transmits a message to the endpoint A 131 based on the address information acquired from the endpoint manager 15. When the endpoint A 131 receives the message, the endpoint A 131 creates a request message for executing the service A 31 based on the received message, and activates the service A 31. Next, the endpoint A 131 extracts data from the response of the service A 31, stores it in a message, and transmits the message as a “reply” to the routing endpoint 121. As described above, the routing end point 121 executes the service A via the end point A131, and acquires the execution result of the service A (a reply including response data) from the service A.

(エンドポイントAの削除:S1006)
エンドポイントA削除のステップS1006では、ルーティングエンドポイント121は、エンドポイントA131から返信を受け取ると、エンドポイントマネージャ15に対してエンドポイントA131の削除を依頼する。エンドポイントマネージャ15は依頼があると、エンドポイントA131を削除する。
(Deletion of end point A: S1006)
In step S1006 for deleting the endpoint A, the routing endpoint 121 requests the endpoint manager 15 to delete the endpoint A131 when receiving a reply from the endpoint A131. When requested, the endpoint manager 15 deletes the endpoint A131.

(エンドポイントDの作成、実行、削除:S1007〜S1009)
エンドポイントD作成のステップS1007では、ルーティングエンドポイント121は、ルーティング定義1211を参照し、次に起動するエンドポイントの情報を取得し、S1004と同様にエンドポイントD142を作成する。また、エンドポイントD実行のステップS1008、エンドポイントD削除のステップS1009では、エンドポイントA実行のステップS1005、エンドポイントA削除のステップS1006と同様に、エンドポイントDの実行と削除を行う。
(Endpoint D creation, execution, deletion: S1007 to S1009)
In step S1007 for creating the endpoint D, the routing endpoint 121 refers to the routing definition 1211, acquires information about the endpoint to be activated next, and creates the endpoint D142 in the same manner as in S1004. In step S1008 for executing endpoint D and in step S1009 for deleting endpoint D, endpoint D is executed and deleted in the same manner as in step S1005 for executing endpoint A and step S1006 for deleting endpoint A.

ルーティングエンドポイント終了のステップS1010では、実行すべきエンドポイントの実行が完了したので、ルーティングエンドポイント121は、通信エンドポイント111に返信を行う。   In step S <b> 1010, which is the end of the routing endpoint, since the execution of the endpoint to be executed is completed, the routing endpoint 121 sends a reply to the communication endpoint 111.

レスポンス送信のステップS1011では、ルーティングエンドポイント121からの返信を受け取った通信エンドポイント111は、サービスリクエスタ2に返信するためのレスポンスを作成し、そのレスポンスを送信する。   In step S1011 of response transmission, the communication end point 111 that has received a reply from the routing end point 121 creates a response for replying to the service requester 2, and transmits the response.

ENDのステップS1012では、サービスリクエスタ2がレスポンスを受信し、サービス連携装置101によるサービス実行が終了する。   In step S1012 of END, the service requester 2 receives the response, and the service execution by the service cooperation apparatus 101 ends.

以上のように、実施の形態1によればルーティングエンドポイント121が、エンドポイントマネージャ15を使用して、サービス実行時に必要なエンドポイントのみを作成し、サービスの終了時にエンドポイントを削除する。これにより、サービス連携装置101の中でエンドポイントが消費するメモリを減らすことが可能となる。   As described above, according to the first embodiment, the routing end point 121 uses the end point manager 15 to create only an end point necessary for service execution, and deletes the end point when the service ends. As a result, the memory consumed by the endpoint in the service cooperation apparatus 101 can be reduced.

実施の形態2.
図5〜図9を参照して実施の形態2のサービス連携装置102を説明する。実施の形態2のサービス連携装置102は、エンドポイントをサービス実行ごとに作成、削除をせず、作成したエンドポイントを使いまわす。
Embodiment 2. FIG.
The service cooperation apparatus 102 according to the second embodiment will be described with reference to FIGS. The service cooperation apparatus 102 according to the second embodiment does not create and delete the endpoint every time the service is executed, and reuses the created endpoint.

図5は、サービス連携装置102の構成図である。実施の形態2のサービス連携装置102では、実施の形態1のサービス連携装置101に加えてエンドポイントプール16を設けている。エンドポイントプール16は、エンドポイントマネージャ15によって作成されたエンドポイントを保持しておくための部品である。当然ではあるが、エンドポイントプール16は、記憶装置において、コンポーネントに格納されているエンドポイントとは異なるメモリ領域に格納されている。   FIG. 5 is a configuration diagram of the service cooperation apparatus 102. In the service cooperation apparatus 102 according to the second embodiment, an endpoint pool 16 is provided in addition to the service cooperation apparatus 101 according to the first embodiment. The endpoint pool 16 is a component for holding endpoints created by the endpoint manager 15. Of course, the endpoint pool 16 is stored in a memory area different from the endpoint stored in the component in the storage device.

エンドポイントプール16は、例えば図5に示すように、エンドポイントマネージャ15によって作成されたエンドポイントE161、エンドポイントF162を保持している。また、エンドポイントを管理するために、エンドポイントマネージャ15には、エンドポイント状態情報152を設けられる。
図6は、エンドポイント状態情報152で管理している情報の例である。エンドポイント状態情報152では、作成済みのエンドポイントに対して、エンドポイントの種類(そのエンドポイントの実行の対象となるサービスを示す情報)と使用中の有無とを管理する。
The endpoint pool 16 holds an endpoint E161 and an endpoint F162 created by the endpoint manager 15, for example, as shown in FIG. Further, in order to manage the endpoint, the endpoint manager 15 is provided with endpoint status information 152.
FIG. 6 is an example of information managed by the endpoint state information 152. The endpoint status information 152 manages the type of the endpoint (information indicating the service to be executed by the endpoint) and whether it is in use for the created endpoint.

図7は、サービス連携装置102の動作を表す図である。実施の形態1のサービス連携装置101の処理フローである図4との違いは、図7ではエンドポイント実行(S2005とS2008)の前後が、エンドポイント確保とエンドポイント解放とになっている点である。このエンドポイント確保とエンドポイント解放の動作について説明する。   FIG. 7 is a diagram illustrating the operation of the service cooperation apparatus 102. The difference from FIG. 4, which is the processing flow of the service cooperation apparatus 101 of the first embodiment, is that in FIG. 7, the end point execution (S2005 and S2008) is the end point securing and end point release. is there. The operation of securing the endpoint and releasing the endpoint will be described.

(エンドポイント確保:S2004)
S2004のエンドポイントの確保では、エンドポイントマネージャ15は、新たなエンドポイントの作成し、もしくは未使用のエンドポイントを使用してルーティングエンドポイント121が要求したエンドポイントを確保する。
(Endpoint reservation: S2004)
In securing the endpoint in S2004, the endpoint manager 15 creates a new endpoint or uses the unused endpoint to secure the endpoint requested by the routing endpoint 121.

図8は、エンドポイントマネージャ15によるエンドポイント確保の動作を表す図である。
(1)まず、未使用エンドポイント有無確認S3001にて、エンドポイントマネージャ15がエンドポイント状態情報152を参照し、ルーティングエンドポイント121が要求した種類のエンドポイントで未使用のものがあるかを確認する。その確認結果にもとづいて、エンドポイントマネージャ15は、エンドポイントの作成S3002もしくは未使用エンドポイントの状態更新S3003を行い、エンドポイントを確保する。
(2)エンドポイントの作成S3002は、未使用のものが無い場合の動作である。エンドポイントの作成では、エンドポイントマネージャ15はルーティングエンドポイント121から要求された種類のエンドポイントを作成し、そのエンドポイントの情報を使用中としてエンドポイント状態情報152に追加する。
(3)未使用のエンドポイントが存在する場合は、未使用エンドポイントの状態更新S3003にて、エンドポイントマネージャ15は、見つかったエンドポイントに対応するエンドポイント状態情報152の情報を「使用中」に更新する。
FIG. 8 is a diagram illustrating an operation of securing an endpoint by the endpoint manager 15.
(1) First, in S3001, the endpoint manager 15 refers to the endpoint status information 152 to check whether there is an unused endpoint of the type requested by the routing endpoint 121. To do. Based on the confirmation result, the endpoint manager 15 performs endpoint creation S3002 or unused endpoint status update S3003 to secure the endpoint.
(2) Endpoint creation S3002 is an operation when there is no unused one. In creating an endpoint, the endpoint manager 15 creates an endpoint of the type requested from the routing endpoint 121 and adds the information of the endpoint to the endpoint status information 152 as being in use.
(3) When there is an unused endpoint, in the unused endpoint status update S3003, the endpoint manager 15 “uses” the information of the endpoint status information 152 corresponding to the found endpoint. Update to

次に、エンドポイントの設定変更S3004にて、エンドポイントマネージャ15は、確保されたエンドポイントに対してルーティングエンドポイント121から要求された設定を行う。例えば、図2の例でエンドポイントAを使用する場合は、エンドポイントマネージャ15は設定に従ってパーツaを作成し、エンドポイントAにセットする。最後に、エンドポイントのアドレス伝達S3005で、エンドポイントマネージャ15はエンドポイントをコンポーネントに格納し(該当するメモリ領域にコンポーネントを格納し)、ルーティングエンドポイント121が、その確保されたエンドポイント使用できるように、ルーティングエンドポイント121にアドレスを伝えて終了する。   Next, in endpoint setting change S3004, the endpoint manager 15 performs the setting requested from the routing endpoint 121 for the secured endpoint. For example, when the endpoint A is used in the example of FIG. 2, the endpoint manager 15 creates a part a according to the setting and sets it in the endpoint A. Finally, in endpoint address transmission S3005, the endpoint manager 15 stores the endpoint in the component (stores the component in the corresponding memory area) so that the routing endpoint 121 can use the reserved endpoint. Then, the address is transmitted to the routing end point 121, and the process ends.

図9は、エンドポイント解放の動作を表す図である。エンドポイント解放では、使用済みのエンドポイントをエンドポイントプール16に返却する。   FIG. 9 is a diagram illustrating the operation of releasing the endpoint. In releasing the endpoint, the used endpoint is returned to the endpoint pool 16.

まず、エンドポイントをエンドポイントプール返却のステップS4001にて、エンドポイントマネージャ15が、ルーティングエンドポイント121から使用済みのエンドポイントの解放依頼を受ける。エンドポイントマネージャ15は、対象のエンドポイントをコンポーネントから取り出し、エンドポイントの中のパーツを削除してからエンドポイントプール16に格納する。   First, in step S4001 for returning an endpoint to the endpoint pool, the endpoint manager 15 receives a used endpoint release request from the routing endpoint 121. The endpoint manager 15 retrieves the target endpoint from the component, deletes the parts in the endpoint, and stores them in the endpoint pool 16.

次に、エンドポイント状態情報152の更新S4002にて、エンドポイント状態情報152は、エンドポイント状態情報152の中の対象のエンドポイント(プールに格納したエンドポイント)に関する情報を、「未使用」に変更して終了する。   Next, in update S4002 of the endpoint status information 152, the endpoint status information 152 sets the information regarding the target endpoint (the endpoint stored in the pool) in the endpoint status information 152 to “unused”. Change and exit.

以上のように、実施の形態2のサービス連携装置102によれば、サービスに対してエンドポイントを固定して割り当てるのではなく、エンドポイントを使いまわし、必要なときにエンドポイントを割り当ることで、作成されるエンドポイントの数を減らすことができ、メモリの消費量を減らすことができる。また、作成されているエンドポイントを使用することで、実施の形態1のサービス連携装置101ように都度エンドポイントを作成する場合に比べ、エンドポイント作成による処理時間のオーバーヘッドを減らすことができる。   As described above, according to the service cooperation apparatus 102 of the second embodiment, instead of fixing and allocating an endpoint to a service, the endpoint is reused and the endpoint is allocated when necessary. Can reduce the number of endpoints created, and can reduce memory consumption. Further, by using the created endpoint, the processing time overhead due to the creation of the endpoint can be reduced as compared with the case where the endpoint is created each time as in the service cooperation apparatus 101 of the first embodiment.

実施の形態3.
図10〜図15を参照して実施の形態3のサービス連携装置103を説明する。実施の形態3のサービス連携装置103は、実施の形態2のサービス連携装置102に対して、エンドポイントの中で使用されるパーツも実行ごとに作成、削除をせず、作成したエンドポイントに加え(実施の形態2)、パーツを使いまわす。
Embodiment 3 FIG.
The service cooperation apparatus 103 of Embodiment 3 is demonstrated with reference to FIGS. The service cooperation apparatus 103 according to the third embodiment does not create or delete parts used in the endpoints every time execution is performed on the service cooperation apparatus 102 according to the second embodiment. (Embodiment 2) Recycle parts.

図10は、実施の形態3のサービス連携装置103を示す構成図である。実施の形態3のサービス連携装置103では、実施の形態2のサービス連携装置102に加えて、パーツプール17を設けている。パーツプール17はエンドポイントマネージャ15によって作成されたパーツを保持しておくための部品である。パーツプール17はエンドポイントプール16と同様、記憶装置において、コンポーネントに格納されているエンドポイントとは異なるメモリ領域に格納されている。   FIG. 10 is a configuration diagram illustrating the service cooperation apparatus 103 according to the third embodiment. In the service cooperation apparatus 103 according to the third embodiment, a parts pool 17 is provided in addition to the service cooperation apparatus 102 according to the second embodiment. The parts pool 17 is a part for holding parts created by the endpoint manager 15. Similar to the endpoint pool 16, the parts pool 17 is stored in a memory area different from the endpoint stored in the component in the storage device.

また、エンドポイントを管理するために、エンドポイントマネージャ15には、パーツ状態情報153を設けられている。
図11は、パーツ状態情報153で管理している情報の例である。パーツ状態情報153では、作成済みのパーツに対して、パーツの種類と使用中の有無を管理する。
In order to manage the endpoint, the endpoint manager 15 is provided with part status information 153.
FIG. 11 is an example of information managed by the part status information 153. In the part status information 153, the type of part and the presence / absence of use are managed for the created part.

実施の形態3は実施の形態2に対して、実施の形態2で行ったエンドポイント確保(S2004とエンドポイント解放(S2006、S2009)が異なる。   The third embodiment is different from the second embodiment in securing the endpoint (S2004 and releasing the endpoint (S2006, S2009) performed in the second embodiment.

図12は、サービス連携装置103におけるエンドポイント確保の処理を示す図である。実施の形態2のサービス連携装置102におけるエンドポイント確保との違いは、エンドポイントの設定変更をS3004をエンドポイントへのパーツセットS5004に変更し、エンドポイントの設定に使用する部品をエンドポイントの確保時に作成しないで、パーツプール17を使用して確保したパーツを使用するようにした点である。   FIG. 12 is a diagram illustrating an endpoint securing process in the service cooperation apparatus 103. The difference from the end point securing in the service cooperation apparatus 102 according to the second embodiment is that the end point setting change is changed from S3004 to the end point part set S5004, and the parts used for the end point setting are secured when the end point is secured. This is the point that the parts secured by using the parts pool 17 are used without being created.

エンドポイントへのパーツセットでは、エンドポイントマネージャ15は、パーツプール17にパーツがすでに存在するかを確認してから、パーツを確保し、エンドポイントに格納する。
図13は、エンドポイントマネージャ15によるエンドポイントへのパーツセットの動作を示す図である。
In the parts set to the end point, the end point manager 15 confirms whether or not the part already exists in the part pool 17, and then secures the part and stores it in the end point.
FIG. 13 is a diagram showing the operation of the parts set to the endpoint by the endpoint manager 15.

まず、未使用パーツ有無確認S6001にて、エンドポイントマネージャ15はパーツ状態情報153を参照し、ルーティングエンドポイント121が要求した設定のパーツで未使用のものがあるかを確認する。その確認結果にもとづいて、エンドポイントマネージャ15はパーツの作成S6002もしくは未使用パーツの状態更新S6003を行い、パーツを確保する。パーツの作成S6002は未使用のパーツが無い場合の動作である。パーツの作成では、エンドポイントマネージャ15は、ルーティングエンドポイント121から要求された設定を実現するためのパーツを作成し、そのパーツの情報を「使用中」としてパーツ状態情報153に追加する。未使用のパーツが存在する場合は、エンドポイントマネージャ15は、未使用パーツの状態更新S6003にて、見つかったパーツに対応するパーツ状態情報153の情報を使用中に更新する。   First, in the unused part presence / absence confirmation S6001, the endpoint manager 15 refers to the part status information 153 and confirms whether there is an unused part with the setting requested by the routing endpoint 121. Based on the confirmation result, the endpoint manager 15 performs part creation S6002 or unused part status update S6003 to secure the part. Part creation S6002 is an operation when there is no unused part. In creating the part, the end point manager 15 creates a part for realizing the setting requested from the routing end point 121, and adds the information of the part as “in use” to the part state information 153. If there is an unused part, the endpoint manager 15 updates the information of the part state information 153 corresponding to the found part during use in the unused part state update S6003.

次に、パーツのエンドポイントへの格納S6004にて、エンドポイントマネージャ15は、確保されたパーツをエンドポイントにセットする。エンドポイントマネージャ15は、例えば、図2の例でエンドポイントAを使用する場合は、設定に従ってパーツaを確保し、エンドポイントAにセットする。   Next, in the storing of parts into the endpoint S6004, the endpoint manager 15 sets the secured parts in the endpoint. For example, when the end point A is used in the example of FIG. 2, the end point manager 15 secures the part a according to the setting and sets it in the end point A.

図14は、実施の形態3のサービス連携装置103におけるエンドポイント解放の処理を示す図である。実施の形態2におけるエンドポイント解放との違いは、エンドポイントをエンドポイントプール16に返却する前に、パーツをパーツプール17に返却(S7001)する点である。パーツプール17への返却では、エンドポイントをプールに返却し、状態情報を更新する。
図15は、パーツをパーツプール17に返却する動作を示す図である。
FIG. 14 is a diagram illustrating endpoint release processing in the service cooperation apparatus 103 according to the third embodiment. The difference from the endpoint release in the second embodiment is that the parts are returned to the parts pool 17 (S7001) before the endpoints are returned to the endpoint pool 16. In returning to the parts pool 17, the endpoint is returned to the pool and the state information is updated.
FIG. 15 is a diagram illustrating an operation of returning parts to the parts pool 17.

パーツをパーツプール17に格納S8001では、エンドポイントマネージャ15は、エンドポイントからパーツを取り出し、パーツプール17に格納する。パーツ状態情報153の更新S8002では、エンドポイントマネージャ15は、パーツ状態情報153を更新し、返却したパーツの状態を未使用にする。   Store parts in parts pool 17 In step S8001, the endpoint manager 15 extracts parts from the endpoints and stores them in the parts pool 17. In update S8002 of the part state information 153, the endpoint manager 15 updates the part state information 153 and makes the returned part state unused.

以上のように、実施の形態3のサービス連携装置103によれば、サービスに対してエンドポイントを固定して割り当てるのではなく、エンドポイントを使いまわし、必要なときにエンドポイントを割り当る。よって、作成されるエンドポイントの数を減らすことができ、メモリの消費量を減らすことができる。また、作成されているエンドポイントを使用することで、実施の形態1のように都度エンドポイントを作成する場合に比べ、エンドポイント作成による処理時間のオーバーヘッドを減らすことができる。さらに、エンドポイントの確保時に作成されているパーツを使用することで、パーツ作成による処理時間のオーバーヘッドを減らすことができる。   As described above, according to the service cooperation apparatus 103 of the third embodiment, the endpoints are not assigned to the service in a fixed manner, but are reused and assigned to the endpoints when necessary. Therefore, the number of created endpoints can be reduced, and the memory consumption can be reduced. Further, by using the created endpoint, it is possible to reduce the processing time overhead due to the creation of the endpoint as compared with the case where the endpoint is created each time as in the first embodiment. Furthermore, by using the parts created at the time of securing the endpoint, the processing time overhead due to the parts creation can be reduced.

以上、実施の形態1〜3を説明したが、これらの実施の形態のうち、整合性のある範囲で2つ以上を組み合わせて実施しても構わない。あるいは、これらの実施の形態1〜3のうち、1つを部分的に実施しても構わない。あるいは、これらの実施の形態1〜3のうち、整合性のある範囲で2つ以上を部分的に組み合わせて実施しても構わない。なお、本発明はこれらの実施の形態に限定されるものではなく、必要に応じて種々の変形が可能である。   Although the first to third embodiments have been described above, two or more of these embodiments may be combined and implemented within a consistent range. Alternatively, one of the first to third embodiments may be partially implemented. Alternatively, two or more of these Embodiments 1 to 3 may be combined and implemented within a consistent range. In addition, this invention is not limited to these embodiment, A various deformation | transformation is possible as needed.

実施の形態4.
図16、図17を参照して実施の形態4を説明する。実施の形態4は、コンピュータであるサービス連携装置101〜103のハードウェア構成を説明する。
図16は、コンピュータであるサービス連携装置101〜103の外観の一例を示す図である。
図17は、サービス連携装置101〜103のハードウェア資源の一例を示す図である。
Embodiment 4 FIG.
The fourth embodiment will be described with reference to FIGS. 16 and 17. Embodiment 4 demonstrates the hardware constitutions of the service cooperation apparatuses 101-103 which are computers.
FIG. 16 is a diagram illustrating an example of the appearance of the service cooperation apparatuses 101 to 103 which are computers.
FIG. 17 is a diagram illustrating an example of hardware resources of the service cooperation apparatuses 101 to 103.

外観を示す図016において、サービス連携装置101等は、システムユニット830、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置813、キーボード814(Key・Board:K/B)、マウス815、コンパクトディスク装置818(CDD:Compact Disk Drive)などのハードウェア資源を備える。これらのハードウェア資源はケーブルや信号線で接続されている。システムユニット830はネットワークに接続している。   In FIG. 016 showing the appearance, the service cooperation apparatus 101 or the like includes a system unit 830, a display apparatus 813 having a CRT (Cathode / Ray / Tube) or LCD (liquid crystal) display screen, a keyboard 814 (Key / Board: K / B). ), A mouse 815, and a compact disk device 818 (CDD: Compact Disk Drive). These hardware resources are connected by cables and signal lines. The system unit 830 is connected to the network.

またハードウェア資源を示す図17において、サービス連携装置101等は、プログラムを実行するCPU810(Central Processing Unit)を備えている。CPU810は、バス825を介してROM(Read Only Memory)811、RAM(Random Access Memory)812、表示装置813、キーボード814、マウス815、通信ボード816、CDD818、磁気ディスク装置820と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置820の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。   In FIG. 17 showing hardware resources, the service cooperation apparatus 101 or the like includes a CPU 810 (Central Processing Unit) that executes a program. The CPU 810 is connected to a ROM (Read Only Memory) 811, a RAM (Random Access Memory) 812, a display device 813, a keyboard 814, a mouse 815, a communication board 816, a CDD 818, and a magnetic disk device 820 via a bus 825. Control hardware devices. Instead of the magnetic disk device 820, a storage device such as an optical disk device or a flash memory may be used.

RAM812は、揮発性メモリの一例である。ROM811、CDD818、磁気ディスク装置820等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶部、格納部、バッファ(これらを総称で、記憶装置と呼ぶ)の一例である。記憶装置(情報格納部、サービス実行順序情報格納部、サービス実行プログラム管理情報格納部、サービス実行プログラム格納部、制御情報格納部等の一例)である記憶部、格納部、バッファ等には、エンドポイントマネージャ15の作成した、エンドポイントやパーツが格納される。このとき、実施の形態1〜3に示したように、使用後にはエンドポイントやパーツが削除され(実施の形態1)、あるいは未使用状態のエンドポイントやパーツを使いまわす(実施の形態2,3)ので、メモリ使用量を低減できる。また、これらの記憶装置には、ルーティング定義1211、エンドポイント管理情報151、エンドポイント状態情報152、パーツ状態情報153等が格納される。   The RAM 812 is an example of a volatile memory. Storage media such as the ROM 811, the CDD 818, and the magnetic disk device 820 are examples of nonvolatile memories. These are examples of a storage unit, a storage unit, and a buffer (these are collectively referred to as a storage device). Storage unit (an example of information storage unit, service execution order information storage unit, service execution program management information storage unit, service execution program storage unit, control information storage unit, etc.) is a storage unit, storage unit, buffer, etc. The endpoints and parts created by the point manager 15 are stored. At this time, as shown in the first to third embodiments, the end points and parts are deleted after use (first embodiment), or the unused end points and parts are reused (second embodiment). 3) Therefore, the memory usage can be reduced. Further, these storage devices store routing definition 1211, end point management information 151, end point state information 152, part state information 153, and the like.

通信ボード816、キーボード814などは、入力部、入力装置の一例である。また、通信ボード816、表示装置813などは、出力部、出力装置の一例である。通信ボード816は、ネッワークに接続されている。   The communication board 816, the keyboard 814, and the like are examples of an input unit and an input device. The communication board 816, the display device 813, and the like are examples of an output unit and an output device. The communication board 816 is connected to the network.

磁気ディスク装置820には、オペレーティングシステム821(OS)、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823のプログラムは、CPU810、オペレーティングシステム821、ウィンドウシステム822により実行される。   The magnetic disk device 820 stores an operating system 821 (OS), a window system 822, a program group 823, and a file group 824. The programs in the program group 823 are executed by the CPU 810, the operating system 821, and the window system 822.

上記プログラム群823には、以上の実施の形態の説明において「〜部」として説明した機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。   The program group 823 stores programs that execute the functions described as “˜units” in the description of the above embodiments. The program is read and executed by the CPU 810.

ファイル群824には、以上の実施の形態の説明において、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明した情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU810によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。   In the description of the above embodiment, the file group 824 includes “to determination result”, “to calculation result”, “to extraction result”, “to generation result”, and “to processing result”. The described information, data, signal values, variable values, parameters, and the like are stored as items of “˜file” and “˜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 810 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, output, printing, and display. Information, data, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory during the CPU operations of extraction, search, reference, comparison, operation, calculation, processing, output, printing, and display. Is remembered.

また、以上に述べた実施の形態の説明において、データや信号値は、RAM812のメモリ、CDD818のコンパクトディスク、磁気ディスク装置820の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス825や信号線やケーブルその他の伝送媒体によりオンライン伝送される。   In the description of the embodiment described above, the data and signal values are the memory of the RAM 812, the compact disk of the CDD 818, the magnetic disk of the magnetic disk device 820, the other optical disk, the mini disk, and the DVD (Digital Versatile Disk). Or the like. Data and signals are transmitted on-line via the bus 825, signal lines, cables, and other transmission media.

また、以上の実施の形態の説明において、「〜部」として説明したものは、「〜手段」、であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明したものは、ソフトウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU810により読み出され、CPU810により実行される。すなわち、プログラムは、以上に述べた「〜部」としてコンピュータを機能させるものである。あるいは、以上に述べた「〜部」の手順や方法をコンピュータに実行させるものである。   In the above description of the embodiment, what has been described as “to part” may be “to means”, and “to step”, “to procedure”, and “to processing”. May be. That is, what has been described as “˜unit” may be implemented by software alone, a combination of software and hardware, or 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 810 and executed by the CPU 810. That is, the program causes the computer to function as the “˜unit” described above. Alternatively, the computer executes the procedure and method of “to part” described above.

以上の実施の形態では、サービス連携装置を説明したが、サービス連携装置はサービス連携プログラム、あるいはサービス連携装置が行うサービス連携方法としても把握できることは以上の説明から明らかである。   In the above embodiment, the service cooperation apparatus has been described. However, it is clear from the above description that the service cooperation apparatus can be grasped as a service cooperation program or a service cooperation method performed by the service cooperation apparatus.

以上の実施の形態では以下を特徴とするサービス連携装置を説明した。
ルーティングの定義にしたがって動的にサービス連携部品の確保・解放する機能を持つサービス連携装置。
In the above embodiment, the service cooperation apparatus having the following characteristics has been described.
A service cooperation device that has a function to dynamically secure and release service cooperation components according to the routing definition.

以上の実施の形態では以下を特徴とするサービス連携装置を説明した。
処理が完了したサービス連携部品を破棄しないで保持しておく機能と、サービス連携部品の状態を管理する機能とを有するサービス連携装置。
In the above embodiment, the service cooperation apparatus having the following characteristics has been described.
A service cooperation apparatus having a function of storing a service cooperation component that has been processed without discarding, and a function of managing the state of the service cooperation component.

以上の実施の形態では以下を特徴とするサービス連携装置を説明した。
サービス連携部品の処理を変更するための部品を保持しておく機能と、サービス連携部品の処理を変更するための部品を使用してサービス連携部品の処理を変更する機能とを有するサービス連携装置。
In the above embodiment, the service cooperation apparatus having the following characteristics has been described.
A service cooperation apparatus having a function for holding a part for changing processing of a service cooperation part and a function for changing processing of a service cooperation part using a part for changing the processing of the service cooperation part.

101,102,103 サービス連携装置、2 サービスリクエスタ、31 サービスA、32 サービスB、33 サービスC、34 サービスD、11 通信コンポーネント、111 通信エンドポイント、12 ルーティングコンポーネント、121 ルーティングエンドポイント、1211 ルーティング定義、13 コンポーネントX、131 エンドポイントA、1311 パーツa、132 エンドポイントB、1321 パーツb、14 コンポーネントY、141 エンドポイントC、1411 パーツc、142 エンドポイントD、1421 パーツd、15 エンドポイントマネージャ、151 エンドポイント管理情報、152 エンドポイント状態情報、153 パーツ状態情報、16 エンドポイントプール、161 エンドポイントE、162 エンドポイントF、17 パーツプール、19 記憶部。   101, 102, 103 Service cooperation device, 2 Service requester, 31 Service A, 32 Service B, 33 Service C, 34 Service D, 11 Communication component, 111 Communication endpoint, 12 Routing component, 121 Routing endpoint, 1211 Routing definition , 13 Component X, 131 Endpoint A, 1311 Part a, 132 Endpoint B, 1321 Part b, 14 Component Y, 141 Endpoint C, 1411 Part c, 142 Endpoint D, 1421 Part d, 15 Endpoint Manager, 151 Endpoint management information, 152 Endpoint status information, 153 Parts status information, 16 Endpoint pool, 161 End Into E, 162 endpoint F, 17 parts pool, 19 storage unit.

Claims (5)

少なくとも一つのサービスと連結する少なくとも一つのサービス連結部と、
前記サービス連結部が利用する情報を格納するメモリ領域を有する情報格納部と、
実行するサービスの順に、サービスを実行するサービス実行プログラムの種類であり、実行するサービスを示す種類であるサービス実行プログラム種類が前記サービス実行プログラムの動作を制御する制御情報と共に記載されたサービス実行順序情報を格納するサービス実行順序情報格納部と、
複数のサービス実行プログラムの各サービス実行プログラムに対して、前記サービス実行プログラムを使用できる前記サービス連結部との対応関係が記載されたサービス実行プログラム管理情報を格納するサービス実行プログラム管理情報格納部と、
サービス実行のリクエストを受信する受信部と、
前記受信部が前記リクエストを受信すると前記サービス実行順序情報格納部のサービス実行順序情報を参照することにより、実行するサービスの順に、実行すべきサービス実行プログラムの種類と、実行すべきサービス実行プログラムの種類に対応する制御情報とを特定するサービス実行プログラム特定部と、
前記サービス実行プログラム特定部が特定した種類のサービス実行プログラムと制御情報とを生成し、前記サービス実行プログラム管理情報格納部の前記サービス実行プログラム管理情報を参照することにより、生成した種類の前記サービス実行プログラムを使用できる前記サービス連結部を特定し、特定した前記サービス連結部が利用する前記情報格納部の前記メモリ領域に、生成した前記サービス実行プログラムと前記制御情報とを格納する格納実行部と、
前記格納実行部によって前記情報格納部に格納された前記サービス実行プログラムに前記サービス実行プログラムの種類の示すサービスを実行させて、実行させた前記サービス実行プログラムから前記サービスの実行結果を取得する実行結果取得部と
を備えたことを特徴とするサービス連携装置。
At least one service connection unit connected to at least one service;
An information storage unit having a memory area for storing information used by the service connection unit;
Service execution order information in which, in the order of the services to be executed, the types of service execution programs that execute the services, the service execution program type that indicates the service to be executed is described together with the control information that controls the operation of the service execution program A service execution order information storage unit for storing
A service execution program management information storage unit that stores service execution program management information in which a correspondence relationship with the service connection unit that can use the service execution program is described for each service execution program of a plurality of service execution programs;
A receiver for receiving a service execution request;
When the receiving unit receives the request, by referring to the service execution order information in the service execution order information storage unit, the type of service execution program to be executed and the service execution program to be executed A service execution program identification unit that identifies control information corresponding to the type;
The service execution program of the type specified by the service execution program specification unit is generated by referring to the service execution program management information in the service execution program management information storage unit. A storage execution unit for specifying the service connection unit that can use the program, and storing the generated service execution program and the control information in the memory area of the information storage unit used by the specified service connection unit;
Execution result obtained by causing the service execution program stored in the information storage unit to execute the service indicated by the type of the service execution program and acquiring the execution result of the service from the executed service execution program A service cooperation apparatus comprising an acquisition unit.
前記サービス連携装置は、さらに、
前記格納実行部が生成した前記サービス実行プログラムを格納するサービス実行プログラム格納部を備え、
前記格納実行部は、
前記サービス実行プログラム特定部がサービス実行プログラムの種類と制御情報とを特定すると、特定された種類のサービス実行プログラムとして使用できるサービス実行プログラムが前記サービス実行プログラム格納部に格納されているかどうか判定し、格納されていると判定すると、サービス実行プログラムを生成することなく、格納されていると判定したサービス実行プログラムを使用することを特徴とする請求項1記載のサービス連携装置。
The service cooperation apparatus further includes:
A service execution program storage unit for storing the service execution program generated by the storage execution unit;
The storage execution unit
When the service execution program specifying unit specifies the type and control information of the service execution program, it is determined whether a service execution program that can be used as the specified type of service execution program is stored in the service execution program storage unit, The service cooperation apparatus according to claim 1, wherein if the service execution program is determined to be stored, the service execution program determined to be stored is used without generating the service execution program.
前記サービス連携装置は、さらに、
前記格納実行部が生成した前記制御情報を格納する制御情報格納部を備え、
前記格納実行部は、
前記サービス実行プログラム特定部がサービス実行プログラムの種類と制御情報とを特定すると、特定された制御情報として使用できる制御情報が前記制御情報格納部に格納されているかどうか判定し、格納されていると判定すると、前記制御情報を生成することなく、格納されていると判定した制御情報を使用することを特徴とする請求項2記載のサービス連携装置。
The service cooperation apparatus further includes:
A control information storage unit for storing the control information generated by the storage execution unit;
The storage execution unit
When the service execution program specifying unit specifies the type of service execution program and the control information, it is determined whether or not control information that can be used as the specified control information is stored in the control information storage unit. 3. The service cooperation apparatus according to claim 2, wherein when the determination is made, the control information determined to be stored is used without generating the control information.
前記サービス連携装置は、
前記実行結果取得部が前記実行結果を取得すると、前記実行結果の取得元の前記サービス実行プログラムと、このサービス実行プログラムの前記制御情報とを前記情報格納部の前記メモリ領域から削除する削除部を備えたことを特徴とする請求項1記載のサービス連携装置。
The service cooperation device
When the execution result acquisition unit acquires the execution result, a deletion unit that deletes the service execution program from which the execution result is acquired and the control information of the service execution program from the memory area of the information storage unit The service cooperation apparatus according to claim 1, further comprising:
コンピュータを、
少なくとも一つのサービスと連結する少なくとも一つのサービス連結部、
前記サービス連結部が利用する情報を格納するメモリ領域を有する情報格納部、
実行するサービスの順に、サービスを実行するサービス実行プログラムの種類であり、実行するサービスを示す種類であるサービス実行プログラム種類が前記サービス実行プログラムの動作を制御する制御情報と共に記載されたサービス実行順序情報を格納するサービス実行順序情報格納部、
複数のサービス実行プログラムの各サービス実行プログラムに対して、前記サービス実行プログラムを使用できる前記サービス連結部との対応関係が記載されたサービス実行プログラム管理情報を格納するサービス実行プログラム管理情報格納部、
サービス実行のリクエストを受信する受信部、
前記受信部が前記リクエストを受信すると前記サービス実行順序情報格納部のサービス実行順序情報を参照することにより、実行するサービスの順に、実行すべきサービス実行プログラムの種類と、実行すべきサービス実行プログラムの種類に対応する制御情報とを特定するサービス実行プログラム特定部、
前記サービス実行プログラム特定部が特定した種類のサービス実行プログラムと制御情報とを生成し、前記サービス実行プログラム管理情報格納部の前記サービス実行プログラム管理情報を参照することにより、生成した種類の前記サービス実行プログラムを使用できる前記サービス連結部を特定し、特定した前記サービス連結部が利用する前記情報格納部の前記メモリ領域に、生成した前記サービス実行プログラムと前記制御情報とを格納する格納実行部、
前記格納実行部によって前記情報格納部に格納された前記サービス実行プログラムに前記サービス実行プログラムの種類の示すサービスを実行させて、実行させた前記サービス実行プログラムから前記サービスの実行結果を取得する実行結果取得部
として機能させるためのサービス連携プログラム。
Computer
At least one service linking unit linked to at least one service;
An information storage unit having a memory area for storing information used by the service connection unit;
Service execution order information in which, in the order of the services to be executed, the types of service execution programs that execute the services, the service execution program type that indicates the service to be executed is described together with the control information that controls the operation of the service execution program Service execution order information storage unit for storing
A service execution program management information storage unit for storing service execution program management information in which a correspondence relationship with the service connection unit capable of using the service execution program is described for each service execution program of a plurality of service execution programs;
A receiving unit that receives a service execution request,
When the receiving unit receives the request, by referring to the service execution order information in the service execution order information storage unit, the type of service execution program to be executed and the service execution program to be executed A service execution program identification unit that identifies control information corresponding to the type,
The service execution program of the type specified by the service execution program specification unit is generated by referring to the service execution program management information in the service execution program management information storage unit. A storage execution unit for specifying the service connection unit that can use the program and storing the generated service execution program and the control information in the memory area of the information storage unit used by the specified service connection unit;
Execution result obtained by causing the service execution program stored in the information storage unit to execute the service indicated by the type of the service execution program and acquiring the execution result of the service from the executed service execution program Service linkage program to function as an acquisition unit.
JP2012172977A 2012-08-03 2012-08-03 Service cooperation device and service cooperation program Pending JP2014032543A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012172977A JP2014032543A (en) 2012-08-03 2012-08-03 Service cooperation device and service cooperation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012172977A JP2014032543A (en) 2012-08-03 2012-08-03 Service cooperation device and service cooperation program

Publications (1)

Publication Number Publication Date
JP2014032543A true JP2014032543A (en) 2014-02-20

Family

ID=50282320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012172977A Pending JP2014032543A (en) 2012-08-03 2012-08-03 Service cooperation device and service cooperation program

Country Status (1)

Country Link
JP (1) JP2014032543A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102059807B1 (en) * 2018-06-27 2019-12-27 주식회사 티맥스 소프트 Technique for memory management on service oriented architecture

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102059807B1 (en) * 2018-06-27 2019-12-27 주식회사 티맥스 소프트 Technique for memory management on service oriented architecture

Similar Documents

Publication Publication Date Title
RU2503056C2 (en) Xml-based web feed for web access of remote sources
JP5188284B2 (en) Service connection system and service connection method
US20100082737A1 (en) Dynamic service routing
US20150186228A1 (en) Managing nodes in a distributed computing environment
CN111258565B (en) Method, system, server and storage medium for generating applet
US20100023953A1 (en) Method and apparatus for executing application
CN111127181B (en) Voucher accounting method and device
US10838798B2 (en) Processing system for performing predictive error resolution and dynamic system configuration control
US20090319651A1 (en) System and method for hosting one or more versions of a service using a service proxy
JP7194214B2 (en) Data processing method and device, electronic device, storage medium, and computer program for mini appli
CN111756847B (en) Method and device for supporting https protocol by website
EP3816821A2 (en) Search method and apparatus, electronic device and storage medium
MX2013014808A (en) Presentation software automation services.
CN105094857B (en) Method and system for application load
EP3690655A1 (en) Method and system to tag and route the striped backups to a single deduplication instance on a deduplication appliance
CN109445966B (en) Event processing method, device, medium and computing equipment
JP2014032543A (en) Service cooperation device and service cooperation program
CN111124291A (en) Data storage processing method and device of distributed storage system and electronic equipment
US11606399B2 (en) System and method for meeting preparation and user content management using heterogeneous cloud service providers
CN113722007B (en) Configuration method, device and system of VPN branch equipment
GB2462523A (en) Workflow automation and request processing
US11675683B2 (en) Method, electronic device, and computer program product for monitoring storage system
US9712942B2 (en) Performance of secure mobile applications
US10102036B2 (en) Providing additional thread context to assist memory locality
CN114281604B (en) Data recovery method and device, electronic equipment and storage medium