JP3944229B2 - Framework system - Google Patents

Framework system Download PDF

Info

Publication number
JP3944229B2
JP3944229B2 JP2006041454A JP2006041454A JP3944229B2 JP 3944229 B2 JP3944229 B2 JP 3944229B2 JP 2006041454 A JP2006041454 A JP 2006041454A JP 2006041454 A JP2006041454 A JP 2006041454A JP 3944229 B2 JP3944229 B2 JP 3944229B2
Authority
JP
Japan
Prior art keywords
message
service
framework
messaging service
subject
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2006041454A
Other languages
Japanese (ja)
Other versions
JP2006179025A (en
Inventor
国人 石橋
充 前島
成尋 奥村
功 坂下
洋子 井ヶ倉
Original Assignee
フューチャーアーキテクト株式会社
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 フューチャーアーキテクト株式会社 filed Critical フューチャーアーキテクト株式会社
Priority to JP2006041454A priority Critical patent/JP3944229B2/en
Publication of JP2006179025A publication Critical patent/JP2006179025A/en
Application granted granted Critical
Publication of JP3944229B2 publication Critical patent/JP3944229B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

本発明は、クライアントからのメッセージに応答して、選択された1又はそれ以上のビジネスロジックを実行するフレームワークシステムに関する。   The present invention relates to a framework system that executes one or more selected business logics in response to a message from a client.

この種のフレームワークシステムは、典型的には、1又はそれ以上のクライアントと通信可能に接続される1又はそれ以上のサーバによって構成される。この種のフレームワークシステムには、従来からメッセージングサービスと、フレームワークサービスという2つの基本機能が提供されている。メッセージングサービスは、クライアントとサーバ間及びサーバとサーバ間のメッセージ通信を処理するサービスである。フレームワークサービスは、通常複数のビジネスロジック(業務処理プロセス)を有しており、クライアントからのメッセージに応答して、選択された1又はそれ以上のビジネスロジックを同期方式で又は非同期方式で実行することによりトランザクションを遂行する。   This type of framework system is typically composed of one or more servers communicatively connected to one or more clients. Conventionally, this kind of framework system has been provided with two basic functions, a messaging service and a framework service. The messaging service is a service that processes message communication between a client and a server and between a server and a server. A framework service usually has multiple business logics (business process processes) and executes one or more selected business logics in a synchronous or asynchronous manner in response to a message from a client. Execute the transaction.

しかしながら、上記従来例にあっては、フレームワークサービスにおけるビジネスロジックの処理スケジュールが固定的にプログラムされている。そのため、多種多様なメッセージに応じて複雑なビジネスロジックのフローを柔軟に定義することが困難である。   However, in the above conventional example, the business logic processing schedule in the framework service is fixedly programmed. Therefore, it is difficult to flexibly define a complicated business logic flow according to various messages.

また、クライアントからのメッセージに応答して、複数のビジネスロジックを逐次に実行する場合がある。例えば、クライアントからの仕入登録リクエストに応答して、仕入登録や在庫更新や買掛金記帳などを行う場合である。このような場合、従来システムでは、例えば仕入登録のようなフロントデスクに関わるビジネスロジックはそのメッセージに同期して実行するが、在庫更新や買掛金記帳のようなバックオフィスに関わるビジネスロジックは夜間のバッチ処理により実行する。そのため、バックオフィスの処理の結果は、翌日まで待たないと参照できない。しかし、新たな取引のチャンスをいち早くキャッチするには、バックオフィスのビジネスロジックも可能な限り早期に実行してその結果が早期に参照できることが望ましい。   In some cases, a plurality of business logics are sequentially executed in response to a message from a client. For example, in response to a purchase registration request from a client, purchase registration, inventory update, accounts payable, etc. are performed. In such a case, in the conventional system, business logic related to the front desk such as purchase registration is executed in synchronization with the message, but business logic related to the back office such as inventory update and accounts payable accounting is performed at night. It is executed by batch processing. For this reason, the results of back office processing cannot be referred to until the next day. However, in order to catch new trading opportunities as soon as possible, it is desirable that the back office business logic be executed as early as possible and the results can be referenced early.

また、複数のフレームワークサーバを備えたシステムでは、フレームワークサーバ相互間でもメッセージを送受しながら協働して、一連のビジネスロジックを実行していく。各サーバのステータス(例えば、保有するビジネスロジックの種類、正常に稼動しているか否か、ビジーか否か、など)は、他のサーバとは違うのが普通であり、且つ、時間経過に伴って変化もする。このことは、ビジネスロジックの実行をどのサーバに依頼するかを決めるスケジューリングを複雑にする。   In a system including a plurality of framework servers, a series of business logics are executed in cooperation with each other while sending and receiving messages between the framework servers. The status of each server (for example, the type of business logic it owns, whether it is operating normally, whether it is busy, etc.) is usually different from other servers, and over time Change. This complicates the scheduling that determines which server is requested to execute the business logic.

本発明は、ビジネスロジックフローを、プログラムすることなく、定義し変更することが容易なフレームワークシステムを提供することを目的とする。   An object of the present invention is to provide a framework system in which a business logic flow can be easily defined and changed without programming.

本発明の別の目的は、フレームワークシステムにおいてP to P通信とP to M通信を可能にすることにある。   Another object of the present invention is to enable P to P communication and P to M communication in a framework system.

本発明のまた別の目的は、一連のビジネスロジックを、完全にリアルタイムではなくても、できるだけリアルタイムに近い態様で、実行することができるフレームワークシステムを提供することにある。   Another object of the present invention is to provide a framework system that can execute a series of business logic in a manner as close to real time as possible even if it is not completely real time.

本発明の更に別の目的は、複数のフレームワークサーバを備えたシステムにおいて、一連のビジネスロジックのスケジューリングを、それらサーバのステータスに応じて適切に行えるようにすることにある。   Still another object of the present invention is to enable a series of business logic to be appropriately scheduled according to the status of the servers in a system including a plurality of framework servers.

本発明の一つの観点に従う、クライアントと通信可能に接続されるフレームワークシステムは、複数のビジネスロジックと関連付けられ、クライアントからのリクエストのメッセージに応答して、選択された1又はそれ以上のビジネスロジックを実行し、そして、クライアントへのリプライのメッセージを出力するフレームワークサービスと;クライアントとフレームワークサービスとの間に介在し、クライアントとフレームワークサービスとの間でメッセージを中継するメッセージングサービスと;フレームワークサービスに関連付けられたフロー定義ファイルとを備える。リクエストのメッセージは、そのメッセージのサブジェクトに関するサブジェクトIDを含んでいる。フロー定義ファイルは、複数の異なるサブジェクトIDにそれぞれ対応した複数の定義センテンスを含んでおり、各定義センテンスは所定の1又はそれ以上のビジネスロジックのための実行スケジュールを記述している。フレームワークサービスは、メッセージングサービスからリクエストのメッセージを受け取ると、定義ファイル内の受信されたメッセージのサブジェクトIDに対応した定義センテンスを参照し、参照された定義センテンスに記述された実行スケジュールに従って、実行するべき1又はそれ以上のビジネスロジックを選択する。   In accordance with one aspect of the present invention, a framework system communicatively connected to a client is associated with a plurality of business logic and selected one or more business logics in response to a request message from the client. And a framework service that outputs a reply message to the client; a messaging service that intervenes between the client and the framework service and relays the message between the client and the framework service; A flow definition file associated with the work service. The request message includes a subject ID for the subject of the message. The flow definition file includes a plurality of definition sentences respectively corresponding to a plurality of different subject IDs, and each definition sentence describes an execution schedule for one or more predetermined business logics. When the framework service receives the message of the request from the messaging service, the framework service refers to the definition sentence corresponding to the subject ID of the received message in the definition file, and executes it according to the execution schedule described in the referenced definition sentence. Select one or more business logics to power.

好適な実施形態では、フレームワークシステムは、フレームワークサービスが稼動している間に、フロー定義ファイルを更新するフロー定義更新コンポーネントを更に備える。   In a preferred embodiment, the framework system further comprises a flow definition update component that updates the flow definition file while the framework service is running.

好適な実施形態では、また、フロー定義ファイルには、一つの先行のビジネスロジックと少なくとも一つの後続のビジネスロジックとを含む複数のビジネスロジックの連係された実行のための連係実行スケジュールを記述した定義センテンスを含むことができる(勿論、連係実行スケジュールを定義した定義センテンスを含まなくてもよい)。その連係実行スケジュールは、後続のビジネスロジックの実行に関して同期方式と非同期方式の選択に関する連係モードを含んでいる。そして、フレームワークサービスは、連係実行スケジュールに従って複数のビジネスロジックを実行する場合、連係実行スケジュール内の連係モードに従って、先行のビジネスロジックの実行と同期的に又は非同期的に、後続のビジネスロジックを実行する。   In a preferred embodiment, the flow definition file also includes a definition describing a linked execution schedule for linked execution of a plurality of business logics including one preceding business logic and at least one subsequent business logic. A sentence can be included (of course, it is not necessary to include a definition sentence that defines a linkage execution schedule). The linkage execution schedule includes a linkage mode regarding selection of a synchronous method and an asynchronous method with respect to the execution of the subsequent business logic. When the framework service executes multiple business logics according to the linkage execution schedule, it executes subsequent business logic synchronously or asynchronously with the execution of the preceding business logic according to the linkage mode in the linkage execution schedule. To do.

好適な実施形態では、連係実行スケジュールは、先行のビジネスロジックに関する情報と、後続のビジネスロジックのための第2のリクエストのメッセージに関する情報とを含む。そして、フレームワークシステムは、連係実行スケジュールに従って複数のビジネスロジックを実行する場合、先行のビジネスロジックを実行した後、先行のビジネスロジックの実行結果を用いて第2のリクエストのメッセージを生成して、その第2のリクエストのメッセージをメッセージングサービスに送る。その後、フレームワークシステムは、メッセージングサービスから上記第2のリクエストのメッセージを受けると、その第2のリクエストのメッセージに対応する定義センテンスの実行スケジュールに従って、後続のビジネスロジックを実行する。   In a preferred embodiment, the linkage execution schedule includes information regarding the preceding business logic and information regarding the second request message for the subsequent business logic. And when executing a plurality of business logic according to the linkage execution schedule, the framework system generates a message of the second request using the execution result of the preceding business logic after executing the preceding business logic, Send the second request message to the messaging service. After that, when receiving the message of the second request from the messaging service, the framework system executes the subsequent business logic according to the execution schedule of the definition sentence corresponding to the message of the second request.

好適な実施形態では、また、メッセージングサービスが、前記第2のリクエストのメッセージを保証する為の不揮発性のメッセージキューを備える。このメッセージキューは、第2のリクエストメッセージがフレームワークサービスへ送られた後も、その第2のリクエストメッセージを消さずに保存する。そして、メッセージグサービスは、その不揮発性のメッセージキューで保存されている第2のリクエストのメッセージを、必要に応じて、フレームワークシステムへ再送信することができる。   In a preferred embodiment, the messaging service also comprises a non-volatile message queue for guaranteeing the message of the second request. The message queue stores the second request message without deleting it even after the second request message is sent to the framework service. Then, the messaging service can retransmit the message of the second request stored in the non-volatile message queue to the framework system as necessary.

本発明の別の観点に従うクライアントと通信可能に接続されるフレームワークシステムは、クライアントからのリクエストのメッセージを処理し、そして、クライアントへのリプライのメッセージを出力するフレームワークサービスと;クライアントとフレームワークサービスとの間に介在し、クライアントとフレームワークサービスとの間でメッセージを中継するメッセージングサービスとを備える。そして、メッセージングサービスは、上記リクエストとリプライのメッセージのようなP to P通信のメッセージだけでなく、クライアントとフレームワークサービスとの間のP to M通信のメッセージをも中継する。   A framework system communicatively connected to a client according to another aspect of the invention processes a request message from the client and outputs a reply message to the client; the client and the framework And a messaging service that relays messages between the client and the framework service. The messaging service relays not only P to P communication messages such as the request and reply messages but also P to M communication messages between the client and the framework service.

好適な実施形態では、メッセージングサービスが、P to M通信のメッセージを一時的に待たせるためのリングバッファを有する。   In a preferred embodiment, the messaging service has a ring buffer for temporarily waiting for messages for P to M communication.

好適な実施形態では、また、P to P通信のメッセージの各々には、メッセージ保証の要否に関する保証モードが含まれている。そして、メッセージングサービスは、メッセージ保証が不要なP to P通信のメッセージを一時的に待たせるための第1のメッセージキューと、メッセージ保証が必要なP to P通信のメッセージを一時的に待たせるための不揮発性の第2のメッセージキューとを有する。   In the preferred embodiment, each of the messages for P to P communication also includes a guarantee mode regarding whether or not message guarantee is necessary. The messaging service temporarily waits for a P to P communication message that requires message guarantee and a first message queue for temporarily waiting for P to P communication message that does not require message guarantee. Non-volatile second message queue.

本発明のまた別の観点に従う、クライアントと通信可能に接続されるフレームワークシステムは、クライアントと接続された少なくとも一つのメッセージングサービスを含んだ、相互にメッシュ接続されている複数のメッセージングサービスと;複数のメッセージングサービスにそれぞれ接続された複数のフレームワークサービスとを備える。そして、複数のフレームワークサービスの各々は、予め定められたサブジェクトIDをもったリクエストのメッセージを待ち受け、その予め定められたサブジェクトIDをもったリクエストのメッセージを受信すると、受信されたリクエストのメッセージを処理し、そして、クライアントへのリプライのメッセージを出力することができる。そして、上記複数のメッセージングサービスは、クライアントと上記複数のフレームワークサービスの間でのメッセージの中継、及び、上記複数のフレームワークシステム相互間でのメッセージの中継を行う。   In accordance with yet another aspect of the present invention, a framework system communicatively connected to a client includes a plurality of meshed mesh services including at least one messaging service connected to the client; And a plurality of framework services respectively connected to the messaging services. Each of the plurality of framework services waits for a request message having a predetermined subject ID, and when receiving a request message having the predetermined subject ID, It can process and output a reply message to the client. The plurality of messaging services relay messages between the client and the plurality of framework services, and relay messages between the plurality of framework systems.

好適な実施形態では、各メッセージングサービスが、他の1又はそれ以上のメッセージングサービスの稼動を監視し、他の或るメッセージングサービスについて正常な稼動を検出できなかった場合は、その正常に稼動してないメッセージングサービスへメッセージを中継する代わりに、他の正常に稼動しているメッセージングサービスへメッセージを中継する。   In a preferred embodiment, each messaging service monitors the operation of one or more other messaging services, and if it does not detect normal operation for some other messaging service, Instead of relaying a message to a messaging service that does not exist, relay the message to another normally running messaging service.

好適な実施形態では、また、各メッセージングサービスが、各々に接続されたフレームワークサービスの状態を監視し、監視された状態に応じて、クライアントからのリクエストのメッセージを上記フレームワークサービスに中継するか、他の何れかのメッセージングサービスに中継するかを、選択する。   In a preferred embodiment, each messaging service also monitors the status of a framework service connected to each messaging service and relays a message of a request from a client to the framework service according to the monitored status. Select whether to relay to any other messaging service.

好適な実施形態では、また、各メッセージングサービスは独自の管理テーブルを有し、各管理テーブルには、各メッセージングサービスに接続されたフレームワークシステムが待ち受けるメッセージのサブジェクトID、及び、各メッセージングサービスに接続された他の1又はそれ以上のメッセージングサービスがそれぞれ待ち受けるメッセージのサブジェクトIDが登録されている。そして、各メッセージングサービスは、メッセージを受信したとき、それ独自の管理テーブルを参照して、受信されたメッセージのサブジェクトIDにマッチするサブジェクトIDを待ち受けるフレームワークサービス又は他のメッセージングサービスを探し、見つかったフレームワークサービス又は他のメッセージングサービスへ、受信されたメッセージを中継する。   In the preferred embodiment, each messaging service also has its own management table, which includes the subject ID of the message that the framework system connected to each messaging service awaits, and the connection to each messaging service. The subject ID of the message that is waited for by each of the other one or more other messaging services registered is registered. When each message service receives a message, it looks up its own management table to find a framework service or other messaging service that waits for a subject ID that matches the subject ID of the received message. Relay received messages to a framework service or other messaging service.

好適な実施形態では、さらに、各メッセージングサービスは、それ独自の管理テーブルの内容に基づいて、そのメッセージングサービスが待ち受けるメッセージのサブジェクトIDを、他の1又はそれ以上のメッセージングサービスに通知する。その通知を受けた他のメッセージングサービスの各々は、通知された内容が、それ独自の管理テーブルに未だ登録されていなければ、その通知内容を、それ独自の管理テーブルに追加登録する。   In a preferred embodiment, each messaging service further informs one or more other messaging services of the subject ID of the message that the messaging service awaits based on the contents of its own management table. Each of the other messaging services that have received the notification registers the notified content in its own management table if the notified content has not yet been registered in its own management table.

本発明の更に別の観点に従う、クライアントと通信可能に接続されるフレームワークシステムは、クライアントからのリクエストのメッセージを処理し、そして、クライアントへのリプライのメッセージを出力するフレームワークサービスと;クライアントとフレームワークサービスとの間に介在し、クライアントとフレームワークサービスとの間でメッセージを中継するメッセージングサービスとを備える。クライアントからのリクエストのメッセージは所与の優先順位を有している。そして、メッセージングサービスは、上記リクエストのメッセージを一時的に待たせるためのメッセージキューと、メッセージキューの入出力を管理するキュー管理コンポーネントとを備える。キュー管理コンポーネントは、メッセージキューに複数のメッセージが蓄積されているとき、各メッセージの優先順位に応じて、複数のメッセージのメッセージキューからの出力順序を制御する優先モードと;メッセージキューに複数のメッセージが蓄積されているとき、メッセージキューから先に取り出されたメッセージの処理が前記フレームワークサービスにおいて完了するまで、メッセージキューに蓄積されている他のメッセージの取り出しを禁止するシーケンス保証モードとを備える。   In accordance with yet another aspect of the present invention, a framework system communicatively connected to a client processes a request message from the client and outputs a reply message to the client; A messaging service interposed between the framework service and relaying messages between the client and the framework service. Request messages from clients have a given priority. The messaging service includes a message queue for temporarily waiting for the message of the request and a queue management component for managing input / output of the message queue. The queue management component has a priority mode for controlling the output order of a plurality of messages from the message queue according to the priority of each message when a plurality of messages are accumulated in the message queue; and a plurality of messages in the message queue. A sequence guarantee mode for prohibiting the retrieval of other messages accumulated in the message queue until the processing of the message previously retrieved from the message queue is completed in the framework service.

以下、本発明の一実施形態を図面を参照して説明する。図1は、本実施形態の全体構成を示す。   Hereinafter, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 shows the overall configuration of this embodiment.

本システムは、プレゼンテーション層1、ビジネスロジック層2、及びデータサービス層3から構成されている。   This system includes a presentation layer 1, a business logic layer 2, and a data service layer 3.

プレゼンテーション層1は、ウェブ(World Wide Web)クライアント11、ウェブ(World Wide Web)サーバ12、又はVB(Visual Basic)クライアント13を含んでいる。   The presentation layer 1 includes a Web (World Wide Web) client 11, a Web (World Wide Web) server 12, or a VB (Visual Basic) client 13.

ビジネスロジック層2には、本発明の原理に従うフレームワークアークテクチャ(この明細書では「RtFA: Real Time Framework Architecture」という)が適用されたサーバコンピュータシステムであるRtFAサーバ14が設けられている。RtFAサーバ14は、メッセージングサービスを行うサーバコンピュータシステム(以下、簡単に「メッセージングサービス」という)15と、フレームワークサービスを行うサーバコンピュータシステム(以下、簡単に「フレームワークサービス」という)16とを備えている。典型的には、メッセージングサービス15とフレームワークサービス16は、それぞれ、別のコンピュータマシン又は別のコンピュータマシンのセットを用いて具現化される。しかし、必ずしもそうでなければならないわけではなく、同一のコンピュータマシン又はコンピュータマシンのセットを用いて、メッセージングサービス15とフレームワークサービス16の双方がインプレメントされることも可能である。   The business logic layer 2 is provided with an RtFA server 14 that is a server computer system to which a framework architecture (hereinafter referred to as “RtFA: Real Time Framework Architecture”) according to the principle of the present invention is applied. The RtFA server 14 includes a server computer system (hereinafter simply referred to as “messaging service”) 15 that performs a messaging service, and a server computer system (hereinafter simply referred to as “framework service”) 16 that performs a framework service. ing. Typically, messaging service 15 and framework service 16 are each implemented using a separate computer machine or a set of separate computer machines. However, this is not necessarily the case, and it is possible that both the messaging service 15 and the framework service 16 are implemented using the same computer machine or set of computer machines.

メッセージングサービス15は、クライアント11,13とRtFAサーバ14間のメッセージのやり取りを制御する。すなわち、メッセージングサービス15は、クライアント11,13から、或る処理のためのリクエストのメッセージを受信し、そのリクエストのメッセージを、リクエストされた処理を行なうことができるフレームワークサービス16に渡す。また、メッセージングサービス15は、フレームワークサービス16から、実行された処理の結果を示すリプライのメッセージを受信し、更に、場合によっては、後続の追加の処理のための追加のリクエストのメッセージも受信する。そして、メッセージングサービス15は、そのリプライのメッセージをクライアント11,13に送ったり、追加のリクエストのメッセージをフレームワークサービス16に再び渡したりする。   The messaging service 15 controls message exchange between the clients 11 and 13 and the RtFA server 14. That is, the messaging service 15 receives a request message for a certain process from the clients 11 and 13 and passes the request message to the framework service 16 that can perform the requested process. The messaging service 15 also receives a reply message indicating the result of the executed process from the framework service 16 and, in some cases, an additional request message for a subsequent additional process. . Then, the messaging service 15 sends the reply message to the clients 11 and 13 and passes the additional request message to the framework service 16 again.

メッセージングサービス15によって取り扱われる全てのメッセージの各々には、そのメッセージのサブジェクト(例えば、仕入登録リクエスト、在庫更新リクエスト、買掛登録リクエストなど)を示す識別コードであるサブジェクトIDが含まれている。このサブジェクトIDは、後述するように、メッセージングサービス15又はフレームワークサービス16によって、そのメッセージの宛先を選択する目的に利用され、そのため、「宛先サブジェクトID」とも呼ばれる。   Each of all messages handled by the messaging service 15 includes a subject ID that is an identification code indicating the subject of the message (for example, purchase registration request, inventory update request, accounts payable registration request, etc.). As will be described later, this subject ID is used by the messaging service 15 or the framework service 16 for the purpose of selecting the destination of the message, and is therefore also called a “destination subject ID”.

フレームワークサービス16は、様々な種類のメッセージをそれぞれ処理するための複数のビジネスロジック(例えば、仕入処理ビジネスロジック、在庫処理ビジネスロジック、買掛処理ビジネスロジック、メッセージ変換ビジネスロジックなど)を有している。フレームワークサービス16は、メッセージングサービス15から或るメッセージを受け取ると、そのメッセージのサブジェクトIDからそのメッセージを処理するためのビジネスロジックを選び、その選んだビジネスロジックを呼び出す。呼び出されたビジネスロジックは、そのメッセージの内容に応じた処理を行い、データサービス層9のデータを更新する。メッセージングサービス15及びフレームワークサービス16のためのコンピュータプログ
ラムは、例えば、JAVA言語(商標)によって記述されている。
データサービス層3は、データベースサーバ(DBサーバ)17を備えている。
The framework service 16 has a plurality of business logics (for example, purchase processing business logic, inventory processing business logic, accounts payable processing business logic, message conversion business logic, etc.) for processing various types of messages, respectively. Yes. When receiving a message from the messaging service 15, the framework service 16 selects business logic for processing the message from the subject ID of the message, and calls the selected business logic. The called business logic performs processing according to the content of the message and updates data in the data service layer 9. The computer program for the messaging service 15 and the framework service 16 is described by, for example, JAVA language (trademark).
The data service layer 3 includes a database server (DB server) 17.

ウェブクライアント11とウェブサーバ12の間にはHTTP又はソケットによる通信コネクションが確立され得る。ウェブクライアント11とRtFAサーバ14との間には、ソケットによる直接的な通信コネクションが確立され得る。VBクライアント13とRtFAサーバ14との間には、ソケットによる直接的な通信コネクションが確立され得る。また、ウェブサーバ12とRtFAサーバ14との間には、ソケットによる直接的な通信コネクションが確立され得る。更に、RtFAサーバ14とDBサーバ17との間にはJDBCによる通信コネクションが確立され得る。   A communication connection by HTTP or socket can be established between the web client 11 and the web server 12. A direct communication connection by a socket can be established between the web client 11 and the RtFA server 14. A direct communication connection by a socket can be established between the VB client 13 and the RtFA server 14. Further, a direct communication connection by a socket can be established between the web server 12 and the RtFA server 14. Further, a communication connection by JDBC can be established between the RtFA server 14 and the DB server 17.

図2は、RtFAサーバ14が取り扱うメッセージの構成を示す。   FIG. 2 shows a message structure handled by the RtFA server 14.

図2に示すように、メッセージ10は、複数のサーバ制御項目と業務データとから構成される。サーバ制御項目は、RtFAサーバ14を制御するための各種のデータであり、例えば、メッセージ種別、保証モード、優先順位、サブジェクトID(宛先サブジェクトID)及び送信元情報などが含まれている。   As shown in FIG. 2, the message 10 includes a plurality of server control items and business data. The server control item is various data for controlling the RtFA server 14 and includes, for example, a message type, a guarantee mode, a priority order, a subject ID (destination subject ID), transmission source information, and the like.

「メッセージ種別」は、そのメッセージがP to P(Point to Point)通信のメッセージであるか、P to M ( Point to Many)通信のメッセージであるかを区別する。ここで、P to P通信とは、或る1つのコンピュータシステムから別の1つのコンピュータシステムへとメッセージが送られる通信、つまり、1対1通信のことをいう。P to P 通信の一例は、或るクライアントからの仕入登録リクエストのメッセージを、仕入処理を実行する或る一つのフレームワークサービスへ送る場合である。一方、P to M通信とは、或る1つ又は複数のコンピュータシステムから別の複数のコンピュータシステムへとメッセージが送られる通信、つまり、1対複数又は複数対複数の通信のことをいう。P to M 通信の一例は、或る1つのフレームワークサービスからの在庫更新結果を示すメッセージを、フロントデスクの仕事を担う複数のクライアント端末へ送信する場合である。   The “message type” distinguishes whether the message is a P to P (Point to Point) communication message or a P to M (Point to Many) communication message. Here, P to P communication refers to communication in which a message is sent from one computer system to another computer system, that is, one-to-one communication. An example of P to P communication is a case in which a purchase registration request message from a certain client is sent to a certain framework service that executes a purchase process. On the other hand, P to M communication refers to communication in which a message is sent from one or a plurality of computer systems to another plurality of computer systems, that is, one-to-multiple or multiple-to-multiple communication. An example of P to M communication is a case in which a message indicating an inventory update result from a certain framework service is transmitted to a plurality of client terminals responsible for front desk work.

「保証モード」は、メッセージ保証(すなわち、そのメッセージが確実に送信及び処理されることの保証)をする("G")か否か("N")を区別する。保証モードが"N"のメッセージを受信したとき、メッセージングサービス15は、そのメッセージを、揮発性の半導体メモリを用いたメッセージキュー(以下、「メモリキュー」という)に入れる。一方、保証モードが"G"のメッセージを受信したとき、メッセージングサービス15は、そのメッセージを、不揮発性のディスクストレージを用いたメッセージキュー(以下、「DB(データベース)キュー」という)に入れ、そのメッセージを送信した後も、そのメッセージをDBキューで保存しておく。従って、保証モードが"G"のメッセージについては、送信失敗やシステムダウンなどの問題が生じたとしても、後に再度、同じメッセージを送信することができる。   “Guaranteed mode” distinguishes whether or not a message guarantee (ie, guarantee that the message is transmitted and processed reliably) (“G”) or not (“N”). When the message having the guarantee mode “N” is received, the messaging service 15 puts the message into a message queue using volatile semiconductor memory (hereinafter referred to as “memory queue”). On the other hand, when the message having the guarantee mode “G” is received, the messaging service 15 puts the message into a message queue (hereinafter referred to as “DB (database) queue”) using a non-volatile disk storage. Even after sending the message, save the message in the DB queue. Therefore, for a message whose guarantee mode is “G”, even if a problem such as transmission failure or system failure occurs, the same message can be transmitted again later.

「優先順位」は、そのメッセージの処理の優先レベルを示す。例えば、ハイ("H")、ノーマル("N")及びロー("L")の3種類の優先順位がある。後述するように、メッセージングサービス15は、メッセージキュー内で複数のメッセージが待っているとき、それらのメッセージをメッセージキューから取り出す順序を、それらのメッセージのそれぞれの優先順位に応じて制御することができる。   “Priority” indicates a priority level of processing of the message. For example, there are three types of priorities: high (“H”), normal (“N”), and low (“L”). As will be described later, when a plurality of messages are waiting in the message queue, the messaging service 15 can control the order of retrieving the messages from the message queue according to the priority of each of the messages. .

「サブジェクトID(宛先サブジェクトID)」は、既に述べたとおり、そのメッセージのサブジェクトの種別を示す識別コードである。後述するように、メッセージングサービス15は、メッセージを受信すると、そのメッセージのサブジェクトIDに基づいて、そのメッセージの宛先となるべきコンピュータシステム(例えば、クライアント、フレームワークシステム、他のメッセージングサービスなど)を選択する。また、フレームワークサービス16は、メッセージを受信すると、そのメッセージのサブジェクトIDに基づいて、そのメッセージを処理するために呼び出すべきビジネスロジックを選択する。   The “subject ID (destination subject ID)” is an identification code indicating the subject type of the message, as described above. As described below, when the messaging service 15 receives a message, the messaging service 15 selects a computer system (eg, client, framework system, other messaging service, etc.) to which the message is to be addressed based on the subject ID of the message. To do. In addition, when the framework service 16 receives a message, the framework service 16 selects business logic to be called to process the message based on the subject ID of the message.

「送信元情報」は、そのメッセージの送信元のサブジェクトやIPアドレスやコンピュータ名などを表す。   “Sender information” represents the subject, IP address, computer name, etc. of the sender of the message.

図3は、RtFAサーバ14の構成図である。   FIG. 3 is a configuration diagram of the RtFA server 14.

既に参照した図1では、1つのRtFAサーバ14しか示されていなかった。しかし、実際には、図3に示すように、複数のRtFAサーバ14を設けることができる。図3に示す例では、2つのRtFAサーバ14が設けられているが、もっと多くのRtFAサーバ14を設けることができる。   In FIG. 1 already referred to, only one RtFA server 14 is shown. However, in practice, a plurality of RtFA servers 14 can be provided as shown in FIG. In the example shown in FIG. 3, two RtFA servers 14 are provided, but more RtFA servers 14 can be provided.

図3に示すように、各RtFAサーバ14には、一つのメッセージングサービス15と、1又は複数のフレームワークサービス16が設けられ、メッセージングサービス15とフレームワークサービス16は相互に通信可能に接続されている。メッセージングサービス15は、また、1又は複数のクライアント11,13とも通信可能に接続されている。メッセージングサービス15は、クライアント11,13及びフレームワークサービス16とそれぞれ通信する複数のスレッド171を並列に処理している。   As shown in FIG. 3, each RtFA server 14 is provided with one messaging service 15 and one or a plurality of framework services 16, and the messaging services 15 and the framework services 16 are connected to communicate with each other. Yes. The messaging service 15 is also communicably connected to one or more clients 11 and 13. The messaging service 15 processes a plurality of threads 171 that communicate with the clients 11 and 13 and the framework service 16 in parallel.

複数のRtFAサーバ14が存在するので、メッセージングサービス15とフレームワークサービス16の組は複数組存在している。そして、複数のRtFAサーバ14のメッセージングサービス15は、相互に通信可能に接続されている。各RtFAサーバ−14のメッセージングサービス15は、他のRtFAサーバ14のメッセージングサービス15との通信を処理するスレッド171も備えている。各メッセージングサービス15が持つ複数の通信スレッド171は、それぞれキープアライブ機能を有し、この機能により、そのメッセージングサービス15にコネクションされたクライアント11,13、他のメッセージングサービス15、及びフレームワークサービス16と相互の正常な稼動を確認しあっている。   Since there are a plurality of RtFA servers 14, there are a plurality of sets of messaging services 15 and framework services 16. The messaging services 15 of the plurality of RtFA servers 14 are connected so that they can communicate with each other. The messaging service 15 of each RtFA server-14 also includes a thread 171 that handles communication with the messaging service 15 of the other RtFA server 14. The plurality of communication threads 171 included in each messaging service 15 has a keep alive function, and by this function, the clients 11 and 13 connected to the messaging service 15, other messaging services 15, and the framework service 16 Checking each other's normal operation.

また、各メッセージングサービス15には、図4に例示するような管理テーブル18が関連付けられている。管理テーブル18には、そのメッセージングサービス15が伝達すべきメッセージの経路、換言すれば、そのメッセージングサービス15が取り扱う様々なメッセージの送り先、が管理される。図4に示すように、管理テーブル18には、そのメッセージングサービス15に接続された全てのコンピュータシステム(クライアント11,13、他のメッセージングサービス15、及びフレームワークサービス16)の各々について、種別、コンピュータID、IPアドレス、P to PサブジェクトID、P to MサブジェクトID及び処理中フラグなどが登録される。   Each messaging service 15 is associated with a management table 18 illustrated in FIG. The management table 18 manages message paths to be transmitted by the messaging service 15, in other words, various message destinations handled by the messaging service 15. As shown in FIG. 4, the management table 18 includes a type, a computer for each of all computer systems (clients 11 and 13, other messaging services 15, and framework services 16) connected to the messaging service 15. ID, IP address, P to P subject ID, P to M subject ID, processing flag, etc. are registered.

「種別」は、そのコンピュータシステムの種別、例えば、フレームワークサービス(F)、メッセージングサービス(M)、クライアント端末ターミナル(T)の区別を示す。   “Type” indicates a type of the computer system, for example, a framework service (F), a messaging service (M), and a client terminal terminal (T).

「コンピュータID」及び「IPアドレス」は、そのコンピュータシステムの固有の識別コードとIPアドレスを示す。   “Computer ID” and “IP address” indicate a unique identification code and IP address of the computer system.

「P to PサブジェクトID」は、そのコンピュータシステムが待ち受ける(つまり、そのコンピュータシステムが、そのメッセージの宛先になり得る)P to P 通信用のメッセージのサブジェクトID(宛先サブジェクトID)を示す。各コンピュータシステムごとに、複数のP to PサブジェクトIDを登録することができる。   “P to P subject ID” indicates a subject ID (destination subject ID) of a message for P to P communication that the computer system waits for (that is, the computer system can be a destination of the message). Multiple P to P subject IDs can be registered for each computer system.

「P to MサブジェクトID」は、そのコンピュータシステムが待ち受ける(つまり、そのコンピュータシステムが、そのメッセージの宛先になり得る)P to M 通信用のメッセージのサブジェクトID(宛先サブジェクトID)を示す。各コンピュータシステムごとに、複数のP to MサブジェクトIDを登録することができる。   “P to M subject ID” indicates a subject ID (destination subject ID) of a message for P to M communication that the computer system waits for (that is, the computer system can be a destination of the message). Multiple P to M subject IDs can be registered for each computer system.

「処理中フラグ」は、そのコンピュータシステムとの通信のためのスレッド171が、P to P 通信の処理中である(「1」)か否(「0」)かを示す。   The “processing flag” indicates whether the thread 171 for communication with the computer system is processing P to P communication (“1”) or not (“0”).

図4に示した管理テーブル18の登録内容は、図3中の左側のメッセージングサービスMes1の場合の例であり、そこには、左側のメッセージングサービスMes1に接続された全てのコンピュータシステム、すなわち、2つのフレームワークサービスFrm1、Frm2、右側のメッセージングサービスMes2及び3つのクライアント端末PC1、Pc2及びPC3が登録されている。この例によれば、1番目のフレームワークサービスFrm1は、P to P 通信に関しては"A"、"B"、"C"及び"D"というサブジェクトIDをそれぞれもった4種類のメッセージを待ち受けており、また、P to M 通信に関しては"O"、"P"、"Q"及び"R"というサブジェクトIDをそれぞれもった4種類のメッセージを待ち受けている。また、図中右側のメッセージングサービスMes2は、左側のメッセージングサービスMes1からのP to P 通信のメッセージとして、"D"、"E"、"F"、"H"、"I"及び"J"というサブジェクトIDをそれぞれもった7種類のメッセージを待ち受けており、また、左側のメッセージングサービスMes1からのP to M 通信のメッセージとして"P"、"Q"、"R"、"S"、"T"及び"U"というサブジェクトIDをそれぞれもった6種類のメッセージを待ち受けている。   The registration content of the management table 18 shown in FIG. 4 is an example in the case of the left messaging service Mes1 in FIG. 3, which includes all computer systems connected to the left messaging service Mes1, that is, 2 Three framework services Frm1, Frm2, right messaging service Mes2, and three client terminals PC1, Pc2, and PC3 are registered. According to this example, the first framework service Frm1 listens for four types of messages with subject IDs "A", "B", "C", and "D" for P to P communication. For P to M communication, four types of messages having subject IDs “O”, “P”, “Q”, and “R” are awaited. In addition, the messaging service Mes2 on the right side of the figure is called “D”, “E”, “F”, “H”, “I”, and “J” as P to P communication messages from the messaging service Mes1 on the left side. Seven types of messages each with a subject ID are awaited, and “P”, “Q”, “R”, “S”, “T” are messages for P to M communication from the messaging service Mes1 on the left side. And 6 types of messages with subject ID “U”.

再び図3を参照して、各メッセージングサービス15は、メッセージを受信すると、そのメッセージがP to P 通信のものかP to M 通信のものかを判断する。P to P 通信のメッセージを受信したときは、メッセージングサービス15は、そのメッセージングサービス15に関連付けられている図4に例示したような管理テーブル18を参照して、その受信メッセージのサブジェクトIDとマッチするP to PサブジェクトIDのメッセージを待ち受けているコンピュータシステムを探し、見つかった1以上のコンピュータシステムの中から処理中フラグが"0"である1つのコンピュータシステムを選び、そして、選ばれた1つのコンピュータシステムにその受信メッセージを送信する。また、P to M 通信のメッセージを受信したときは、メッセージングサービス15は、そのメッセージングサービス15に関連付けられている図4に示したような管理テーブル18を参照して、その受信メッセージのサブジェクトIDとマッチするP to MサブジェクトIDのメッセージを待ち受けてるコンピュータシステムを全て選び、そして、選ばれた全てのコンピュータシステムにそのメッセージを送信する。   Referring to FIG. 3 again, when each messaging service 15 receives a message, it determines whether the message is for P to P communication or P to M communication. When a message for P to P communication is received, the messaging service 15 matches the subject ID of the received message with reference to the management table 18 illustrated in FIG. 4 associated with the messaging service 15. Search for a computer system waiting for a message with a P to P subject ID, select one computer system with a processing flag of “0” from one or more found computer systems, and select one computer Send the received message to the system. When receiving the message of P to M communication, the messaging service 15 refers to the management table 18 as shown in FIG. 4 associated with the messaging service 15 and sets the subject ID of the received message. Select all computer systems waiting for a matching P to M Subject ID message and send the message to all selected computer systems.

図5は、複数のRtFAサーバ間の接続構成図である。図6は、複数のRtFAサーバ内のメッセージングサービスとフレームワークサービスの接続構成図である。   FIG. 5 is a connection configuration diagram between a plurality of RtFA servers. FIG. 6 is a connection configuration diagram of a messaging service and a framework service in a plurality of RtFA servers.

図5の上段又は下段に示すように、各RtFAサーバ14は他の全てのRtFAサーバ14と相互に通信可能に接続されている。すなわち、図6に示すように、各RtFAサーバ14のメッセージングサービス15が、他の全てのRtFAサーバ14のメッセージングサービス15と相互に通信可能に接続されている。このように複数のコンポーネントの各々が他の全てのコンポーネントと通信可能に接続されることを「メッシュ接続」という。また、図6に示すように、各メッセージングサービス15に対しては複数のフレームワークサービス16を直接連絡させることも可能である。   As shown in the upper or lower part of FIG. 5, each RtFA server 14 is connected to all the other RtFA servers 14 so as to communicate with each other. That is, as shown in FIG. 6, the messaging service 15 of each RtFA server 14 is connected so as to be communicable with the messaging services 15 of all other RtFA servers 14. In this way, each of a plurality of components connected so as to be communicable with all other components is referred to as “mesh connection”. Further, as shown in FIG. 6, it is possible to directly contact each messaging service 15 with a plurality of framework services 16.

このように複数のメッセージングサービス15のメッシュ接続の下で、各メッセージサービス15は、所定の時期、例えばその起動時に、上述したキープアライブ機能を実行する。すなわち、各メッセージングサービス15は、起動すると、自分の管理テーブル18に既に登録されている他のメッセージングサービスの全てと逐次に接続して、自分と接続されているフレームワークシステム16及びクライアント11,13が待ち受けるメッセージのサブジェクトIDを、接続された他のメッセージングサービスの全てに通知する。通知されたサブジェクトIDは、そのメッセージングサービス15が他のメッセージングサービスから待ち受けるメッセージのサブジェクトIDとして、他のメッセージングサービスの管理テーブルに登録される。また、各メッセージングサービス15は、他のメッセージングサービスと接続しようとしたときに接続できなかった場合には、その後に一定間隔で複数回接続をリトライする。また、各メッセージサービス15は、自分の管理テーブル18に未だ登録されていない他のメッセージングサービスから接続要求を受けたときには、その未登録のメッセージングサービスと接続して、未登録のメッセージングサービスとそれぞれが待ち受けるサブジェクトIDなどを交換し合い、そして、そのメッセージングサービスを自分の管理テーブル18に登録する。このようなキープアライブ機能のおかげで、特定のメッセージングシステム15が正常に稼動してない(例えば、システムダウンした)場合には、他の正常に稼動している各メッセージングサービス15は、その正常に稼動してない特定のメッセージングシステム15をメッセージの中継経路から除外し、自分の管理テーブル18を参照して、自動的に別の中継経路を選択することができる。   Thus, under the mesh connection of the plurality of messaging services 15, each message service 15 executes the above-described keep alive function at a predetermined time, for example, when it is activated. That is, when each messaging service 15 is activated, it sequentially connects with all of the other messaging services already registered in its own management table 18, and the framework system 16 and the clients 11, 13 connected to itself. Notifies all other messaging services connected to the subject ID of the message that is waiting. The notified subject ID is registered in the management table of the other messaging service as the subject ID of the message that the messaging service 15 waits from the other messaging service. If each messaging service 15 cannot connect when trying to connect to another messaging service, the messaging service 15 retries the connection several times at regular intervals thereafter. When each message service 15 receives a connection request from another messaging service that has not yet been registered in its management table 18, it connects to that unregistered messaging service, and each unregistered messaging service and each Exchange the waiting subject ID and the like, and register the messaging service in its own management table 18. By virtue of such a keep-alive function, when a specific messaging system 15 is not operating normally (for example, when the system is down), each other normally operating messaging service 15 is properly operated. A specific messaging system 15 that is not in operation can be excluded from the message relay route, and another relay route can be automatically selected by referring to its management table 18.

次に、図7乃至図9に基づいて、メッセージングサービス15が提供する通信サービスの種類を説明する。メッセージングサービス15が提供するデータ配信サービスには、P toM (1対多) 通信処理と、P to P (1対1) 通信処理の2種類がある。   Next, the types of communication services provided by the messaging service 15 will be described with reference to FIGS. There are two types of data distribution services provided by the messaging service 15: P to M (one-to-many) communication processing and P to P (one-to-one) communication processing.

P to M通信処理は、前述したように、図4に例示したような管理テーブル18に登録されている各コンピュータシステムのP to MサブジェクトIDに基づいて、メッセージングサービス15が、受信したP to Mメッセージを、それを待ち受ける全てのコンピュータシステムに配信する処理である。例えば、マーケット情報が更新される都度、更新されたマーケット情報のメッセージを、1乃至n個のRtFAサーバからn個のクライアントに配信する場合に、P to M通信処理が行われる。   In the P to M communication process, as described above, the messaging service 15 receives the P to M received by the messaging service 15 based on the P to M subject ID of each computer system registered in the management table 18 illustrated in FIG. This is a process of delivering a message to all computer systems waiting for it. For example, each time market information is updated, a P to M communication process is performed when an updated market information message is distributed from 1 to n RtFA servers to n clients.

一方、P to P通信処理は、前述したように、図4に例示したような管理テーブル18に登録されている各コンピュータシステムのP to PサブジェクトIDに基づいて、メッセージングサービス15が、受信したP to Pメッセージを、それを待ち受けるコンピュータシステムの中の一つに送信する処理である。例えば、クライアントからの或る処理のためのリクエストのメッセージを、その処理を行うビジネスロジックを有した一つのフレームワークサービスに送る場合に、P to P通信処理が行われる。   On the other hand, as described above, the P to P communication process is performed by the messaging service 15 based on the P to P subject ID of each computer system registered in the management table 18 illustrated in FIG. This is the process of sending a to P message to one of the computer systems awaiting it. For example, when a request message for a certain process from a client is sent to one framework service having a business logic for performing the process, a P to P communication process is performed.

図7は、P to M通信処理のメッセージ中継方法の一例を示している。パブリッシャーとしての或るフレームワークサービス16から出力された或るP to Mメッセージは、そのメッセージを待ち受ける全てのメッセージングサービス15に配信され、そして、それらのメッセージングサービス15から、そのメッセージを待ち受ける全てのクライアント11、13に配信される。   FIG. 7 shows an example of a message relay method for P to M communication processing. A P to M message output from a framework service 16 as a publisher is distributed to all messaging services 15 that wait for the message, and all clients that wait for the message from those messaging services 15. 11 and 13.

図8は、P to M通信処理の一例を示すフローチャートである。まず、サブスクライバの一つであるクライアントT1は、所定のメッセージングサービスMes1との間で、ソケットによるコネクションを確立する。また、クライアントT1から当該メッセージングサービスMes1に対し自己が待ち受けるP to MメッセージのサブジェクトID"X"を登録する。当該メッセージングサービスMes1は、自己に関連付けられた管理テーブル18に、クライアントT1のP to MサブジェクトID"X"を追加する。一方、クライアントT1は、メッセージングサービスMes1からのメッセージの配信を待つ。その後、メッセージングサービスMes1に接続する他のメッセージングサービスMes2,Mes3が起動したとき、メッセージングサービスMes1の管理テーブル18に既に登録されたクライアントT1のP to MサブジェクトID"X"は、他のメッセージングサービスMes2及びMes3にも通知されて、それらの管理テーブル18に、メッセージングサービスMes1のP to MサブジェクトIDとして"X"が追加される。   FIG. 8 is a flowchart illustrating an example of the P to M communication process. First, the client T1, which is one of the subscribers, establishes a socket connection with a predetermined messaging service Mes1. Also, the subject ID “X” of the P to M message that the client T1 waits for the messaging service Mes1 is registered. The messaging service Mes1 adds the P to M subject ID “X” of the client T1 to the management table 18 associated with the messaging service Mes1. On the other hand, the client T1 waits for delivery of a message from the messaging service Mes1. Thereafter, when the other messaging services Mes2 and Mes3 connected to the messaging service Mes1 are activated, the P to M subject ID “X” of the client T1 already registered in the management table 18 of the messaging service Mes1 is the other messaging service Mes2. And “Me” is also notified, and “X” is added to the management table 18 as the P to M subject ID of the messaging service Mes1.

ここで、パブリッシャーとしてのフレームワークサービスFrm3からサブジェクトID"X"をもつP to Mメッセージが配信されると、これを受けたメッセージングサービスMes3は、自己に関連付けられた管理テーブル18を参照し、サブジェクトID"X"を待ち受ける全てのメッセージングサービスMes1及びMes2をピックアップし、それらに当該メッセージを引き渡す。   Here, when the P to M message having the subject ID “X” is delivered from the framework service Frm3 as a publisher, the messaging service Mes3 that has received the message refers to the management table 18 associated with itself and refers to the subject. Pick up all messaging services Mes1 and Mes2 waiting for ID “X” and deliver the message to them.

クライアントT1とコネクトされたメッセージングサービスMes1は、当該メッセージを受信すると、自己に関連付けられた管理テーブル18からサブジェクトID"X"を待ち受けるクライアントT1をピックアップし、当該メッセージをそのクライアントT1に配信する。   When the messaging service Mes1 connected to the client T1 receives the message, the messaging service Mes1 picks up the client T1 waiting for the subject ID “X” from the management table 18 associated with the client T1, and distributes the message to the client T1.

図示してないが、各フレームワークサービスも、そのフレームワークサービスと直接連絡可能なメッセージングサービスへ、そのフレームワークサービスが待ち受けるP to MメッセージのサブジェクトIDを通知する。それにより、そのフレームワークサービスが待ち受けるP to M サブジェクトIDが、そのメッセージングサービスの管理テーブルに登録される。その後、そのメッセージングサービスは、その管理テーブルに登録されたフレームワークサービスのP to MサブジェクトIDを、そのメッセージングサービスが待ち受けるP to MサブジェクトIDとして、他の全てのメッセージングサービスに通知する。これにより、他の全てのメッセージングサービスの管理テーブルにも、そのフレームワークサービスが待ち受けるP to MサブジェクトIDが登録されることになる。結果として、そのフレームワークサービスは、P to MサブジェクトIDをもったメッセージを、いずれのメッセージングサービスからも受信できるようになる。   Although not shown, each framework service also notifies the subject ID of the P to M message that the framework service awaits to the messaging service that can directly communicate with the framework service. Thereby, the P to M subject ID that the framework service waits for is registered in the management table of the messaging service. Thereafter, the messaging service notifies all other messaging services of the P to M subject ID of the framework service registered in the management table as the P to M subject ID that the messaging service waits on. As a result, the P to M subject ID that the framework service waits on is also registered in the management tables of all other messaging services. As a result, the framework service can receive a message with a P to M subject ID from any messaging service.

次に図9は、P to P通信処理を示すフローチャートである。   Next, FIG. 9 is a flowchart showing the P to P communication process.

上述したP to M通信のサブジェクトIDの管理テーブルへの登録と同様に、各メッセージングサービスの管理テーブルには、そのメッセージングサービスが直接連絡可能なクライアント及びフレームワークサービスがそれぞれ待ち受けるP to PサブジェクトID、並びに、他の全てのメッセージングサービスがそれぞれ待ち受けるP to PサブジェクトIDが予め自動的に登録されている。   Similar to the registration of the P to M communication subject ID in the management table described above, each messaging service management table includes a P to P subject ID on which a client and a framework service that the messaging service can directly contact, In addition, P to P subject IDs on which all other messaging services are awaited are automatically registered in advance.

そのような状態において、図9に示すように、まず或るクライアントPC1は、所定のメッセージングサービスMes1とコネクションを確立する。   In such a state, as shown in FIG. 9, first, a certain client PC1 establishes a connection with a predetermined messaging service Mes1.

続いて、クライアントPC1から或るサブジェクトID"A"を持ったP to Pのリクエストメッセージが送信されると、これを受信したメッセージングサービスMes1は、自己の管理テーブル18を参照して、そのサブジェクトID"A"を待ち受けるコンピュータシステムの中の一つ、例えば、フレームワークサービスFrm1を選び、それに当該リクエストメッセージを引き渡す(矢印(1))。フレームワークサービスFrm1は、引き受けたリクエストメッセージのサブジェクトID"A"に対応したビジネスロジックを呼び出して、そのメッセージの処理を実行し、その実行結果を示すリプライメッセージをメッセージングサービスMes1に戻す(矢印(3))。そして、メッセージングサービスMes1は、そのリプライメッセージをクライアントPC1に返信する。そのリプライメッセージを取得したクライアントPC1は、メッセージングサービスMes1とのコネクションを開放する。   Subsequently, when a P to P request message having a certain subject ID “A” is transmitted from the client PC 1, the messaging service Mes 1 receiving this message refers to its own management table 18 and refers to the subject ID. One of the computer systems waiting for “A”, for example, the framework service Frm1 is selected and the request message is delivered to it (arrow (1)). The framework service Frm1 calls the business logic corresponding to the subject ID “A” of the accepted request message, executes the processing of the message, and returns a reply message indicating the execution result to the messaging service Mes1 (arrow (3 )). Then, the messaging service Mes1 returns the reply message to the client PC1. The client PC 1 that acquired the reply message releases the connection with the messaging service Mes1.

或いは、メッセージングサービスMes1は、クライアントPC1から受信したサブジェクトID"A"のリクエストメッセージを、上記の例のようにフレームワークサービスFrm1へ送る代わりに、サブジェクトID"A"を待ち受ける他のメッセージングサービスMes2へ送る(矢印(2))こともできる。例えば、フレームワークサービスFrm1が処理中であるが、メッセージングサービスMes2は処理中でないときには、そのようなことが行われる。その場合、メッセージングサービスMes2は、そのリクエストメッセージを受けると、自己の管理テーブル18を参照して、サブジェクトID"A"を待ち受ける一つのコンピュータシステム、例えば、フレームワークシステムFrm2を選んで、それに当該リクエストメッセージを送って処理させる(矢印(4))。フレームワークシステムFrm2から処理結果のリプライメッセージが返されると(矢印(5))、メッセージングサービスMes2は、そのリプライメッセージをメッセージングサービスMes1に返し(矢印(6))、そして、メッセージングサービスMes1は、そのリプライメッセージをクライアントPC1へ返す。   Alternatively, the messaging service Mes1 sends the request message of the subject ID “A” received from the client PC1 to the other messaging service Mes2 that waits for the subject ID “A” instead of sending the request message to the framework service Frm1 as in the above example. You can also send (arrow (2)). For example, this occurs when the framework service Frm1 is processing but the messaging service Mes2 is not processing. In that case, when the messaging service Mes2 receives the request message, the messaging service Mes2 selects one computer system that waits for the subject ID “A”, for example, the framework system Frm2 by referring to its own management table 18 and requests it. Send a message for processing (arrow (4)). When the reply message of the processing result is returned from the framework system Frm2 (arrow (5)), the messaging service Mes2 returns the reply message to the messaging service Mes1 (arrow (6)), and the messaging service Mes1 A reply message is returned to the client PC 1.

上述したように、メッセージングサービス15は、自己と直接連絡可能なフレームワークサービス16へメッセージを送るだけでなく、他のメッセージングサービスを経由して他のフレームワークサービスへメッセージを送ることも可能である。これにより、複数のRtFAサーバ14間のロードバランシング(負荷平衡)が可能である。   As described above, the messaging service 15 can send messages to other framework services via other messaging services as well as send messages to the framework service 16 that can directly contact itself. . Thereby, load balancing (load balancing) between a plurality of RtFA servers 14 is possible.

図10は、メッセージングサービスがもつロードバランシング機能の説明図である。   FIG. 10 is an explanatory diagram of the load balancing function of the messaging service.

図10に示すように、各RtFAサーバ14において、各フレームワークサービス16は、メッセージングサービス15と連絡する複数のスレッド19を並列に処理している。また、各メッセージングサービス15は、クライアントから受信したメッセージを一時的に保持するメッセージキュー15aを備えている。   As shown in FIG. 10, in each RtFA server 14, each framework service 16 processes a plurality of threads 19 that communicate with the messaging service 15 in parallel. Each messaging service 15 includes a message queue 15a that temporarily holds a message received from a client.

各メッセージングサービス15のキュー15aに蓄積された各メッセージは、そのメッセージングサービス15に関連付けられた管理テーブルに従って、そのメッセージのサブジェクトIDに対応する何れかのフレームワークサービス16に引き渡される。その場合、メッセージングサービス15は、自己に直接連絡可能で且つそのサブジェクトIDを待ち受ける特定のフレームワークサービス16に、そのメッセージを引き渡すことができる。しかし、その時、その特定のフレームワークサービス16のスレッド19に空きが無い(つまり、処理中である)場合、メッセージングサービス15は、その処理中のフレームワークサービス16ではなく、そのサブジェクトIDを待ち受ける他のメッセージングサービス15に、そのメッセージを引渡す。そのメッセージを受け取った当該他のメッセージングサービス15は、当該他のメッセージングサービス16が直接に連絡可能であり且つそのサブジェクトIDを待ち受ける特定のフレームワークサービス16に、そのメッセージを引き渡す。このようなメッセージ中継を可能にするために、各メッセージングサービス15は、自分のメッセージキュー15aを常時監視し、そのメッセージキュー15aに処理待ちのメッセージが溜まっている場合は、直ちにそのキューからメッセージを取り出し、自分の管理テーブルを参照してそのメッセージの送り先をてきぱきと決定して、そのメッセージを送り出す。これにより、複数のRtFAサーバのロードバランスが適正化される。結果として、どのメッセージも可能な限り早期に処理され、よって、従来は夜間にバッチ処理で行われていたバックオフィスの仕事が、リアルタイムに近い態様で早期に実行できる。   Each message stored in the queue 15a of each messaging service 15 is delivered to any framework service 16 corresponding to the subject ID of the message according to the management table associated with the messaging service 15. In that case, the messaging service 15 can deliver the message to a particular framework service 16 that can contact itself directly and awaits its subject ID. However, at that time, if the thread 19 of the specific framework service 16 is not empty (that is, processing is in progress), the messaging service 15 waits for the subject ID instead of the framework service 16 being processed. The message is delivered to the messaging service 15. The other messaging service 15 that received the message delivers the message to a particular framework service 16 that the other messaging service 16 can contact directly and awaits its subject ID. In order to enable such message relaying, each messaging service 15 constantly monitors its message queue 15a, and if there are messages waiting to be processed in the message queue 15a, messages are immediately sent from the queue. The message is taken out, the destination of the message is determined with reference to its own management table, and the message is sent out. Thereby, the load balance of a plurality of RtFA servers is optimized. As a result, every message is processed as early as possible, so that back office work that was traditionally done in batch processing at night can be performed early in a near real-time manner.

続いて、フレームワークサービス16の構成について説明する。   Next, the configuration of the framework service 16 will be described.

図11は、フレームワークサービス16の構成を示す。   FIG. 11 shows the configuration of the framework service 16.

フレームワークサービス16の実体は、複数のフレームワークスレッド25による並列処理で構成されている。各フレームワークスレッド25は、予め準備された一群のビジネスロジック20にアクセスし、そして、メッセージングサービス15から引き渡されたメッセージのサブジェクトIDに対応する特定のビジネスロジック22をロードして実行する。ここで、ビジネスロジックとは、例えばJAVAコードでプログラムされたプロセスであって、それぞれ固有のメッセージ処理を実行するものである。主要なビジネスロジックの多くは、データベースサーバ17に管理されるデータベース21に対し、メッセージの内容に応じた所定の操作を要求する。   The entity of the framework service 16 is configured by parallel processing by a plurality of framework threads 25. Each framework thread 25 accesses a group of business logics 20 prepared in advance, and loads and executes specific business logic 22 corresponding to the subject ID of the message delivered from the messaging service 15. Here, the business logic is a process programmed with, for example, a JAVA code, and executes unique message processing. Most of the main business logic requests a predetermined operation corresponding to the content of the message from the database 21 managed by the database server 17.

図12は、フレームワークサービス16の動作説明図である。   FIG. 12 is an operation explanatory diagram of the framework service 16.

フレームワークサービス16のビジネスロジックの動作方式には、大きく分けて同期方式と、非同期方式の2種類がある。フレームワークサービス16は、クライアントからの或るリクエストメッセージに応答して、ただ1つのビジネスロジックのみを実行する場合がある。また、フレームワークサービス16は、リクエストメッセージに直接的に応答して1つのビジネスロジックを実行し、それに連係して、後続の1以上のビジネスロジックを実行する場合もある。図12には、クライアント11,13からの仕入登録リクエストのメッセージに直接的に応答して仕入処理のビジネスロジックが実行され、これに連係して、在庫処理及び会計処理という2つの後続のビジネスロジックが実行される例が示されている。   There are roughly two types of operation methods of the business logic of the framework service 16: a synchronous method and an asynchronous method. The framework service 16 may execute only one business logic in response to a certain request message from the client. In addition, the framework service 16 may execute one business logic in response to a request message directly, and may execute one or more subsequent business logics in conjunction with it. In FIG. 12, the business logic of the purchase process is executed directly in response to the message of the purchase registration request from the clients 11 and 13, and in conjunction with this, two subsequent processes of inventory process and accounting process are executed. An example where business logic is executed is shown.

クライアントからのリクエストメッセージに直接的に応答してただ一つのビジネスロジックのみを実行する場合、フレームワークサービス16は、その唯一のビジネスロジックを通常は同期方式で実行し、そして、その実行結果を示すリプライメッセージをクライアントへ返す。   When only one business logic is executed in direct response to a request message from the client, the framework service 16 executes the only business logic, usually in a synchronous manner, and indicates the execution result. Return reply message to client.

一方、クライアントからのリクエストメッセージに直接的に応答して1つのビジネスロジックを実行した後、これに連係して、後続の1以上のビジネスロジックを実行する場合、フレームワークサービス16は、最初の一つのビジネスロジックは通常は同期方式で実行するが、2番目以降のビジネスロジックは同期方式で実行することもできるし、非同期方式で実行することもできる。図12には、最初の仕入処理のビジネスロジックのみが同期方式で実行され、後続の在庫処理と会計処理のビジネスロジックは非同期方式で実行される例が示されている。図12の例のように複数のビジネスロジックが実行される場合、フレームワークサービス16は、同期方式で実行したビジネスロジックの全てが完了すると、その実行結果を示すリプライメッセージをクライアントへ返す。非同期方式で実行されるべきビジネスロジックは、クライアントからは切り離されたバックグラウンドで(つまり、クライアントからはオフラインで)実行される。   On the other hand, when one business logic is executed directly in response to a request message from the client and then one or more subsequent business logics are executed in conjunction with this, the framework service 16 performs the first one. One business logic is usually executed in a synchronous manner, but the second and subsequent business logics can be executed in a synchronous manner or can be executed in an asynchronous manner. FIG. 12 shows an example in which only the business logic of the first purchase process is executed in a synchronous manner, and the business logic of subsequent inventory processing and accounting processing is executed in an asynchronous manner. When a plurality of business logics are executed as in the example of FIG. 12, the framework service 16 returns a reply message indicating the execution result to the client when all of the business logics executed in a synchronous manner are completed. Business logic that is to be executed asynchronously is executed in the background separate from the client (ie, offline from the client).

図12に示すように、フレームワークサービス16は、フロー定義ファイル23を有しており、そこには、そのフレームワークサービス16によるビジネスロジックの実行スケジュール(最初に実行すべき1つのビジネスロジック名、連係する後続の1又はそれ以上のビジネスロジックがある場合にはその後続のビジネスロジックへ渡すメッセージのサブジェクトID及び連係方式(同期か非同期か)、など)が、様々なメッセージのサブジェクトIDごとに定義されている。フレームワークサービス16は、一つのメッセージを受け取ると、フロー定義ファイル23を参照して、その受信されたメッセージのサブジェクトIDに対応するビジネスロジック実行スケジュールを選択し、選択されたスケジュールに従って1以上のビジネスロジックを実行する。その選択されたスケジュールには、少なくとも、そのメッセージに応答して直接的に実行されるべき1つのビジネスロジックが記述されているから、フレームワークサービスは、まず、その1つのビジネスロジックをロードして実行する。もし、その選択されたスケジュールに、更に、連係する後続の1以上のビジネスと連係方式とが記述されていたなら、フレームワークサービスは、最初のビジネスロジックの実行後に、その後続のビジネスロジックを、その連係方式で(つまり、同期的に又は非同期的に)実行することになる。なお、先行のビジネスロジックと後続のビジネスロジックは、同一のフレームワークサービスによって実行される場合もあるが、上述したロードバランシングにより別のフレームワークサービスによって実行される場合もある。   As shown in FIG. 12, the framework service 16 has a flow definition file 23, in which a business logic execution schedule by the framework service 16 (name of one business logic to be executed first, If there is one or more subsequent business logics to be linked, the message subject ID and linkage method (synchronous or asynchronous) passed to the subsequent business logic are defined for each subject ID of various messages. Has been. When the framework service 16 receives one message, the framework service 16 refers to the flow definition file 23, selects a business logic execution schedule corresponding to the subject ID of the received message, and one or more businesses according to the selected schedule. Execute logic. Since the selected schedule describes at least one business logic to be executed directly in response to the message, the framework service first loads the one business logic. Execute. If the selected schedule further describes one or more subsequent businesses and linkage methods to be linked, the framework service will execute the subsequent business logic after executing the first business logic. It is executed in the linkage system (that is, synchronously or asynchronously). The preceding business logic and the subsequent business logic may be executed by the same framework service, or may be executed by another framework service by the load balancing described above.

図13は、フロー定義ファイル23の簡単な例を示す。   FIG. 13 shows a simple example of the flow definition file 23.

図13に示すように、フロー定義ファイル23には、サブジェクトIDごとにビジネスロジック実行スケジュールをそれぞれ記述した複数のセンテンス231、232、233、234が存在する。フロー定義ファイル23は、例えばテキストファイルであり、よって、定義センテンス231、232、233、234の追加、削除、変更などの編集は、テキストエディタなどを用いて簡単に行える。   As illustrated in FIG. 13, the flow definition file 23 includes a plurality of sentences 231, 232, 233, and 234 that describe a business logic execution schedule for each subject ID. The flow definition file 23 is, for example, a text file. Therefore, editing such as addition, deletion, and change of the definition sentences 231, 232, 233, and 234 can be easily performed using a text editor or the like.

図13の一番上の定義センテンス231内に説明されているように、各定義センテンスは、セミコロン";"で区切られた複数のサブセンテンスから構成される。最初のサブセンテンスには、入力サブジェクトID、ログキュー名、実行ビジネスロジック名などが含まれる。2番目以降の各サブセンテンスには、メッセージ変換ビジネスロジック名、出力サブジェクトID、連係モードなどが含まれる。最初のサブセンテンスは、メッセージに直接的に応答して実行されるべき1つのビジネスロジックに関するものであり、これは全ての定義センテンスに必ず記述される。2番目以降のサブセンテンスは、最初のビジネスロジックに連携して実行される後続の1以上のビジネスロジックに関するものであり、よって、後続のビジネスネスロジックがある場合にのみ記述される。   As described in the definition sentence 231 at the top of FIG. 13, each definition sentence is composed of a plurality of sub-sentences separated by semicolons “;”. The first sub-sentence includes the input subject ID, log queue name, execution business logic name, and the like. Each of the second and subsequent sub-sentences includes a message conversion business logic name, an output subject ID, a linkage mode, and the like. The first sub-sentence relates to one business logic that is to be executed directly in response to the message, which is always described in all definition sentences. The second and subsequent sub-sentences relate to one or more subsequent business logics that are executed in conjunction with the first business logic, and are thus described only when there is subsequent businessness logic.

最初のサブセンテンスの項目の意味は次のとおりである。   The meaning of the first sub-sentence item is as follows.

ここで、「入力サブジェクトID」は、フレームワークシステムが受信したメッセージのサブジェクトIDである。   Here, the “input subject ID” is the subject ID of the message received by the framework system.

「ログキュー名」は、その受信したメッセージをログに書く場合に用いられるログキューの名称である。例えば、"@DEF"はデフォルトのログキューを用いることを意味し、"@NONE"はログに書かれないことを意味する。   “Log queue name” is the name of the log queue used when the received message is written in the log. For example, "@DEF" means use the default log queue, and "@NONE" means that it will not be written to the log.

「実行ビジネスロジック名」は、そのメッセージに直接応答して実行されるべきビジネスロジックの名称である。図示の定義センテンス232〜234の例では、入力サブジェクトIDと同じコードが用いられている。   The “execution business logic name” is the name of the business logic to be executed in direct response to the message. In the example of the definition sentences 232 to 234 shown in the figure, the same code as the input subject ID is used.

2番目以降の各サブセンテンスの項目の意味は次のとおりである。   The meaning of each sub-sentence item after the second is as follows.

「メッセージ変換ビジネスロジック名」は、先行のビジネスロジックの処理結果データを後続のビジネスロジックに渡されるメッセージに変換するために実行されるメッセージ変換ビジネスロジックの名称である。メッセージ変換が不要な場合、ここには"@NONE"と書かれる。   The “message conversion business logic name” is the name of the message conversion business logic executed to convert the processing result data of the preceding business logic into a message passed to the subsequent business logic. If message conversion is not required, "@NONE" is written here.

「出力サブジェクトID」は、後続のビジネスロジックに渡されるメッセージのサブジェクトIDである。   The “output subject ID” is the subject ID of the message passed to the subsequent business logic.

「連係モード」は、後続のビジネスロジックを同期方式で実行するか非同期方式で実行するかを示す。例えば、"SYNC"は同期方式を意味し、"ASYNC"は非同期方式を意味する。   “Linkage mode” indicates whether the subsequent business logic is executed in a synchronous manner or in an asynchronous manner. For example, “SYNC” means a synchronous method, and “ASYNC” means an asynchronous method.

図13の2番目の定義センテンス232は次のスケジュール(1)を例示している。   The second definition sentence 232 in FIG. 13 illustrates the next schedule (1).

(1) "BuySelBuy"というサブジェクトIDのメッセージ(例えば、仕入検索リクエスト)に応答して、"BuySelBuy"という名称のビジネスロジック(例えば、仕入検索処理)を実行する。   (1) In response to a message with a subject ID “BuySelBuy” (for example, purchase search request), a business logic named “BuySelBuy” (for example, purchase search processing) is executed.

3番目の定義センテンス233は、次のスケジュール(1)〜(3)を例示している。   The third definition sentence 233 exemplifies the following schedules (1) to (3).

(1) "BuyUpdBuy"というサブジェクトIDのメッセージ(例えば、仕入更新リクエスト)に応答して、まず、"BuyUpdBuy"という名称のビジネスロジック(例えば、仕入更新処理)を実行する。   (1) In response to a message with a subject ID “BuyUpdBuy” (for example, a purchase update request), first, a business logic named “BuyUpdBuy” (for example, a purchase update process) is executed.

(2) 次に、"CnvBuyUpdBuy"という名称の変換ビジネスロジックを用いて、先行する"BuyUpdBuy"ビジネスロジックの出力データのフォーマットを変換して、"InvUpdInv"というサブジェクトIDをもったメッセージ(例えば、在庫更新リクエスト)を作成してメッセージサービスへ出力する。   (2) Next, using the conversion business logic named “CnvBuyUpdBuy”, the format of the output data of the preceding “BuyUpdBuy” business logic is converted, and the message with the subject ID “InvUpdInv” (for example, inventory Update request) and output it to the message service.

(3) 出力された"InvUpdInv"というメッセージを処理することになる後続のビジネスロジック(例えば、在庫更新処理)は、同期的に実行される。   (3) Subsequent business logic (for example, inventory update processing) that will process the output “InvUpdInv” message is executed synchronously.

さらに、4番目の定義センテンス234は、次のスケジュール(1)〜(5)を例示している。   Further, the fourth definition sentence 234 exemplifies the following schedules (1) to (5).

(1) "BuyInsBuy"というサブジェクトIDのメッセージ(例えば、仕入検品更新リクエスト)に応答して、まず、"BuyInsBuy"という名称のビジネスロジック(例えば、仕入検品更新処理)を実行する。   (1) In response to a message with a subject ID “BuyInsBuy” (for example, purchase inspection update request), first, a business logic named “BuyInsBuy” (for example, purchase inspection update processing) is executed.

(2) 次に、"CnvBuyInsBuy1"という名称の変換ビジネスロジックを用いて、先行する"BuyInsBuy "ビジネスロジックの出力データのフォーマットを変換して、"InvUpdInv"というサブジェクトIDをもったメッセージ(例えば、在庫更新リクエスト)を作成してメッセージサービスへ出力する。   (2) Next, the conversion business logic named “CnvBuyInsBuy1” is used to convert the output data format of the preceding “BuyInsBuy” business logic, and a message with a subject ID of “InvUpdInv” (for example, inventory Update request) and output it to the message service.

(3) 出力された"InvUpdInv"というメッセージを処理することになる後続のビジネスロジック(例えば、在庫更新処理)は、非同期的に実行される。   (3) Subsequent business logic (for example, inventory update processing) that will process the output “InvUpdInv” message is executed asynchronously.

(4) また、"CnvBuyInsBuy2"という名称の変換ビジネスロジックを用いて、先行する"BuyInsBuy "ビジネスロジックの出力データのフォーマットを変換して、"AccDbtBuy"というサブジェクトIDをもったメッセージ(例えば、買掛金登録リクエスト)を作成してメッセージサービスへ出力する。   (4) In addition, using the conversion business logic named “CnvBuyInsBuy2”, the format of the output data of the preceding “BuyInsBuy” business logic is converted, and the message with the subject ID “AccDbtBuy” (for example, accounts payable) Create (registration request) and output it to the message service.

(5) 出力された"AccDbtBuy"というメッセージを受け取る後続のビジネスロジック(例えば、買掛金登録処理)は、非同期的に実行される。   (5) Subsequent business logic that receives the output “AccDbtBuy” message (for example, accounts payable registration processing) is executed asynchronously.

再び図12を参照する。各フレームワークサービス16は、それに関連付けられたフロー定義ファイル23を参照することにより、処理対象のメッセージに対応するビジネスロジック22を選択し実行することができ、また、後続処理の必要性を判断し、必要であれば、後続処理のためのリクエストメッセージを作成してメッセージングサービス15へ戻すことができる。   Refer to FIG. 12 again. Each framework service 16 can select and execute the business logic 22 corresponding to the message to be processed by referring to the flow definition file 23 associated therewith, and can determine the necessity of subsequent processing. If necessary, a request message for subsequent processing can be created and returned to the messaging service 15.

ここで、一のフレームワークスレッドによる処理の後続処理として、他のフレームワークスレッドによる処理を非同期的に行わせる場合、フレームワークサービス16は、先行のフレームワークスレッドでのビジネスロジックによる処理のリザルト(後続処理のためのリクエストメッセージ)を一度メッセージングサービス15のキュー15aにインプットし、その後、他のフレームワークスレッドがメッセージングサービス15のキュー15aからそのリクエストメッセージをゲットすることによって、後続処理を行う。ここで、先行の処理を行うフレームワークシステム16と、後続の処理を行なうフレームワークシステム16は、同じ場合もあるし、異なる場合もある。各種の処理をどのフレームワークシステム16に割り当てるかということは、既に説明したメッセージングサービスのロードバランシング機能によって制御される。   Here, as a subsequent process of the process by one framework thread, when the process by another framework thread is performed asynchronously, the framework service 16 results in the process by the business logic in the preceding framework thread ( A request message for subsequent processing is once input to the queue 15a of the messaging service 15, and then another framework thread obtains the request message from the queue 15a of the messaging service 15 to perform subsequent processing. Here, the framework system 16 that performs the preceding process and the framework system 16 that performs the subsequent process may be the same or different. Which framework system 16 is assigned various processes is controlled by the load balancing function of the messaging service described above.

各フレームワークサービス16は、メッセージドリブンの構成を採っている。即ち、メッセージングサービス15からのメッセージの引渡しをトリガーとしてビジネスロジックのロード及びビジネスロジックによる処理を実行するようになっている。   Each framework service 16 has a message-driven configuration. In other words, business logic loading and business logic processing are executed with the delivery of a message from the messaging service 15 as a trigger.

以上説明した本実施形態によると、フレームワークサービスのビジネスロジックの連係方法に同期方式と非同期方式を用意し、随時に簡単に書き換え可能なフロー定義ファイルの記述によってビジネスロジックの実行スケジュールを制御できるので、複雑なビジネスロジックフローを定義し、また必要に応じて変更することが容易である。   According to this embodiment described above, the synchronization method and the asynchronous method are prepared for the linkage method of the business logic of the framework service, and the execution schedule of the business logic can be controlled by the description of the flow definition file that can be easily rewritten at any time. It is easy to define complex business logic flow and modify as needed.

また、上記実施形態では、メッセージングサービスをメッシュ接続すると共に、キープアライブ機能によって、メッセージングサービス相互間、メッセージングサービスとクライアントとの間、及びメッセージングサービスとフレームワークサービスとの間で、相互にステータス(待ち受けるメッセージのサブジェクトID、処理中か否か、など)を通知し合う。そして、各メッセージングサービスは、周囲のクライアント、フレームワークサービス及び他のメッセージングサービスの現在のステータスを、管理テーブルに記憶している。それにより、いずれのRtFAサーバがダウンした場合でも、各メッセージングサービスは、正常に使えるメッセージの中継経路を自動的に選択し、メッセージを正しいシステムへ伝えることができる。結果として、フォルトトレラント性が向上し、システムの稼動の信頼性が向上し、システムの拡張が容易になり、更に、システムメンテナンスも容易に行うことができる。   Further, in the above embodiment, the messaging services are mesh-connected, and the keep alive function allows statuses (waiting) between the messaging services, between the messaging service and the client, and between the messaging service and the framework service. Message subject ID, whether processing is in progress, etc.). Each messaging service then stores the current status of surrounding clients, framework services and other messaging services in a management table. As a result, even if any RtFA server goes down, each messaging service can automatically select a message relay route that can be used normally and transmit the message to the correct system. As a result, fault tolerance is improved, reliability of system operation is improved, system expansion is facilitated, and system maintenance can be easily performed.

また、メッセージングサービスは、P to P通信とPtoM通信のような複数種類のデータ配信方法を備え、管理テーブルに登録されているステータスに応じて、どのメッセージをどのコンピュータシステムにどのデータ配信方法で送るかというメッセージングスケジュールを自動的に選択することができる。その結果、柔軟なメッセージングサービスを提供することができる。   In addition, the messaging service has multiple types of data distribution methods such as P to P communication and PtoM communication, and sends which message to which computer system by which data distribution method according to the status registered in the management table. The messaging schedule can be automatically selected. As a result, a flexible messaging service can be provided.

また、メッセージングサービスのロードバランシング機能により、複数のRtFAサーバの負荷バランスを自動的に調整することができ、高いパフォーマンスを提供することができる。   In addition, the load balancing function of the messaging service can automatically adjust the load balance of multiple RtFA servers, providing high performance.

ここで、本発明の範囲は、本実施形態に限られない。例えば、JAVAベース以外のプラットフォームを用いることによっても同等のシステムの実現は可能である。また、メッセージングサービスの上述した特徴と、フレームワークサービスの上述した特徴とは、上述した実施形態のように組み合わされている必要は、必ずしも無い。   Here, the scope of the present invention is not limited to this embodiment. For example, an equivalent system can be realized by using a platform other than the JAVA base. Further, the above-described features of the messaging service and the above-described features of the framework service are not necessarily combined as in the above-described embodiment.

以下、上記実施形態に具備される幾つかの詳細な機能を説明する。   Hereinafter, some detailed functions provided in the embodiment will be described.

図14は、フロー定義ファイル23の更新システムを示すブロック図である。   FIG. 14 is a block diagram showing an update system for the flow definition file 23.

フレームワークサービス16は、定義ファイル23を更新するためのプログラムモジュールである定義ファイル更新モジュール101を備え、この更新モジュール101は、外部からリロードコマンド111を受付けると、フレームワークサービス16のメインメモリ103内にロードされている現在使用中の定義ファイル23を、そこに矢印113で示すように外部記憶装置(例えば、ディスクストレージ107に記憶されている新しい定義ファイル109を上書きすることで、更新する。ディスクストレージ107内の新しい定義ファイル109は、テキストエディタ105などを用いて容易に編集することができる。所望の時に、上述したリロードコマンド111を入力することで、メインメモリ103内の定義ファイル23が、編集された新しい定義ファイル109と同じ内容に更新される。これにより、フレームワークサービス16の稼動中であっても所望の時に、定義ファイル23の内容を書き換えて、これをフレームワークサービス16の以後の動作に反映させることができる。従って、実行するビジネスロジック22の種類の変更や、後続の処理を行なうか否か、又は、複数のビジネスロジックの連係した動作を同期的に行うか、非同期的に行うか、といった処理スケジュール変更を、システムを稼動させたままの状態で行うことができる。   The framework service 16 includes a definition file update module 101 that is a program module for updating the definition file 23. When the update module 101 receives a reload command 111 from the outside, the update service module 101 in the main memory 103 of the framework service 16 The definition file 23 currently in use loaded in the disk is updated by overwriting a new definition file 109 stored in the external storage device (for example, the disk storage 107 as indicated by an arrow 113). The new definition file 109 in the storage 107 can be easily edited using the text editor 105 etc. When desired, the definition file 23 in the main memory 103 can be changed by inputting the reload command 111 described above. Edited The contents are updated to the same contents as the new definition file 109. Thereby, even when the framework service 16 is in operation, the contents of the definition file 23 are rewritten at a desired time, and the contents of the definition file 23 are updated. Therefore, it is possible to reflect the change in the type of business logic 22 to be executed, whether to perform subsequent processing, whether to perform a linked operation of a plurality of business logics synchronously, or asynchronously. It is possible to change the processing schedule such as whether to perform the operation while the system is operating.

図15は、フレームワークサービスのメッセージ変換処理機能を示す。   FIG. 15 shows the message conversion processing function of the framework service.

フレームワークサービス16のためのコンピュータプログラムは例えばJAVA言語で構築される。図15に示すように、フレームワークサービス16は、入力メッセージのフォーマット変換を行うための入力変換機能102と、出力メッセージのフォーマット変換を行うための出力変換機能103とを備えている。入力変換機能102は、メッセージングサービス15からの例えばXMLファイルの形式の入力メッセージを、JAVAのオブジェクトの形式に変換する。出力変換機能103は、メッセージングサービス15に出力するJAVAのオブジェクトの形式のメッセージを、XML形式に変換する。入力変換機能102は、XMLのDTD(文書型定義)の記述に基づいてJAVAクラスのメンバ変数を取得し、これをインスタンス化することによってJAVAオブジェクト化したメッセージを得る。また、出力変換機能103は、JAVAクラスのメンバ変数に基づいてXMLのDTDを形成し、XML化したメッセージを得る。   The computer program for the framework service 16 is constructed in, for example, the JAVA language. As shown in FIG. 15, the framework service 16 includes an input conversion function 102 for converting the format of an input message and an output conversion function 103 for converting the format of an output message. The input conversion function 102 converts, for example, an input message in the form of an XML file from the messaging service 15 into a JAVA object format. The output conversion function 103 converts a message in the JAVA object format to be output to the messaging service 15 into an XML format. The input conversion function 102 acquires a JAVA class member variable based on the description of the XML DTD (document type definition) and instantiates it to obtain a Java object message. Further, the output conversion function 103 forms an XML DTD based on the JAVA class member variable, and obtains an XML message.

図16は、メッセージングサービスのメッセージキューの構成を示す。   FIG. 16 shows the structure of the message queue of the messaging service.

上述の説明では、メッセージキュー15aを単一のキューであるかのごとくに説明した。しかし、実際には、図16に示すように、メッセージキュー15aには3種類のキュー、すなわち、メモリキュー153とリングバッファ154とDB(データベース)キュー155が含まれている。メモリキュー153とリングバッファ154は、RAM151のような高速アクセスが可能な記憶装置に設けられる。DBキュー155は、ハードディスク(HDD)のよう不揮発性の大容量の記憶装置に設けられる。   In the above description, the message queue 15a is described as if it is a single queue. However, actually, as shown in FIG. 16, the message queue 15a includes three types of queues, that is, a memory queue 153, a ring buffer 154, and a DB (database) queue 155. The memory queue 153 and the ring buffer 154 are provided in a storage device such as the RAM 151 that can be accessed at high speed. The DB queue 155 is provided in a nonvolatile large-capacity storage device such as a hard disk (HDD).

メモリキュー153は、メッセージングサービスがクライアントから受信したP to Pのリクエストメッセージのように、そのメッセージを処理した結果を受け取る相手が存在し、メッセージの保証が不要であるというメッセージを、一時的に待たせるために使用される。一方、DBキュー155は、メッセージングサービスがフレームワークサービスから受信した非同期の後続処理のためのリクエストメッセージのように、メッセージの保証が必要なメッセージを、一時的に待たせるために使用される。メッセージの保証が必要か否かは、図2に示したメッセージ10の構成中の「保証モード」で判断される。   The memory queue 153 temporarily waits for a message indicating that there is a partner who receives the result of processing the message, such as a P to P request message received from the client by the messaging service, and the guarantee of the message is unnecessary. Used to make. On the other hand, the DB queue 155 is used to temporarily wait for a message that requires message guarantee, such as a request message for asynchronous subsequent processing received by the messaging service from the framework service. Whether or not the message needs to be guaranteed is determined by the “guarantee mode” in the configuration of the message 10 shown in FIG.

リングバッファ154は、P to M通信のメッセージを一時的に待たせるために使用される。各コンピュータシステムは、リンクバッファ154を巡回しながらリングバッファ154から自分の待ち受けるメッセージを見つけ出して取っていくことができる。図16では、リングバッファ154は一つのバッファのごとくに示されているが、実際には、"H"、"N"及び"L"の3種類の優先順位にそれぞれ対応した3つのリングバッファのセットである。   The ring buffer 154 is used to temporarily wait for a message of P to M communication. Each computer system can find the message it awaits from the ring buffer 154 and go through the link buffer 154 and take it. In FIG. 16, the ring buffer 154 is shown as a single buffer. However, in reality, three ring buffers corresponding to the three types of priority “H”, “N”, and “L” are used. Is a set.

DBキュー155は、メッセージングサービスがフレームワークサービスから受信した後続処理のためのリクエストメッセージのように、メッセージの保証が必要なメッセージを、一時的に待たせるために使用される。   The DB queue 155 is used to temporarily wait for a message that requires message guarantee, such as a request message for subsequent processing received by the messaging service from the framework service.

メッセージグサービスは、上述したキュー153、154、155に対するメッセージの書き込みと読み出しを制御するメッセージキュー管理機能104を有する。メッセージキュー管理機能104は、メモリキュー153をDBキュー155より優先して調べ、メモリキュー153にP to Pメッセージが有れば、そのメッセージをメモリキュー153から取り出して、それを待ち受ける一つのコンピュータシステムへそのメッセージを送る。また、もしメモリキュー153にP to Pメッセージが1つも無ければ、メッセージキュー管理機能104は、DBキュー155を調べ、DBキュー155内にP to Pメッセージが有れば、そのメッセージをDBキュー155から読み、それを待ち受ける一つのコンピュータシステムへそのメッセージを送る。   The messaging service has a message queue management function 104 that controls writing and reading of messages to and from the queues 153, 154, and 155 described above. The message queue management function 104 checks the memory queue 153 in preference to the DB queue 155, and if there is a P to P message in the memory queue 153, takes out the message from the memory queue 153 and waits for it. Send the message to If there is no P to P message in the memory queue 153, the message queue management function 104 checks the DB queue 155. If there is a P to P message in the DB queue 155, the message is stored in the DB queue 155. And send the message to one computer system that listens to it.

メッセージキュー管理機能104は、図16に示すように、DBキュー155内のメッセージMに対しては、そのメッセージの処理状態を示すステータス情報Sを付加し、そのメッセージが処理されればステータス情報Sを「未処理」から「処理済」へと書き換える。また、そのメッセージの処理に関してエラーが生じれば、ステータス情報Sを「エラー」とする。エラーの原因としては、データ不整合、プログラムロジックのミスなどがある。DBキュー155に一旦入れられたメッセージは、システムダウンやエラーなどの問題が発生したとしても、消されずにDBキュー155内に保存される。   As shown in FIG. 16, the message queue management function 104 adds status information S indicating the processing state of the message to the message M in the DB queue 155, and if the message is processed, the status information S Is changed from “unprocessed” to “processed”. If an error occurs in processing the message, the status information S is set to “error”. Causes of errors include data inconsistencies and program logic mistakes. A message once placed in the DB queue 155 is stored in the DB queue 155 without being deleted even if a problem such as a system down or an error occurs.

メッセージキュー管理機能104は、「エラー」のステータス情報Sを「未処理」に書き換える機能を有する。そして、システムダウンやエラーなどの問題が発生した場合、後に、メッセージキュー管理機能104は、ステータス情報Sが「未処理」のメッセージを再度読み出して再送信する。それにより、メッセージの確実な処理が保証される。また、エラーになったメッセージのステータス情報Sを追うことにより、エラーの原因究明も可能である。   The message queue management function 104 has a function of rewriting the “error” status information S to “unprocessed”. If a problem such as a system failure or an error occurs, the message queue management function 104 later reads out and retransmits a message whose status information S is “unprocessed”. Thereby, reliable processing of the message is guaranteed. Further, by following the status information S of the error message, it is possible to investigate the cause of the error.

また、メッセージキューの管理機能104は、外部コマンドに応じて、「エラー」のステータス情報Sを「処理済」に書き換える機能も備えていている。例えば、システムの状況によっては、エラーステータスのメッセージを未処理ステータスに変更して再出力することが適切でない場合がある。また、メッセージに生じたエラーの程度によっては、フレームワークサービスに再出力して処理させるよりも、コマンド入力により当該メッセージに修正を加えた方が適切な場合もある。このような場合、「エラー」のステータス情報Sを「処理済」に書き換える機能が利用される。上述した「エラー」のステータス情報Sを「未処理」に書き換える機能と、「処理済」に書き換える機能とは、任意に選択することができる。   The message queue management function 104 also has a function of rewriting the “error” status information S to “processed” in accordance with an external command. For example, depending on the state of the system, it may not be appropriate to change the error status message to the unprocessed status and re-output. Also, depending on the degree of error that has occurred in the message, it may be more appropriate to modify the message by inputting a command than to output it to the framework service for processing. In such a case, a function of rewriting status information S of “error” to “processed” is used. The function of rewriting the “error” status information S described above to “unprocessed” and the function of rewriting to “processed” can be arbitrarily selected.

さらに、メッセージキュー管理機能104は、管理テーブル18(図4)に登録されている全てのコンピュータシステムの各々ごとに、リングバッファ155の読みしアドレスポインタを有し、各コンピュータシステム用の読み出しアドレスポインタでリングバッファ155中を巡回しながら、そのコンピュータシステムが待ち受けるP to Mメッセージをリングバッファ155から見つけ出し、その見つかったP to Mメッセージを読んで、そのコンピュータシステムへ送る。   Further, the message queue management function 104 has a read address pointer for the ring buffer 155 for each of all computer systems registered in the management table 18 (FIG. 4), and a read address pointer for each computer system. The P to M message that the computer system awaits is found from the ring buffer 155 while circulating through the ring buffer 155, and the found P to M message is read and sent to the computer system.

図17及び図18は、メッセージキュー管理機能104がメッセージキューにメッセージを格納する動作フローを示す。   17 and 18 show an operation flow in which the message queue management function 104 stores a message in the message queue.

図17に示すように、メッセージキュー管理機能104は、クライアントからメッセージを受信すると(161)、まず、そのメッセージに関して、クライアントから非トランザクションモード(NON-TRANモード)とトランザクションモード(TRANモード)の何れが指定されているかを判断する(163)。ここで、NON-TRANモードが指定されている場合、メッセージキュー管理機能104は、メッセージを受信すれば直ちに、そのメッセージをメッセージキューに格納する(つまり、そのメッセージの処理を進める)。一方、TRANモードが指定されている場合、メッセージキュー管理機能104は、メッセージを受信しても、直ちにはそのメッセージをメッセージキューには格納せず、別の一時キューに溜めておき、クライアントからCOMMIT(実行)コマンドが送られると、そのときにはじめて、そのメッセージをメッセージキューに格納する(つまり、そのメッセージの処理を進める)。クライアントは、TRANモードを指定してリクエストメッセージを発した場合、COMMITコマンドを発しない限り、そのリクエストメッセージを後で撤回したり修正したりすることが可能である。   As shown in FIG. 17, when the message queue management function 104 receives a message from the client (161), the message queue management function 104 first determines whether the message is in non-transaction mode (NON-TRAN mode) or transaction mode (TRAN mode). Is determined (163). Here, when the NON-TRAN mode is designated, the message queue management function 104 stores the message in the message queue as soon as the message is received (that is, advances the processing of the message). On the other hand, when the TRAN mode is specified, even if the message queue management function 104 receives a message, the message queue management function 104 does not immediately store the message in the message queue, but stores it in another temporary queue, and the COMMIT from the client. When an (execute) command is sent, the message is only stored in the message queue (that is, the message is processed). When a client issues a request message with the TRAN mode specified, the request message can be withdrawn or modified later unless a COMMIT command is issued.

図17のステップ163の判断の結果がNON-TRANモードである場合、メッセージキュー管理機能104は、その受信したメッセージがP to P通信のものかP to M通信のものかを判断する(165)。その判断の結果がP to P通信である場合、メッセージキュー管理機能104は、その受信したメッセージをキューに入れる(167)。キューに入れられたメッセージは、すぐに読み出されてフレームワークサービスへ送られてそこで処理される。その処理の結果として、フレームワークサービスから後続処理のリクエストメッセージが返された場合、メッセージキュー管理機能104は、その後続処理のリクエストメッセージをDBキューに入れる(169)。そして、メッセージキュー管理機能104は、その受信メッセージの処理結果を示す成功メッセージをクライアントへ返す(171)。   When the result of the determination in step 163 in FIG. 17 is the NON-TRAN mode, the message queue management function 104 determines whether the received message is for P to P communication or P to M communication (165). . If the result of the determination is P to P communication, the message queue management function 104 puts the received message into the queue (167). The queued message is immediately read and sent to the framework service where it is processed. If a request message for subsequent processing is returned from the framework service as a result of the processing, the message queue management function 104 places the request message for subsequent processing in the DB queue (169). Then, the message queue management function 104 returns a success message indicating the processing result of the received message to the client (171).

ステップ165の判断の結果がP to M通信である場合、メッセージキュー管理機能104は、その受信したメッセージの優先順位(図2)が"H"、"N"又は"L"の何れであるか判別し(173)、そして、判別された優先順位に対応したリングバッファに、その受信メッセージを格納する(175、177又は179)。リングバッファに入れられたP to Mメッセージは、それを待ち受ける全てコンピュータシステムに送信されることになる。そして、メッセージキュー管理機能104は、その受信メッセージについて成功メッセージをクライアントへ返す(181)。   If the result of determination in step 165 is P to M communication, the message queue management function 104 determines whether the priority (FIG. 2) of the received message is “H”, “N”, or “L”. The received message is stored in a ring buffer corresponding to the determined priority (175, 177 or 179). Any P to M message placed in the ring buffer will be sent to the computer system waiting for it. Then, the message queue management function 104 returns a success message for the received message to the client (181).

ステップ163の判断結果がNON-TRANモードであった場合、処理は図8に示すステップ181へ進む。ステップ181で、メッセージキュー管理機能104は、その受信メッセージを上述したメッセージキューとは別の一時キューに格納する.その後、クライアントから、その受信メッセージに関してCOMMITコマンドを受信すると、メッセージキュー管理機能104は、一時キューからそのメッセージを取り出して、そのメッセージについてステップ185以降の処理を行う。ステップ185以降の処理は、既に説明した図7中のステップ165以降の処理と同じである。   If the determination result in step 163 is the NON-TRAN mode, the process proceeds to step 181 shown in FIG. In step 181, the message queue management function 104 stores the received message in a temporary queue different from the message queue described above. Thereafter, when receiving a COMMIT command regarding the received message from the client, the message queue management function 104 extracts the message from the temporary queue, and performs the processing from step 185 on the message. The processing after step 185 is the same as the processing after step 165 in FIG.

図19は、メッセージキュー管理機能104のメッセージ読出機能を示す。   FIG. 19 shows the message reading function of the message queue management function 104.

図19に示すように、メッセージングサービス15のメッセージキュー管理機能104は、クライアント及びフレームワークサービス16からそれぞれ受信したメッセージを、上述したような構成をもつメッセージキュー15aに蓄積する。メッセージキュー管理機能104は、メッセージキュー15aのうち特に図16に示したメモリキュー153及びDBキュー155からメッセージを取り出す動作に関して、優先モード104aとシーケンス保証モード104bの2種類の機能を有している。優先モード104aは、メッセージの優先順位に基づいてメッセージキューからのメッセージの取り出し順序を制御する。一方、シーケンス保証モード104bは、メッセージキューから先に取り出されたメッセージの処理がフレームワークサービスにおいて完了するまで、当該メッセージキューに蓄積されている後続のメッセージの取り出しを禁止することにより、複数メッセージの一定の処理順序を保証する。各メッセージのサブジェクトID)に応じて、又は予め設定された各メッセージキューのモード設定に応じて、各メッセージキューについて優先モード104aを実行するか、シーケンス保証モード104bを実行するか、が選択される。シーケンス保証モード104bは、例えば、複数のクライアントからそれぞれ売上処理のリクエストメッセージが来たとき、先にリクエストされた売上処理が完了した後に後から来た売上処理のリクエストを実行するというような一定の処理順序を保証したい場合に、適用される。   As shown in FIG. 19, the message queue management function 104 of the messaging service 15 stores the messages received from the client and the framework service 16 in the message queue 15a having the above-described configuration. The message queue management function 104 has two types of functions, that is, a priority mode 104a and a sequence guarantee mode 104b with respect to the operation of extracting a message from the memory queue 153 and the DB queue 155 shown in FIG. . The priority mode 104a controls the extraction order of messages from the message queue based on the priority order of messages. On the other hand, the sequence guarantee mode 104b prohibits the extraction of subsequent messages stored in the message queue until the processing of the message previously extracted from the message queue is completed in the framework service, thereby Guarantee a certain processing order. Whether to execute the priority mode 104a or the sequence guarantee mode 104b for each message queue is selected according to the subject ID) of each message or according to the preset mode setting of each message queue. . In the sequence guarantee mode 104b, for example, when a sales processing request message is received from each of a plurality of clients, a certain sales processing request is executed after the previously requested sales processing is completed. Applied when you want to guarantee the processing order.

図20は、優先モード104aのための記憶域の構成を示す。図21は、優先モード104aの動作の流れを示す。   FIG. 20 shows the configuration of the storage area for the priority mode 104a. FIG. 21 shows an operation flow of the priority mode 104a.

図20に示すように、優先モード104aは、ソータブルスタック211とシンプルタック213という2つのスタックメモリと、"H"、"N"及び"L"という3つの優先順位にそれぞれ対応した例えば3つのエントリ215H、215N及び215Lとを使用する。なお、エントリの数をもっと多くすることもできる。例えば、図示の3つのエントリの他に、"H"に対応したエントリをもう一つ追加するというようにである。   As shown in FIG. 20, the priority mode 104a includes, for example, three stack memories corresponding to two stack memories, ie, a stackable stack 211 and a simple tack 213, and three priority orders “H”, “N”, and “L”. Entries 215H, 215N and 215L are used. Note that the number of entries can be increased. For example, in addition to the three entries shown in the figure, another entry corresponding to “H” is added.

初期的に、各エントリ215H、215N及び215Lには、それぞれ、インデックスとして、例えば図示のような"5"、"3"及び"1"という数値が設定される。インデックスの初期値が大きいほど、優先的レベルが高いことを意味する。   Initially, numerical values such as “5”, “3”, and “1” as shown in the figure are set in the entries 215H, 215N, and 215L, respectively. The larger the initial value of the index, the higher the priority level.

そして、初期的に、全てのエントリ215H、215N及び215Lが、図示のようにソータブルスタック211に積まれ、一方、シンプルスタック213は空である。   Initially, all entries 215H, 215N and 215L are stacked on the sortable stack 211 as shown, while the simple stack 213 is empty.

ソータブルスタック211は、そこに積まれている複数のインデックスの配列を、インデックスの大きい順に、最も大きいインデックスをもったエントリが一番上に、最も小さいインデックスをもったエントリが一番下になるように、自動的に並べ替える。従って、ソータブルスタック211からは、インデックスのより大きいエントリほど、より先に取り出される。   Sortable stack 211 has an array of a plurality of indexes stacked therein, in order of increasing index, the entry with the largest index is at the top, and the entry with the smallest index is at the bottom. To sort automatically. Accordingly, from the sortable stack 211, an entry with a larger index is extracted earlier.

シンプルスタック213は、単純に、後から入れられたエントリを先に入れられたエントリの上に積む。従って、シンプルスタック213からは、入れられた時がより後のエントリほど、より先に取り出される。   The simple stack 213 simply stacks the entry entered later on the entry entered earlier. Therefore, from the simple stack 213, the later entry is taken out earlier.

優先モード104aは、図21に示すフローに従って、ソータブルスタック211とシンプルスタック213との間でのエントリの移動と、エントリのインデックスの操作を行なうことにより、メッセージキュー(メモリキュー153又はDBキュー155)からメッセージを取り出す順序を制御する。   The priority mode 104a moves a message queue (memory queue 153 or DB queue 155) by moving an entry between the sortable stack 211 and the simple stack 213 and manipulating the entry index according to the flow shown in FIG. ) To control the order in which messages are retrieved.

