ではいよいよ、Cocomoを用いたプログラムの簡単な例を取り上げて、Cocomoが提供するものを具体的に探って行こう。

以下に示すのは、冒頭にも示したホワイトボードのサンプルだ。同じルームにログインしたユーザ内で共有できる。

Cocomoで作成したホワイトボード(再掲)

このサンプルのソースコードを以下に示す。

リスト1: WhiteBoardExample.mxml

<?xml version="1.0" encoding="utf-8"?>
<!--
  (1) 「xmlns:rtc」属性を指定し、Cocomoの名前空間を参照する
-->
<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    xmlns:rtc="CocomoNameSpace">

    <!--
        (2) Acrobat.comへの認証を行うオブジェクト
    -->
    <rtc:AdobeHSAuthenticator 
        id="auth" 
        userName="AdobeIDをここに記述" 
        password="パスワードをここに記述"  />

    <!--
        (3) このタグに囲まれたコンポーネントは、ログインセッションに
        関連付けられる。
    -->
    <rtc:ConnectSessionContainer 
        roomURL="http://connectnow.acrobat.com/shumpei/test" 
        id="cSession" 
        authenticator="{auth}">
        <mx:Panel width="640" height="480">
            <!--
                (4) ホワイトボード
            -->
            <rtc:SharedWhiteBoard width="100%" height="100%"/>
        </mx:Panel>
    </rtc:ConnectSessionContainer>
    </mx:Application>

以下に、コメント内に番号で示した箇所について、さらに詳しく解説を行う。

(1) 「xmlns:rtc="CocomoNameSpace"」と言う属性宣言をルートタグで行い、CocomoのコンポーネントをMXMLファイル内で参照可能にする。「RTC」とは、「Realtime Collaboration」の略。

(2) 「com.adobe.rtc.authentication.AdobeHSAuthenticator」を用いると、Adobe IDを用いた認証を行えるだけではなく、外部システムを用いた自前の認証メカニズムも使用できる。ここでは、userName属性とpassword属性にAdobe IDとパスワードを直接指定することにより認証を行う。パスワードを平文で記述することから、セキュリティの観点からは非常に問題のある方法だ。開発時以外には使用しない方がよい。

(3) 「com.adobe.rtc.session.ConnectSessionContainer」は、ルームのURLと認証用オブジェクトを指定することで、このタグに囲まれたすべてのコンポーネントをログインセッションに関連づけるためのコンテナだ。CocomoのUIコンポーネントはすべて、何らかの認証を必要とするので、このタグは非常に利用価値が高い。

(4) 実際にホワイトボードを表示しているのがこの部分だ。なんと、「com.adobe.rtc.pods.SharedWhiteBoard」をタグとして記述するだけでホワイトボードは完成だ。Cocomoの強力さを感じ取っていただけるのではないだろうか。SharedWhiteBoardは、Cocomoでは「Pod」と呼ばれる最も高レベルなコンポーネントのひとつ。Podにはほかにも、チャットやWebカメラ、ファイル共有フォーム、同時編集可能なノートなどが存在する。

このように、たった数十行のアプリケーションを書くだけで、複数ユーザが同時に作業を行えるような高度なアプリケーションを作成することができる。恐ろしいほどの生産能力だ。