はじめに
これまでの連載を通して、OpenSocialの持つ機能を一通り概観してくることができました。しかし、実際にOpenSocialアプリケーションを作成してみると、ちょっとした修正のたびに毎回OpenSocialコンテナへの配置を行うのは面倒だと感じることがないでしょうか。
ソース修正 →OpenSocialコンテナへの配置 (mixiアプリの場合は、Webサーバへのファイルのアップロード、 ソースの再読み込みなども含む) →動作確認 →ソース修正(最初に戻る)
というループは、複雑な操作ではないものの、開発者の勢いを削ぐものとなります。
特に、OpenSocialアプリケーションはXML・HTML・JavaScriptといった異なる言語が同じファイル上に混在するケースが多いため、XML・HTMLタグの閉じ忘れや、JavaScriptの中括弧・セミコロンの忘れなど、ちょっとしたミスでアプリケーションが動作しないことがよくあります。さらに上記のループが頻発することで、精神衛生が悪化しがちです(このあたりは著者の実体験に基づく感想です…)。
また、アプリケーションの動作確認のためにはテスト用の環境を揃える必要がありますが、さまざまなテストを行うために必要なデータを、mixiなどの正規のSNSで作成するのは手間がかかることもあります。「マイミクが多いときに情報をすっきり表示するためにページングを実装した。ページング機能のテストのためには、マイミクを50人以上にしなければいけないんだけど、どうすればいいんだろう」といった難しい場面もあることでしょう。
なお、企業でmixiアプリを作成する際には、デバッグやテストに使用するためのパートナーテストアカウントと呼ばれるアカウントが最大20個まで提供されます。詳細はミクシィ デベロッパーセンターをご確認ください
このように、OpenSocialアプリケーション開発の煩雑さは実際に稼働しているSNSでテストしている以上、避けられないものと言えます。
今回紹介する、オープンソースのOpenSocialコンテナのApache Shindigと、EclipseのプラグインであるOSDE(OpenSocial Development Environment)を使用することで、こうした開発者の頭痛の種を軽減することができます。
Apache Shindig&OSDE概要
Apache Shindigについて考える前に、OpenSocialコンテナの考え方を少し復習しておきましょう。
第1回で考えたとおり、OpenSocialアプリケーションの実行の際、ガジェットXMLはSNS上のOpenSocialコンテナというソフトウェア上で解釈、加工されてWebブラウザに渡されます。また、WebブラウザからOpenSocialのAPIを呼び出すと、OpenSocialコンテナがそのAPIを実行して結果を返します。OpenSocialアプリケーションの動作において、OpenSocialコンテナが中心的な役割を果たしています。
従って、OpenSocialコンテナをローカルで準備して、ソーシャルデータもローカル上に置くことができれば、OpenSocialアプリケーションの動作確認・テストは格段に楽になるはずです。
「Apache Shindig」は、Apacheコミュニティで開発されているオープンソースのOpenSocialコンテナ実装で、ローカルのJavaおよびPHP環境でOpenSocialコンテナを動作させることができます。Apache Shindigは実際に稼働しているSNSのOpenSocialコンテナとしても利用されているようです。
OSDE(OpenSocial Development Environment)とは、オープンソースの統合開発環境であるEclipse用に開発されている、OpenSocial開発者のためのプラグインです。OSDEにはJava版のApache Shindigが同梱されているため、インストールと環境設定の手間を省くことができます。
Apache Shindig&OSDEでできること
Apache Shindig&OSDEの組み合わせで、次のような機能を使用することができます。
- OpenSocialアプリケーションのひな形の作成
- OpenSocialアプリケーションのローカル実行
- OpenSocialアプリケーションで使用するソーシャルデータの表示・編集
- ガジェットXMLの内容のエラー検証
特に、3.のソーシャルデータの表示・編集機能は、テストデータの作成に大いに威力を発揮します。