以下、図21に示す流れを説明する。まず、優先モード104aは、ソータブルスタック211から、一番上の(つまり、インデックスが最も大きい)1つのエントリを取り出し(221)、そのエントリをシンプルスタック213に積む(223)。次に、優先モード104aは、シンプルスタック213の一番上のエントリの優先順位とマッチするメッセージがメッセージキューに有るか否かをチェックする(225)。その結果、マッチするメッセージが無ければ、処理はステップ221へ進む。また、上記チェックの結果、マッチするメッセージが有れば、優先モード104aは、そのマッチしたメッセージをメッセージキューから取り出す(227)。取り出されたメッセージは、何れかのフレームワークシステムにて処理されることになる。その後、優先モード104aは、シンプルスタック213内のエントリ数が1つか否かをチェックする(229)。その結果、シンプルスタック213内のエントリ数が2つ以上であれば、シンプルスタック213から全てのエントリを順に取り出してソータブルスタック211に積む(237)。そして、優先モード104aは、ステップ227でメッセージキューから取り出したメッセージについて、フレームワークシステムからの処理結果を示すリプライメッセージをクライアントへ返す(239)。   Hereinafter, the flow shown in FIG. 21 will be described. First, the priority mode 104a takes out the top entry (that is, index is the largest) from the sortable stack 211 (221), and puts the entry on the simple stack 213 (223). Next, the priority mode 104a checks whether there is a message in the message queue that matches the priority order of the top entry in the simple stack 213 (225). As a result, if there is no matching message, the process proceeds to step 221. If there is a matching message as a result of the check, the priority mode 104a extracts the matched message from the message queue (227). The retrieved message is processed by any framework system. Thereafter, the priority mode 104a checks whether the number of entries in the simple stack 213 is 1 (229). As a result, if the number of entries in the simple stack 213 is two or more, all entries are sequentially extracted from the simple stack 213 and stacked on the sortable stack 211 (237). Then, the priority mode 104a returns a reply message indicating the processing result from the framework system to the client for the message extracted from the message queue in step 227 (239).

