JazzにおけるOpenSocialガジェット活用ストーリー
前の章でご紹介したとおり、Jazzはチーム開発をサポートする開発環境です。その中心的な機能は、開発を効率的に進めるために、「今、誰が何をしているのか」、「現在のチーム全体の進捗状況はどうなっているのか」、「問題の数は順調に減っているのか」など、開発に関わるさまざまな情報を一元管理・共有し、チームのメンバーに対して必要な情報を見やすい形で提供することです。そのために、ワークアイテムもダッシュボードも専用のユーザー・インターフェースで情報を提供しています。
また、新たな情報に対応するなどのために、ユーザー・インターフェースを拡張する方法として、ワークアイテムのようにリッチなユーザー・インターフェースをDojoツールキットとJavaScriptで作り上げる方法と、ダッシュボード上のコンポーネントであるビューレットを開発する方法を提供しています。
しかし、そこには以下のような改善すべき課題が挙げられています。
外部情報の活用が容易でない
外部の情報をJazzのダッシュボード上に表示するには、DojoツールキットやJavaScriptを駆使して新しいビューレットを作成し、それをJazzのパッケージの仕組みでパッケージし、Jazzサーバーに配置(デプロイ)する必要があります。ダッシュボードと同じく、外部の情報に対応するために新しいJazzのWebユーザー・インターフェースを構築したり、拡張したりすることは、さまざまな非標準的な知識と高度なスキルを必要とするプログラミングが必要となります
情報の有効活用が容易でない
せっかく、開発の過程で蓄積される、さまざまな有用な情報を保持しているのに、現状ではそれらの情報をJazzのユーザー・インターフェース以外の外部に公開する方法はRESTfulなAPI経由のみです。他のクライアントがJazzの持っている情報を取得・表示するためには、RESTfulなAPIを利用して、独自にユーザー・インターフェースを作り上げる必要があります
上記のような課題を、オープンなウィジェット仕様であるOpenSocialガジェットを採用することで解決しようとしているプロジェクトが現在Jazzプロジェクト内で進行中です。
OpenSocialガジェットを利用する
JazzのWebユーザー・インターフェース、およびダッシュボードがOpenSocialのガジェットのコンテナーとして実装されれば、既存のWebユーザー・インターフェースに機能を追加したり、ダッシュボード上にOpenSocialのガジェットを表示したりすることが可能になります。新しいユーザー・インターフェースを新たに作成することなく、すでに世界中で大量に存在するさまざまなガジェットが、Jazzの提供する情報を表示する画面の上で利用可能となるわけです。
- 例えば、チーム・メンバーの一覧を表示する画面の隣に、社内のSNSサイトが提供するプロフィール情報を表示し、すぐに電話番号や勤務地情報などを表示できるようになります
- ブログのガジェットを置き、その人の書いているブログ記事を一覧で表示するような機能があれば、興味がある技術情報にすばやくアクセスできるようになります
- ワークアイテムの画面の隣に、キーワードからWeb検索するためのガジェットを置き、自分がやらなければならない仕事に関しての情報にすばやくアクセスすることができるようになります
ユーザーが見ることができる情報がJazzという閉じた世界から、一気に広がることが期待できます。ユーザーにとって必要な情報とは開発をしている間であっても開発に限った情報に閉じていることはありません。上記の例のように、普段からいろいろな情報にアクセスしながら仕事がすすんでいるものと考えられます。ダッシュボードのようなユーザー・インターフェースは本来そのような目的を達成するために作られたものですが、少なくとも現状のJazzのダッシュボードでは、外部の情報を表示するのは簡単ではありません。オープンなウィジェットを採用することによって、その壁を打ち破ることが期待できます。
また、もし既存のガジェットが存在しないとしても、OpenSocialのガジェットはオープンな仕様なので、そのAPI仕様に乗っ取って新しいガジェットを作成することは、リスクが低いと考えられるでしょう。
OpenSocialガジェットを提供する
JazzでOpenSocialのガジェットを表示するのとは逆に、他の画面にJazzのもつ情報を提供することも、ガジェットを使えば可能です。ダッシュボード上にOpenSocialガジェットを表示することが、外の世界から情報を取得してくるのに対し、Jazzが持つ開発という作業に関わるさまざまな情報をより広い世界へと公開する手段としてガジェットを活用することになります。
OpenSocialの紹介のところで述べたとおり、すでにOpenSocialのコンテナーは広く使われ始めています。つまり、OpenSocialのガジェット経由で情報を提供すれば、ユーザーは簡単な操作でJazzの情報を自分が普段使っている画面の上で見ることができるようになるわけです。いくつか具体的な例を挙げましょう。
- Jazzのメンバー・リスト ガジェットをGmailの上に表示すると、JazzのメンバーにGmailですぐにメールを送ることができるようになります
- Jazzのワークアイテム ガジェットをGoogle Waveで表示すれば、そのワークアイテムに関連している人と即座にWeveでコラボレーションを開始できるようになります
- Jazzの各ガジェットを社内OpenSocial対応のダッシュボード上に簡単に表示することができるようになります。社内の他のアプリケーションとの連携が容易になります
Jazzのような開発ツールが持つ情報を外部のアプリケーション上に表示するには、相応の開発が必要になります。したがって、連携することによる効果が見えていたとしても、開発コストがかかることが連携を阻む一因となり得ます。Jazzがオープンなウィジェットの形式で情報を公開すれば、少なくともそのコンテナー上では非常に簡単に情報の統合ができることになります。iGoogleのようなダッシュボードを利用したことがある人であれば、その容易さがお分かりになると思います。