TOPシステム開発> Nexaweb Enterprise Mashup Server
エンタープライズWeb 2.0とNexaweb
エンタープライズWeb 2.0とNexaweb

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

著者:日本ネクサウェブ  松木 健太郎   2007/2/20
前のページ  1  2  3
Nexaweb Enterprise Mashup Server

   IMBが備えている様々な機能はサーバと連携することではじめて効果を発揮します。続いて、Nexaweb Enterprise Mashup Serverについて解説します。

   Nexaweb Enterprise Mashup Server(以下、Nexaweb Server)はJ2EEアプリケーションサーバ上で稼働するJava Servletとして実装されています。Nexaweb ServerはNexaweb Clientからのリクエストの窓口となり、サーバ上の各種JSP/Servletにリクエストを中継します。このためNexaweb ServerはIMBすべての機能を実現するために非常に重要な役割を担っているのです。
Nexaweb Enterprise Mashup Serverの概念図
図3:Nexaweb Enterprise Mashup Serverの概念図


既存技術との融合

   Nexaweb Clientから送信されるリクエストは通常IMBによって管理されているため、そのままのリクエストでは通常のJSP/Servletでは内容を解釈することができません。このため、Nexaweb Serverがリクエスト窓口となり、JSP/Servletで解釈可能な形式にリクエスト内容をコンバートし、フォワードします。

   フォワードされたリクエストは特にNexawebを意識することなく処理することが可能で、サーバサイドにおけるロジックの実装は従来サーバサイドで利用されていた技術の使用を制限することはありません。

   事実、多くの事例ではStrutsやSpringフレームワーク、Hibernateなどのサーバサイドで利用できるミドルウェアなどと組み合わせ使用されています。またNexaweb Serverはリクエストの中継時にIMBによる情報を取得しているため、サーバ上でNexawebの機能を利用することができます。


キュー管理

   IMBによるプッシュメッセージはすべてNexaweb Serverによってキュー管理されています。メッセージはいったんキューに蓄積され、IMBのオプションに応じてキュー内での処理内容が変化します。

   IMBのオプションの違いによる機能の差異はすべてNexawebによって管理されているため、開発者はIMBのオプションの違いによってプログラムを変更する必要がありません。

キューの処理の流れ
図4:キューの処理の流れ

   メッセージキューはサーバサイドの設定によってキューのサイズやキューが溢れた場合のルールの設定が可能です。Nexaweb Server APIによってキュー溢れのイベントフックも可能で、キューの管理だけでなく問題が発生した場合のイレギュラー処理を利用者が管理することもできます。


Web Service

    Nexaweb Serverはサーバ間通信によるWeb Serviceを利用するためのAPIを提供します。Nexaweb Server APIを使用することで、利用者は容易にWeb Serviceを使用することができます。またNexaweb ServerのWeb Service APIは、Nexaweb ClientのWeb Service APIと連動するようになっており、Nexaweb ClientからのWeb Serviceの利用をNexaweb Serverが中継します。


セッション管理

   Nexaweb Serverを使用するとHTTPセッションとは別にNexawebの独自のセッションが管理行われます。NexawebのセッションはHTTPセッションと1対1で管理され、HTTPセッションと同じように扱うことが可能です。またNexawebのセッションはNexaweb独自のデータを個別に管理しており、Nexawebのセッションを利用するとそれらのデータにアクセスすることができます。


Server DOM同期

   Nexaweb Serverの代表的な機能としてUI XMLの同期機能があります。これをNexawebでは「Server DOM同期」と呼び、IMBのオプションを有効にすることで使用することができます。

   Server DOM同期を使用した場合、クライアント側のUI XMLの内容とほぼ同一のXMLがサーバ上で参照・編集することができます。Server DOMを使用した場合、リクエスト時にJSP/Servletにパラメータとして値を渡さなくとも、Server DOMを参照することでクライアント側の入力データなどを取得することもできます。

   またクライアント側の変更もServer DOMに対してUI XMLの変更を行うだけでIMBによって自動的にクライアント側が更新されるようになります。Server DOMはJSP/Servletから常に参照・編集することが可能なので、特に意識せずにAPIを使用するだけでServer DOMを使用することができます。


クラスタリング

   Nexaweb Serverはクラスタリング構成をとることが可能です。NexawebアプリケーションはNexawebの独自セッション情報によって管理されており、このセッション情報が存在しない場合、Nexawebアプリケーションはリセットされます。

   Nexaweb Serverのクラスタリング機能を使用すると、Nexawebの独自セッション情報がバックアップされ、サーバがダウンした場合でもフェイルオーバーによってバックアップサーバでサーバダウン前と同じ状態でNexawebアプリケーションを稼働させることが可能になります。

前のページ  1  2  3


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

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


INDEX
第4回:Internet Messaging Busによる通信管理を理解する(Server編)
  はじめに
  Server Pushについて
Nexaweb Enterprise Mashup Server