ステップ229でのチェックの結果、シンプルスタック213内のエントリ数が1つである場合、優先モード104aは、シンプルスタック213内のエントリのインデックスを1だけ減らす(231)。そして、優先モード104aは、その減らされたインデックスが"−1"であるかどうかチェックし(233)、"−1"でなければ、処理をステップ237へ進め、一方、"−1"であれば、そのインデックスを初期値に戻して(235)から、処理をステップ237へ進める。   If the number of entries in the simple stack 213 is one as a result of the check in step 229, the priority mode 104a reduces the index of the entry in the simple stack 213 by 1 (231). Then, the priority mode 104a checks whether the reduced index is “−1” (233). If it is not “−1”, the process proceeds to step 237, while if it is “−1”. If the index is returned to the initial value (235), the process proceeds to step 237.

以上の操作により、メッセージキュー内のメッセージの並び順序をそれらのメッセージの優先順位を考慮して修正した順序で、メッセージキューからメッセージの取り出されることになる。すなわち、メッセージキューに入っているメッセージの順序が、優先順位において、例えば図20に示すような"H"、"H"、"L"、"H"、"H"、"H"、"N"であった場合、そのメッセージキューから取り出されるメッセージの順序は、優先順位において、"H"、"H"、"N"、"H"、"H"、"H"、"L"となる。   With the above operation, messages are taken out from the message queue in the order in which the order of the messages in the message queue is corrected in consideration of the priority of those messages. That is, the order of the messages in the message queue is, for example, “H”, “H”, “L”, “H”, “H”, “H”, “N” as shown in FIG. In the case of “,” the order of messages taken out from the message queue is “H”, “H”, “N”, “H”, “H”, “H”, “L” in the priority order. .

