Web ページとサーバー間の通信

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  埋め込まれた Web ページソリューション >

Web ページとサーバー間の通信

Web ページにソリューションが埋め込まれる理由のひとつは、 Web ページと埋め込まれたソリューションの間でデータを交換し、 MobileTogether Server を使用してソリューションが入力データを処理し、 Web ページに結果を返すためにです。典型的なシナリオは以下のとおりです:

 

1.ユーザーは HTML Web ページのフォームにデータを入力します。
2.このデータは(Web ページの IFrame に現在ロードされている)ソリューションに通信されます。
3.ソリューションでは、通常データの処理が行われる ソリューションの MobileTogether Server 上のワークフロー にデータが送信されます。
4.(i) ソリューションの一部として表示することのできる、 および/または (ii) 表示のために、または、更なる処理のために Web ページに返す IFrame に結果が返されます。

 

メモ:この機能の詳細では、用語 (IFrame 内に表示される)ソリューション  と (サーバー上にデプロイされるデザイン)ワークフロー が区別されていることに注意してください。

 

段階は次の段階により構成されています: Web ページ–ソリューション–ワークフロー–ソリューション–Web ページ。  Web ページとワークフロー間でデータを送信するために使用されているメカニズムは、このセクションのサブセクションで説明されています:

 

ポスティング: Web ページからサーバーへ
リッスン: ソリューションから Web ページへ

 

データ転送メカニズム

Web ページとサーバー間のデータの転送は2つの段階で行われます: Web ページ–ソリューションとソリューション–ワークフロー。2つの段階は次のメカニズムをそれぞれ使用します:

 

Web ページ–ソリューション

Web ページとソリューション間の通信は JavaScript により行われます:

 

Window.postMessage() メソッドは Web ページから埋め込まれた IFrame へデータを送信するために使用されます(メッセージは自動的にソリューションからワークフローに送信されます)。
Window.addEventListener() メソッドは、ワークフローから IFrame に送信されるをリッスンする メッセージ イベント のために Web ページ内で使用されます。IFrame によりメッセージが受信されると、 JavaScript 関数がメッセージを処理し、 Web ページ内で表示するために使用される Web ページに転送されます。

 

上記の2つのメソッドは、 W3C 仕様です。詳細に関しては、次を参照してください: Mozilla Developer Network での説明 : PostMessageAddEventListener。または、イベントリスナーはメッセージイベントをリッスンするので、次を参照してください: MessageEvent

 

 

ソリューション–ワークフロー

ソリューションとワークフロー間の通信は、($MT_EMBEDDEDMESSAGE という名前の) JSON ページソースからワークフロー内でデータがアクセスされるためです。 JSON ページソースは JSON 構造から作成される必要があります。ソリューションは以下を行います : (i) IFrame 内で受信されるメッセージを JSON 文字列にシリアル化します。  (ii) シリアル化された JSON 文字列を( $MT_EMBEDDEDMESSAGE JSON ページソースとして作成することのできる)ワークフローに自動的に送信します。

 

(ワークフロー からソリューションへ)逆方向に通信が発生する場合、JSON 文字列として送信されます ($MT_EMBEDDEDMESSAGE JSON ページソースと通常シリアル化されます)。

 


(C) 2019 Altova GmbH