IBM Lotus Connections は企業向けのソーシャル・ネットワーク・サービスを実現する製品であり、さまざまなコラボレーションのためのコンポーネント、サービスを提供しています。ソーシャル・ネットワーク・サービスとは、人と人とのつながりをより強固にすることを目的とした、同じ嗜好を持つ人同士が共通の話題や情報を共有できるコミュニケーションの場を提供するサービス、個人個人が自由に情報を発信できるサービスなどの総称です。円滑な人間関係の構築をインターネットなどのネットワーク上で実現するためのサービスを提供しているサイトなどを示すことが一般的です。
ソーシャル・ネットワーク・サービスによって、例えば新しい友人や恋人を見つけることができるといったように、探し求めている人と結びつくことが可能となることは、世の中のソーシャル・ネットワーク・サービスを利用している方なら実感しているのではないかと思います。企業向けのソーシャル・ネットワーク・サービスとなっても、目的の 1 つが通常のソーシャル・ネットワーク・サービスと同様に人と人との結びつきを促進することには変わりありませんが、その目的の人を探すための情報が異なってきます。インターネットにおけるソーシャル・ネットワーク・サービスにおいては、趣味、出身地、好きなサッカーチームなどといった嗜好の一致、不一致という情報を元に、目的の人を探しだすことが多いですが、企業においては、所属する組織、経験したプロジェクト、個人個人が持っているビジネスに対するアイディアなどといった情報から目的の人を探すことになります。従来であれば、俗に言うタバコ部屋や井戸端会議で不特定多数の人とのフェイス・トゥ・フェイスでの会話によって有用な情報を入手したり、目的の人に出会ったりすることができましたが、企業におけるワークスタイルの変化、世代の違いによるコミュニケーション・ギャップによりフェイス・トゥ・フェイスでの会話が難しくなっています。また近年はビジネスに、よりスピードが求められるようになり、個人の頭の中にある情報を形式の決められた文書にする時間を取ることが難しくなり、企業内における情報の見える化が滞っています。
こういった背景から IBM Lotus Connections では企業向けのソーシャル・ネットワーク・サービスとして以下の 5 つのサービスを提供し、コラボレーションの促進を実現しています。
-
プロフィール
プロフィールは、個人を特定するための情報を入力し、公開できるようにすることで、企業向けの名簿作成を実現可能としているサービスです。プロフィールには写真、組織名、レポート・チェーン(組織階層)などの情報を格納することができるようになっています。プロフィールを参照することでその人に関する情報を取得することができます。 -
コミュニティー
コミュニティーとは、あるコンテキストに対して精通している人や興味がある人が情報を共有することができる場を提供するサービスです。たとえば、Java というコミュニティーがあれば、そのコミュニティー内では Java に関する情報の共有やディスカッションを行うための場が提供され、情報の発信や共有ができます。また、そのコミュニティーには個人のリクエスト・ベースで参加することが可能になっていて自発的に参加することができます。現在のバージョンの Lotus Connections では共有できる情報として利用できるのはブックマークおよびフィードとなっています。 -
ブログ
ブログとは、個人個人がコンテキストに縛られることなく自由に情報を発信することができるサービスです。一方的に情報を発信するだけでなく、投稿した情報に対してのフィードバック・コメントを参照した人が投稿することができ、簡単なディスカッションを実現することも可能です。ブログによって、企業内に埋没することが多い、人の頭の中にある革新的なアイディアや知見に関する情報をオープンにすることができます。 -
ドッグイア
ドッグイアとは Web サイトのブックマーク情報を公開し、ブックマークを共有するためのサービスです。一般には共有ブックマーク・サービスと呼ばれていることが多いです。インターネット上に存在する非常に多くの情報から、有用な情報サイトをブックマークし共有することで、他の社員はその情報にすばやくアクセスすることが可能になり、情報の検索にかかる時間の短縮に貢献できます。
(*) カタログなどで興味のあるページの隅を折り曲げて、後でまたすぐに参照できるようにすることがありますが、そのページを折り曲げた姿が垂れた犬の耳に似ているということからドッグイア (dog ear) という名前がつけられています。 -
アクティビティー
アクティビティーは従来のソーシャル・ネットワーク・サービスやコラボレーション・ツールには存在しない、次世代のコラボレーションを実現するためのサービスです。アクティビティーとは、ある短期的なタスクを少人数の共同作業で遂行する際、情報の共有、コンテキストの管理を行うためのサービスです。アクティビティーでは、あるタスクに関連するチャットやメール、ファイルなどといった、異なるコラボレーション・ツールでの情報を一元管理することができます。つまり、ファイルの返答がチャットであっても、チャットの返答文書が画像であっても、アクティビティー内ではそのコンテキストを保ったまま、その情報の共有とアクセスを提供します。図 1 にアクティビティーの画面イメージを示します。”TEC-J Rich Client SIG プロトタイプ その1”というアクティビティー(タスク)に対して、メンバー間でのディスカッションがファイル、Lotus Notes 文書、To Do などで構成されていることが示されています。
図 1. Lotus Connections が提供するアクティビティー
IBM Lotus Connections ではこれら 5 つのサービスを分離して使用することもできますが、ブログのコンテンツから投稿者のプロフィールをスムーズに表示するなど、サービス同士を連携させて利用することもできます。また、それぞれのサービスは共通のアーキテクチャで作られており、外部のアプリケーションからアクセスするための API も提供されています。これにより外部アプリケーションとの連携も実現することができます。このような連携の例として、IBM Lotus Notes 8 からアクティビティーにアクセスするアプリケーションを図 2に示します。このアプリケーションを使用することで IBM Lotus Notes 8 上でアクティビティーの情報を表示、編集、新規投稿することが可能になります。また、Lotus Notes の文書もシームレスにアクティビティーに登録することができます。
図 2. IBM Lotus Notes 8 上でアクティビティーをアクセスするためのアプリケーション
IBM Lotus Connections のアーキテクチャ
IBM Lotus Connections がどのような仕組みで 5 つのサービスを提供しているのか、またどのようにしてそれぞれが連携することが可能となっているのかを説明します。図 3にIBM Lotus Connections のアーキテクチャ図を示します。
図 3. IBM Lotus Connections アークテクチャ
IBM Lotus Connections は提供する 5 つのサービスすべてが共通のアーキテクチャを用いて構築されています。具体的には、5 つのサービスすべてが JavaEE (J2EE) のテクノロジーをベースに作られており、JavaEE のコンテナを提供する IBM WebSphere Application Server 上で動作します。それらすべてのサービスでは、HTTP プロトコルの持つPUT、DELETE、POST および GET メソッドを用いて、コンテンツの投稿、編集、削除などを行うことができます。そのリクエストを実行するためのインターフェースとして REST API が提供されており、このインターフェースを介してコンテンツをアクセスするためのATOM、HTML および JavaScript を取得することができます。そして、それぞれのインターフェースにアクセスするためのクライアントとして Web ブラウザや ATOM クライアント機能を実装した Lotus Notes 8 上のコンポーネントなどがあります。ここで、具体的に Web ブラウザからブログのコンテンツにアクセスする際のデータの流れを説明します。Web ブラウザからブログの URL にアクセスすると、ブログ・サービスはブログのコンテンツをリポジトリであるリレーショナル・データベースから取り出し、そのデータを埋め込んだ HTML を作成して Webブラウザに返します。 Web ブラウザはその内容をレンダリングすることによりブログのコンテンツを表示します。その際に、プロフィールのサービスにも同時にアクセスして、ブログの投稿者名とプロフィールのコンテンツの紐付けなども行い、サービス間の連携を実現しています。このように、すべてのサービスが共通のアーキテクチャで実現されているため、サービス間の連携をスムーズに行うことが可能となっています。
IBM Lotus Connections アプリケーション例
IBM Lotus Connections は提供する 5 つのサービスそれぞれに REST API を提供しています。この REST API を使用することで Web ブラウザなどのクライアント・サイドのコンポーネントから IBM Lotus Connections のサービスへのアクセスを実現できます。図 2に示した IBM Lotus Notes 8 上に提供されているアクティビティーにアクセスするためのコンポーネントも REST API を用いて実装されています。詳細な REST API についての説明および REST API を用いたアプリケーション開発手法は次回の記事で紹介しますが、ここでは実現可能なアプリケーションの例をいくつか紹介します。図 4は IBM Lotus Sametimeで行われたチャットのログをアクティビティーに登録するためのコンポーネントです。
図 4. IBM Lotus Sametime 上で動作するアクティビティーへの投稿コンポーネント
これは、IBM Lotus Sametime が持つ、チャットの会話をログとしてファイルに書き出す機能と、その書き出されたログの内容を REST API を用いてアクティビティーに投稿するためのコンポーネントで、このコンポーネントを利用することで Web ブラウザを立ち上げて IBM Lotus Connections にアクセスしなくても、Lotus Sametime 上のオペレーションのみでシームレスにデータを IBM Lotus Connections のサービスに格納することができます。REST API を使用することで、普段の業務で日常的に使用しているクライアント・アプリケーションからシームレスに IBM Lotus Connections に投稿をしたり、投稿された情報を参照したりする機能を追加することができます。また、REST API を使用することで単一のサービスへのアクセスだけではなく、複数のサービスからの情報を取得し、組み合わせて表示するような単一のビューを提供するなどの、サービスのマッシュアップ (*1) を実現することもできます。IBM Lotus Connections の提供するすべてのサービスには情報の投稿時にタグをつけることが可能になっており、これによりフォークソノミー (*2) の実現も可能となっています。また、それぞれのサービスにつけられたタグをすべて取得しデータをマッシュアップすることで、個人ごとのタグ・クラウドを実現することが可能です。このように、REST API を使用することで IBM Lotus Connections の持つサービスをさまざまな場面で容易に利用することができるため、既存のアプリケーションとの連携、既存のサービスとのサービス・マッシュアップなどが可能となり、ソリューションの価値を高めることができます。
(*1) マッシュアップ – マッシュアップとは元来は音楽の世界で異なるジャンルの曲を融合させ、新たな曲を作ることを指しています。IT の世界ではさまざまなテクノロジーのサービスや情報を組み合わせ、新たなサービスや情報を作り出すことをマッシュアップと読んでいます。
(*2) フォークソノミー - フォークソノミーとは、個人が発信した情報に属性をつけることで人の分類、情報の検索に利用するといったシステムを指します。IBM Lotus Connections ではすべての投稿に対してタグをつけることができるため、そのタグで人の分類、情報検索などができます。
IBM Lotus Connections は企業用のソーシャル・ネットワーク・サービス実現のための 5 つのサービスを提供する Web ベースのミドルウェアであり、外部アプリケーションから情報にアクセスするための API が提供されています。次回は、そのAPI とアプリケーション開発手法について説明します。
-
IBM social software - Lotus Connections (英語)
-
developerWorks – Lotus Connections (英語)
-
Demo – Lotus Connections (英語)
-
Documentations – Lotus Connections (英語)