![]() |
![]() |
|
Loading
|
@IT > 次世代“エクスペリエンス”を実現するJava/XMLベースのリッチクライアントとは? |
![]() |
さまざまなリッチクライアント・プラットフォームが乱立する中で、選択のキーワードはオープンで将来性あるテクノロジを使っていること、エクスペリエンスの実現性に優れることといえるのではないだろうか。本稿では、Java/XMLベースのリッチクライアントNexawebの特徴と開発スタイルについて、動画コンテンツ、体験版&チュートリアルPDFで実際に体験いただこう。
読者は最近“エクスペリエンス”(Experience、体験・経験・感覚)という言葉をよく耳にするのではないだろうか。一見、エンタープライズアプリケーションに関係なく思えるこのキーワードが、実はいまリッチクライアントの最大のテーマとなっている。 Ajax、WebサービスAPI、マッシュアップといったさまざまなWeb 2.0技術は、従来までサービス提供者や企業に一方的に与えられたものを使うだけだったユーザーに、自らWebに参加し、使い勝手や使いやすさはもちろん、サービスによってもたらされる成果や使用感によって新たな“体験”(エクスペリエンス)のチャンスを提供している。 エンタープライズアプリケーションも例外ではない。エクスペリエンスが、従業員の生産性や創造性をアップし、経営者に適格な経営判断の後押しをする。このエクスペリエンスは、サービスやアプリケーションのデザイン、ユーザビリティとユーザーインターフェイス(以下、UI)デザインに依存するため、これらを形作るためのリッチクライアント・プラットフォームの選択が非常に重要であることはいうまでもない。 Ajaxはその有力な候補の1つだろう。しかし、Ajaxはプレゼンテーション層のフレームワークであり、サーバサイドも含めた包括的なフレームワークではない。そのため、組み合わせて使うという弱点がある。 そもそもエンタープライズは、リッチなUIのみならず、ほかのシステムとのシームレスな連携、高速でクリティカルな通信にも耐えうる通信フレームワーク、既存資産(VB、C/C++、Java Swingなどでできたソフトウェア/システム)からの容易なマイグレーション、オフライン通信への対応など、過酷なまでのさまざまな条件を要求してくるものなのだ。 では、これらを包括できるリッチクライアント・プラットフォームに何があるのだろうか? その1つの回答として、本稿では「Nexaweb」を例に挙げることにする。 Nexawebは、前述のような数々の要件をエンタープライズレベルで本当に満たしているのか? 本稿では、Nexawebをリアルに体験できる動画コンテンツとNexawebの無償体験版+チュートリアルのPDFファイルを用意している。この機会にぜひ体験してNexawebを評価してほしい。
実際に体験する前に、まずNexawebのシステム構成について簡単に説明しておこう。Nexawebは、Java/XMLベースのリッチクライアント・プラットフォームだ。Java/XMLという“標準”ベースである点が、エンタープライズとの高い親和性を特徴付けている。 リッチでかつ軽量・高速なUIを実現する「Nexawebクライアント」。柔軟なアプリケーションフレームワークとリアルタイム&非同期通信フレームワークとを備えた「Nexawebサーバ」。これらがNexawebプラットフォームのコアとなる。 開発環境には、EoD(Easy of Development)を実現するEclipseベースの開発環境「Nexaweb Studio」が提供されているので、Java開発者が慣れ親しんだJava IDEを用い、Java言語で開発が可能である。もちろん、さまざまなJava開発支援ツールを組み合わせて、プロジェクトの生産効率を向上できる点も魅力の1つに違いない。 以降、Nexawebのアーキテクチャの特徴を要点にまとめてみよう。 ■ 高速な描画を実現するアーキテクチャ Nexawebクライアントは軽量なレンダリングと通信のエンジンだ。アプリケーションの実行時にダウンロードされるため、プラグインのインストールが不要である。NexawebクライアントはXMLで表現された画面を逐次解釈して描画を行う。XMLデータはバイナリ圧縮されているため低帯域。かつ、画面はクライアントとサーバで同期(DOMを用いる)されているため、差分通信を行う。このアーキテクチャが、低負荷ネットワークと高速な描画を実現する。また、画面のスタイルを動的に変更することも可能だ。 ■ リッチUIを実現する優れたレンダリングエンジン Nexawebはデスクトップアプリケーション同様のインタラクティブ性と、クライアント/サーバアプリケーションを超える表現力を備える。例えば、グリッドやテーブルといった基本的なUIから、大量データの高速入力補助、キー指定、入力部品のドラッグ&ドロップ、リッチなグラフ描画をも実現する。リッチUIコンポーネントが充実しているのだ。 ■ 双方向通信を実現するNexawebサーバ トレーディングシステムのようなリアルタイム通信を行うアプリケーションでは、サーバプッシュによる通信と、数千行のデータ、チャート、グラフおよびそのほかの複雑な情報を含むリアルタイムな増分更新が必要になる。Nexawebでこれを実現する仕組みがNexaweb IMB(Internet Messaging Bus)だ。 Nexaweb IMBが秀逸なのは、差分更新を自動的に行うだけでなく、インテリジェント・ルーティングによってネットワーク帯域幅を最大化し、エンタープライズ規模のアプリケーションに十分なパフォーマンスを発揮する点だ。SSLなどのセキュリティプロトコルにも対応するNexaweb IMBは、すべての複雑な処理を吸収するため、開発者は画面とビジネスロジックに集中して開発すればよい。 ■ J2EE開発者になじみやすいアプリケーションフレームワーク サーバサイドでの開発には、Nexaweb EDS(Enterprise Data Services)というJ2EE 2.3準拠のリソースセット(サーブレット、リスナ)が提供されている。例えば、Strutsの開発経験があれば、リッチクライアントの開発であることを忘れるくらい、自然に取り組めるはずだ。 ■ エンタープライズシステムの統合 Nexawebは、SOAを使用して複数の既存データソースからのデータをマッシュアップし、さまざまなタイプのクライアントに配信するサービスを提供することもできる。今後、Saas(Software as a Service)を使用したリッチなUIを持ったWebパッケージ・ソフトウェア製品が増えると予想されるので、SOAのフロントエンドに位置付けることができるNexawebは、エンタープライズアプリケーションサービスの価値をより高めることができるだろう。
ここまでの説明で、アーキテクチャのポイントは理解していただけたと思う。Nexawebは、クリティカルな情報系での採用が多い。堅牢な通信と柔軟でオープンな開発モデルが、重要度の高い企業システムと相性が良いのだ。実際、東京三菱UFJ銀行では、世界各地の拠点間を結ぶ全社規模、複数の基幹・情報系システムにNexawebを採用している。 アーキテクチャの説明に加え、最後に、既存レガシーシステム資産のマイグレーションが容易であることにも触れておきたい。
Nexawebがレガシーシステム(既存資産)のマイグレーションに強い理由は2つある。1つは、クライアントとサーバにおけるロジックの配分の自由度が高いため、既存とまったく同じ部品が提供できるということと、レガシーのアーキテクチャに合わせたマイグレーションが可能であること。もう1つは、メインフレームやホストで構築された基幹システムのマイグレーションにおいて、J2EE基盤と堅牢なリアルタイム&非同期通信がミッションクリティカルに耐えうるシステム構築を可能にしていることだ。 実際、リッチクライアントによるレガシー・マイグレーションに長年取り組んできた株式会社グローバルエーインフォメーション 代表取締役社長 百々英海氏は次のように語る。 「VBやAccessでクライアントを作成したクライアント/サーバシステムのマイグレーションでは、元のクライアントとサーバの役割を維持したまま、スムーズにマイグレーションできました。デスクトップアプリケーションとまったく同様のUIを大きな問題なく実現でき、従来のユーザーの使い勝手を落とすことがありませんでした。しかも、J2EEを採用したことで従来よりも高速で拡張性のあるスケーラブルなシステムが実現できます」 同社はこれまでさまざまなリッチクライアント技術を用いてきたが、今後はNexawebを積極的に活用したいという。その大きな理由の1つに中国へのオフショアの成功がある。70万ステップにもおよぶマイグレーション案件をNexawebで行ったが、開発は3カ月で非常にスムーズにトラブルなく行われたという。 「中国のパートナー企業がわれわれの技術指導なしに開発を終了したことに驚きました。Eclipseを使ったJava開発が技術者にとって取り組みやすいことと、サーバ側は標準的なJ2EEフレームワークをそのまま利用できることなどが理由としてあるのでしょう。加えて、Nexawebのサイトに掲載された開発リソースが充実していたことも理由の1つに感じています」(百々英海氏)。(参考:建材店向け販売管理システム「建太郎」) 以上のように、Eclipseベースの統合開発環境、標準ベースのアプリケーションフレームワーク、リアルタイム&非同期通信の容易な実現、充実したリッチUIコンポーネントがNexawebの特徴だ。ではいよいよ、実際に体験してみてほしい。
Nexawebアプリケーションは、クライアント/サーバシステムのアプリケーションとまったく同一か、またはクライアント/サーバシステムでは実現不可能だったリッチなUIを実現する。次に紹介する動画は、「テーブル操作」「スケジュール管理」「株式トレーディング」の3例を通してNexawebのリッチUIを説明している。
次に紹介する動画は、Nexaweb Studioを使った開発スタイルだ。ドラッグ&ドロップによるGUI設計と、画面設計とXMLコードがリアルタイムに連携した状態での画面設計、画面上の部品に対してVisual Basic同様にイベントハンドラを記述していくスタイルの開発を実際の開発画面で確かめてほしい。
ここで体験していただいたNexawebは、評価版を使って実際の開発を試すことができる。Nexawebのサイトで簡単な登録をすると、評価版のダウンロードと市販書籍『Nexawebアプリケーション開発ガイド』(出版社:ナレッジオンデマンド、ISBN-10:4903687066、ISBN-13:978-4903687063)のPDF(インストールから簡単なアプリケーション作成まで)を無償でダウンロードできる。この機会に、ぜひNexawebのサイトにアクセスしてJava/XMLベースのリッチクライアント・プラットフォームを評価してほしい。
提供:日本ネクサウェブ株式会社 企画:アイティメディア 営業局 制作:@IT 編集部 掲載内容有効期限:2007年12月17日 |
|