JP2010002963A - Service cooperation method, service cooperation program, bp (business process) node, and service cooperation system - Google Patents

Service cooperation method, service cooperation program, bp (business process) node, and service cooperation system Download PDF

Info

Publication number
JP2010002963A
JP2010002963A JP2008158952A JP2008158952A JP2010002963A JP 2010002963 A JP2010002963 A JP 2010002963A JP 2008158952 A JP2008158952 A JP 2008158952A JP 2008158952 A JP2008158952 A JP 2008158952A JP 2010002963 A JP2010002963 A JP 2010002963A
Authority
JP
Japan
Prior art keywords
service
transmission destination
node
unit
response notification
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
JP2008158952A
Other languages
Japanese (ja)
Inventor
Yoshiichi Aizawa
宣一 相澤
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008158952A priority Critical patent/JP2010002963A/en
Publication of JP2010002963A publication Critical patent/JP2010002963A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To process a large amount of BP in a short time in a system for processing the BP by service cooperation. <P>SOLUTION: A transmission destination inquiry section 22 of a service node 2, based on an execution result of a service processing section 21, prepares a transmission destination inquiry request 81 of inquiring about the service node 2 as the transmission destination of a service execution request 83 for service call, and transmits it to a BP node 1. A transmission destination determining section 11 of the BP node 1 searches a transmission destination determining table 12 using, as a search key, a set of the execution result and a state before transition included in the transmission destination inquiry request 81, and determines the retrieved service node 2 of the state before transition as the transmission destination. A service call section 23 of the service node 2 transmits the service execution request 83 to the service node 2 of the determined transmission destination. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、サービス連携方法、サービス連携プログラム、BPノード、および、サービス連携システムに関する。   The present invention relates to a service cooperation method, a service cooperation program, a BP node, and a service cooperation system.

近年、SOA(Service Oriented Architecture)の普及により、サービス呼び出しのインタフェースが規格化されたサービスが増加し、サービス呼び出しが容易になった。サービス呼び出しとは、サービスを実施するためのプログラムを実行するコンピュータであるサービスノードに対する、サービスの実施を依頼することである。   In recent years, with the spread of Service Oriented Architecture (SOA), services with standardized service call interfaces have increased and service calls have become easier. A service call is a request for service execution to a service node, which is a computer that executes a program for executing a service.

そこで、所定の業務の流れを示すBP(Business Process)を個々のサービス呼び出しに分離し、それらのサービス呼び出しを複数台のサービスノードに分散して実行させることにより、BPを実行する形態のサービス連携(協調)システムが増加している。   Therefore, BP (Business Process) indicating the flow of a predetermined business is separated into individual service calls, and these service calls are distributed to multiple service nodes and executed so that BP is executed. (Cooperative) systems are increasing.

サービス連携を実現する際に、あるサービスの実行結果(プロセス状態情報)が、別のサービスの実行に必要になることもある。そのときには、あるサービスノードから別のサービスノードへのプロセス状態情報の送信が必要となる。   When realizing service cooperation, the execution result (process state information) of one service may be necessary for the execution of another service. At that time, it is necessary to transmit process state information from one service node to another.

特許文献1には、サービスノード間のプロセス状態情報のやりとりを仲介する情報共有装置をサービスノードとは別に設け、その情報共有装置に対するサービスノードのデータアクセスに排他制御を導入することにより、プロセス状態情報のやりとりを実現する旨が記載されている。
特開2007−213603号公報
In Patent Document 1, an information sharing apparatus that mediates exchange of process state information between service nodes is provided separately from the service node, and exclusive control is introduced into the data access of the service node for the information sharing apparatus, whereby the process state It describes that the exchange of information is realized.
JP 2007-213603 A

サービス連携システムの代表的な性能指標として、単位時間あたりに処理可能なBPの量(いわゆるスループット)が挙げられる。スループットが高いシステムでは、短時間で大量のBP(トラフィック)を処理することができるため、スループットの向上は、サービス連携システムに対して求められている。   A typical performance index of the service cooperation system is the amount of BP that can be processed per unit time (so-called throughput). Since a system with high throughput can process a large amount of BP (traffic) in a short time, an improvement in throughput is required for the service cooperation system.

特許文献1に記載された情報共有装置を用いる方式では、サービスノード間でのプロセス状態情報のアクセス衝突を避けるために、排他制御を行う必要があった。このため、この排他処理による負荷が発生してしまい、この負荷がサービス連携システム全体でのボトルネック(弱点)となる。その結果、サービス連携システムのスループットを充分に向上することができなかった。   In the method using the information sharing apparatus described in Patent Document 1, it is necessary to perform exclusive control in order to avoid an access collision of process state information between service nodes. For this reason, a load due to this exclusive processing occurs, and this load becomes a bottleneck (weak point) in the entire service cooperation system. As a result, the throughput of the service cooperation system could not be sufficiently improved.

そこで、本発明は、前記した課題を解決し、サービス連携によりBPを処理するシステムにおいて、短時間で大量のBPを処理することを、主な目的とする。   Therefore, the present invention has as its main object to solve the above-described problems and to process a large amount of BP in a short time in a system that processes BP by service cooperation.

前記課題を解決するため、本発明は、各状態とその状態間の遷移として表現されるBP(Business Process)を管理するBPノードと、BPを構成するサービス呼び出しを受け付けてサービスを実行する複数台のサービスノードと、をネットワークで接続することにより構成されるサービス連携システムにおいて、BPで規定される順にサービス呼び出しを行うサービス連携方法であって、
前記BPノードが、送信先決定部と、応答通知部と、を有するとともに、送信先決定用データを記憶手段に格納し、
前記BPノードの前記送信先決定用データには、所定のサービス呼び出しを示す遷移前状態と、前記所定のサービス呼び出しにおけるサービス処理部の実行結果と、前記所定のサービス呼び出しの次のサービス呼び出しを示す遷移後状態と、がエントリとして対応づけて格納され、
前記サービスノードが、前記サービス処理部と、送信先問合せ部と、を有し、

前記サービスノードの前記サービス処理部が、サービス呼び出しのための第1サービス実行要求を受け付けると、その第1サービス実行要求に含まれるデータをもとにサービスを実行し、
前記サービスノードの前記送信先問合せ部が、前記サービス処理部の実行結果をもとに、次のサービス呼び出しのための第2サービス実行要求の送信先となる前記サービスノードを問い合わせる旨の送信先問合せ要求を作成して前記BPノードに送信し、
前記BPノードの前記送信先決定部が、受信した前記送信先問合せ要求に含まれる遷移前状態と、実行結果と、の組を検索キーとして、前記送信先決定用データを検索し、その検索キーを含むエントリの遷移後状態におけるサービス呼び出しの相手となる前記サービスノードを送信先として決定し、
前記BPノードの前記応答通知部が、前記送信先決定部が決定した送信先を含む送信先応答通知を、前記サービスノードに送信し、
前記サービスノードが、受信した前記送信先応答通知で指定される送信先の前記サービスノードに対して、前記第2サービス実行要求を送信することを特徴とする。
その他の手段は、後記する。
In order to solve the above-described problems, the present invention provides a BP node that manages each state and a BP (Business Process) expressed as a transition between the states, and a plurality of units that receive a service call that configures the BP and execute a service. In a service cooperation system configured by connecting a service node to a service node in a network, a service cooperation method for calling services in the order defined by BP,
The BP node includes a transmission destination determination unit and a response notification unit, and stores transmission destination determination data in a storage unit;
The destination determination data of the BP node indicates a pre-transition state indicating a predetermined service call, an execution result of a service processing unit in the predetermined service call, and a service call next to the predetermined service call. The post-transition state is stored in association with the entry,
The service node includes the service processing unit and a destination inquiry unit;

When the service processing unit of the service node receives a first service execution request for calling a service, the service is executed based on data included in the first service execution request,
A destination query that the destination query unit of the service node queries the service node that is a destination of a second service execution request for the next service call based on the execution result of the service processing unit Create a request and send it to the BP node;
The transmission destination determination unit of the BP node searches the transmission destination determination data using a set of a pre-transition state and an execution result included in the received transmission destination inquiry request as a search key, and the search key Determining the service node as the destination of the service call in the post-transition state of the entry containing
The response notification unit of the BP node transmits a transmission destination response notification including the transmission destination determined by the transmission destination determination unit to the service node;
The service node transmits the second service execution request to the service node of the transmission destination specified by the received transmission destination response notification.
Other means will be described later.

本発明によれば、サービス連携によりBPを処理するシステムにおいて、短時間で大量のBPを処理することが可能となった。   According to the present invention, a large amount of BP can be processed in a short time in a system that processes BP by service cooperation.

以下、本発明の一実施形態を、図面を参照して説明する。   Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

図1は、サービス実行システムの一例を示す構成図である。サービス実行システムは、BPノード1と、1台以上(図1では3台を例示)のサービスノード2と、をネットワーク9で接続することにより構成される。BPノード1は、送信先決定部11と、送信先決定テーブル12と、応答通知部14と、を有する。サービスノード2は、サービス処理部21と、送信先問合せ部22と、サービス呼出部23を有する。これらの各構成要素の詳細は図2以降で説明することとし、以下の図1の説明では、本システムの全体的な概要を説明する。   FIG. 1 is a configuration diagram illustrating an example of a service execution system. The service execution system is configured by connecting a BP node 1 and one or more service nodes 2 (three are illustrated in FIG. 1) via a network 9. The BP node 1 includes a transmission destination determination unit 11, a transmission destination determination table 12, and a response notification unit 14. The service node 2 includes a service processing unit 21, a transmission destination inquiry unit 22, and a service call unit 23. The details of each of these components will be described in FIG. 2 and the subsequent drawings. In the following description of FIG. 1, an overall outline of the present system will be described.

サービスノード2aは、取引先のクライアント端末(図示省略)などからサービス実行要求83を受信すると、自身が担当するサービスAを実施するためのサービス処理部21を起動する。サービス実行要求83とは、サービス処理部21がサービスを実施するために必要な入力パラメータを含む要求メッセージである。   When the service node 2a receives a service execution request 83 from a client terminal (not shown) of a business partner, the service node 2a activates the service processing unit 21 for implementing the service A that it is responsible for. The service execution request 83 is a request message including input parameters necessary for the service processing unit 21 to implement a service.

サービスノード2aの送信先問合せ部22は、サービス処理部21の処理結果、および、受信したサービス実行要求83をもとに、送信先問合せ要求81を作成し、BPノード1の応答通知部14に送信する。送信先問合せ要求81とは、サービスノード2aが他のサービスノード2と連携するときに、次にサービス実行要求83を送信する送信先(ここでは、サービスノード2b)を問い合わせる旨の要求メッセージである。   The transmission destination inquiry unit 22 of the service node 2a creates a transmission destination inquiry request 81 based on the processing result of the service processing unit 21 and the received service execution request 83, and sends it to the response notification unit 14 of the BP node 1. Send. The transmission destination inquiry request 81 is a request message for inquiring a transmission destination (here, the service node 2b) to which the service execution request 83 is transmitted next when the service node 2a cooperates with another service node 2. .

