コードジンのヘッダーが入ります
「エンドユーザーはC/Sシステムの移行や新しいサービスの実現のため、開発者はそのエンドユーザーのニーズに応えると同時に開発効率を向上し、運用保守を容易にするためRIA(リッチインターネットアプリケーション)を必要としている」と日本ネクサウェブの松木健太郎氏は指摘する。また既存システムの置き換えや新サービスのために構築されたWebシステムにも操作性、デザイン、通信やサーバへの高負担などの課題がある。
Nexawebは既存のWebアプリケーションの課題とRIAへの要求を解決するために開発された。操作性やレスポンスの向上、デザイン、機能性の拡充などはリッチクライアント機能で対応する。また、HTTP・HTTPS通信、到達確認など、通信のコントロール機能で、通信の信頼性を確保。さらに標準機能で同期/非同期通信、サーバープッシュ、差分更新などを可能にしている。そのほか、幅広い稼働環境やアプリケーションの容易な配布・更新を可能にした「シンクライアント」、通信回線の高負荷とサーバ処理の高依存問題に対応するための「オンデマンド」がある。
Nexawebの実行環境として提供されているNexaweb Platformには、大きく分けて3種類の機能がある。まずUniversal Client Frameworkは、クライアント側のランタイムエンジンだ。主な機能はXML情報を元にしたUIレンダリングと、イベントハンドリングだ。UIのデザインとイベントの呼び出しだけが定義され、ビジネスロジックとUI定義が完全分離されているところに特徴がある。
通信機能はInternet Messaging Bus(IMB)が担う。通常のリクエスト/レスポンスは同期型と非同期型の両方あり、Point-to-Pointのサーバープッシュ機能、Publish/Subscribeモデルのサーバープッシュ機能を持っている。
また、通信の到達保証や到達確認のためのReliable Messaging機能、クライアント/サーバープッシュ間でのXMLを自動的に同期させるXML DOM同期機能、サーバ間でデータを同期するShared Store機能がある。
Nexawebのサーバサイドの機能は、Enterprise Data Services、通称Nexaweb Serverにより提供される。Serverという名前がついているが、実態はJava Application Server上で稼働するJava Servletだ。Nexawebクライアントを管理する機能を持っており、HTTPのセッション管理とは別にNexawebの独自情報を付加したセッション管理もできる。
また、サーバープッシュを実現するためのコントロール機能もある。加えてデータサービス機能により、データソースとUIをプログラムレスで連動させ、データをブラウザ上に表示し、加工することができる。またクラスタリング機能は、サーバ間の通信等を実現する。
松木氏は「Nexaweb Platformにより、従来は環境により異なり、限定されていた実装形態を、環境を意識することなく作成されるアプリケーションに応じた形でロジックやデータの配置をコントロール可能にする選択肢を提供できる」と活用のメリットを強調する。
Nexawebにおける開発は統合開発環境であるNexaweb Studioで行う。Eclipseにプラグインする形で実装されており、他のプラグインとの共存が可能になっている。松木氏はNexaweb導入効果のメリットとして、多くのリッチクライアント製品とは違い、標準技術の採用により、技術者を確保しやすく、その習得も比較的容易だと強調する。またサーバ側のノウハウなど既存資産の活用も可能で、特殊な運用を必要としないことも大きなメリットだ。