ノート
参照 3220 最終更新 2008-01-14 (月) 16:06:53
Red5とかOpen Laszuloとか、flash系のリッチクライアントサービスを
勉強しなければならなくなって、
整理のために書いているメモ。
リッチクライアントとは? †
- e-word.jpによると
企業情報システムのクライアント環境のうち、アプリケーションの実行環境のみを搭載したもの。伝統的なクライアントサーバシステムのクライアントに当たる「ファットクライアント」と、アプリケーションをWeb化してクライアントにWebブラウザを使う「Webクライアント」(HTMLクライアント)の中間の性質を持つ。
リッチクライアントは、必要に応じてアプリケーションをダウンロードして実行するため、ファットクライアントに比べて配布や導入に手間がかからない。また、ネイティブアプリケーションとして実装されるため、Webブラウザをクライアントにする際の最大の弱点であるユーザインターフェースの貧弱さを克服し、ファットクライアントと同等の表現力や操作性を実現できる。両者の「いいとこ取り」に近い手法である。
- リッチクライアントの現状と今後の動向によると
そこで本連載では、リッチクライアントへの認識を統一するために、リッチクライアントとは表1の特徴を備えた「Webアプリケーションのクライアント(あるいは技術)」と定義する。以降、表1の定義を念頭において読み進めてほしい。
- 高い表現力を備える
- 高い操作性を容易に実現できる
- 容易に配布することができる
- クライアントリソースを有効活用できる(例えば、クライアントにプログラムやデータを保存したり、オフラインでのある程度の処理を実行することができたりするなど)
- リッチクライアント時代の到来によると
最近、急に「リッチクライアント」という言葉を聞くことが多くなった。「リッチクライアント」とは、ユーザーインターフェイスの見栄えや操作性が豊か(リッチ)なクライアントソフトウェアのことを指し示している。
「リッチ」というだけでは、言葉の定義が何となくあいまいではあるのは確かだ。「リッチクライアント」という定義は、操作性の貧弱なWebブラウザベースのアプリケーションと対比した形でよく使われる言葉だ(一時期注目を浴びていた3次元や動画再生のメディアリッチなクラアントの意味とは違う扱いであることに注意されたい)。
インターネット時代になって、クライアント・サーバ型のシステムからWebアプリケーションへのマイグレーションが進んだ。それは、Webアプリケーションがオープンプラットフォームであることや、開発コスト、保守の容易さなどの良い部分がフォーカスされたからだ。その一方、旧来の端末操作に習熟したユーザー層からはWebアプリケーションが必ずしも使いやすいわけではないことが指摘されるようになった。このことがリッチクライアントへの関心を高める大きな理由になっている。
リッチクライアントの実現技術 †
- Ajax,Flash,Java---オープンソースで実現するリッチクライアント(2005)
- Ajax, OpenLaszlo, Eclipse RCP(Rich Client Platform)を紹介・比較。
- Ajaxは、基本的にJavaScriptで書かれたプログラムをダウンロードして、ブラウザ内で
実行する。JavaScriptなのでブラウザのプラグイン等は不要。
- (Open)Laszloは、固有のXML言語LZXとJavaScriptを使ってアプリを作り、Flashに
変換してダウンロード・実行するための、サーバー側の仕組を提供。クライアント側
ではブラウザにFlashプラグインが必要(98%普及だと言っている)。
- Eclipse RCPはEclipseからクライアント側で動作するEclipseの最小環境と考えられる。
クライアント側におそらく予めEclipse RCP環境が必要(ブラウザ+プラグインの代わり)??(Java Web Startが必要と書かれている記事もある)
ダウンロードされるのはJavaらしい(バイトコードか?)。
サーバー側は定義されていないので(自動)ダウンロードするための仕組は別途必要。
別の記事だとEclipse 3.0のリッチクライアントとは?
Eclipseは、バージョン2.1以前までは、Javaの統合開発環境として注目を浴びていました。(中略)
Eclipseは、バージョン3.0になり、単なる開発環境ではなくなりました。Eclipse RCP(Rich Client Platform)と呼ばれるリッチクライアントのプラットフォームとして環境が整えられ、Eclipseベースで動作するプラグインライクなアプリケーションをリッチクライアントとして単独で扱うことができるようになったのです。
最初にプラグインの動作環境を構築するためのorg.eclipse.core.runtimeはわずか数十キロバイトであり、アプリケーション全体としてもサイズが小さく、軽量なリッチクライアントとしてアプリケーションの配布が可能です。RCPベースのアプリケーションを利用するのには、Eclipse全体のインストールは必要ないわけです。
- これらと、従来のhtml、Javaのswingなどを比較した表がここに示されている。
Red5 †
- Red5とは?
- Red5 - オープンソースFlashサーバーより
rtmp(real time messaging protocol)プロトコルを通して、FlashPlayerとリアルタイムにストリーミングやメッセージングを行うためのオープンソースのサーバーです。Adobeの商品「Flash Media Server」と同様の機能を持っています。
Red5はJavaで実装されているため、バックエンドとの連携もスムーズです。OpenLaszloサーバーが動く環境であればRed5は動作するため、OpenLaszloとの相性もよいと言えるでしょう。
- どんなことに使えるの?
- 映像、音声のストリーミングや録画はもちろん、SharedObjectによるデータの共有、Push配信などアイデア次第でいろいろ活用できるでしょう。たとえば
ストリーミング、マルチユーザビデオチャット、リアルタイムマルチプレーやゲーム
- Open Laszloから使うには
Laszlo (Open Laszlo) †