BPノード1の応答通知部14は、送信先問合せ要求81を受信すると、その送信先問合せ要求81に含まれる送信先の手がかりとなるデータを送信先決定部11に通知して、送信先の決定を依頼する。送信先決定部11は、通知されたデータと、送信先決定テーブル12に格納されているデータとを照合することにより、送信先を決定する。送信先決定部11は、決定された送信先を通知するための送信先応答通知82を作成して、送信先問合せ部22に返信する。   When the response notification unit 14 of the BP node 1 receives the transmission destination inquiry request 81, the response notification unit 14 notifies the transmission destination determination unit 11 of data that is a clue to the transmission destination included in the transmission destination inquiry request 81, and determines the transmission destination. Request. The transmission destination determination unit 11 determines the transmission destination by collating the notified data with the data stored in the transmission destination determination table 12. The transmission destination determination unit 11 creates a transmission destination response notification 82 for notifying the determined transmission destination and sends it back to the transmission destination inquiry unit 22.

サービスノード2aの送信先問合せ部22は、受信した送信先応答通知82に含まれる送信先を参照することにより、次にサービス実行要求83を送信する送信先が、サービスノード2bであることを認識する。そして、サービスノード2aは、サービス処理部21の処理結果、および、受信したサービス実行要求83をもとに、サービス呼出部23でサービスノード2bへのサービス実行要求83を作成し、サービスノード2bに送信する。   The transmission destination inquiry unit 22 of the service node 2a refers to the transmission destination included in the received transmission destination response notification 82, and recognizes that the transmission destination of the next service execution request 83 is the service node 2b. To do. Then, the service node 2a creates a service execution request 83 for the service node 2b by the service calling unit 23 based on the processing result of the service processing unit 21 and the received service execution request 83, and sends the service execution request 83 to the service node 2b. Send.

以上説明したように、サービスノード2aからサービスノード2bへのサービス連携が、BPノード1による送信先(連携先)の決定処理により、円滑に実行される。同様に、サービスBを実施するためのサービスノード2bから、サービスCを実施するためのサービスノード2cへのサービス連携も、BPノード1が送信先(連携先)を決定することにより、実現される。   As described above, service cooperation from the service node 2 a to the service node 2 b is smoothly executed by the transmission destination (cooperation destination) determination process by the BP node 1. Similarly, service cooperation from the service node 2b for implementing the service B to the service node 2c for implementing the service C is also realized by the BP node 1 determining a transmission destination (cooperation destination). .

以下、サービス実行システムにおいてやりとりされる各メッセージについて、表を参照して説明する。図1の破線矢印で示す送信先問合せ要求81および送信先応答通知82は、それぞれシンプルな固定フォーマットのメッセージであるため、細い線で表記した。
一方、図1の実線矢印で示すサービス実行要求83は、サービスに関する詳細な情報を含む可変フォーマットのメッセージであるため、メッセージ量が多いことにより、太い線で表記した。
Hereinafter, each message exchanged in the service execution system will be described with reference to a table. The transmission destination inquiry request 81 and the transmission destination response notification 82 indicated by the broken-line arrows in FIG. 1 are simple fixed format messages, and are therefore indicated by thin lines.
On the other hand, the service execution request 83 indicated by the solid line arrow in FIG. 1 is a variable format message including detailed information about the service, and is therefore indicated by a thick line due to the large amount of messages.

Figure 2010002963
Figure 2010002963

表1に示す送信先問合せ要求81は、サービスノード2aからBPノード1に送信されるメッセージである。送信先問合せ要求81は、BP名と、処理通番と、遷移前状態と、サービス実行結果と、問合せ応答先と、を含めて構成される。
BP名は、今回のサービス連携の対象となるBPの名称である。同じサービス処理を行うとしても、BP名が異なる場合は、次のサービス処理を示す送信先(連携先)が異なることもある。
処理通番は、BP名で指定されるBPを実施するための処理を単位として、他の処理と区別するために採番される通番である。
遷移前状態は、送信先問合せ要求81の送信時における、BP内の状態を示す。
サービス実行結果は、送信先問合せ要求81を作成するサービスノード2における、サービス処理部21の処理結果を示す。
問合せ応答先は、この送信先問合せ要求81を受け取ったBPノード1に対して、送信先応答通知82の応答先を指定する。具体的には、応答先として「問合せ要求元」または「送信先」のいずれかが指定される。なお、図1においては、3つの送信先問合せ要求81が全て「問合せ要求元」へと応答されるので、送信先問合せ要求81ごとの指定が不要となり、この「問合せ応答先」を省略してもよい。
The transmission destination inquiry request 81 shown in Table 1 is a message transmitted from the service node 2a to the BP node 1. The transmission destination inquiry request 81 includes a BP name, a processing sequence number, a pre-transition state, a service execution result, and an inquiry response destination.
The BP name is the name of the BP that is the target of the current service cooperation. Even if the same service process is performed, if the BP name is different, the transmission destination (cooperation destination) indicating the next service process may be different.
The process serial number is a serial number that is numbered to distinguish it from other processes in units of processes for implementing the BP specified by the BP name.
The pre-transition state indicates a state in the BP when the transmission destination inquiry request 81 is transmitted.
The service execution result indicates a processing result of the service processing unit 21 in the service node 2 that creates the transmission destination inquiry request 81.
The inquiry response destination specifies the response destination of the transmission destination response notification 82 for the BP node 1 that has received the transmission destination inquiry request 81. Specifically, either “inquiry request source” or “transmission destination” is designated as the response destination. In FIG. 1, since all three destination inquiry requests 81 are responded to “inquiry request source”, designation for each destination inquiry request 81 becomes unnecessary, and this “inquiry response destination” is omitted. Also good.

Figure 2010002963
Figure 2010002963

表2に示す送信先応答通知82は、送信先問合せ要求81を受信したBPノード1からサービスノード2aに返信されるメッセージである。送信先応答通知82は、BP名と、処理通番と、遷移後状態と、送信先と、データタイプと、を含めて構成される。
BP名と、処理通番とは、送信先問合せ要求81で指定される値をそのまま代入する。なお、送信先問合せ要求81の処理通番が(空欄)のときには、BPノード1が既に採番した番号と異なるユニークな番号を処理通番として採番する。
遷移後状態は、送信先問合せ要求81の遷移前状態からみて、次に遷移するBP内の状態を示す。
送信先は、送信先決定部11により決定されたサービスノード2が指定される。
データタイプは、送信先に送信する予定のサービス実行要求83のデータ形式を特定するための情報を示す。送信先応答通知82を受信したサービスノード2は、データタイプに適合する形式でサービス実行要求83を作成する。
The transmission destination response notification 82 shown in Table 2 is a message returned from the BP node 1 that has received the transmission destination inquiry request 81 to the service node 2a. The transmission destination response notification 82 includes a BP name, a processing sequence number, a post-transition state, a transmission destination, and a data type.
The values specified in the transmission destination inquiry request 81 are substituted as they are for the BP name and the processing sequence number. When the processing serial number of the transmission destination inquiry request 81 is (blank), a unique number different from the number already assigned by the BP node 1 is assigned as the processing serial number.
The post-transition state indicates the state in the BP that makes the next transition as viewed from the pre-transition state of the transmission destination inquiry request 81.
As the transmission destination, the service node 2 determined by the transmission destination determination unit 11 is designated.
The data type indicates information for specifying the data format of the service execution request 83 scheduled to be transmitted to the transmission destination. The service node 2 that has received the transmission destination response notification 82 creates a service execution request 83 in a format suitable for the data type.

Figure 2010002963
Figure 2010002963

表3に示すサービス実行要求83は、送信先応答通知82を受信したサービスノード2aからサービスノード2bに送信されるメッセージである。サービス実行要求83は、ヘッダ部と、データ部とを含めて構成される。ヘッダ部は、BP名と、処理通番と、遷移前状態と、遷移後状態と、送信先と、データタイプと、を含めて構成される。
BP名と、処理通番と、遷移前状態には、送信先問合せ要求81で指定された値を代入する。
遷移後状態と、送信先と、データタイプには、送信先応答通知82で指定された値を代入する。
The service execution request 83 shown in Table 3 is a message transmitted from the service node 2a that has received the transmission destination response notification 82 to the service node 2b. The service execution request 83 includes a header part and a data part. The header part includes a BP name, a processing sequence number, a pre-transition state, a post-transition state, a transmission destination, and a data type.
The values specified in the transmission destination inquiry request 81 are assigned to the BP name, processing sequence number, and pre-transition state.
The value designated by the transmission destination response notification 82 is substituted for the post-transition state, the transmission destination, and the data type.

サービス実行要求83のデータ部は、注文対象の商品に関する情報(商品コード、品名、単価)と、注文量に関する情報(商品の数量およびその数量に応じた金額)と、発注者に関する情報(発注者コード、発注者名、発注日)と、納入に関する情報(分割納入可否、最終納期)と、を含む。このデータ部のデータ形式は、ヘッダ部のデータタイプ(在庫確認指示)により規定される。   The data portion of the service execution request 83 includes information on the product to be ordered (product code, product name, unit price), information on the order quantity (the quantity of the product and the amount corresponding to the quantity), and information on the orderer (orderer) Code, orderer name, order date) and delivery information (split delivery availability, final delivery date). The data format of the data part is defined by the data type (inventory confirmation instruction) of the header part.

図2は、図1に示したサービス実行システムを構成する各装置の詳細を示す構成図である。   FIG. 2 is a block diagram showing details of each device constituting the service execution system shown in FIG.

図2の各装置(BPノード1およびサービスノード2)は、それぞれCPU(Central Processing Unit)91と、メモリ92と、I/Oデバイス94と、ハードディスク97と、を少なくとも備えるコンピュータとして構成される。
CPU91は、メモリ92上の各処理部のプログラムを実行することで、演算処理機能を実現する。
メモリ92は、RAM(Random Access Memory)などにより構成される。メモリ92は、他装置との通信処理を制御するための通信処理部95と、各処理部(送信先決定部11、応答通知部14、サービス処理部21、送信先問合せ部22、サービス呼出部23)のプログラムとそれらを動作させるためのOS(Operating System)93と、そのプログラムがアクセスする各データ(送信先決定テーブル12)と、をハードディスク97から読み取って記録するとともに、CPU91に実行させるために読み取らせる。
I/Oデバイス94は、コンソール96と接続し、このコンソール96を介してユーザとのやりとり(データ入出力)を実行する。
ハードディスク97は、プログラムがアクセスする各データ(アクセスログ13、アクセスキャッシュ24)を不揮発性の記憶媒体に記憶する。
Each apparatus (BP node 1 and service node 2) in FIG. 2 is configured as a computer including at least a CPU (Central Processing Unit) 91, a memory 92, an I / O device 94, and a hard disk 97.
The CPU 91 implements an arithmetic processing function by executing a program of each processing unit on the memory 92.
The memory 92 is configured by a RAM (Random Access Memory) or the like. The memory 92 includes a communication processing unit 95 for controlling communication processing with other devices, each processing unit (transmission destination determination unit 11, response notification unit 14, service processing unit 21, transmission destination inquiry unit 22, service call unit. 23) and the OS (Operating System) 93 for operating the programs and each data (destination determination table 12) accessed by the programs are read from the hard disk 97, recorded, and executed by the CPU 91. To read.
The I / O device 94 is connected to the console 96 and performs exchanges (data input / output) with the user via the console 96.
The hard disk 97 stores each data (access log 13 and access cache 24) accessed by the program in a nonvolatile storage medium.

