第4回:Internet Messaging Busによる通信管理を理解する(Server編) (2/3)

エンタープライズWeb 2.0とNexaweb
エンタープライズWeb 2.0とNexaweb

第4回:Internet Messaging Busによる通信管理を理解する(Server編)

著者:日本ネクサウェブ  松木 健太郎   2007/2/20
前のページ  1  2  3  次のページ
Server Pushについて

   NexawebではIMBによってServer Pushを使用することができます。これを使用するためには、サーバ上でNexaweb APIを使用してUIを更新するか、Pub/SubのためのPublishを行う必要があります。これらは、すべてNexaweb Mashup ServerのAPIによって実現されます。
Pushを実現する処理の流れ
図2:Pushを実現する処理の流れ


Pushの実現方法

   サーバ側でUIの更新もしくはPub/Subを使用した場合、更新情報はメッセージキューにいったん蓄積されます。キューに蓄積されたメッセージはPush Connection、Polling RequestのResponse、User RequestのResponseのいずれかによってクライアントに配信されます。

   配信の優先順位は下記の順番で行われます。

  • Push Connection
  • Polling Request Response
  • User Request Response

表1:配信の優先順位

   メッセージはいずれかの手段によってPushされるまでキューに蓄積されます。もちろんIMBのオプションによってPushによる配信方法は変化しますが、オプション変更によってプログラムを変更する必要はありません。


Push Connectionによる配信

   IMBによってPush Connectionオプションが有効である場合、キューに蓄積されたデータは即座にPush Connectionを使用してクライアントに配信することができます。Request/Responseとは別にPush専用のConnection(HTTP/HTTPS Connection)を使用して、Pushデータをクライアントに配信します。

   Push Connectionは、NexawebによってConnectionの生存状態が監視されており、ネットワーク経路の障害などによってConnectionが切断された場合であっても、Nexawebによって自動的にConnectionが修復されるようになっています。

   Push ConnectionによるPushデータの配信はリアルタイムに行われます。


Polling RequestのResponseによる配信

   IMBによってPollingオプションが有効である場合、キューに蓄積されたデータはPolling Requestがサーバに到達するまでキューの中で蓄積され、Polling RequestのResponseデータに付随してクライアントに配信されます。Pollingは定期的なRequestによってサーバサイドに蓄積しているPushデータをクライアントサイドに汲み上げることによってPushを実現します。

   Pollingのための定期RequestはNexawebの設定によってコントロールすることが可能で、特別にコーディングする必要はありません。PollingによるPushはPollingが発生するまでの間、Pushデータがクライアント到達しないためタイムラグが発生します。


User RequestのResponseによる配信

   キューにPushデータが蓄積されている状態でユーザRequestが発生した場合、ユーザRequestのResponseデータに付随してPushデータがクライアントに配信されます。Push ConnectionおよびPollingオプションが有効でない場合、ユーザRequestのResponseに付随してPushデータを配信するしかありません。そのためPushデータの到達までにタイムラグが発生します。なおタイムラグの発生期間はUser Requestの発生頻度によって変化します。


IMBの環境設定

   IMBではクライアントの状態やネットワークの状態に応じて細かな環境設定を行うことが可能です。これらの環境設定はIMBの設定によってIPアドレスやブラウザ、JVMバージョンなど様々な条件によって個別に設定することが可能です。

   またAPIを使用することで実行時にIMBの設定を変更することも可能なので、異なる環境下でプログラムを変更することなく、あらゆるネットワーク環境に適した環境で稼働させることが可能になります。

前のページ  1  2  3  次のページ


日本ネクサウェブ株式会社 松木 健太郎
著者プロフィール
日本ネクサウェブ株式会社
チーフエンジニア  松木 健太郎

2000年よりフリーランスのエンジニアとして活動。Delphi, C++, Java などによる Web ベースリッチクライアントシステムの開発に従事。2004年の米ネクサウェブ社の日本上陸時から Nexawebに関わり、展開当初の立上げに参画。日本法人の設立にも立ち会う。


INDEX
第4回:Internet Messaging Busによる通信管理を理解する(Server編)
  はじめに
Server Pushについて
  Nexaweb Enterprise Mashup Server
エンタープライズWeb 2.0とNexaweb
第1回 エンタープライズWeb 2.0とは
第2回 リファレンスアーキテクチャのサービス利用層を知る
第3回 Nexawebプラットフォーム全貌を知る(Client編)
第4回 Internet Messaging Busによる通信管理を理解する(Server編)
第5回 Nexaweb Studioに用意された機能(Studio編)
第6回 エンタープライズWeb 2.0の開発環境を体感する

人気記事トップ10

人気記事ランキングをもっと見る