TOPシステム開発> はじめに
エンタープライズWeb 2.0とNexaweb
エンタープライズWeb 2.0とNexaweb

第3回:Nexawebプラットフォーム全貌を知る(Client編)

著者:日本ネクサウェブ  松木 健太郎   2007/1/19
1   2  3  4  次のページ
はじめに

   前回までにEW2.0(エンタープライズWeb 2.0)とNexawebがカバーするリファレンスアーキテクチャ、NexawebエンタープライズWeb 2.0プラットフォームについて説明しました。今回から4回にわたり「Nexaweb Client」「Nexaweb IMB」「Nexaweb Enterprise Mashup Server」「Nexaweb Studio」の機能について説明します。
Nexaweb Client

   Nexaweb ClientはNexawebエンタープライズWeb2.0プラットフォームの中でクライアントアーキテクチャに相当します。


稼働の仕組み

   Nexaweb Clientはクライアントサイドでランタイムエンジンとして稼働し、XMLベースのUI記述言語によって記載されたXMLファイルをブラウジングする形で稼働します。その仕組みはWebブラウザに類似しており、必要なタイミングで必要な情報を取得・キャッシュすることで初期ダウンロード時間の短縮やアプリケーション更新時の再配布に関連する問題を解消します。また従来HTMLベースで作成されていたシステムと同じように、サーバでの集中管理を可能とします。

   アプリケーションの実装はXMLデータのファイルによってユーザインターフェース(UI)を、ロジックは専用のファイルでそれぞれ定義し、完全に分離して管理することができます。

   図1はNexaweb Clientのブラウジングイメージです。ブラウザ上で稼働する場合、Nexaweb Clientを起動するためにHTMLファイルが読み込まれます。

Nexawebの稼働イメージ
図1:Nexawebの稼働イメージ

   Nexaweb Clientを起動すると、アプリケーションの処理内容に応じてXMLによって定義されたUIファイルやクライアントサイドのロジックファイル、データなどをダウンロードしながら稼働します。

   またNexaweb ClientによるUI定義は差分(部分)更新を可能としているため、全画面のリフレッシュを行いながら稼働するWebブラウザに比べ、非常に効率の良いブラウジングが可能です。


Nexaweb Client Runtimeの種類

   Nexaweb Clientには、大きく分けてJava版とAjax版の二種類のクライアントがあります。さらにJava版はJava Appletによって構成されるオンライン専用版、とJava Applicationによって構成されるオン/オフラインの切替稼働が可能な「Desktop Client」があります。

   ここでは、Java Applet版を「Applet Client」と、Java Application版を「Desktop Client」、Ajax版を「Ajax Client」と呼びます。

  Applet Client Desktop Client Ajax Client Webブラウザ
エンジン Java Applet Java Application Webブラウザ Webブラウザ
画面定義 XML XML XML HTML
画像 JPEG、
GIFなど
JPEG、
GIFなど
JPEG、
GIFなど
JPEG、
GIFなど
ロジック
(MCO)
Java Java JavaScript JavaScript、
VBScriptなど
オフライン
稼働
× × ×
要求
ランタイム
JRE 1.1.5以上 JRE 1.3以上 メジャー
ブラウザ
メジャー
ブラウザ

表1:Nexaweb Client Runtimeの種類


Applet Client

   Applet ClientはJava Appletで作成されているオンライン専用のNexaweb Clientで、JVMのバージョンは1.1.5以上が必要です。Java Runtime Environment(JRE)から提供されるAWTやSwingといったUIコンポーネント群を使用していないため、JREのバージョンによる制限を受けません。

   JREがインストールされている環境であれば特別なプラグインソフトのインストールを行う必要がなく、非常に広範囲なJRE上で稼働することができます。なおAppletで作成されているため、Appletが持つセキュリティ機能をそのまま生かすことが可能ですが、反面ローカルリソース(ローカルファイルやプリンタなど)にアクセスすることができない点に注意する必要があります(注)。

注: Appletに署名することで、ローカルリソースへのアクセスも可能。


Desktop Client

   Desktop ClientはJava Applicationで作成されているオン/オフラインの切り替え稼働が可能なNexaweb Clientです。これは前述したApplet Clientと違い、事前にクライアント端末にDesktop Clientのランタイムのインストールが必要ですが、Applet Clientで制限されていたローカルリソースへのアクセスやオフラインでの稼働が可能になります。

   Desktop Clientにはサーバへの接続状態を検知する機能が備わっており、これによってオンライン状態であればオンラインで稼働し、オフライン状態であればオフラインで稼働するような仕組みを実装することが可能です。

   またNexawebによって作成されたアプリケーションファイル(XMLによるUIファイル、ロジックファイルなど)はオンライン時にサーバと同期する機能が備わっているので、配布に関してサーバで集中管理することもできます。

   サーバリソースを必要としないアプリケーション(例えばサーバ上のデータベースを参照しないなど)であれば、Applet ClientとDesktop Clientは全く同じソースコードで稼働します。単一のアプリケーション作成によってオンライン版、オフライン切替版を使用することもできます。


Ajax Client

   Ajax ClientはAjaxを用いたNexaweb Clientです。これはApplet ClientやDesktop ClientのようにJREを必要とせず、ブラウザのみで稼働するものです。UIの機能など一部にはApplet ClientやDesktop Clientと比べて利用できない機能が含まれていますが、基本的なアーキテクチャやUI記述言語は同一で、Nexaweb Clientの提供するUIパーツ群に近い表現が可能です。

   これにより、ソート機能を持ったテーブルやツリー表示、ウィンドウコントロールといったリッチなUIを使用することができます。また「Applet Client」「Desktop Client」と異なり、ランタイムエンジンがJavaベースではありません。そのためクライアントサイドでのロジックの開発はJavaScriptを用いることになります。

1   2  3  4  次のページ


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

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


INDEX
第3回:Nexawebプラットフォーム全貌を知る(Client編)
はじめに
  アーキテクチャ
  ビジネスロジック
  データバインディング