Home > コンセプトペーパ > Magic xpi 4.x のアーキテクチャ > アーキテクチャーの概要

アーキテクチャーの概要

Magic xpi 4.xは、以下のソフトウェア・コンポーネント/要素から構成されています。

様々なPUは、GigaSpaces UIのEvent Containersで表示されます。GigaSpaces UIには、追加情報が表示されます。例えば、[Processed]カラムには、各PUで処理されたリクエスト数や、発生したタイムアウトの数、などが表示されます。

トリガーアーキテクチャ

外部トリガ

Magic xpiはさまざまなリクエストを受け取ることができます。

これらのすべては、SpaceのTemp msg(上記のイメージで黄色で表示されています)に置かれます。

各トリガタイプは、独自のTemp msgタイプを持っていて、GigaSpaces UIで表示されます。このイメージでは、Temp msgは、アーキテクチャを説明するためにすべてのトリガで使用されます。

プッシュトリガ

プッシュトリガから渡されるMagic xpiのリクエストは、Magic xpiサーバープロセス(mgreq.iniファイルは関係しません)内の<Magic xpi installation>\Runtime\java\lib\uniRequester.jar ファイル(の Mgrequest クラス)によって処理されます。これは、Spaceに Temp msgを置きます。これは、WS/HTTPとは異なり、個別のプロセスでリクエストを処理します。

ポーリングトリガ

トリガを呼び出す他のすべてのリクエストは、直接、SpaceにFlowRequestメッセージを書き込むMagic xpiサーバプロセス(mgreq.iniファイルは関係ません)で処理されます。

MagicxpiServer.exeファイルで利用可能なワーカは、FlowRequestメッセージを受け取り、プロジェクトの制約(最大インスタンス数やライセンス数など)を考慮して処理します。

* ユーザリクエスト= mgrqcmdl, CallRemote

プロセスユニット (PUs)

Spaceには、2つの専用jのPU(1つは、http2ifr という名前のHTTPトリガタイプのPU、もう一つはexternalRequestToFlowRequest*という名前の他のすべてのためのPU)があります。これらは、Tempo msgFlowRequestメッセージに変換します。これらのFlowRequestメッセージは、MagicxpiServer.exeファイルによって処理され、モニタやGigaSpaces UI(データタイプの名前は、com.magicsoftware.xpi.server.messages.FlowRequestです)に表示されます。

* http2ifrとexternalRequestToFlowRequest PUは、GigaSpaces UIのイベントコンテナセクションに表示されます。

サーバアーキテクチャ

サーバアーキテクチャについての徹底的に理解することは、プロジェクトのリカバリ設定を定義する際に非常に有益です。以下の図は、サーバアーキテクチャがどのように動作するかを示しています。

ROOTFSID 1

ルートフローシーケンスID(ルートFSID)は、実行ツリー内のすべてのフローと分岐に対して共通です。

ROOTFSID 4

新しい実行ツリーを開始するスタンドアロンの分岐。

ROOTFSID #

番号は、初期のFSIDと同じ数値です。

FSID

各新規委フローは、新規フローシーケンスID(FSID)を受け取ります。スタンドアロンの分岐は、個別のフローと考えられるので、独自の新しいFSIDを取得します。

1...5 = Flow Request ID

呼び出された各フロー、並列分岐、またはスタンドアロンの分岐は、フローリクエストメッセージによって呼び出されます。それぞれ独自のIDを持っています。「フロー呼出」ステップと「フロー呼出」の送り先は、リニア実行の一部で、独自のフローリクエストメッセージを持っていません。

I, II

各フロー呼出の繰返しのために、起動されたフロー(I)には新しいFSIDが割り当てられます。起動されたフロー(I)が起動元に返ると、フロー呼出(II)は、そのオリジナルのFSIDを残します。