Home > コンセプトペーパ > Magic xpi 4.x のアーキテクチャ > 起動 > プロジェクトの実行手順

プロジェクトの実行手順

以下の図は、プロジェクトのステータスがRUNNINGの場合に発生するイベントの手続きを説明しています。

 

Magic xpiサーバ(エンジン)は、GigaSpacesプロキシを経由してMagicSpaceに接続します。これはクライアント・アプリケーションをMagicスSpaceに接続するミドルウェア・レイヤです。Magic Spaceは、一つの論理ユニットとしていくつかのプロセスといくつかのマシンに存在することができます。サーバとSpaceパーティションの間での正常な接続処理は、GigaSpacesプロキシが行います。

  1. プロジェクトが実行しているとき、3つの要素が同時に動作します:ワーカ、ポーリングトリガと外部トリガ。各Magic xpiサーバは、いろいろなタスクのために一つ以上のワーカ/トリガを実行することができます。

    1. ポーリング・トリガ(Magic xpiサーバスレッド)は、フローを呼び出す必要があるかどうかを確認するために、絶えず外部システム(例えば、eメールアカウント)をスキャンします。フローを呼び出す必要がある場合、Magic SpaceにREADY_FOR_USEのステータスのフローメッセージを置きます。

    2. 有効な各ワーカはジョブの実行に対してMagic Spaceを検索します。これは、ステータスがREADY_FOR_USEであるメッセージを意味します。ワーカがメッセージを見つけると、ステータスをIN PROCESSに変更し、フローにメッセージ・ペイロードを渡して、フローロジックを実行します(これは、プルメカニズムとして知られています)。

2つのワーカが同じメッセージを実行することを防止するために、1つのワーカだけが成功するように、IN PROCESSのステータスの変更はトランザクション内で実行されます。

    1. 外部トリガは、外部アプリケーション(例えばWebサーバ)です。一旦トリガがリクエストを受けると、それはフローを呼び出すMagic Spaceにメッセージを置きます。

  1. メインフローが完了したら、ワーカは完Magic Space内のリクエストメッセージステータスをDONEに更新して、追加メッセージをスキャンできるようにします。

  2. メッセージが同期トリガ(例えばHTTPトリガ)から来たものならば、フローが終了するき、ワーカはSpaceに応答メッセージを書き込みます。そして、トリガがクライアントに送信します。

  3. あらゆる並行でスタンドアロンの分岐は、フローによってMagic Spaceに書き込まれる個別のメッセージとしても処理されます。この新しいスレッド(並行またはスタンドアロンの分岐)は、プロジェクトのワーカ、より適切に言えば、異なるマシンで実行しているワーカのどれでも処理可能です。

サーバアーキテクチャがどのように動作するかの視覚的な説明は、ここをクリックしてください。