図22は、シーケンス保証モード104bの動作の流れを示す。   FIG. 22 shows a flow of operations in the sequence guarantee mode 104b.

図22に示すように、シーケンス保証モード104bは、メッセージの取り出し要求が生じると(241)、まず、メッセージキューをロックして(243、245、257)、メッセージキューからの他のメッセージ取り出しを禁止する。次に、シーケンス保証モード104bは、メッセージキューから1つのメッセージを読出す(247、249)。読み出されたメッセージは、何れかのフレームワークシステムで処理され(251)、その処理により然るべきデータベースの更新のコミット(又は処理失敗の場合にはロールバック)が行われる(253)。その後、シーケンス保証モード104bは、メッセージキューのロックを解除する(255)。   As shown in FIG. 22, in the sequence guarantee mode 104b, when a message retrieval request occurs (241), first, the message queue is locked (243, 245, 257), and another message retrieval from the message queue is prohibited. To do. Next, the sequence guarantee mode 104b reads one message from the message queue (247, 249). The read message is processed in one of the framework systems (251), and an appropriate database update commit (or rollback in the case of processing failure) is performed by the processing (253). Thereafter, the sequence guarantee mode 104b releases the lock of the message queue (255).

上記の操作により、先行するメッセージの処理が完了した後に、次のメッセージの処理が実行されるため、メッセージの一定の処理順序が保証される。   By the above operation, the processing of the next message is executed after the processing of the preceding message is completed, so that a certain processing order of the messages is guaranteed.

