この連載記事の目次へ

 前回まで,オープンソースのリッチクライアント技術として,AjaxOpenLaszloEclipse RCPの3つの技術を紹介してきた。最終回となる今回はこれらの技術をまとめ,様々な角度から検討してみよう。

 まずは以下に比較表を示したので,こちらをご覧いただきたい。

表1●リッチクライアント技術の比較

  HTMLクライアント Swing Ajax Open Laszlo Eclipse RCP
使用技術 HTML
JavaScript
JSP/サーブレット
Java HTML
XML
JavaScript
DOM
Java
LZX(独自言語)
JavaScript
Java
マルチプラットフォーム性
Webブラウザに依存する

SWTが動作する環境であれば動作する
表現力・操作性 ×
ブラウザからのさまざまな制約を受ける

アニメーションには特に強い
配布の容易性
Java Web Startにより高めることが可能

Flashプラグインの普及率を考慮すると,HTMLクライアントと遜色ないレベルと言える

UpdateManagerやWebRCP,Java Web Startにより高めることが可能
サーバーへの負荷 ×
ロジックはサーバー側で処理されるため
サーバーの負荷は高くなる

多くのロジックをクライアント側で処理することが可能

ロジックはサーバー側で処理されるが,通信量を減らせるためHTMLクライアントよりは高い

多くのロジックをクライアント側で処理することが可能

多くのロジックをクライアント側で処理することが可能
クライアント--サーバー間通信 ×
利用可能なプロトコルは制限されているため,サーバーからのプッシュ型の通信は困難

任意のプロトコルが利用可能
×
利用可能なプロトコルは制限されているため,サーバーからのプッシュ型の通信は困難
×
利用可能なプロトコルは制限されているため,サーバーからのプッシュ型の通信は困難

任意のプロトコルが利用可能
開発コスト × ×
独自言語のため

Eclipseのフレームワークを利用して高めることが可能
メンテナンス性 ×
コーディングの自由度が高いため,開発者のレベルに大きく左右される
×
JavaScriptはメンテナンスが困難
×
コーディングの自由度が高いため,開発者のレベルに大きく左右される

拡張ポイントの利用という基本ルールが存在するため
実績 ×
Eclipseの実績を加味

 比較を明確にするために,今回紹介した,Ajax,OpenLaszlo,Eclipse RCPに加え「HTMLクライアント」と「Swing」の特徴も示した。なお,これらは対象となるアプリケーションの機能や規模,対象者の技術力,今後の進展によって変わってくる。あくまで現時点での特徴であることをお断りしておく。

Ajax

 AjaxはWebブラウザのみで動作するのが大きな利点であるが,その反面Webブラウザからの様々な制約を受ける。そのため今回の比較では,マルチプラットフォーム性と表現力・操作性は△とした。

 Swingで構築されていたようなクライアントの代替手段としての利用は厳しく,現在HTMLクライアントで構築されているものの操作性を高めるといった利用が最も適しているといえる。しかし,HTMLと比較するとコストは膨らむため,適材適所での利用が重要になってくる。

 実際のシステムへの適用を考えた場合には,多くの利用者が使用し高い操作性が必要になる機能・画面にはAjaxを,そうでない部分については従来のHTMLクライアントといったようなコストとのバランスを考えた取捨選択が必要になってくるだろう。

 今後,Ajax対応の開発環境の登場と共にどのような展開を見せるのか注目される。

■関連リンク
Ajaxを利用した地図検索サービス(Google Maps)
Ajaxを利用した検索サービス(Google Suggest)
Ajaxを利用したWebメールサービス(Mail Flex)

OpenLaszlo

 OpenLaszloはFlashのため操作性,表現力は高く,特にアニメーションなどの高い表現力が求められる分野には強い。

 Flashというと従来はアニメーションで見栄えの良いWebサイトを作るという利用が多かったが,Flexの登場以降は業務システムへの利用も進んでおり,適用可能な範囲やユーザー側の利用のし易さを考えると有力な選択肢となる。

 このような分野にオープンソースという選択肢が出てきたことで,既存の「Webブラウザ+プラグイン」で動作する商用製品にもライセンス体系など,なんらの影響が出てくることが予想される。
日本でもOpenLaszloコミュニティが活発に活動しているので,興味のある方は是非のぞいてみていただきたい。

■関連リンク
・開発元米LaszloSystems
・日本のユーザー・コミュニティLaszloJapan

Eclipse RCP

 Eclipse RCPは今回の評価では全体的に高評価となったが,配布の容易性の点から適用範囲が絞られてしまう。Eclipse RCPの特徴からすると最も比較対象として適しているのはSwingになるが,Eclipse RCPを利用することで軽快な動作,開発・メンテナンスの容易さなど多くのメリットを得ることができる。

 米IBMもクライアントソフトウエアの新戦略としてEclipseベースの『IBM Workplace Client Technology』を発表するなど,『非Webブラウザ』のクライアント技術としては現在最も注目されている技術と言える。

 今までクライアント・サイドが弱いとされていたJavaだが,Eclipse RCPの登場によって大きく変わる可能性がある。

■関連リンク
Eclipseプロジェクト
Eclipse RCPプロジェクト
RCPアプリケーション
日本のワーキング・グループ

最後に

 OS,データベース,帳票と,オープンソース・ソフトウエアは多くの分野で使われるようになり,リッチクライアントの分野にもオープンソース・ソフトウエアという選択肢が出てきた。選択肢も増え,それぞれの技術の特徴を把握して適材適所で利用することが求められる。

 本連載がオープンソースのリッチクライアント技術を選択するための一助となり,その普及に貢献できれば幸いである。

この連載記事の目次へ

■定金 孝知
株式会社ビーブレイクシステムズ業務システム構築スペシャリスト。前職はコンテンツ・デザイナ。コンテンツポータルサイト構築を通し,ユーザーインターフェース構築ノウハウを得る。だが,その現場でUI側からのシステム開発提案の限界を感じ,Java専業のビーブレイクシステムズに転職。そこでシステム開発のノウハウを獲得し,現在システム開発にUIの向上をもたらし,効率のよい業務システム開発を行うことを日々顧客に提案中。