Sametime Links Toolkit とは
Sametime Links Toolkit は、IBM Sametime の提供する ツールキットのひとつで、Web アプリケーションに Sametime のプレゼンスを表示し、そこからチャットを開始したり、同僚からのチャットを受け取ったりできる機能を提供します。 Sametime Links Toolkit は Lotus Sametime 2.5 より提供されているツールキットです。プレゼンスとインスタント・メッセージが利用できる軽量な Java アプレットで構成され、既存の Web アプリケーションに HTML と JavaScript による実装で Lotus Sametime の機能を埋め込むことができます。
IBM Sametime を Web アプリケーションから使うためには 、Sametime Links の他にもいくつかのツールキットが用意されています。それらに比べて Sametime Links Toolkit の特徴は、Sametime Community Server だけで利用できるという点と、実装方法がシンプルで既存の Web アプリケーションに実装しやすいというところです。
IBM Sametime Toolkit については、以下の developerWorks の記事に詳しく書かれています。
Sametime Links Toolkit のマニュアルやサンプルコードは、以下のページからダウンロードできる Sametime Toolkit に含まれています。
ダウンロードしたパッケージを展開し、 st852sdk\client\stlinks フォルダー(バージョンによりパス名などは変わります)の下に Sametime Links の資料が入っています。以下にサンプルコードの主要なポイントを抜粋したコードを掲載します。
<html>
<head>
<title>Sametime Links Sample Page</title>
<LINK REL=STYLESHEET HREF="http://<your sametime server>/sametime/stlinks/stlinks.css" TYPE="text/css">
<SCRIPT src="http://<your sametime server>/sametime/stlinks/stlinks.js"></SCRIPT>
<SCRIPT>setSTLinksURL("http://<your sametime server>/sametime/stlinks")</SCRIPT>
</head>
<body>
<H1>Sametime Links Sample Page</H1>
<br>
・・・省略・・・
<script>writeSametimeLink("Name1")</script>
・・・省略・・・
<script>writeSTLinksApplet("<login name>", "<password>", false);</script>
</body>
</html>
既存の Web アプリケーションを Sametime Links 対応にする方法は難しくありません。
- ヘッダーで必要な JavaScript コードやスタイルシートなどの宣言をする
- 表示したいユーザーに対して writeSametimeLink() を埋め込む
- Sametime へのログインしてアプレットの描画をする writeSTLinksApplet() を埋め込む
という3つの手順です。
なお、この例ではサンプルということで Sametime へログインするユーザー名やパスワードを直接ハードコードしています。しかし writeSTLinksApplet() 関数はトークンによるログインにも対応しています。Domino Web アプリケーションにログインしているのであれば、LTPA トークンをこの関数に渡すことで、シングルサインオンをすることができます。
XPages での Sametime Links の利用
XPages アプリケーションでも Sametime Links Toolkit を利用して Sametime のプレゼンスを表示したり、チャットの機能を利用できるようにすることができます。
その方法は、上記のサンプルコードで書かれているようにヘッダーや必要なスクリプトを記述するだけです。
さらに、このような Sametime Links Toolkit を、XPages でより便利に利用できるようにするカスタムコントロールの部品も
OpenNTF で公開されています。
このサンプルでは以下の2つのカスタムコントロールを提供しています。これらのカスタムコントロールを、既存の XPages に組みこむことで簡単に Sametime Links の機能を実装することができます。
- stConfig ・・・ 上記のサンプルで 1 のヘッダー部分と 3 のログイン部分の実装
- displaySTFrindName ・・・ 上記のサンプルで 2 のユーザー表示部分の実装
サンプルには、これらのカスタムコントロールを使用したサンプルの XPages が2つ用意されています。
- login.xsp ・・・ Sametime へログインするためのユーザー名とパスワードの入力画面
(「Login with Toke」を選択することで、シングルサインオンも可能) - stPage.xsp ・・・ ログイン後に、ユーザーのプレゼンスを表示する画面
このサンプルでは、Sametime のログインユーザー名とパスワードを画面から入力して Sametime サーバーにログインすることもできます。
また、XPages アプリケーションであれば、通常は Domino サーバーにすでにログインしているので、Domino サーバーから発行されている LTPA トークンで Sametime へのシングルサインオンをすることができます。
シングルサインオンの実装の仕組みを説明します。
ユーザー名やCookie から LTPA のトークンは、サーバーサイド JavaScript の以下のコードで 取得できます。
var username = @UserName();
var token = cookie.get("LtpaToken").value;
これらの値をつかい、writeSTLinksApplet() を、3つめの引数を false で呼び出すことで、パスワードなしのシングルサインオンが可能になります。
writeSTLinksApplet(username, token, true);