図1●リッチ・クライアント製品のデータ・プッシュ配信の仕組み<BR>プッシュ配信を利用する場合,ランタイム・ソフトが自動的にサーバーとコネクションを張る。アプリケーションは,サーバーからの通信を待ち受ける
図1●リッチ・クライアント製品のデータ・プッシュ配信の仕組み<BR>プッシュ配信を利用する場合,ランタイム・ソフトが自動的にサーバーとコネクションを張る。アプリケーションは,サーバーからの通信を待ち受ける
[画像のクリックで拡大表示]

米Macromediaは「Flex2」の開発途上版を10月にサイト上で公開,米Nexaweb Technologiesは6月に「Nexaweb4.0」を提供した。いずれもリッチ・クライアントにプッシュ機能を搭載したソフトだ。サーバーから最新情報を送り込む---。そんなシステムが手軽に構築できるようになる。

 従来のリッチ・クライアント製品は,Webブラウザと同様にHTTP/HTTPSを利用してサーバーと通信する。HTTP/HTTPSはリクエストを受けてレスポンスを返すプロトコルなので,サーバー側からデータをプッシュ配信するのは難しい。しかしここにきて,一部のリッチ・クライアント製品に,データのプッシュ配信をサポートする動きが出てきた。

 2005年6月には,プッシュ配信やトランザクション管理の機能を搭載した「Nexaweb4.0」が登場。開発元である米Nexaweb Technologiesは,日本法人を設立して8月に国内で販売を開始した。米Macromediaは,「Flash Communication Server」で実績のある独自のリアルタイム・メッセージング・プロトコル(RTMP)を搭載した「Flex2」の開発途上版を,2005年10月に同社のサイト上で公開した。2006年上半期には出荷の予定だ。

 Nexaweb4.0とFlex2は,Webブラウザの機能を拡張するランタイム・ソフトと,専用のサーバー・ソフトを持つタイプのリッチ・クライアント製品である。このタイプの製品は,サーバー・ソフト上に画面部品などのクラス・ライブラリを搭載し,XML定義に従ってアプリケーションを動的に配信する機能を備えている。データのプッシュ配信は,クライアントとサーバーのそれぞれのソフトにリアルタイム通信機能を加え,独自の双方向通信を採り入れることで実現する(図1[拡大表示])。

 データのプッシュ配信機能を使うと,例えばネット証券のシステムで,株価の変化をバックエンドのデータベースから即座にクライアントに反映するといったことが可能だ。似たような見た目のシステムは,Webブラウザだけでも「Ajax(Asynchronous JavaScript+XML)」などの技法を使えば作れなくはない。Ajaxでは,XML/HTTPによる非同期通信でサーバー上のデータを取得し,ブラウザ上のJavaScriptでWebページ内を部分的に書き換える。だが,Ajaxは基本的にクライアントからリクエストする仕組みで,サーバーからリクエスト(プッシュ)しているわけではない。

 既に国内の複数の大手銀行が,プッシュ配信の特性に注目し,リアルタイム性を要求されるシステムにNexawebを導入済みである。今後は,リアルタイム通信機能を生かし,クライアント同士でメッセージを送受信するといったコラボレーション系システムにも利用される可能性がある。