BPノード1は、送信先決定部11と、送信先決定テーブル12と、アクセスログ13と、応答通知部14と、を有する。
サービスノード2は、サービス処理部21と、送信先問合せ部22と、サービス呼出部23と、アクセスキャッシュ24と、を有する。
以下、各構成要素の詳細を説明する。
The BP node 1 includes a transmission destination determination unit 11, a transmission destination determination table 12, an access log 13, and a response notification unit 14.
The service node 2 includes a service processing unit 21, a transmission destination inquiry unit 22, a service call unit 23, and an access cache 24.
Details of each component will be described below.

Figure 2010002963
Figure 2010002963

表4に示す送信先決定テーブル12は、BPごとにそのBP内の状態遷移に着目して作成されるテーブルである。送信先決定テーブル12は、遷移前状態と、サービス実行結果と、送信先応答通知(遷移後状態、送信先、データタイプ)と、を対応づけて構成する。
遷移前状態、および、サービス実行結果は、送信先問合せ要求81で指定されるデータである。
送信先応答通知(遷移後状態、送信先、データタイプ)は、送信先応答通知82で指定されるデータである。
以下、送信先決定テーブル12が作成される過程を説明する。
The transmission destination determination table 12 shown in Table 4 is a table created by paying attention to the state transition in the BP for each BP. The transmission destination determination table 12 is configured by associating the pre-transition state, the service execution result, and the transmission destination response notification (post-transition state, transmission destination, data type).
The pre-transition state and the service execution result are data specified by the transmission destination inquiry request 81.
The transmission destination response notification (post-transition state, transmission destination, data type) is data specified by the transmission destination response notification 82.
Hereinafter, a process of creating the transmission destination determination table 12 will be described.

図3は、図1のサービス実行システムが実行するBPの一例を示すフローチャートである。このフローチャートは、受注を受け付けて在庫を確認し出荷指示書を印刷する旨のBPを示す。   FIG. 3 is a flowchart showing an example of a BP executed by the service execution system shown in FIG. This flowchart shows a BP that accepts an order, confirms inventory, and prints a shipping instruction.

サービスノード2aは、サービスA処理として取引先のクライアント端末から送信された注文伝票(サービス実行要求83)を受信すると、サービスノード2aのサービス処理部21が、サービスA処理(注文受付)を実行する(S11)。そして、サービス処理部21は、サービスA処理の結果を判定し(S12)、「成功&少量注文」ならS15へ、「成功&大量注文」ならS13へ、「失敗」なら「異常終了」へ、それぞれ処理を移行する。   When the service node 2a receives the order slip (service execution request 83) transmitted from the client terminal of the customer as the service A process, the service processing unit 21 of the service node 2a executes the service A process (order reception). (S11). Then, the service processing unit 21 determines the result of the service A process (S12). If “success & small order”, the process proceeds to S15. If “success & large order”, the process proceeds to S13. Each process is transferred.

S12で「成功&大量注文」の場合、サービスノード2bは、サービスノード2aから送信された在庫確認指示(サービス実行要求83)を受信すると、サービスノード2bのサービス処理部21が、サービスB処理(在庫確認)を実行する(S13)。そして、サービス処理部21は、サービスB処理の結果を判定し(S14)、「成功」ならS15へ、「失敗」なら「異常終了」へ、それぞれ処理を移行する。   In the case of “success & bulk order” in S12, when the service node 2b receives the inventory confirmation instruction (service execution request 83) transmitted from the service node 2a, the service processing unit 21 of the service node 2b performs service B processing ( Inventory check) is executed (S13). Then, the service processing unit 21 determines the result of the service B processing (S14), and shifts the processing to “S15” if “success” and “abnormal termination” if “failure”.

S12で「成功&少量注文」の場合、または、S14で「成功」の場合、サービスノード2cは、サービスノード2bから送信された出荷指示(サービス実行要求83)を受信すると、サービスノード2cのサービス処理部21が、サービスC処理(出荷)を実行する(S13)。具体的には、サービスノード2cは、出荷指示に記載された内容を、紙面に出荷指示書として印刷する。そして、サービス処理部21は、サービスC処理の結果を判定し(S16)、「成功」なら「正常終了」へ、「失敗」なら「異常終了」へ、それぞれ処理を移行する。   In the case of “success & small order” in S12 or “success” in S14, when the service node 2c receives the shipping instruction (service execution request 83) transmitted from the service node 2b, the service of the service node 2c The processing unit 21 executes service C processing (shipment) (S13). Specifically, the service node 2c prints the contents described in the shipping instruction as a shipping instruction on the paper. Then, the service processing unit 21 determines the result of the service C processing (S16), and shifts the processing to “normal end” if “success” and “abnormal end” if “failure”.

「正常終了」および「異常終了」に処理が移行すると、サービスノード2のコンソール96上に処理結果に応じたメッセージを表示する。「異常終了」の場合、そのコンソール96のオペレータがエラー要因を取り除いてから、各サービス処理を続行してもよい。   When the processing shifts to “normal end” and “abnormal end”, a message corresponding to the processing result is displayed on the console 96 of the service node 2. In the case of “abnormal termination”, each service process may be continued after the operator of the console 96 removes the cause of the error.

図4は、図3のBPから作成されるBPの状態遷移図である。図4の状態遷移図は、楕円で示す各状態と、各状態間を矢印で接続する遷移と、の組み合わせにより表現される。   FIG. 4 is a state transition diagram of a BP created from the BP of FIG. The state transition diagram of FIG. 4 is expressed by a combination of each state indicated by an ellipse and a transition connecting each state with an arrow.

図4の状態は、サービス呼び出しアクティビティを示す状態(「サービスA処理」、「サービスB処理」、「サービスC処理」)と、BPの処理結果を示す状態(「正常終了」、「異常終了」)とに分類できる。
よって、図3のフローチャートから、サービス呼び出しアクティビティ(S11,S13,S15)および終了端子(「正常終了」、「異常終了」)を検出することにより、BPの各状態を抽出することができる。
The states in FIG. 4 are states indicating service call activity (“service A processing”, “service B processing”, “service C processing”), and states indicating BP processing results (“normal end”, “abnormal end”). ).
Therefore, by detecting the service call activity (S11, S13, S15) and the end terminal ("normal end", "abnormal end") from the flowchart of FIG. 3, each state of the BP can be extracted.

図4の各遷移には、遷移条件と、遷移処理とが対応づけられている。遷移条件とは、対応する遷移が発生するための条件である。遷移処理とは、対応する遷移が発生する際に実行される処理内容を示す。
よって、図3のフローチャートから、サービス呼び出しアクティビティの後に行われる判定処理(S12,S14,S16)に着目し、各判定処理の判定結果値(例えば、成功)を遷移条件とし、かつ、その判定処理の次にサービス呼び出しアクティビティが行われるときには、そのサービス呼び出しを行うための指示を遷移処理とすることで、BPの各遷移を抽出することができる。一方、判定処理の次に終了端子が存在するときには、遷移処理は「なし」とする。
Each transition in FIG. 4 is associated with a transition condition and a transition process. The transition condition is a condition for causing a corresponding transition. The transition process indicates a process content executed when a corresponding transition occurs.
Therefore, focusing on the determination processing (S12, S14, S16) performed after the service call activity from the flowchart of FIG. 3, the determination result value (for example, success) of each determination processing is used as a transition condition, and the determination processing is performed. Next, when a service call activity is performed, each transition of the BP can be extracted by using an instruction for performing the service call as a transition process. On the other hand, when there is an end terminal next to the determination process, the transition process is “none”.

表4に戻り、送信先決定テーブル12は、図4の状態遷移図と等価な情報であり、BPを、各状態とその状態間の遷移で表現するデータ構造である。つまり、表形式で示す送信先決定テーブル12と、状態遷移図で示す図4のBPとは、ともに、送信先決定用データとなる。なぜなら、同じオートマトンは、表形式でも、状態遷移図でも表現できるからである。なお、表4の送信先決定テーブル12のレコードが含む対応情報「遷移前状態、実行結果、および、遷移後状態」は、遷移前状態および実行結果から遷移後状態を特定するためのエントリの一例である。
例えば、図4の状態遷移図において、状態「サービスA処理」から、状態「サービスB処理」への遷移として、遷移条件「成功&大量注文」および遷移処理「在庫確認指示」が示されている。同様に、表4の遷移前状態「サービスA処理」のサービス実行結果「成功&大量注文」は、遷移後状態「サービスB処理」、送信先「サービスB」、データタイプ「在庫確認指示」に対応づけられている。
なお、表3に示すサービス実行要求83は、ここで説明した状態「サービスA処理」から状態「サービスB処理」への遷移における「在庫確認指示」の具体的な内容を示している。
Returning to Table 4, the transmission destination determination table 12 is information equivalent to the state transition diagram of FIG. 4, and has a data structure that represents each BP by each state and a transition between the states. That is, both the transmission destination determination table 12 shown in a table format and the BP of FIG. 4 shown in the state transition diagram are transmission destination determination data. This is because the same automaton can be expressed in a table form or a state transition diagram. The correspondence information “pre-transition state, execution result, and post-transition state” included in the record of the transmission destination determination table 12 in Table 4 is an example of an entry for specifying the post-transition state from the pre-transition state and the execution result. It is.
For example, in the state transition diagram of FIG. 4, the transition condition “success & bulk order” and the transition process “inventory check instruction” are shown as the transition from the state “service A process” to the state “service B process”. . Similarly, the service execution result “success & bulk order” in the pre-transition state “service A process” in Table 4 is set to the post-transition state “service B process”, the transmission destination “service B”, and the data type “stock check instruction”. It is associated.
The service execution request 83 shown in Table 3 indicates the specific contents of the “stock check instruction” in the transition from the state “service A process” to the state “service B process” described here.

Figure 2010002963
Figure 2010002963

表5に示すサービス実行要求83は、表4における状態「サービスA処理」から状態「サービスC処理」への遷移における「出荷指示」の具体的な内容を示している。この「出荷指示」では、受け付けた注文が「少量注文」なので、納期回数が1回(一括納入)となっている。表5におけるデータ部の形式は、表3と同様である。   The service execution request 83 shown in Table 5 indicates specific contents of the “shipment instruction” in the transition from the state “Service A process” to the state “Service C process” in Table 4. In this “shipment instruction”, since the accepted order is “small order”, the number of delivery times is one (batch delivery). The format of the data part in Table 5 is the same as that in Table 3.

Figure 2010002963
Figure 2010002963

表6に示すサービス実行要求83は、表4における状態「サービスB処理」から状態「サービスC処理」への遷移における「出荷指示」の具体的な内容を示している。この「出荷指示」では、受け付けた注文が「大量注文」なので、納期回数が2回(分割納入)となっている。表6におけるデータ部の形式は、表3と同様である。   The service execution request 83 shown in Table 6 indicates specific contents of the “shipment instruction” in the transition from the state “Service B process” to the state “Service C process” in Table 4. In this “shipment instruction”, since the accepted order is “mass order”, the number of delivery times is two (split delivery). The format of the data part in Table 6 is the same as that in Table 3.

以上、送信先決定テーブル12が作成される過程を説明した。この送信先決定テーブル12の作成処理は、コンピュータ(BPノード1など)が行う自動処理としてもよいし、人間が手作業で送信先決定テーブル12を作成し、BPノード1に対して作成結果の送信先決定テーブル12をデータ入力することとしてもよい。   The process of creating the transmission destination determination table 12 has been described above. The creation process of the transmission destination determination table 12 may be an automatic process performed by a computer (such as the BP node 1), or the transmission destination determination table 12 is manually created by a human, Data may be input to the transmission destination determination table 12.