図23は、フレームワークサービス16のメッセージ判別機能を示す。   FIG. 23 shows the message discrimination function of the framework service 16.

図23に示すように、フレームワークサービス16は、メッセージ判別ビジネスロジック106を有し、メッセージングサービス15からメッセージを受け取ると、メッセージ判別ビジネスロジック106を実行する。メッセージ判別ビジネスロジック106は、その受信メッセージのサブジェクトIDにマッチするサブジェクトIDが書かれた定義センテンスを、そのフレームワークシステム16に関連付けられたフロー定義ファイル23から探す。マッチした定義センテンスが見つかれば、次に、その定義センテンスに記述されている実行ビジネスロジック22が実行されることになる。しかし、マッチした定義センテンスが見つからなければ、メッセージ判別ビジネスロジック106は、処理できない旨のエラーのリプライメッセージをメッセージングサービス15へ返信し、そのリプライメッセージはクライアントへ送られる。既に説明したように、メッセージングサービス15は、管理テーブル18(図4)に基づいて、各メッセージをそのメッセージを待ち受けるコンピュータシステムにのみ送信するから、原則的には、或るメッセージが誤ったフレームワークシステムに送られることはない。しかし、万が一、クライアントからの或るメッセージが誤ったフレームワークサービスに送られることが発生したとしても、クライアントは直ちに処理できない旨のエラーのリプライメッセージを受け取れるので、長々と待たされること無く、速やかに次の行動に移ることができる。   As shown in FIG. 23, the framework service 16 has a message determination business logic 106. When a message is received from the messaging service 15, the framework service 16 executes the message determination business logic 106. The message discrimination business logic 106 searches the flow definition file 23 associated with the framework system 16 for a definition sentence in which a subject ID matching the subject ID of the received message is written. If a matching definition sentence is found, next, the execution business logic 22 described in the definition sentence is executed. However, if a matching definition sentence is not found, the message determination business logic 106 returns an error reply message indicating that it cannot be processed to the messaging service 15, and the reply message is sent to the client. As already explained, the messaging service 15 sends each message only to the computer system that listens for that message, based on the management table 18 (FIG. 4), so that in principle, a message is a false framework. Never sent to the system. However, even if a message from the client is sent to the wrong framework service, the client can receive an error reply message indicating that it cannot be processed immediately. You can move on to the next action.

