TOP
>
システム開発
> はじめに
エンタープライズ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ファイルが読み込まれます。
図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編)
はじめに
アーキテクチャ
ビジネスロジック
データバインディング