図2の送信先決定部11は、送信先問合せ要求81と、その送信先問合せ要求81で指定されるBP名の送信先決定テーブル12とを照合することにより、送信先応答通知82に記載される送信先を決定する。
具体的には、送信先決定部11は、送信先問合せ要求81に含まれる「遷移前状態」および「サービス実行結果」の組を検索キーとして、送信先決定テーブル12から該当する(検索キーを含む)レコードを検索する。そして、送信先決定部11は、検索されたレコード内の送信先応答通知(遷移後状態、送信先、データタイプ)を、応答するための送信先応答通知82に含ませる。つまり、送信先決定部11は、検索されたレコード内の「送信先」を、サービス実行要求83の送信先となるサービスノード2の特定情報として決定する。
The transmission destination determination unit 11 in FIG. 2 is described in the transmission destination response notification 82 by collating the transmission destination inquiry request 81 with the transmission destination determination table 12 of the BP name specified by the transmission destination inquiry request 81. Determine the destination.
Specifically, the transmission destination determination unit 11 uses the combination of “pre-transition state” and “service execution result” included in the transmission destination inquiry request 81 as a search key, and corresponds to the transmission destination determination table 12 (the search key is changed). Search for records. Then, the transmission destination determination unit 11 includes the transmission destination response notification (post-transition state, transmission destination, data type) in the searched record in the transmission destination response notification 82 for responding. That is, the transmission destination determination unit 11 determines “transmission destination” in the searched record as the specific information of the service node 2 that is the transmission destination of the service execution request 83.

サービスノード2の応答通知部14は、送信先決定部11により決定された送信先決定テーブル12内の送信先応答通知の内容をもとに、送信先応答通知82を作成し、サービスノード2の送信先決定部11へと送信(問合せ応答)する。ここで、送信先応答通知82の問合せ応答先は、送信先問合せ要求81の「問合せ応答先」において指定されたサービスノード2である。なお、問合せ応答先が「送信先」であっても、送信先決定部11が送信先「なし」と決定したときには、代わりに「問合せ要求元」が「問合せ応答先」となる。   The response notification unit 14 of the service node 2 creates a transmission destination response notification 82 based on the content of the transmission destination response notification in the transmission destination determination table 12 determined by the transmission destination determination unit 11. It transmits (inquiry response) to the transmission destination determination unit 11. Here, the inquiry response destination of the transmission destination response notification 82 is the service node 2 specified in the “inquiry response destination” of the transmission destination inquiry request 81. Even if the inquiry response destination is “transmission destination”, when the transmission destination determination unit 11 determines that the transmission destination is “none”, “inquiry request source” becomes “inquiry response destination” instead.

Figure 2010002963
Figure 2010002963

表7に示すBPノード1のアクセスログ13は、タイムスタンプと、BP名と、処理通番と、遷移前状態と、サービス実行結果と、問合せ応答先と、遷移後状態と、送信先と、データタイプと、が対応づけて構成される。このアクセスログ13は、受信された送信先問合せ要求81、および、その返答として送信する送信先応答通知82を対応づけて記録するものである。
タイムスタンプは、受信した送信先問合せ要求81の受信時刻を示す。なお、タイムスタンプを記録するためには、各BPノード1が内蔵する時計の時刻を、NTP(Network Time Protocol)などで互いに合わせておくことが必要である。
遷移前状態と、サービス実行結果と、問合せ応答先とは、送信先問合せ要求81で指定されるデータである。
遷移後状態と、送信先と、データタイプとは、対応する送信先応答通知82で指定されるデータである。
The access log 13 of the BP node 1 shown in Table 7 includes a time stamp, a BP name, a processing sequence number, a pre-transition state, a service execution result, an inquiry response destination, a post-transition state, a transmission destination, data A type is associated with each other. The access log 13 records the received transmission destination inquiry request 81 and the transmission destination response notification 82 transmitted as a response in association with each other.
The time stamp indicates the reception time of the received transmission destination inquiry request 81. In order to record the time stamp, it is necessary to match the time of the clock built in each BP node 1 with NTP (Network Time Protocol) or the like.
The pre-transition state, the service execution result, and the inquiry response destination are data specified by the transmission destination inquiry request 81.
The post-transition state, the transmission destination, and the data type are data specified by the corresponding transmission destination response notification 82.

アクセスログ13は、BPの処理状況をトレースするために記録される。BPノード1が実行するトレース処理とは、具体的には、BP名および処理通番の組が等しいレコードをすべて収集し、タイムスタンプの順に並べるトレースデータを作成する処理である。これにより、アクセスログ13から一連のBP処理におけるサービス連携の振る舞いを一括で把握することができ、各処理ステップでの処理結果や状態遷移の状況を追跡することができる。   The access log 13 is recorded for tracing the processing status of the BP. Specifically, the trace process executed by the BP node 1 is a process of collecting all records having the same set of BP name and process serial number and creating trace data arranged in the order of time stamps. Thereby, it is possible to grasp the service cooperation behavior in a series of BP processes from the access log 13 at a time, and it is possible to trace the processing results and the state transition states at each processing step.

サービスノード2のサービス処理部21は、受信したサービス実行要求83をもとに、BPを実現するためのサービスを処理する。このサービス処理部21は、1台のサービスノード2に対して1つのサービス処理部21を有する専用装置の形態としてもよいし、1台のサービスノード2に対して複数のサービス処理部21を有する兼用装置の形態としてもよい。   The service processing unit 21 of the service node 2 processes a service for realizing BP based on the received service execution request 83. The service processing unit 21 may be in the form of a dedicated device having one service processing unit 21 for one service node 2 or may have a plurality of service processing units 21 for one service node 2. It may be in the form of a dual-purpose device.

アクセスキャッシュ24は、送信先問合せ部22が送信する送信先問合せ要求81と、その応答である送信先応答通知82と、を対応づけて格納するデータであり、送信先決定テーブル12と同じデータ形式で、その少なくとも一部が格納される。   The access cache 24 is data that stores a destination inquiry request 81 transmitted by the destination inquiry unit 22 and a destination response notification 82 that is a response to the request, and has the same data format as the destination determination table 12. At least a part of it is stored.

以上、図2の各構成要素の詳細を説明した。なお、アクセスログ13およびアクセスキャッシュ24は、サービス連携を実現する際の付加的な機能を実現するための構成要素であるので、必ず備えている必要があるものではなく、適宜省略が可能である。   The details of each component in FIG. 2 have been described above. Note that the access log 13 and the access cache 24 are components for realizing an additional function when realizing service cooperation, and thus are not necessarily provided and can be omitted as appropriate. .

図5は、図3のBPに沿って、図1のサービス実行システムが実行するサービス連携処理を示すフローチャートである。   FIG. 5 is a flowchart showing service cooperation processing executed by the service execution system of FIG. 1 along the BP of FIG.

サービスノード2aは、取引先のクライアント端末(図示省略)などからサービス実行要求83を受信する(S101)と、自身が担当するサービスA(注文受付)を実施するためのサービス処理部21を起動する(S102)。
サービスノード2aの送信先問合せ部22は、サービスAの実行結果(成功&大量注文)をもとに送信先問合せ要求81を作成してBPノード1の応答通知部14に送信することで、送信先の問合せを実行する(S103)。
BPノード1の応答通知部14は、送信先問合せ要求81を受信すると、送信先決定部11に対して送信先決定テーブル12を検索させることにより、送信先(ここでは、サービスBを処理するサービスノード2b)を決定する(S131)。応答通知部14は、決定した送信先を含む送信先応答通知82を作成し、サービスノード2aに返信する。
サービスノード2aのサービス呼出部23は、受信した送信先応答通知82で指定される送信先(サービスノード2b)およびデータタイプ(在庫確認指示)をもとに、送信先へのサービス実行要求83を作成し、送信先へ送信する(S104)。
When the service node 2a receives a service execution request 83 from a client terminal (not shown) of a business partner (S101), the service node 2a activates the service processing unit 21 for executing the service A (order reception) that the service node 2a is responsible for. (S102).
The transmission destination inquiry unit 22 of the service node 2a creates a transmission destination inquiry request 81 based on the execution result (success & large order) of the service A and transmits it to the response notification unit 14 of the BP node 1, thereby transmitting The previous inquiry is executed (S103).
When the response notification unit 14 of the BP node 1 receives the transmission destination inquiry request 81, the response notification unit 14 causes the transmission destination determination unit 11 to search the transmission destination determination table 12, thereby transmitting the transmission destination (in this case, the service that processes the service B). Node 2b) is determined (S131). The response notification unit 14 creates a transmission destination response notification 82 including the determined transmission destination and returns it to the service node 2a.
The service calling unit 23 of the service node 2a sends a service execution request 83 to the transmission destination based on the transmission destination (service node 2b) and the data type (inventory check instruction) specified by the received transmission destination response notification 82. Create and send to the destination (S104).

サービスノード2bは、サービスノード2aからサービス実行要求83を受信する(S111)と、自身が担当するサービスB(在庫確認)を実施するためのサービス処理部21を起動する(S112)。
サービスノード2bの送信先問合せ部22は、サービスBの実行結果(成功)をもとに送信先問合せ要求81を作成してBPノード1の応答通知部14に送信することで、送信先の問合せを実行する(S113)。
BPノード1の応答通知部14は、送信先問合せ要求81を受信すると、送信先決定部11に対して送信先決定テーブル12を検索させることにより、送信先(ここでは、サービスCを処理するサービスノード2c)を決定する(S132)。応答通知部14は、決定した送信先を含む送信先応答通知82を作成し、サービスノード2bに返信する。
サービスノード2bのサービス呼出部23は、受信した送信先応答通知82で指定される送信先(サービスノード2c)およびデータタイプ(出荷指示)をもとに、送信先へのサービス実行要求83を作成し、送信先へ送信する(S114)。
When the service node 2b receives the service execution request 83 from the service node 2a (S111), the service node 2b activates the service processing unit 21 for executing the service B (inventory check) in charge (S112).
The transmission destination inquiry unit 22 of the service node 2b creates a transmission destination inquiry request 81 based on the execution result (success) of the service B and transmits it to the response notification unit 14 of the BP node 1, thereby inquiring the transmission destination. Is executed (S113).
When the response notification unit 14 of the BP node 1 receives the transmission destination inquiry request 81, the response notification unit 14 causes the transmission destination determination unit 11 to search the transmission destination determination table 12, thereby transmitting the transmission destination (here, the service that processes the service C). Node 2c) is determined (S132). The response notification unit 14 creates a transmission destination response notification 82 including the determined transmission destination and sends it back to the service node 2b.
The service calling unit 23 of the service node 2b creates a service execution request 83 for the transmission destination based on the transmission destination (service node 2c) and the data type (shipment instruction) specified by the received transmission destination response notification 82. Then, it is transmitted to the transmission destination (S114).

