前回の記事で、オープンソースのストリーミングサーバ Red5 を紹介しましたが、他にもこんな凄いものが・・・
Adobe 社が提供する PaaS (Platform as a Service) *1 開発コードネーム『ADOBE FLASH COLLABORATION SERVICE (旧Cocomo)』です。
現在はまだ、正式版ではなく、β版みたいですね。
この『Afcs』、異なるセッションからのサーバ上で保持されるオブジェクトの共有が、簡単に実現できてしまうらしい。
開発には、クライアント側の Afcs の SDK と、サーバ側の Afcs の Web Service を使う必要があるようです。
過去の記事で紹介した、Air と Red5 で実現したビデオ会議アプリケーションは、クライアント側およびサーバ側に、膨大なソースコードを書いてチャット機能、ファイル共有、Webカメラ映像配信、音声配信等を実現していますが、『Afcs(旧Cocomo)』を使う事で、少ないコードで同等の機能が実現できてしまうものと思われます。
たとえば、チャットや共有ホワイトボードが、わずか数行コーディングすることで実現できてしまう。
Afcs サポート機能
・VoIP Audio
・Webcam Video
・Chat
・Multi-User Whiteboards
・Real-Time File Sharing
・User Management
・Roles and Permissions
・Robust Data Messaging
これからは、AIR + Afcs が本命かも・・・。
まだ、ベータ版だし、Afcs を扱う開発者は多くないだろうし、これから勉強するには価値がありそうな予感です。
RED5の場合、自分でサーバを立てて、サーバ側にもソースコードを置いてクライアントとやり取りさせる必要がありますが、Afcs では自分でサーバを立てる必要がなく、提供された SDK でクライアント側の開発すれば、ネットワークアプリケーションが出来てしまいます。
『AIR』や、今回の『Afcs』等の新しい技術を提供する最近の Adobe 社はすばらしいですね。
私自身は、仕事では Microsoft 社の.NET (C#.NET や VB.NET)で、開発することが殆どですが、できることなら個人的に Adobe AIR を中心とした技術にシフトしていきたいのが本音です。
早速、ダウンロードした Afcs の サンプル(CocomoSDK_0.91\examples 内) を動作させてみましたが、動作させることが出来ませんでした。おそらくサンプルソースコードが古いままと思われます。動かすには、若干修正を加える必要がありそうです。
修正を加えても、コンパイルは通るものの、ADOBE ID をユーザとした場合は動作しても、 guest アカウントを使うと例外が発生したり・・・
SDK に内包されているリリースノート (Release_notes.pdf) に、ざっと目を通しておくと、アップデートによる変更点が書かれているので、何がいけないのか分かると思います。
近いうちに、『Afcs』を使った簡単なサンプルを書いてみたいと思います。
ちなみに、ちょこっと試してみたところ、内部的にはRTMP通信が行われているようで、実際はどういった仕組みになっているか知りませんが、Afcs の裏側では FMS が稼動しているものと思われ、Afcs は、クライアント側と FMS の中継をするアプリケーション・インターフェイスの役割をしているものだと想像しています。
なお、この『Afcs』を利用するには、Adobe ID (サービスを利用するためのアカウント) が必要です。
https://www.adobe.com/cfusion/membership/index.cfm?nf=1&nl=1&loc=ja
開発者用ポータルサイトにログインし、Afcs の SDK をダウンロードします。
https://cocomo.acrobat.com/
ダウンロードした SDK から API を、Flex Builder 3 で参照してアプリケーションを開発するといった手順です。
*1 SaaS と PaaS の簡単な説明。
- SaaS(Software as a Service)
ソフトウェアをネットワーク・サービスとしてインターネット経由で提供する。
SaaSベンダーが、アプリケーションまで作り込み、ユーザはインターネットを介してアプリケーションが利用できるサービス。
クライアントPCにソフトのインストール等は必要なく、提供されるサービスで全てまかなうことが出来る。
SalesForce.com が、あまりにも有名。
- PaaS (Platform as a Service)
アプリケーション・プラットフォームをネットワーク・サービスとして提供する。
ユーザ側は、PaaSベンダーから提供された開発環境を使って、自分でアプリケーションを作りこみ、インターネットを介して動かす環境を利用できるサービス。
サーバを自前で用意する必要がないところは、SaaS と同じ。

コメントする