オープンソースのリッチクライアント技術とは?
今日は、オープンソースのリッチクライアント技術として,Ajax,OpenLaszlo,Eclipse 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,データベース,帳票と,オープンソース・ソフトウエアは多くの分野で使われるようになり,リッチクライアントの分野にもオープンソース・ソフトウエアという選択肢が出てきた。選択肢も増え,それぞれの技術の特徴を把握して適材適所で利用することが求められている。
やれやれ、大変な時代の始まりです。・・・
Flexでさわっておぼえるリッチクライアント Flashベースの次世代Webアプリケーション
- 作者: 株式会社電通国際情報サービス,ひがやすを,マクロメディア株式会社
- 出版社/メーカー: インプレス
- 発売日: 2005/09/30
- メディア: 大型本
- クリック: 23回
- この商品を含むブログ (13件) を見る