サービスノード2cは、サービスノード2bからサービス実行要求83を受信する(S121)と、自身が担当するサービスC(出荷)を実施するためのサービス処理部21を起動する(S122)。
サービスノード2cの送信先問合せ部22は、サービスCの実行結果(成功)をもとに送信先問合せ要求81を作成してBPノード1の応答通知部14に送信することで、送信先の問合せを実行する(S123)。
BPノード1の応答通知部14は、送信先問合せ要求81を受信すると、送信先決定部11に対して送信先決定テーブル12を検索させることにより、送信先(ここでは、正常終了なので「なし」)を決定する(S133)。応答通知部14は、決定した送信先を含む送信先応答通知82を作成し、サービスノード2cに返信する。
サービスノード2cのサービス呼出部23は、受信した送信先応答通知82で指定される送信先が「なし」なので、次のサービス実行要求83を作成せず、処理を終了する。
When the service node 2c receives the service execution request 83 from the service node 2b (S121), the service node 2c activates the service processing unit 21 for executing the service C (shipment) for which the service node 2c is responsible (S122).
The transmission destination inquiry unit 22 of the service node 2c creates a transmission destination inquiry request 81 based on the execution result (success) of the service C and transmits it to the response notification unit 14 of the BP node 1, thereby inquiring the transmission destination. Is executed (S123).
Upon receiving the transmission destination inquiry request 81, the response notification unit 14 of the BP node 1 causes the transmission destination determination unit 11 to search the transmission destination determination table 12 to thereby determine the transmission destination (in this case, “None” because of normal termination). ) Is determined (S133). The response notification unit 14 creates a transmission destination response notification 82 including the determined transmission destination and returns it to the service node 2c.
The service calling unit 23 of the service node 2c ends the process without creating the next service execution request 83 because the transmission destination designated by the received transmission destination response notification 82 is “none”.

図6は、図5の処理において、各装置に着目した処理を示すフローチャートである。   FIG. 6 is a flowchart showing processing focusing on each device in the processing of FIG.

図6(a)は、BPノード1の処理を示すフローチャートである。このフローチャートの1回分の処理が、図5の送信先決定処理(S131,S132,S133)のうちの1回分の処理に相当する。
応答通知部14は、送信先問合せ要求81を受信すると(S31)、その送信先問合せ要求81の処理通番に値が記載されているか否かを判定する(S32)。S132,S133などで処理通番があるとき(S32,Yes)にはS34へ、S131などで処理通番がないとき(S32,No)にはS33へ、それぞれ移行する。
BPノード1は、処理通番がないとき(S32,No)には、新たにユニークな処理通番を採番する(S33)。
送信先決定部11は、送信先決定テーブル12を参照して、送信先問合せ要求81で指定された状況に対応する送信先を決定する(S34)。
応答通知部14は、決定された送信先を含む送信先応答通知82を作成し、サービスノード2へ送信する。なお、S33で採番された処理通番は、送信先応答通知82に記載される。
FIG. 6A is a flowchart showing the processing of the BP node 1. One process in the flowchart corresponds to one process in the transmission destination determination process (S131, S132, S133) in FIG.
When the response notification unit 14 receives the transmission destination inquiry request 81 (S31), the response notification unit 14 determines whether or not a value is written in the processing sequence number of the transmission destination inquiry request 81 (S32). When there is a process sequence number in S132, S133, etc. (S32, Yes), the process proceeds to S34, and when there is no process sequence number, such as S131 (S32, No), the process proceeds to S33.
When there is no processing sequence number (S32, No), the BP node 1 assigns a new unique processing sequence number (S33).
The transmission destination determination unit 11 refers to the transmission destination determination table 12 and determines a transmission destination corresponding to the situation designated by the transmission destination inquiry request 81 (S34).
The response notification unit 14 creates a transmission destination response notification 82 including the determined transmission destination and transmits it to the service node 2. The process serial number assigned in S33 is described in the transmission destination response notification 82.

図6(b)は、サービスノード2の処理を示すフローチャートである。図5では、図6(b)のフローチャートの3回分の処理が、実行される。
サービスノード2は、サービス実行要求83を受信する(S41)と、サービス処理部21を起動して、自身が担当するサービス処理を実行する(S42)。
送信先問合せ部22は、S42の実行結果をもとに送信先問合せ要求81を作成してBPノード1の応答通知部14に送信することで、送信先の問合せを実行する(S43)。
送信先問合せ部22は、S43への応答として受信した送信先応答通知82を参照し、その中に送信先が指定されているか否かを判定する(S44)。送信先があるとき(S44,Yes)には、S45へ処理を移行し、送信先がないとき(S44,No)には、処理を終了する。
送信先があるとき(S44,Yes)、サービスノード2のサービス呼出部23は、受信した送信先応答通知82で指定される送信先およびデータタイプをもとに、送信先へのサービス実行要求83を作成し、送信先へ送信する(S45)。
FIG. 6B is a flowchart showing the processing of the service node 2. In FIG. 5, the process for the third time in the flowchart of FIG. 6B is executed.
When the service node 2 receives the service execution request 83 (S41), the service node 2 activates the service processing unit 21 and executes the service processing that it is in charge of (S42).
The transmission destination inquiry unit 22 executes transmission destination inquiry by creating a transmission destination inquiry request 81 based on the execution result of S42 and transmitting it to the response notification unit 14 of the BP node 1 (S43).
The transmission destination inquiry unit 22 refers to the transmission destination response notification 82 received as a response to S43, and determines whether or not a transmission destination is specified therein (S44). When there is a transmission destination (S44, Yes), the process proceeds to S45, and when there is no transmission destination (S44, No), the process ends.
When there is a transmission destination (S44, Yes), the service calling unit 23 of the service node 2 uses the transmission destination and data type specified in the received transmission destination response notification 82 to execute a service execution request 83 to the transmission destination. Is transmitted to the transmission destination (S45).

以上説明した本実施形態は、以下のようにその趣旨を逸脱しない範囲で広く変形実施することができる。   The present embodiment described above can be widely modified without departing from the spirit thereof as follows.

図7は、サービス実行システムの別の一例(アクセスキャッシュ24を活用する形態)を示す構成図である。図7と図1との違いは、送信先問合せ要求81および送信先応答通知82の送受信を毎回実行するか(図1)、否か(図7)である点と、サービスノード2内にアクセスキャッシュ24を備えているか(図7)、必須とはしないか(図1)である点である。   FIG. 7 is a configuration diagram showing another example of the service execution system (a form utilizing the access cache 24). The difference between FIG. 7 and FIG. 1 is that transmission / reception of the transmission destination inquiry request 81 and transmission destination response notification 82 is executed every time (FIG. 1) or not (FIG. 7), and access to the service node 2 is performed. The point is whether the cache 24 is provided (FIG. 7) or not essential (FIG. 1).

図7の各サービスノード2は、アクセスキャッシュ24を備えている。アクセスキャッシュ24は、BPノード1が保持している送信先決定テーブル12の少なくとも一部を、自ノードのメモリ上にキャッシュ(一時的に保持)するデータである。そして、サービスノード2は、既に自ノードが過去に送受信した送信先問合せ要求81および送信先応答通知82の組をアクセスキャッシュ24から参照することにより、サービスノード2内のローカル処理で送信先問合せ要求81に対応する送信先応答通知82を取得することができる。   Each service node 2 in FIG. 7 includes an access cache 24. The access cache 24 is data that caches (temporarily holds) at least a part of the destination determination table 12 held by the BP node 1 in the memory of the own node. Then, the service node 2 refers to the combination of the transmission destination inquiry request 81 and the transmission destination response notification 82 that the node has already transmitted and received in the past from the access cache 24, so that the transmission destination inquiry request is performed by local processing in the service node 2. A transmission destination response notification 82 corresponding to 81 can be acquired.

なお、図7においては、3台のサービスノード2のうちの2台分のサービスノード2が、アクセスキャッシュ24にヒットしたことにより、BPノード1との通信処理を省略している。ヒットしなかったサービスノード2bは、今回通信処理によって取得した送信先問合せ要求81および送信先応答通知82の組をアクセスキャッシュ24に格納することにより、次回以降の同じ内容の通信処理を省略できる。   In FIG. 7, the communication processing with the BP node 1 is omitted because two of the three service nodes 2 hit the access cache 24. The service node 2b that has not been hit can omit the communication processing of the same contents from the next time on by storing in the access cache 24 the set of the transmission destination inquiry request 81 and the transmission destination response notification 82 acquired by the current communication processing.

これにより、各サービスノード2は、同じ内容の送信先問合せ要求81を2回以上BPノード1に送信する必要がなくなるため、サービスノード2とBPノード1との間の通信回数を大幅に削減し、1件あたりのBP処理時間を短縮することができる。
このようにアクセスキャッシュ24を活用する形態は、特に、膨大な件数の注文を非常に高速に処理しなければならない場合に、有効である。
This eliminates the need for each service node 2 to send the destination inquiry request 81 having the same content to the BP node 1 more than once, so the number of communications between the service node 2 and the BP node 1 is greatly reduced. BP processing time per case can be shortened.
The form of utilizing the access cache 24 in this way is particularly effective when an enormous number of orders must be processed very quickly.

図8は、図3のBPに沿って、図7のサービス実行システムが実行するサービス連携処理を示すフローチャートである。   FIG. 8 is a flowchart showing service cooperation processing executed by the service execution system of FIG. 7 along the BP of FIG.

図8と図5との違いは、送信先の問合せ処理(S103,S113,S123)を毎回実行する図5に比べ、アクセスキャッシュ24への送信先の検索(S103b,S123b)により、送信先の問合せ処理を省略している図8は、通信回数が削減できている点にある。   The difference between FIG. 8 and FIG. 5 is that the destination address is searched by the access cache 24 (S103b, S123b) compared to FIG. 5 in which the destination inquiry process (S103, S113, S123) is executed each time. FIG. 8 in which the inquiry process is omitted is that the number of communications can be reduced.

なお、BPの変更(新規追加や削除も含める)に伴う送信先決定テーブル12の更新により、送信先決定テーブル12の内容と、アクセスキャッシュ24の内容とが不一致となる事態が考えられる。そのため、BPノード1は、送信先決定テーブル12の内容が更新されたときに、サービスノード2へと更新内容を通知し、サービスノード2のアクセスキャッシュ24の内容を最新の内容に保つこととしてもよい。
また、BPノード1は、送信先決定テーブル12の内容とアクセスキャッシュ24の内容とを同一化するため、送信先問合せ要求81および送信先応答通知82の組について、実際に送信された送信先問合せ要求81だけに限定せずに、複数組をまとめてサービスノード2に通知してもよい。これにより、アクセスキャッシュ24が徐々に送信先決定テーブル12に近づいていくペースを、早めることができ、ヒット率を早い段階で向上することができる。
Note that there may be a situation in which the contents of the destination determination table 12 and the contents of the access cache 24 become inconsistent due to the update of the destination determination table 12 due to the BP change (including new addition and deletion). Therefore, the BP node 1 may notify the update contents to the service node 2 when the contents of the transmission destination determination table 12 are updated, and keep the contents of the access cache 24 of the service node 2 up to date. Good.
Further, the BP node 1 makes the contents of the transmission destination determination table 12 and the contents of the access cache 24 the same, so that the transmission destination inquiry actually transmitted with respect to the combination of the transmission destination inquiry request 81 and the transmission destination response notification 82 is performed. The service node 2 may be notified collectively without limiting to the request 81 alone. Thereby, the pace at which the access cache 24 gradually approaches the transmission destination determination table 12 can be accelerated, and the hit rate can be improved at an early stage.

