TOP
>
システム開発
> Server Pushについて
エンタープライズ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によって実現されます。
図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