また、フレームワークサービス16は、予め登録された識別情報を有するメッセージに限ってフレームワークサービスでの処理を許可するサービス停止中モードを備え、当該モードが設定されている場合に予め登録されていない識別情報を有するメッセージをクライアントから受信した場合は、当該メッセージを受け付けない旨のメッセージをクライアントに返信する。   Further, the framework service 16 includes a service stop mode that permits processing in the framework service only for messages having identification information registered in advance, and is not registered in advance when the mode is set. When a message having identification information is received from the client, a message not accepting the message is returned to the client.

図24は、フレームワークサービスがもつメッセージ変換ビジネスロジックを示す。   FIG. 24 shows the message conversion business logic of the framework service.

図24に示すように、フレームワークサービス16は、1又はそれ以上のメッセージ変換ビジネスロジック105を有している。それらのメッセージ変換ビジネスロジック105は、例えば、図13に示したフロー定義ファイル23の定義センテンス233及び234に記述された"CnvBuyUpdBuy"、"CnvBuyInsBuy1"及び"CnvBuyInsBuy2"などである。各メッセージ変換ビジネスロジック105は、予め定められた1つのビジネスロジックBL1に対応していうる。或る定義センテンスに従って或るビジネスロジックBL1が実行されると、引き続いて、これに対応したメッセージ変換ビジネスロジック105が実行される。メッセージ変換ビジネスロジック105は、先行のビジネスロジックBL1から出力される処理結果のメッセージの形式を、後続のビジネスロジックBL2への入力メッセージの形式に適合させるフォーマット変換機能と、先行のビジネスロジックBL1から出力されたメッセージのパラメータに応じて、このメッセージを後続ビジネスロジックBL2に入力するか否かを判定するメッセージフィルタリング機能とを備えている。例えば、先行のビジネスロジックBL1が扱うメッセージのパラメータ配置と、後続ビジネスロジックBL2が扱うメッセージのパラメータ配置が異なる場合、メッセージ変換ビジネスロジック105は、前者のパラメータ配置を後者のパラメータ配置に変換する。また、先行ビジネスロジックBL1の出力メッセージの内容が特別のもの(例えば、リクエストの拒否、データベースの更新失敗、トランザクションのロールバックなど)であり、そのため、後続のビジネスロジックBL2の実行が無意味であるという場合がある。そのような場合、メッセージ変換ビジネスロジック105は、メッセージフィルタリング機能により、後続ビジネスモデルBL2への入力メッセージの生成をオミットする。ここで、先行ビジネスロジックBL1とメッセージ変換ビジネスロジック105との間、又はメッセージ変換ビジネスロジック105と後続のビジネスロジックBL2との間には、メッセージを一時保持するメッセージキューを介在させてもよい。   As shown in FIG. 24, the framework service 16 has one or more message conversion business logics 105. These message conversion business logics 105 are, for example, “CnvBuyUpdBuy”, “CnvBuyInsBuy1” and “CnvBuyInsBuy2” described in the definition sentences 233 and 234 of the flow definition file 23 shown in FIG. Each message conversion business logic 105 may correspond to one predetermined business logic BL1. When a certain business logic BL1 is executed according to a certain definition sentence, a message conversion business logic 105 corresponding to the business logic BL1 is subsequently executed. The message conversion business logic 105 includes a format conversion function for adapting the format of the processing result message output from the preceding business logic BL1 to the format of the input message to the subsequent business logic BL2, and the output from the preceding business logic BL1. A message filtering function for determining whether or not to input this message to the subsequent business logic BL2 according to the parameter of the received message. For example, when the parameter arrangement of the message handled by the preceding business logic BL1 is different from the parameter arrangement of the message handled by the subsequent business logic BL2, the message conversion business logic 105 converts the former parameter arrangement into the latter parameter arrangement. Further, the content of the output message of the preceding business logic BL1 is special (for example, request rejection, database update failure, transaction rollback, etc.), and therefore, the execution of the subsequent business logic BL2 is meaningless. There is a case. In such a case, the message conversion business logic 105 omits generation of an input message to the subsequent business model BL2 by the message filtering function. Here, a message queue that temporarily holds a message may be interposed between the preceding business logic BL1 and the message conversion business logic 105, or between the message conversion business logic 105 and the subsequent business logic BL2.