図9は、サービス実行システムの別の一例(共有ストレージ98を活用する形態)を示す構成図である。図9と図1との違いは、送信先応答通知82の返信先を必ず「問合せ要求元」とするか(図1)、「送信先」とするか(図9)である点と、共有ストレージ98を備えているか(図9)否か(図1)という点にある。なお、サービスノード2cへの送信先応答通知82は、その送信先応答通知82の「送信先」が「なし」であるため、自身へと返信されている。   FIG. 9 is a configuration diagram illustrating another example of the service execution system (a form in which the shared storage 98 is used). The difference between FIG. 9 and FIG. 1 is that the reply destination of the transmission destination response notification 82 is always “inquiry request source” (FIG. 1) or “transmission destination” (FIG. 9). The storage 98 is provided (FIG. 9) or not (FIG. 1). The transmission destination response notification 82 to the service node 2c is returned to itself because the “transmission destination” of the transmission destination response notification 82 is “none”.

図9のサービス実行システムは、複数のサービスノード2にそれぞれ接続される共有ストレージ98を有する。そして、図9では、サービスノード2間のサービス実行要求83の通信がサービスノード2間で直接行われる図1と異なり、共有ストレージ98を介して間接的に行われる。
つまり、送信側のサービスノード2のサービス呼出部23が共有ストレージ98にサービス実行要求83を書き込み、受信側のサービスノード2が共有ストレージ98からサービス実行要求83を読み込む。
The service execution system of FIG. 9 has a shared storage 98 connected to each of the plurality of service nodes 2. 9 differs from FIG. 1 in which the communication of the service execution request 83 between the service nodes 2 is directly performed between the service nodes 2, and is indirectly performed via the shared storage 98.
That is, the service calling unit 23 of the transmission-side service node 2 writes the service execution request 83 in the shared storage 98, and the reception-side service node 2 reads the service execution request 83 from the shared storage 98.

なお、受信側のサービスノード2は、「送信先」として送信された送信先応答通知82を受信することにより、共有ストレージ98へのサービス実行要求83の書き込みを知ることができる。そして、書き込みを知ったサービスノード2は、共有ストレージ98に対して、サービス実行要求83を読み取る。
つまり、共有ストレージ98は、サービス実行要求83を読み取るサービスノード2を指定する必要がない。よって複数のサービスノード2が同じサービス実行要求83を読み取る重複処理が発生しない。これにより、共有ストレージ98は、サービスノード2間の排他制御をする必要がないため、高速なサービス実行要求83の読み書き処理が可能となる。
The service node 2 on the receiving side can know the writing of the service execution request 83 to the shared storage 98 by receiving the transmission destination response notification 82 transmitted as “transmission destination”. Then, the service node 2 that has learned the writing reads the service execution request 83 from the shared storage 98.
That is, the shared storage 98 does not need to specify the service node 2 that reads the service execution request 83. Accordingly, there is no duplication processing in which a plurality of service nodes 2 read the same service execution request 83. As a result, the shared storage 98 does not need to perform exclusive control between the service nodes 2, so that the high-speed service execution request 83 can be read and written.

これにより、特に、サービス実行要求83のサイズが非常に大きい場合、ネットワーク9の通信帯域を圧迫せず、円滑な通信処理を実現することができる。   Thereby, especially when the size of the service execution request 83 is very large, it is possible to realize a smooth communication process without pressing the communication band of the network 9.

図10は、図3のBPに沿って、図9のサービス実行システムが実行するサービス連携処理を示すフローチャートである。   FIG. 10 is a flowchart showing service cooperation processing executed by the service execution system of FIG. 9 along the BP of FIG.

図10と図5との違いは、送信先問合せ処理(S103c、S113c)において、送信先問合せ要求81の応答先として「送信先」を指定することにより、送信先応答通知82の応答先が変更されている(S131c、S132c)。
そして、図10と図5との違いは、実行要求の送信処理を送信相手に直接送信する(S104,S114)図5に比べ、共有ストレージ98を介して間接的に送信する(S104c,S114c)図10は、点にある。
そのため、共有ストレージ98は、サービスノード2から受信したサービス実行要求83を一時的に格納するとともに、別のサービスノード2からの要求に応じて格納しているサービス実行要求83を転送する(S141,S142)。
The difference between FIG. 10 and FIG. 5 is that the response destination of the transmission destination response notification 82 is changed by designating “transmission destination” as the response destination of the transmission destination inquiry request 81 in the transmission destination inquiry processing (S103c, S113c). (S131c, S132c).
The difference between FIG. 10 and FIG. 5 is that the execution request transmission process is directly transmitted to the transmission partner (S104, S114), compared to FIG. 5, which is indirectly transmitted via the shared storage 98 (S104c, S114c). FIG. 10 is at a point.
Therefore, the shared storage 98 temporarily stores the service execution request 83 received from the service node 2 and transfers the stored service execution request 83 in response to a request from another service node 2 (S141, S142).

図11は、サービス実行システムの別の一例(BPノード1のクラスタ構成)を示す構成図である。
図11と図1との違いは、BPノード1の台数を1台にするか(図1)、複数台にするか(図11)という点と、サービス実行システムにロードバランサ3を含めるか(図11)、否か(図1)という点にある。
FIG. 11 is a configuration diagram showing another example of the service execution system (cluster configuration of BP node 1).
The difference between FIG. 11 and FIG. 1 is that the number of BP nodes 1 is one (FIG. 1) or plural (FIG. 11) and whether the load balancer 3 is included in the service execution system ( FIG. 11) or not (FIG. 1).

ロードバランサ3は、複数のBPノード1に対して、送信先問合せ要求81および送信先応答通知82の処理を振り分ける。振り分け先のBPノード1は、互いに同じ内容の送信先決定テーブル12をあらかじめ共有しているので、どのBPノード1に対して送信先問合せ要求81を送信しても、その応答としての送信先応答通知82の内容は同じである。   The load balancer 3 distributes the processing of the transmission destination inquiry request 81 and the transmission destination response notification 82 to the plurality of BP nodes 1. Since the distribution destination BP nodes 1 share the transmission destination determination table 12 having the same contents in advance, the transmission destination response as a response to any transmission destination inquiry request 81 sent to any BP node 1 The contents of the notification 82 are the same.

よって、ロードバランサ3は、複数のBPノード1の中から混雑していないBPノード1を選択して処理を振り分けることにより、負荷分散や信頼性確保を実現することができる。例えば、図11の3台のBPノード1のうち、混雑している(既に多くの処理が割り当てられている)BPノード1aに対して新たに処理を振り分けないことにより、負荷分散が可能となる。   Therefore, the load balancer 3 can realize load distribution and ensuring reliability by selecting a non-congested BP node 1 from among a plurality of BP nodes 1 and distributing processing. For example, among the three BP nodes 1 in FIG. 11, load distribution is possible by not newly distributing the processing to the BP node 1a that is congested (a lot of processing is already assigned). .

なお、BPノード1は、BPの状態遷移を規定する送信先決定テーブル12は管理するものの、現在処理中のBPの状態そのものは管理しないため、システムの負荷状況に応じてBPノード1の台数を増減させることも可能である。
つまり、BPノード1を多重化するときに、BPノード1間でサービスの実行経過を示すプロセス状態情報(サービス実行要求83におけるデータ部の内容)を管理する必要が無く、容易に多重化構成を実現できる。
Although the BP node 1 manages the transmission destination determination table 12 that defines the BP state transition, the BP node 1 does not manage the state of the BP currently being processed, so the number of the BP nodes 1 is determined according to the load status of the system. It is also possible to increase or decrease.
That is, when multiplexing BP nodes 1, there is no need to manage process status information (the contents of the data portion in the service execution request 83) indicating the progress of service execution between the BP nodes 1, and a multiplexing configuration can be easily established. realizable.

図12は、サービス実行システムが実行するBPの別の一例を示すフローチャートである。このフローチャートは、受信したデータに対して、紙面への印刷と記憶媒体への格納とを並列に実行する旨のBPを示す。   FIG. 12 is a flowchart illustrating another example of the BP executed by the service execution system. This flowchart shows a BP indicating that printing on paper and storage on a storage medium are performed in parallel on received data.

図12と図3との主な違いは、図3では各サービス呼び出しアクティビティが直列に実行されるのに対し、図12では2つのサービス呼び出しアクティビティ(S24,S26)が並列で実行される。そのために、S23において、処理を択一的ではなく並列的に分岐するAND分岐(Fork分岐とも呼ばれる)を実行する。
まず、サービスD処理としてデータ受信処理を行い(S21)、その処理結果が失敗なら(S22,失敗)、異常終了する。
次に、S24とS26とを並列に処理させるAND分岐を実行する(S23)。
S24では、サービスE処理として送信されたデータの印刷を行い(S24)、その結果が成功であれば(S25,成功)正常終了し、失敗であれば(S25,異常)異常終了する。
S26では、サービスF処理として送信されたデータの格納を行い(S26)、その結果が成功であれば(S27,成功)正常終了し、失敗であれば(S27,異常)異常終了する。なお、サービスBの印刷処理はロールバックが不可能であるため、サービスBとサービスCとの処理の同期合わせは行わない。
The main difference between FIG. 12 and FIG. 3 is that each service call activity is executed in series in FIG. 3, whereas two service call activities (S24, S26) are executed in parallel in FIG. For this purpose, in S23, an AND branch (also referred to as a Fork branch) that branches the process in parallel instead of alternatives is executed.
First, data reception processing is performed as service D processing (S21). If the processing result is failure (S22, failure), the processing ends abnormally.
Next, an AND branch for processing S24 and S26 in parallel is executed (S23).
In S24, the data transmitted as the service E process is printed (S24). If the result is successful (S25, success), the process ends normally. If the result is failure (S25, abnormal), the process ends abnormally.
In S26, the data transmitted as the service F process is stored (S26). If the result is successful (S27, success), the process ends normally. If the result is failure (S27, abnormal), the process ends abnormally. Note that the print processing of service B cannot be rolled back, so the processing of service B and service C is not synchronized.

Figure 2010002963
Figure 2010002963

表8は、図12のBPに対応した送信先決定テーブル12の内容を示している。遷移前状態「サービス処理D」において、サービス実行結果が「成功」の場合に、2つの送信先応答通知が記述されている。この2つの記述は、サービスD処理を実行するサービスノード2から、サービスE処理を実行するサービスノード2と、サービスF処理を実行するサービスノード2と、の両方にサービス実行要求83を並列で送信することを示す。   Table 8 shows the contents of the transmission destination determination table 12 corresponding to the BP of FIG. In the pre-transition state “service processing D”, when the service execution result is “successful”, two transmission destination response notifications are described. In these two descriptions, the service execution request 83 is transmitted in parallel from the service node 2 that executes the service D process to both the service node 2 that executes the service E process and the service node 2 that executes the service F process. Indicates to do.

以上説明した本実施形態によれば、以下の顕著な効果を得ることができる。   According to this embodiment described above, the following remarkable effects can be obtained.

比較例として、BPノード1とサービスノード2との間でサービス実行要求83およびその応答をやりとりする例を挙げる。この比較例では、サービスノード2間で送受信されるサービス実行要求83を、BPノード1が中継する必要があるため、BPノード1の通信処理に伴う負荷が大きくなってしまう。   As a comparative example, an example in which a service execution request 83 and its response are exchanged between the BP node 1 and the service node 2 will be given. In this comparative example, since the BP node 1 needs to relay the service execution request 83 transmitted / received between the service nodes 2, the load associated with the communication processing of the BP node 1 increases.

