 |
 |
|
 |
Macromedia Flash Communication Server MXレビュー(2002/7/10 updated)
2002年7月9日にMacromediaからFlash Communication Server MXが正式発表になりました。ここではそのFlash Communication Server MXの概要をお伝えしたいと思います。
Flash Communication Server MXはTincanというコードネームでこれまで開発されており、ジェレミー・アライア氏(Macromedia CTO) のインタビュー記事にもTincanの名前が以前から出てきていました。
また正式発表前からFlash Communication Server MXを使ったコンテンツも公開されておりビデオチャットのページなどは注目を集めていました。
Flash Communication Server MXとはなにか
Flash Communication Server MXは、Flash MXをインタフェースとして画像、音声、テキストを用いたリアルタイムコミュニケーションを行うためのサーバアプリケーションです。
今回の発表によって、Flash 6 PlayerとFlash MXに既に備わっていたにも関わらずまだドキュメント化されていなかったいくつかの機能も公にされたことになります。例えば、Webカメラやマイクからの入力を扱う機能は既にFlash 6 Playerに内蔵されていたのですが、ActionScript辞書にはこれまで記述されていませんでした。これについては後で関連ActionScriptオブジェクト解説で説明します。
Flash Communication Server MXではリアルタイムの通信機能が本格的にサポートされ、サーバを介したクライアント間の画像や音声のストリームのやりとりやActionScript内の変数の同期などが可能になります。RealServerのような普通のストリーミングサーバとしての使用も可能です。ストリーミング機能のデモとしては、MX Executive Presentation が少し前に話題を集めました。
Flash Communication Server MXは現在Windows版のみ用意されており、今後Linux版とSolaris版が予定されています。日本ではまだ発表は行われていませんが、発表の予定はすでにあり、日本語版の発表にあたっては、ユーザインタフェースなどは英語のままで、ドキュメントのみ日本語化されるようです。つまりソフト(バイナリ)自体は海外版と日本語版の差はないということです。それでもUnicodeの採用で多国語対応は問題ないようです。
実際に想定される用途としては、
- インスタントメッセージング
- ビデオ会議
- 仮想ホワイトボード
- オンライン教室
- ビデオ/オーディオモニタリング
などがMacromediaの資料の中で挙げられています。
購入が想定されるターゲットとしては
- eラーニングの開発者 - オンライン教室
- セールスとサポートの組織 - リアルタイムのサポート
- 企業のイントラネットITグループ - インスタントメッセージングとビデオ会議
- ISP - プライベートなビデオ会議
- セキュリティベンダ - ホーム/オフィスモニタリング
などが挙げられており、全体的にビジネス市場をターゲットにしている雰囲気が強いです。ここはエンタテインメントも含めていろいろ変わった使い方を考えてみたいところです。
資料
Macromediaのサイトで現在用意されている関連情報としては以下のようなものがあります(全て英語)。
価格、バージョン
既にMacromediaのサイトからから無料のトライアル版がダウンロード可能になっています(Windowsプラットフォーム、英語版)今のところWindowsプラットフォーム向けのみ用意されており(Unix版は年内リリース予定)、Personal EditionとProfessional Editionの2種類があります。Personal Editionは最大1Mbpsのスループットで最大10同時接続、値段はUS $499です。Professional Editionは最大10Mbpsのスループットで最大500同時接続、値段は US $4500です。
Professional EditonににはCapacity Packというパッケージを追加することで、一つあたり帯域を10Mbps、接続数を500 増加させることができ、複数追加可能です。Capacity Packの値段はUS $4000です。Personal Editionも複数購入することで、個数倍のスループットと同時接続が得られるようです。つまり2ライセンスで2Mbps、20同時接続ということです。
Flashmagazine.comの記事には、最大50Mbps、2500同時接続までのCapacity packが予定されていて、値段は US $18,000になるという情報があります。
XMLSocketとの比較
ストリーミングのサポートは新たな機能ですが、ネットワーク接続だけならこれまでもXMLSocketで可能であり、FACEsで詳しく扱ってきました。以下ではXMLSocketを使った接続とFlash Communication Server MXの相違点を挙げています。
- XMLSocket使用の場合
- 接続にXMLSocketオブジェクト(ごく普通のTCPソケット)使用。
- ストリーミング機能(一方向の連続的接続)はない
- 複数クライアント間で情報を共有するためには、共有する必要のある情報をXMLドキュメントとして再構成して送信、受信時はXMLドキュメントの解析(パース)が必要
- 有料のソリューション(Fortressなど)もあるが、費用がかからないサーバも存在する(FACEsサーバなど)
- 接続自体は普通のTCP接続なので、自分でサーバプログラムを制作することも可能。
- Flash Communication Server MX使用の場合
- 接続にNetConnectionオブジェクト使用。
- ストリーミング機能あり。
- 複数クライアント間で共有する必要な情報は、SharedObjectを用いて管理。送信データの再構成、受信データの解析の必要がない。--> 通信オーバヘッドの解消とアプリケーション作成の工数削減につながる
- ライセンスは帯域、接続数ベースの価格。
- RTMP(Real-Time Messaging Protocol)という仕様の公開されていない専用プロトコルを用いて通信。サーバ側のロジックはJavaScriptでプログラミングする。サーバ設定はXMLベース。
関連ActionScriptオブジェクト/メソッド解説
ActionScript辞書でこれまでドキュメントされていなかったFlash
Communication Server関連のオブジェクト/メソッドは以下のも
のがあります。
- Cameraオブジェクト
カメラからのビデオキャプチャ
- LocalConnectionオブジェクト
同一マシン上の通信(FSCommandやJavaScriptを使わない=プラットフォームを選ばない)
- Microphoneオブジェクト
マイクからの音声キャプチャ
- MovieClipオブジェクトのMovieClip.attachAudio メソッド
MicrophoneオブジェクトもしくはNetStreamオブジェクトをMovieClipに付加
- NetConnectionオブジェクト
Flash PlayerとFlash Communication Server MX(& Flash Remoting)との双方向接続
- NetStreamオブジェクト
NetConnectionから取得した接続を通じて、Flash PlayerとFlash Communication Server MXとの間に一方向のストリーミング接続を開く
- SharedObjectオブジェクト
ローカル/リモートの持続的オブジェクト(セッション単位で消えずにcookieのように残るオブジェクト)間でデータ共有を行う
- ローカルの持続性を管理
- 共有データをサーバに格納
- リアルタイムのデータ共有
- SystemオブジェクトのSystem.showSettings メソッド
Flash Playerの設定パネルを表示し、ユーザに選択させる
- カメラとマイクへのアクセスの許可/不許可
- SharedObject用のローカルディスクスペースに関する設定
- デフォルトのカメラ、マイクの選択
- マイクのゲインとエコー抑制の設定
- Videoオブジェクト
SWF埋め込み型でないストリーミングビデオの表示
- Cameraオブジェクトからのローカルのライブストリーム表示
- NetStreamオブジェクトからのリモートのライブストリーム表示
サーバ側ActionScriptオブジェクト解説
サーバ側のプログラミングはサーバサイドActionScriptという
ECMA-262(JavaScriptの標準仕様)準拠の言語で行われます。
機能としては
- ログイン手続きの制御
- 接続中のFlashムービー内のイベント制御
- ユーザ間での情報共有、更新の管理
- サーバリソースへのユーザによるアクセスに対する権限管理
- 他のサーバとの通信
が挙げられます。
ビルトインオブジェクトは以下のようなものが用意されています。
-
Flash Communication Server MX(以下flashcomという略称も使います)のアプリケーションインスタンスの情報管理を行う。flashcomアプリケーションはストリーム、共有オブジェクト、ユーザ情報(クライアント)の集合体であり、Applicationオブジェクトがそれぞれの情報をひとつの単位として管理する
- Clientオブジェクト
クライアントとflashcomの接続管理を行う。(ユーザがアプリケーションに接続すると自動的に生成される)
- NetConnectionオブジェクト
flashcomとアプリケーションサーバ、flashcomと他のサーバのflashcom、flashcomアプリケーションとflashcomアプリケーションの間の双方向接続を行う
- SharedObjectオブジェクト
複数のクライアントムービー間のデータ共有を行う。
- Streamオブジェクト
flashcom内のストリーム管理を行う。ストリームはFlash Playerとflashcomの間もしくは二つのflashcomサーバ間の、一方向接続である。
Flash Remotingとの関連
Flash Communication Server MXはWebアプリケーションサーバの接続が可能であり、データベースやサーバサイドアプリケーションロジックとの連携をActionScript(JavaScript)ベースで行うことができます。ここで使われるのがFlash Remotingという技術です。
Flash Remotingとは、基本的にはFlashとWebアプリケーションサーバとのActionScriptベースでの接続を行うものですが、Flash Communication Server MXとWebアプリケーションサーバの接続にも用いられます。Flash PlayerもしくはFlash Communication Server MXがWebアプリケーションサーバ上のFlash Remotingサービスを呼び出すという形で使われます。通信のプロトコルはHTTPベースで、AMF(Action Message Format)という仕様非公開のバイナリフォーマットが用いられます。Webアプリケーションサーバ側のFlash Remoting対応技術はJ2EE, ColdFusion MX、.NETです。
FACEsの今後の予定
FACEsでは今後Flash Communication Server MXの技術情報やコンテンツの作例の公開を積極的に行っていきます。Shockwave3Dを使ったWeb3D講座も予定していますので、御期待ください。XMLSocketベースのFACEsサーバによるコンテンツ開発も引続きサポートしていきます。Flash Communication Server MXは誰でも買えるという値段ではなく、当面Windows版しかないということで、XMLSocketの意義は薄くなったとはいえまだ消えてはいないと考えています。今後もFACEsをよろしくお願いいたします。
|
|
 |
 |
 |