以上の説明は、本発明の説明のための例示にすぎない。本発明は、上述した実施形態のみに限らず、他の多くのシステム構成のバリエーションにおいても実施することができる。   The above description is merely an example for explaining the present invention. The present invention is not limited to the above-described embodiments, and can be implemented in many other system configuration variations.

本実施形態の全体構成図である。It is a whole block diagram of this embodiment. RtFAサーバ14が取り扱うメッセージの構成を示すブロック図である。It is a block diagram which shows the structure of the message which the RtFA server 14 handles. RtFAサーバ14の構成図である。2 is a configuration diagram of an RtFA server 14. FIG. メッセージングサービス15に関係付けられる管理テーブル18の例を示す。An example of a management table 18 associated with the messaging service 15 is shown. 複数のRtFAサーバ間の接続構成図である。It is a connection block diagram between several RtFA servers. 複数のメッセージングサービス間の接続構成図である。It is a connection block diagram between several messaging services. P to M(1対多)通信処理のメッセージ中継方法を示す説明図である。It is explanatory drawing which shows the message relay method of P to M (one to many) communication processing. P to M通信処理の一例を示すフローチャートである。It is a flowchart which shows an example of a P to M communication process. P to P(1対1)通信処理を示すフローチャートである。It is a flowchart which shows P to P (one to one) communication processing. メッセージングサービスのロードバランシング機能の説明図である。It is explanatory drawing of the load balancing function of a messaging service. フレームワークサービスの構成を示すブロック図である。It is a block diagram which shows the structure of a framework service. フレームワークサービスの動作説明図である。It is operation | movement explanatory drawing of a framework service. フロー定義ファイルの簡単な例を示す。Here is a simple example of a flow definition file. フロー定義ファイルの更新システムを示すブロック図である。It is a block diagram which shows the update system of a flow definition file. フレームワークサービスのメッセージ変換処理機能を示すブロック図である。It is a block diagram which shows the message conversion processing function of a framework service. メッセージングサービスのメッセージキューの構成を示すブロック図である。It is a block diagram which shows the structure of the message queue of a messaging service. メッセージキュー管理機能がメッセージキューにメッセージを格納する動作を示すフローチャートである。It is a flowchart which shows the operation | movement which a message queue management function stores a message in a message queue. 図17のフローチャートの続きである。FIG. 18 is a continuation of the flowchart of FIG. 17. メッセージキュー管理機能のメッセージ読出機能を示すブロック図である。It is a block diagram which shows the message reading function of a message queue management function. 優先モードのための記憶域の構成を示す。The storage configuration for the priority mode is shown. 優先モードの動作の流れを示す。The flow of the priority mode operation is shown. シーケンス保証モードの動作の流れを示す。The flow of operation in sequence guarantee mode is shown. フレームワークサービスのメッセージ判別機能を示すブロック図である。It is a block diagram which shows the message discrimination | determination function of a framework service. フレームワークサービスのメッセージ変換ビジネスロジックを示すブロック図である。It is a block diagram which shows the message conversion business logic of a framework service.