一方、本実施形態のサービス実行システムでは、BPノード1は、サービス実行要求83の送受信には直接関わらず、その代わりにサービス実行要求83の送信先を決定する処理(具体的には、送信先問合せ要求81に対して送信先応答通知82を応答する処理)を担当する。これにより、BPノード1の負荷が大幅に軽減されることである。
なお、送信先問合せ要求81および送信先応答通知82は、表1,表2に示される所定のメッセージ・フォーマットであり、サービス実行要求83のデータ部に関する詳細な情報を含まないため、パケットサイズが小さくて済む。よって、BPノード1における送信先問合せ要求81への処理負荷は、比較例におけるサービス実行要求83への処理負荷に比べ、大幅に軽減される。また、サービスノード2の処理負荷は、本実施形態と比較例とで、ほとんど変わらない。
On the other hand, in the service execution system of the present embodiment, the BP node 1 is not directly involved in the transmission / reception of the service execution request 83, but instead determines the transmission destination of the service execution request 83 (specifically, the transmission destination) Responsible for the process of responding to the inquiry response 81 with the destination response notification 82. As a result, the load on the BP node 1 is greatly reduced.
Note that the transmission destination inquiry request 81 and the transmission destination response notification 82 have the predetermined message format shown in Tables 1 and 2 and do not include detailed information regarding the data portion of the service execution request 83. It's small. Therefore, the processing load on the transmission destination inquiry request 81 in the BP node 1 is greatly reduced compared to the processing load on the service execution request 83 in the comparative example. Further, the processing load of the service node 2 is almost the same between the present embodiment and the comparative example.

さらに、本実施形態では、BPノード1がサービス実行要求83を扱わないため、BPノード1間でサービスの実行経過を示すプロセス状態情報(サービス実行要求83におけるデータ部の内容)を管理する必要が無い。よって、本実施形態では、BPノード1の障害が発生しても、今まで実行されたプロセス状態情報は失われないので、障害に強いサービス実行システムを提供することができる。一方、比較例では、プロセス状態情報はBPノード1側が管理するので、そのBPノード1の障害により、プロセス状態情報が失われてしまう可能性がある。   Furthermore, in the present embodiment, since the BP node 1 does not handle the service execution request 83, it is necessary to manage process state information (the contents of the data part in the service execution request 83) indicating the progress of service execution between the BP nodes 1. No. Therefore, in the present embodiment, even if a failure of the BP node 1 occurs, the process state information executed so far is not lost, so that a service execution system that is resistant to the failure can be provided. On the other hand, in the comparative example, since the process state information is managed by the BP node 1, the process state information may be lost due to the failure of the BP node 1.

本発明の一実施形態に関するサービス実行システムの一例を示す構成図である。It is a block diagram which shows an example of the service execution system regarding one Embodiment of this invention. 本発明の一実施形態に関する図1に示したサービス実行システムを構成する各装置の詳細を示す構成図である。It is a block diagram which shows the detail of each apparatus which comprises the service execution system shown in FIG. 1 regarding one Embodiment of this invention. 本発明の一実施形態に関する図1のサービス実行システムが実行するBPの一例を示すフローチャートである。It is a flowchart which shows an example of BP which the service execution system of FIG. 1 regarding one Embodiment of this invention performs. 本発明の一実施形態に関する図3のBPから作成されるBPを示す状態遷移図である。FIG. 4 is a state transition diagram showing a BP created from the BP of FIG. 3 according to an embodiment of the present invention. 本発明の一実施形態に関する図3のBPに沿って、図1のサービス実行システムが実行するサービス連携処理を示すフローチャートである。It is a flowchart which shows the service cooperation process which the service execution system of FIG. 1 performs along BP of FIG. 3 regarding one Embodiment of this invention. 本発明の一実施形態に関する図5の処理において、各装置に着目した処理を示すフローチャートである。6 is a flowchart showing processing focusing on each device in the processing of FIG. 5 according to the embodiment of the present invention. 本発明の一実施形態に関するサービス実行システムの別の一例(アクセスキャッシュを活用する形態)を示す構成図である。It is a block diagram which shows another example (form using an access cache) of the service execution system regarding one Embodiment of this invention. 本発明の一実施形態に関する図3のBPに沿って、図7のサービス実行システムが実行するサービス連携処理を示すフローチャートである。It is a flowchart which shows the service cooperation process which the service execution system of FIG. 7 performs along BP of FIG. 3 regarding one Embodiment of this invention. 本発明の一実施形態に関するサービス実行システムの別の一例(共有ストレージを活用する形態)を示す構成図である。It is a block diagram which shows another example (form which utilizes shared storage) of the service execution system regarding one Embodiment of this invention. 本発明の一実施形態に関する図3のBPに沿って、図9のサービス実行システムが実行するサービス連携処理を示すフローチャートである。It is a flowchart which shows the service cooperation process which the service execution system of FIG. 9 performs along BP of FIG. 3 regarding one Embodiment of this invention. 本発明の一実施形態に関するサービス実行システムの別の一例(BPノードのクラスタ構成)を示す構成図である。It is a block diagram which shows another example (cluster structure of a BP node) of the service execution system regarding one Embodiment of this invention. 本発明の一実施形態に関するサービス実行システムが実行するBPの別の一例を示すフローチャートである。It is a flowchart which shows another example of BP which the service execution system regarding one Embodiment of this invention performs.

符号の説明Explanation of symbols

1 BPノード
2 サービスノード
3 ロードバランサ
9 ネットワーク
11 送信先決定部
12 送信先決定テーブル
13 アクセスログ
14 応答通知部
21 サービス処理部
22 送信先問合せ部
23 サービス呼出部
24 アクセスキャッシュ
81 送信先問合せ要求
82 送信先応答通知
83 サービス実行要求
91 CPU
92 メモリ
93 OS
94 I/Oデバイス
95 通信処理部
96 コンソール
97 ハードディスク
98 共有ストレージ
DESCRIPTION OF SYMBOLS 1 BP node 2 Service node 3 Load balancer 9 Network 11 Transmission destination determination part 12 Transmission destination determination table 13 Access log 14 Response notification part 21 Service processing part 22 Transmission destination inquiry part 23 Service call part 24 Access cache 81 Transmission destination inquiry request 82 Destination response notification 83 Service execution request 91 CPU
92 Memory 93 OS
94 I / O device 95 Communication processing unit 96 Console 97 Hard disk 98 Shared storage

Claims (9)

