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 PDFInfo
- 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
Links
Images
Abstract
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には、サービスノード間のプロセス状態情報のやりとりを仲介する情報共有装置をサービスノードとは別に設け、その情報共有装置に対するサービスノードのデータアクセスに排他制御を導入することにより、プロセス状態情報のやりとりを実現する旨が記載されている。
サービス連携システムの代表的な性能指標として、単位時間あたりに処理可能な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
そこで、本発明は、前記した課題を解決し、サービス連携により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
サービスノード2aは、取引先のクライアント端末(図示省略)などからサービス実行要求83を受信すると、自身が担当するサービスAを実施するためのサービス処理部21を起動する。サービス実行要求83とは、サービス処理部21がサービスを実施するために必要な入力パラメータを含む要求メッセージである。
When the
サービスノード2aの送信先問合せ部22は、サービス処理部21の処理結果、および、受信したサービス実行要求83をもとに、送信先問合せ要求81を作成し、BPノード1の応答通知部14に送信する。送信先問合せ要求81とは、サービスノード2aが他のサービスノード2と連携するときに、次にサービス実行要求83を送信する送信先(ここでは、サービスノード2b)を問い合わせる旨の要求メッセージである。
The transmission destination inquiry unit 22 of the
BPノード1の応答通知部14は、送信先問合せ要求81を受信すると、その送信先問合せ要求81に含まれる送信先の手がかりとなるデータを送信先決定部11に通知して、送信先の決定を依頼する。送信先決定部11は、通知されたデータと、送信先決定テーブル12に格納されているデータとを照合することにより、送信先を決定する。送信先決定部11は、決定された送信先を通知するための送信先応答通知82を作成して、送信先問合せ部22に返信する。
When the
サービスノード2aの送信先問合せ部22は、受信した送信先応答通知82に含まれる送信先を参照することにより、次にサービス実行要求83を送信する送信先が、サービスノード2bであることを認識する。そして、サービスノード2aは、サービス処理部21の処理結果、および、受信したサービス実行要求83をもとに、サービス呼出部23でサービスノード2bへのサービス実行要求83を作成し、サービスノード2bに送信する。
The transmission destination inquiry unit 22 of the
以上説明したように、サービスノード2aからサービスノード2bへのサービス連携が、BPノード1による送信先(連携先)の決定処理により、円滑に実行される。同様に、サービスBを実施するためのサービスノード2bから、サービスCを実施するためのサービスノード2cへのサービス連携も、BPノード1が送信先(連携先)を決定することにより、実現される。
As described above, service cooperation from the
以下、サービス実行システムにおいてやりとりされる各メッセージについて、表を参照して説明する。図1の破線矢印で示す送信先問合せ要求81および送信先応答通知82は、それぞれシンプルな固定フォーマットのメッセージであるため、細い線で表記した。
一方、図1の実線矢印で示すサービス実行要求83は、サービスに関する詳細な情報を含む可変フォーマットのメッセージであるため、メッセージ量が多いことにより、太い線で表記した。
Hereinafter, each message exchanged in the service execution system will be described with reference to a table. The transmission
On the other hand, the
表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
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
The service execution result indicates a processing result of the
The inquiry response destination specifies the response destination of the transmission
表2に示す送信先応答通知82は、送信先問合せ要求81を受信したBPノード1からサービスノード2aに返信されるメッセージである。送信先応答通知82は、BP名と、処理通番と、遷移後状態と、送信先と、データタイプと、を含めて構成される。
BP名と、処理通番とは、送信先問合せ要求81で指定される値をそのまま代入する。なお、送信先問合せ要求81の処理通番が(空欄)のときには、BPノード1が既に採番した番号と異なるユニークな番号を処理通番として採番する。
遷移後状態は、送信先問合せ要求81の遷移前状態からみて、次に遷移するBP内の状態を示す。
送信先は、送信先決定部11により決定されたサービスノード2が指定される。
データタイプは、送信先に送信する予定のサービス実行要求83のデータ形式を特定するための情報を示す。送信先応答通知82を受信したサービスノード2は、データタイプに適合する形式でサービス実行要求83を作成する。
The transmission
The values specified in the transmission
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
As the transmission destination, the
The data type indicates information for specifying the data format of the
表3に示すサービス実行要求83は、送信先応答通知82を受信したサービスノード2aからサービスノード2bに送信されるメッセージである。サービス実行要求83は、ヘッダ部と、データ部とを含めて構成される。ヘッダ部は、BP名と、処理通番と、遷移前状態と、遷移後状態と、送信先と、データタイプと、を含めて構成される。
BP名と、処理通番と、遷移前状態には、送信先問合せ要求81で指定された値を代入する。
遷移後状態と、送信先と、データタイプには、送信先応答通知82で指定された値を代入する。
The
The values specified in the transmission
The value designated by the transmission
サービス実行要求83のデータ部は、注文対象の商品に関する情報(商品コード、品名、単価)と、注文量に関する情報(商品の数量およびその数量に応じた金額)と、発注者に関する情報(発注者コード、発注者名、発注日)と、納入に関する情報(分割納入可否、最終納期)と、を含む。このデータ部のデータ形式は、ヘッダ部のデータタイプ(在庫確認指示)により規定される。
The data portion of the
図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 (
The
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,
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
The
Details of each component will be described below.
表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
The transmission destination response notification (post-transition state, transmission destination, data type) is data specified by the transmission
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
S12で「成功&大量注文」の場合、サービスノード2bは、サービスノード2aから送信された在庫確認指示(サービス実行要求83)を受信すると、サービスノード2bのサービス処理部21が、サービスB処理(在庫確認)を実行する(S13)。そして、サービス処理部21は、サービスB処理の結果を判定し(S14)、「成功」ならS15へ、「失敗」なら「異常終了」へ、それぞれ処理を移行する。
In the case of “success & bulk order” in S12, when the
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
「正常終了」および「異常終了」に処理が移行すると、サービスノード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
図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
表5に示すサービス実行要求83は、表4における状態「サービスA処理」から状態「サービスC処理」への遷移における「出荷指示」の具体的な内容を示している。この「出荷指示」では、受け付けた注文が「少量注文」なので、納期回数が1回(一括納入)となっている。表5におけるデータ部の形式は、表3と同様である。
The
表6に示すサービス実行要求83は、表4における状態「サービスB処理」から状態「サービスC処理」への遷移における「出荷指示」の具体的な内容を示している。この「出荷指示」では、受け付けた注文が「大量注文」なので、納期回数が2回(分割納入)となっている。表6におけるデータ部の形式は、表3と同様である。
The
以上、送信先決定テーブル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
Specifically, the transmission destination determination unit 11 uses the combination of “pre-transition state” and “service execution result” included in the transmission
サービスノード2の応答通知部14は、送信先決定部11により決定された送信先決定テーブル12内の送信先応答通知の内容をもとに、送信先応答通知82を作成し、サービスノード2の送信先決定部11へと送信(問合せ応答)する。ここで、送信先応答通知82の問合せ応答先は、送信先問合せ要求81の「問合せ応答先」において指定されたサービスノード2である。なお、問合せ応答先が「送信先」であっても、送信先決定部11が送信先「なし」と決定したときには、代わりに「問合せ要求元」が「問合せ応答先」となる。
The
表7に示すBPノード1のアクセスログ13は、タイムスタンプと、BP名と、処理通番と、遷移前状態と、サービス実行結果と、問合せ応答先と、遷移後状態と、送信先と、データタイプと、が対応づけて構成される。このアクセスログ13は、受信された送信先問合せ要求81、および、その返答として送信する送信先応答通知82を対応づけて記録するものである。
タイムスタンプは、受信した送信先問合せ要求81の受信時刻を示す。なお、タイムスタンプを記録するためには、各BPノード1が内蔵する時計の時刻を、NTP(Network Time Protocol)などで互いに合わせておくことが必要である。
遷移前状態と、サービス実行結果と、問合せ応答先とは、送信先問合せ要求81で指定されるデータである。
遷移後状態と、送信先と、データタイプとは、対応する送信先応答通知82で指定されるデータである。
The access log 13 of the
The time stamp indicates the reception time of the received transmission
The pre-transition state, the service execution result, and the inquiry response destination are data specified by the transmission
The post-transition state, the transmission destination, and the data type are data specified by the corresponding transmission
アクセスログ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
サービスノード2のサービス処理部21は、受信したサービス実行要求83をもとに、BPを実現するためのサービスを処理する。このサービス処理部21は、1台のサービスノード2に対して1つのサービス処理部21を有する専用装置の形態としてもよいし、1台のサービスノード2に対して複数のサービス処理部21を有する兼用装置の形態としてもよい。
The
アクセスキャッシュ24は、送信先問合せ部22が送信する送信先問合せ要求81と、その応答である送信先応答通知82と、を対応づけて格納するデータであり、送信先決定テーブル12と同じデータ形式で、その少なくとも一部が格納される。
The
以上、図2の各構成要素の詳細を説明した。なお、アクセスログ13およびアクセスキャッシュ24は、サービス連携を実現する際の付加的な機能を実現するための構成要素であるので、必ず備えている必要があるものではなく、適宜省略が可能である。
The details of each component in FIG. 2 have been described above. Note that the access log 13 and the
図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
The transmission destination inquiry unit 22 of the
When the
The
サービスノード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
The transmission destination inquiry unit 22 of the
When the
The
サービスノード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
The transmission destination inquiry unit 22 of the
Upon receiving the transmission
The
図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
When the
When there is no processing sequence number (S32, No), the
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
図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
When the
The transmission destination inquiry unit 22 executes transmission destination inquiry by creating a transmission
The transmission destination inquiry unit 22 refers to the transmission
When there is a transmission destination (S44, Yes), the
以上説明した本実施形態は、以下のようにその趣旨を逸脱しない範囲で広く変形実施することができる。 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
図7の各サービスノード2は、アクセスキャッシュ24を備えている。アクセスキャッシュ24は、BPノード1が保持している送信先決定テーブル12の少なくとも一部を、自ノードのメモリ上にキャッシュ(一時的に保持)するデータである。そして、サービスノード2は、既に自ノードが過去に送受信した送信先問合せ要求81および送信先応答通知82の組をアクセスキャッシュ24から参照することにより、サービスノード2内のローカル処理で送信先問合せ要求81に対応する送信先応答通知82を取得することができる。
Each
なお、図7においては、3台のサービスノード2のうちの2台分のサービスノード2が、アクセスキャッシュ24にヒットしたことにより、BPノード1との通信処理を省略している。ヒットしなかったサービスノード2bは、今回通信処理によって取得した送信先問合せ要求81および送信先応答通知82の組をアクセスキャッシュ24に格納することにより、次回以降の同じ内容の通信処理を省略できる。
In FIG. 7, the communication processing with the
これにより、各サービスノード2は、同じ内容の送信先問合せ要求81を2回以上BPノード1に送信する必要がなくなるため、サービスノード2とBPノード1との間の通信回数を大幅に削減し、1件あたりのBP処理時間を短縮することができる。
このようにアクセスキャッシュ24を活用する形態は、特に、膨大な件数の注文を非常に高速に処理しなければならない場合に、有効である。
This eliminates the need for each
The form of utilizing the
図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
Further, the
図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
図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
That is, the
なお、受信側のサービスノード2は、「送信先」として送信された送信先応答通知82を受信することにより、共有ストレージ98へのサービス実行要求83の書き込みを知ることができる。そして、書き込みを知ったサービスノード2は、共有ストレージ98に対して、サービス実行要求83を読み取る。
つまり、共有ストレージ98は、サービス実行要求83を読み取るサービスノード2を指定する必要がない。よって複数のサービスノード2が同じサービス実行要求83を読み取る重複処理が発生しない。これにより、共有ストレージ98は、サービスノード2間の排他制御をする必要がないため、高速なサービス実行要求83の読み書き処理が可能となる。
The
That is, the shared storage 98 does not need to specify the
これにより、特に、サービス実行要求83のサイズが非常に大きい場合、ネットワーク9の通信帯域を圧迫せず、円滑な通信処理を実現することができる。
Thereby, especially when the size of the
図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
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
図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
ロードバランサ3は、複数のBPノード1に対して、送信先問合せ要求81および送信先応答通知82の処理を振り分ける。振り分け先のBPノード1は、互いに同じ内容の送信先決定テーブル12をあらかじめ共有しているので、どのBPノード1に対して送信先問合せ要求81を送信しても、その応答としての送信先応答通知82の内容は同じである。
The load balancer 3 distributes the processing of the transmission
よって、ロードバランサ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
なお、BPノード1は、BPの状態遷移を規定する送信先決定テーブル12は管理するものの、現在処理中のBPの状態そのものは管理しないため、システムの負荷状況に応じてBPノード1の台数を増減させることも可能である。
つまり、BPノード1を多重化するときに、BPノード1間でサービスの実行経過を示すプロセス状態情報(サービス実行要求83におけるデータ部の内容)を管理する必要が無く、容易に多重化構成を実現できる。
Although the
That is, when multiplexing
図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.
表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
以上説明した本実施形態によれば、以下の顕著な効果を得ることができる。 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
一方、本実施形態のサービス実行システムでは、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
Note that the transmission
さらに、本実施形態では、BPノード1がサービス実行要求83を扱わないため、BPノード1間でサービスの実行経過を示すプロセス状態情報(サービス実行要求83におけるデータ部の内容)を管理する必要が無い。よって、本実施形態では、BPノード1の障害が発生しても、今まで実行されたプロセス状態情報は失われないので、障害に強いサービス実行システムを提供することができる。一方、比較例では、プロセス状態情報はBPノード1側が管理するので、そのBPノード1の障害により、プロセス状態情報が失われてしまう可能性がある。
Furthermore, in the present embodiment, since the
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
92
94 I / O device 95 Communication processing unit 96 Console 97 Hard disk 98 Shared storage
Claims (9)
前記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の処理通番のデータを、タイムスタンプに従って整列させるトレースデータを抽出することを特徴とする
請求項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ノードを選択して、受信した前記送信先問合せ要求を転送することを特徴とする
請求項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:
前記サービスノードの前記サービス呼出部は、受信した前記送信先応答通知に含まれる送信先が複数の前記サービスノードであるときには、その複数の前記サービスノードに対して、それぞれ第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.
前記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.
サービス連携システム。 9. A service cooperation system comprising the BP node according to claim 8 and a plurality of the service nodes connected by the network.
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)
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)
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 |
-
2008
- 2008-06-18 JP JP2008158952A patent/JP2010002963A/en active Pending
Patent Citations (6)
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)
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 |