Claims (4)

クライアントと通信可能に接続されるフレームワークシステムにおいて:
前記クライアントからのリクエストのメッセージを処理し、そして、前記クライアントへのリプライのメッセージを出力するコンピュータシステムであるフレームワークサービスと;
前記クライアントと前記フレームワークサービスとの間に介在し、前記クライアントと前記フレームワークサービスとの間でメッセージを中継するコンピュータシステムであるメッセージングサービスと
を備え;
前記メッセージングサービスは、前記リクエストのメッセージと前記リプライのメッセージを含むP to P通信のメッセージだけでなく、前記クライアントと前記フレームワークサービスとの間のP to M通信のメッセージをも中継し;
各メッセージングサービスは独自の管理テーブルを有し;
前記各メッセージングサービスの独自の管理テーブルには、前記各メッセージングサービスに接続されたコンピュータシステムがそれぞれ待ち受けるP to P通信メッセージのサブジェクトID及びP to M通信メッセージのサブジェクトIDが登録されており;
前記各メッセージングサービスは、
(A) P to P通信メッセージを受信したとき、前記各メッセージングサービスの独自の管理テーブルを参照して、前記各メッセージングサービスに接続されたコンピュータシステム中から、受信されたP to P通信メッセージのサブジェクトIDにマッチするサブジェクトIDを待ち受ける一つのコンピュータシステムを探し、見つかった一つのコンピュータシステムへ前記受信されたメッセージを送信し;
(B) P to M通信メッセージを受信したとき、前記各メッセージングサービスの独自の管理テーブルを参照して、前記各メッセージングサービスに接続されたコンピュータシステム中から、受信されたP to M通信メッセージのサブジェクトIDにマッチするサブジェクトIDを待ち受けるすべてのコンピュータシステムを探し、見つかったすべてのコンピュータシステムへ前記受信されたメッセージを送信する;
フレームワークシステム。
In a framework system that is communicatively connected to a client:
A framework service that is a computer system that processes a request message from the client and outputs a reply message to the client;
A messaging service that is a computer system that is interposed between the client and the framework service and relays messages between the client and the framework service;
The messaging service relays not only a P to P communication message including the request message and the reply message, but also a P to M communication message between the client and the framework service;
Each messaging service has its own management table;
In the unique management table of each messaging service, a subject ID of a P to P communication message and a subject ID of a P to M communication message that a computer system connected to each messaging service respectively waits are registered;
Each of the messaging services is
(A) When a P to P communication message is received, the subject of the P to P communication message received from the computer system connected to each messaging service with reference to the unique management table of each messaging service Looking for a computer system waiting for a subject ID matching the ID and sending the received message to the found computer system;
(B) When a P to M communication message is received, the subject of the received P to M communication message is referred to from among the computer systems connected to each messaging service by referring to the unique management table of each messaging service. Find all computer systems waiting for a subject ID that matches the ID and send the received message to all found computer systems;
Framework system.
請求項1記載のフレームワークシステムにおいて、
前記メッセージングサービスが、前記P to M通信のメッセージを一時的に待たせるためのリングバッファを有する;
フレームワークシステム。
The framework system according to claim 1,
The messaging service has a ring buffer for temporarily waiting for the message of the P to M communication;
Framework system.
請求項1記載のフレームワークシステムにおいて、
前記P to P通信のメッセージの各々には、メッセージ保証の要否に関する保証モードが含まれており;
前記メッセージングサービスが、メッセージ保証が不要なP to P通信のメッセージを一時的に待たせるための第1のメッセージキューと、メッセージ保証が必要なP to P通信のメッセージを一時的に待たせるための不揮発性の第2のメッセージキューとを有する;
フレームワークシステム。
The framework system according to claim 1,
Each P to P communication message includes a guarantee mode regarding whether or not message guarantee is required;
A first message queue for temporarily waiting for a message of P to P communication that does not require message guarantee; and a message service for temporarily waiting for a message of P to P communication that requires message guarantee. A non-volatile second message queue;
Framework system.
クライアントと通信可能に接続されるフレームワークシステムであって、
前記クライアントからのリクエストのメッセージを処理し、そして、前記クライアントへのリプライのメッセージを出力するコンピュータシステムであるフレームワークサービスと;
前記クライアントと前記フレームワークサービスとの間に介在し、前記クライアントと前記フレームワークサービスとの間でメッセージを中継するコンピュータシステムであるメッセージングサービスと
を備え、
各メッセージングサービスが独自の管理テーブルを有し、前記各メッセージングサービスの独自の管理テーブルには、前記各メッセージングサービスに接続されたコンピュータシステムがそれぞれ待ち受けるP to P通信メッセージのサブジェクトID及びP to M通信メッセージのサブジェクトIDが登録されている、
前記フレームワークシステムにおいて、P to P通信及びP to M通信を制御する方法において:
前記各メッセージングサービスが、P to P通信メッセージを受信して、前記各メッセージングサービスの独自の管理テーブルを参照して、前記各メッセージングサービスに接続されたコンピュータシステム中から、受信されたP to P通信メッセージのサブジェクトIDにマッチするサブジェクトIDを待ち受ける一つのコンピュータシステムを探し、見つかった一つのコンピュータシステムへ前記受信されたメッセージを送信するステップと;
前記各メッセージングサービスが、P to M通信メッセージを受信して、前記各メッセージングサービスの独自の管理テーブルを参照して、前記各メッセージングサービスに接続されたコンピュータシステム中から、受信されたP to M通信メッセージのサブジェクトIDにマッチするサブジェクトIDを待ち受けるすべてのコンピュータシステムを探し、見つかったすべてのコンピュータシステムへ前記受信されたメッセージを送信するステップと;
を備えた方法。

A framework system that is communicably connected to a client,
A framework service that is a computer system that processes a request message from the client and outputs a reply message to the client;
A messaging service that is a computer system that is interposed between the client and the framework service and relays messages between the client and the framework service;
Each messaging service has its own management table, and each messaging service's own management table includes the subject ID and P to M communication of the P to P communication message that the computer system connected to each messaging service waits for. The subject ID of the message is registered,
In the method of controlling P to P communication and P to M communication in the framework system:
Each messaging service receives a P to P communication message and refers to a unique management table of each messaging service, and receives the received P to P communication from a computer system connected to each messaging service. Looking for a computer system waiting for a subject ID that matches the subject ID of the message and sending the received message to the found computer system;
Each of the messaging services receives the P to M communication message and refers to the unique management table of each of the messaging services, and receives the received P to M communication from the computer system connected to each of the messaging services. Searching for all computer systems waiting for a subject ID that matches the subject ID of the message and sending the received message to all found computer systems;
With a method.

JP2006041454A 2000-12-28 2006-02-17 Framework system Expired - Lifetime JP3944229B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006041454A JP3944229B2 (en) 2000-12-28 2006-02-17 Framework system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000401794 2000-12-28
JP2006041454A JP3944229B2 (en) 2000-12-28 2006-02-17 Framework system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002555295A Division JP3803707B2 (en) 2000-12-28 2001-12-27 Framework system

Publications (2)

Publication Number Publication Date
JP2006179025A JP2006179025A (en) 2006-07-06
JP3944229B2 true JP3944229B2 (en) 2007-07-11

Family

ID=36732990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006041454A Expired - Lifetime JP3944229B2 (en) 2000-12-28 2006-02-17 Framework system

Country Status (1)

Country Link
JP (1) JP3944229B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101355524B (en) * 2007-07-24 2013-10-09 华为技术有限公司 Method, system, server and terminal for processing information
JP6488608B2 (en) * 2014-09-24 2019-03-27 富士ゼロックス株式会社 Information processing apparatus, system, and program

Also Published As

Publication number Publication date
JP2006179025A (en) 2006-07-06

Similar Documents

Publication Publication Date Title
JP3803707B2 (en) Framework system
JP3944231B2 (en) Framework system
US5826269A (en) Electronic mail interface for a network server
US7421546B2 (en) Intelligent state engine system
JP3887564B2 (en) Integrated database combination system
EP2031818B1 (en) Systems and/or methods for providing feature-rich proprietary and standards-based triggers via a trigger subsystem
JP4972901B2 (en) Information sharing space providing system, information sharing space providing method, and computer program
US7526576B2 (en) Computer network system using encapsulation to decompose work units for synchronizing and operating a second database from a first database
US20060259468A1 (en) Methods for electronic records management
JP3526474B2 (en) Distribution information management system in network
US7614057B2 (en) Entity linking system
CN110472102A (en) A kind of data processing method, device, equipment and storage medium
US20100070366A1 (en) System and method for providing naming service in a distributed processing system
US10013293B2 (en) Queueing messages related by affinity set
US20090271466A1 (en) Data logging with network interfacing feature
JP3944229B2 (en) Framework system
JP3944230B2 (en) Framework system
JPH10254958A (en) Communication service processing device and method
US6178464B1 (en) System and method for canceling a computer request
JP7083850B2 (en) Multi-standard message processing
JPH06290098A (en) Method for processing distributed data base
JP2003208323A (en) Method, system and program for executing batch job
KR20220026617A (en) Systems and methods for loading websites with multiple items
JP2005526328A (en) Automatic data import
RU2744566C1 (en) Method and system for integrating enterprise information resources

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070301

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070406

R150 Certificate of patent or registration of utility model

Ref document number: 3944229

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120413

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20220413

Year of fee payment: 15

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term