各状態とその状態間の遷移として表現されるBP(Business Process)を管理するBPノードと、BPを構成するサービス呼び出しを受け付けてサービスを実行する複数台のサービスノードと、をネットワークで接続することにより構成されるサービス連携システムにおいて、BPで規定される順にサービス呼び出しを行うサービス連携方法であって、
前記BPノードは、送信先決定部と、応答通知部と、を有するとともに、送信先決定用データを記憶手段に格納し、
前記BPノードの前記送信先決定用データには、所定のサービス呼び出しを示す遷移前状態と、前記所定のサービス呼び出しにおけるサービス処理部の実行結果と、前記所定のサービス呼び出しの次のサービス呼び出しを示す遷移後状態と、がエントリとして対応づけて格納され、
前記サービスノードは、前記サービス処理部と、送信先問合せ部と、サービス呼出部と、を有し、
前記サービスノードの前記サービス処理部は、サービス呼び出しのための第1サービス実行要求を受け付けると、その第1サービス実行要求に含まれるデータをもとにサービスを実行し、
前記サービスノードの前記送信先問合せ部は、前記サービス処理部の実行結果をもとに、次のサービス呼び出しのための第2サービス実行要求の送信先となる前記サービスノードを問い合わせる旨の送信先問合せ要求を作成して前記BPノードに送信し、
前記BPノードの前記送信先決定部は、受信した前記送信先問合せ要求に含まれる遷移前状態と、実行結果と、の組を検索キーとして、前記送信先決定用データを検索し、その検索キーを含むエントリの遷移後状態におけるサービス呼び出しの相手となる前記サービスノードを送信先として決定し、
前記BPノードの前記応答通知部は、前記送信先決定部が決定した送信先を含む送信先応答通知を、前記サービスノードに送信し、
前記サービスノードの前記サービス呼出部は、受信した前記送信先応答通知で指定される送信先の前記サービスノードに対して、前記第2サービス実行要求を送信することを特徴とする
サービス連携方法。
Connecting a BP node that manages each state and a BP (Business Process) expressed as a transition between the states and a plurality of service nodes that receive a service call constituting the BP and execute a service through a network Is a service cooperation method for calling services in the order defined by the BP
The BP node includes a transmission destination determination unit and a response notification unit, and stores transmission destination determination data in a storage unit.
The destination determination data of the BP node indicates a pre-transition state indicating a predetermined service call, an execution result of a service processing unit in the predetermined service call, and a service call next to the predetermined service call. The post-transition state is stored in association with the entry,
The service node includes the service processing unit, a transmission destination inquiry unit, and a service call unit,
When the service processing unit of the service node receives a first service execution request for calling a service, the service processing unit executes a service based on data included in the first service execution request,
The transmission destination inquiry unit of the service node inquires of the service node that is a transmission destination of the second service execution request for the next service call based on the execution result of the service processing unit. Create a request and send it to the BP node;
The transmission destination determination unit of the BP node searches the transmission destination determination data using a set of a pre-transition state and an execution result included in the received transmission destination inquiry request as a search key, and the search key Determining the service node as the destination of the service call in the post-transition state of the entry containing
The response notification unit of the BP node transmits a transmission destination response notification including the transmission destination determined by the transmission destination determination unit to the service node,
The service coordinating method, wherein the service calling unit of the service node transmits the second service execution request to the service node of the transmission destination specified by the received transmission destination response notification.
前記BPノードは、さらに、前記BPノードの通信履歴を示すアクセスログを記憶手段に格納し、
前記BPノードは、
受信した前記送信先問合せ要求と、その送信先問合せ要求の受信時刻を示すタイムスタンプと、その送信先問合せ要求で指定されるBPの処理通番と、その送信先問合せ要求への応答となる前記送信先応答通知と、を対応づけて、前記アクセスログに格納し、
前記アクセスログに格納されるデータの中から、同じBPの処理通番のデータを、タイムスタンプに従って整列させるトレースデータを抽出することを特徴とする
請求項1に記載のサービス連携方法。
The BP node further stores an access log indicating a communication history of the BP node in a storage unit,
The BP node is
The transmission destination inquiry request received, a time stamp indicating the reception time of the transmission destination inquiry request, a BP processing serial number specified in the transmission destination inquiry request, and the transmission that is a response to the transmission destination inquiry request The prior response notification is associated with and stored in the access log,
The service cooperation method according to claim 1, wherein trace data for aligning processing serial number data of the same BP according to a time stamp is extracted from data stored in the access log.
前記サービスノードは、過去に送信した前記送信先問合せ要求と、その応答である前記送信先応答通知と、の組を対応づけてアクセスキャッシュとして記憶手段に格納し、
前記送信先問合せ部は、作成した前記送信先問合せ要求を検索キーとして前記アクセスキャッシュを検索し、その検索キーを含むエントリが発見されたときには、その発見されたエントリの前記送信先応答通知を、前記BPノードから受信する前記送信先応答通知の代わりとし、前記BPノードへの前記送信先問合せ要求の送信を省略することを特徴とする
請求項1または請求項2に記載のサービス連携方法。
The service node stores a pair of the transmission destination inquiry request transmitted in the past and the transmission destination response notification that is a response to the storage node as an access cache in the storage unit,
The destination query unit searches the access cache using the created destination query request as a search key, and when an entry including the search key is found, the destination response notification of the found entry is The service cooperation method according to claim 1, wherein, instead of the transmission destination response notification received from the BP node, the transmission of the transmission destination inquiry request to the BP node is omitted.
前記各サービスノードは、共有ストレージと接続され、
前記各サービスノードのうちの第1サービスノードの前記送信先問合せ部は、作成する前記送信先問合せ要求において、前記送信先応答通知の送信先を、前記各サービスノードのうちの前記送信先決定部が決定した第2サービスノードとして指定し、
前記BPノードの前記応答通知部は、受信した前記送信先問合せ要求の指定に従って、前記第2サービスノードへ前記送信先応答通知を送信し、
前記第1サービスノードの前記サービス呼出部は、前記第2サービス実行要求を前記共有ストレージに書き込み、
前記第2サービスノードは、前記送信先応答通知を受信すると、前記共有ストレージから前記第2サービス実行要求を読み取ることを特徴とする
請求項1ないし請求項3のいずれか1項に記載のサービス連携方法。
Each service node is connected to a shared storage,
The transmission destination inquiry unit of the first service node among the service nodes includes a transmission destination of the transmission destination response notification in the transmission destination inquiry request to be created, and the transmission destination determination unit of the service nodes. Is designated as the determined second service node,
The response notification unit of the BP node transmits the transmission destination response notification to the second service node according to the designation of the received transmission destination inquiry request,
The service calling unit of the first service node writes the second service execution request to the shared storage;
4. The service cooperation according to claim 1, wherein the second service node reads the second service execution request from the shared storage when receiving the destination response notification. 5. Method.
前記サービス連携システムには、複数台の前記BPノード、および、それらの前記BPノードと接続されるロードバランサが用いられ、その複数台の前記BPノードの前記送信先決定用データには、互いに同じ内容の前記送信先決定用データのエントリが格納され、
前記ロードバランサは、前記送信先問合せ部から送信される前記送信先問合せ要求を受信すると、複数台の前記BPノードから負荷の軽い前記BPノードを選択して、受信した前記送信先問合せ要求を転送することを特徴とする
請求項1ないし請求項4のいずれか1項に記載のサービス連携方法。
In the service cooperation system, a plurality of the BP nodes and a load balancer connected to the BP nodes are used, and the transmission destination determination data of the plurality of BP nodes are the same as each other. An entry of the destination determination data of contents is stored,
When the load balancer receives the transmission destination inquiry request transmitted from the transmission destination inquiry unit, the load balancer selects the lightly loaded BP node from a plurality of the BP nodes and transfers the received transmission destination inquiry request. The service cooperation method according to any one of claims 1 to 4, wherein:
BPを構成するサービス呼び出しが複数に分岐して並列処理されるときには、前記BPノードの前記送信先決定用データには、1つの遷移前状態と、1つの実行結果と、並列処理される複数の遷移後状態と、がエントリとして対応づけて格納され、
前記サービスノードの前記サービス呼出部は、受信した前記送信先応答通知に含まれる送信先が複数の前記サービスノードであるときには、その複数の前記サービスノードに対して、それぞれ第2サービス実行要求を並列に送信することを特徴とする
請求項1ないし請求項5のいずれか1項に記載のサービス連携方法。
When a service call that configures a BP is branched into a plurality of pieces and processed in parallel, the destination determination data of the BP node includes one pre-transition state, one execution result, and a plurality of pieces processed in parallel. The post-transition state is stored in association with the entry,
When the transmission destination included in the received transmission destination response notification is a plurality of the service nodes, the service calling unit of the service node sends a second service execution request to each of the plurality of service nodes in parallel. The service cooperation method according to any one of claims 1 to 5, wherein the service cooperation method is transmitted.
請求項1ないし請求項6のいずれか1項に記載のサービス連携方法を、コンピュータである前記BPノードおよび前記サービスノードにそれぞれ実行させるためのサービス連携プログラム。   The service cooperation program for making the said BP node which is a computer, and the said service node each perform the service cooperation method of any one of Claim 1 thru | or 6. 各状態とその状態間の遷移として表現されるBP(Business Process)を管理するBPノードと、BPを構成するサービス呼び出しを受け付けてサービスを実行する複数台のサービスノードと、をネットワークで接続することにより構成されるサービス連携システムに用いられる前記BPノードであって、
前記BPノードは、送信先決定部と、応答通知部と、を有するとともに、送信先決定用データを記憶手段に格納し、
前記送信先決定用データには、所定のサービス呼び出しを示す遷移前状態と、前記所定のサービス呼び出しにおけるサービス処理部の実行結果と、前記所定のサービス呼び出しの次のサービス呼び出しを示す遷移後状態と、がエントリとして対応づけて格納され、
前記送信先決定部は、前記サービスノードから受信した送信先問合せ要求に含まれる、受信相手の前記サービスノードが実行するサービス呼び出しを示す遷移前状態と、受信相手の前記サービスノードによるサービス呼び出しの実行結果と、の組を検索キーとして、前記送信先決定用データを検索し、その検索キーを含むエントリの遷移後状態におけるサービス呼び出しの相手となる前記サービスノードを送信先として決定し、
前記BPノードの前記応答通知部は、前記送信先決定部が決定した送信先を含む送信先応答通知を、前記サービスノードに送信することにより、次のサービス呼び出しを示すサービス実行要求を、決定した送信先の前記サービスノードに対して送信させることを特徴とする
BPノード。
Connecting a BP node that manages each state and a BP (Business Process) expressed as a transition between the states and a plurality of service nodes that receive a service call constituting the BP and execute a service through a network The BP node used in a service cooperation system configured by:
The BP node includes a transmission destination determination unit and a response notification unit, and stores transmission destination determination data in a storage unit.
The destination determination data includes a pre-transition state indicating a predetermined service call, an execution result of a service processing unit in the predetermined service call, and a post-transition state indicating a service call next to the predetermined service call. , Is stored as an entry,
The transmission destination determination unit includes a pre-transition state indicating a service call executed by the service node of the reception partner included in the transmission destination inquiry request received from the service node, and execution of the service call by the service node of the reception partner Search the transmission destination determination data using the set of the result and the search key, determine the service node that is the service call partner in the post-transition state of the entry including the search key as the transmission destination,
The response notification unit of the BP node determines a service execution request indicating a next service call by transmitting a transmission destination response notification including the transmission destination determined by the transmission destination determination unit to the service node. A BP node that transmits to the service node of a transmission destination.
請求項8に記載のBPノード、および、複数台の前記サービスノードを前記ネットワークで接続することにより構成されることを特徴とする
サービス連携システム。
9. A service cooperation system comprising the BP node according to claim 8 and a plurality of the service nodes connected by the network.
JP2008158952A 2008-06-18 2008-06-18 Service cooperation method, service cooperation program, bp (business process) node, and service cooperation system Pending JP2010002963A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008158952A JP2010002963A (en) 2008-06-18 2008-06-18 Service cooperation method, service cooperation program, bp (business process) node, and service cooperation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008158952A JP2010002963A (en) 2008-06-18 2008-06-18 Service cooperation method, service cooperation program, bp (business process) node, and service cooperation system

Publications (1)

Publication Number Publication Date
JP2010002963A true JP2010002963A (en) 2010-01-07

Family

ID=41584674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008158952A Pending JP2010002963A (en) 2008-06-18 2008-06-18 Service cooperation method, service cooperation program, bp (business process) node, and service cooperation system

Country Status (1)

Country Link
JP (1) JP2010002963A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013012014A (en) * 2011-06-29 2013-01-17 Yahoo Japan Corp Application platform device, application platform system and operation method of application platform device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092766A (en) * 1999-09-20 2001-04-06 Hitachi Ltd Client server system and naming service method
JP2003242127A (en) * 2002-02-14 2003-08-29 Meidensha Corp Business integrated system
JP2004164313A (en) * 2002-11-13 2004-06-10 Fujitsu Ltd Service linkage device
JP2004258823A (en) * 2003-02-25 2004-09-16 Hitachi Ltd Business process transaction method and system, and transaction program therefor
JP2004302564A (en) * 2003-03-28 2004-10-28 Hitachi Ltd Name service providing method, execution device of the same, and processing program of the same
JP2007079980A (en) * 2005-09-14 2007-03-29 Nec Corp Linkage server, service provision method, service provision system and program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092766A (en) * 1999-09-20 2001-04-06 Hitachi Ltd Client server system and naming service method
JP2003242127A (en) * 2002-02-14 2003-08-29 Meidensha Corp Business integrated system
JP2004164313A (en) * 2002-11-13 2004-06-10 Fujitsu Ltd Service linkage device
JP2004258823A (en) * 2003-02-25 2004-09-16 Hitachi Ltd Business process transaction method and system, and transaction program therefor
JP2004302564A (en) * 2003-03-28 2004-10-28 Hitachi Ltd Name service providing method, execution device of the same, and processing program of the same
JP2007079980A (en) * 2005-09-14 2007-03-29 Nec Corp Linkage server, service provision method, service provision system and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013012014A (en) * 2011-06-29 2013-01-17 Yahoo Japan Corp Application platform device, application platform system and operation method of application platform device

Similar Documents

Publication Publication Date Title
CN106130882B (en) The method and apparatus for being used for transmission message
CN109949111B (en) Electronic bill identification distribution method, electronic bill generation method, device and system
CN105099988B (en) Method, access method and device and system for supporting gray scale to issue
US20150347246A1 (en) Automatic-fault-handling cache system, fault-handling processing method for cache server, and cache manager
US20070150602A1 (en) Distributed and Replicated Sessions on Computing Grids
CN101663651A (en) Distributed storage system
CN110289999B (en) Data processing method, system and device
JP4834622B2 (en) Business process operation management system, method, process operation management apparatus and program thereof
CN103248636B (en) The system and method downloaded offline
JP5018729B2 (en) Trading system
CN110457380A (en) A kind of data-storage system
US20130332579A1 (en) Exchange of information between processing servers
JP4516594B2 (en) Message transmission control method, message transmission control device, and message transmission control program
US20070038699A1 (en) Method and device arrangement for managing a user application/device management server/client device environment
CN105049463A (en) Distributed database, method of sharing data, and apparatus for a distributed database
JP2010002963A (en) Service cooperation method, service cooperation program, bp (business process) node, and service cooperation system
EP3026860B1 (en) Method and system for transmission management of full configuration synchronization between eml-nml
JP4994128B2 (en) Storage system and management method in storage system
CN111835570A (en) Global state persistence decentralized blockchain network node device and working method
JP6202650B1 (en) Communication system and communication method
JP4305364B2 (en) Web service request relay system, Web service request relay method, relay server, and program thereof
KR101146742B1 (en) METHOD OF DISTRIBUTED SESSION MANAGEMENT IN SaaS AND SESSION MANAGEMENT SYSTEM THEROF
JP2006301706A (en) Data distribution system, data distribution method and data distribution program
JP2006279725A (en) Data relaying method and data relaying device
CN108733822A (en) A kind of file memory method, device, electronic equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110725

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120228