本文へジャンプ

ソフトウェア Lotus Lotus Developer Domain 製品別技術情報 Lotus Sametime  > 
   
 

バーチャルオフィス: IBM Lotus SametimeチャットとSecond Life: 第1回 チュートリアルをはじめる前に

Sametimeボットを使用してSecond LifeとLotus Sametimeを橋渡しする

   
 
コンテンツ
はじめる前に
概要
セットアップ
ダウンロード
リソース
筆者について(原文のまま)
ご意見ご要望をお寄せ下さい
Nicholas Chase, Writer, Freelance

レベル:中級
原文の掲載:2007年5月11日
原文はこちら (US)

Second Life®について、大掛かりな宣伝や、それがいかにして多くの人々に好まれる環境になりつつあるのかを耳にしたことがあるでしょう。しかし、Second Lifeを利用したいからといって、仕事を止めることはできません。幸い、IBM® Lotus® Sametime® Software Development Kit (SDK)およびSecond Lifeスクリプト言語を使用すると、この2つを結合することができます。このチュートリアルでは、Second Lifeでの会話を聞き、それをIBM Lotus Sametime Connectクライアントに中継する(および、その逆方向も行う) Sametimeボットの作成方法を説明します。これにより、必要とされているときに人々から呼び出してもらい、Second Lifeの世界にいるときもいないときも、重要な会話を逃すことがなくなります。

バーチャルオフィス: IBM Lotus SametimeチャットとSecond Lifeの連載第1回は、チュートリアルをはじめるための手順を説明します。

[編集者のメモ: この記事で取り上げたIBM Lotus SametimeとSecond Lifeの結合は、US環境以外での検証を行っていません。この記事は、US環境以外で動作を保障するものではありません。また、この記事は2007年5月時点の情報に基づき執筆しています。]

 


はじめる前に

このチュートリアルでは、Second Lifeゲーム内からSametimeチャットを行う(および、その逆方向に行う)方法を説明します。Sametimeボットの使い方をもっと知りたい開発者、またはSecond Lifeでのアニメーションが関与しない基本的なスクリプトを知りたい開発者向けの内容です。

このチュートリアルを進めるには、Java™ プログラミングの一般的な概念に習熟している必要があります。サーブレットおよびスレッドなどの概念に習熟していると役に立ちますが、必須ではありません。このチュートリアルは、Second Lifeのスクリプト言語であるLinden Script Languageでのプログラミングに必ずしも習熟していないことを前提としています。

また、特定の状況では、PHPベースのプロキシーが必要となる場合がありますが(詳細については、システム要件のセクションを参照してください)、PHPの知識は不要です。必要なことはチュートリアルですべて説明します。


このチュートリアルについて

このチュートリアルの手順を表示しますか?

Show me 表示します(US)

または、原稿を読みます(US)

Second Lifeは大規模なマルチプレーヤー・オンライン・ロールプレイング・ゲーム(MMORPG: Massively Multiplayer Online Role-Playing Game)として知られ、ユーザーはゲームの世界に没頭することができます。ユーザーは、ゲーム内で個々のユーザーとチャットをして何時間も(それ以上も!)過ごせます。しかし、ビジネスの世界がSecond Lifeの存在を知り始めると、「仕事をしながら、どのようにしてゲームの世界での存在を保つのか」という自明の疑問が生じます。

一方、Lotus Sametimeは、チャット・ウィンドウを常に見続けていなくても、組織間でリアルタイムに連絡を取り合うことを可能にするチャット環境です。

このチュートリアルでは、2つの世界を最大限に活用する環境の作成方法を説明します。読者は、Second LifeのチャットをLotus Sametimeに(およびその逆方向に)中継するSametimeオブジェクトの作成方法を学びます。言い換えると、Lotus Sametimeを使用して、Second Lifeにログインせずに内部のゲーム・プレイヤーとの会話ができ、またSecond Life内で通常のチャットを行い、これを労力なしに外部に中継することができます。

このチュートリアルでは、以下のことを学習します:

  • Sametimeボットを作成する方法
  • Lotus Sametime Connectの外部からLotus Sametimeと通信する方法
  • SametimeボットをJavaサーブレットと統合する方法
  • 基本的なSecond Lifeスクリプトを作成する方法
  • Second Life内で話したり聞いたりする方法
  • Second LifeでHTTP要求を使用する方法
  • 接続の問題を解決するPHPプロキシーの作成方法

上に戻る

前提条件

何らかの言語でのプログラミングの基礎知識が必要です。イベントおよびベクトル代数の経験は役に立ちますが、必須ではありません。

上に戻る

システム要件

このチュートリアルを進めるには、以下のツールがインストールされ、利用できることが必要です。

  • Lotus Sametime 7.5 : このチュートリアルでは、専用のSametimeサーバーは必要はありません。Sametime 7.5 Demoサーバー(US)を使用できます。ただし、Lotus Sametimeのトライアル・バージョン(US)をダウンロードできます。

  • Lotus Sametime SDK 7.5(US) : このツールキットには、さまざまな環境からLotus Sametimeと対話するために必要なサポート・クラスおよびファイルが含まれています。このチュートリアルでは、Lotus Sametime Connect JavaクライアントのJARファイルを使用します。

  • Lotus Sametime Connect(US) : Second Life内のアバターと通信するためにSametimeクライアントが必要です。

  • Second Life(*1): http://www.secondlife.com(*2) でフリー・アカウントを申し込んだ後、Second Lifeクライアントを無料でダウンロードできます(このチュートリアルのすべての手順は、フリー・アカウントで実行されています)。Second Life用のシステム要件(*3) を参照してください。この執筆時点では、Microsoft® Windows® Vistaのサポートがちょうどオンラインで提供されるところでした。

  • *1 Second Life(US) : Second Lifeのシステム要件
    *2 http://www.secondlife.com(US) : Second Lifeのフリー・アカウントのお申し込み
    *3 Second Life用のシステム要件 (US) : IBMサイト

  • IBM Rational Application Developer(US) または他のEclipseベースのIDE:JavaクラスおよびJavaサーブレットを作成します。このため、Rational Application Developerなどのツールを使用すると、作業がたいへん簡単になります。

  • 接続 : SametimeボットはJavaサーブレットを通じて通信します。外部からアクセスできるJavaベースのホスティングをお持ちの場合は、これでインストールは完了です。「概要」に移動できます。お持ちでない場合、たとえば、ローカル・マシンでサーブレットを実行する場合は、会社のファイアウォールの外部からはアクセスできないため、以下に示すもう1セットのソフトウェアが必要です。

  • PHP/Apache : このチュートリアルでは、実際にはアドレスを指定しなくてもSametimeボットが外部世界と通信できるようにするPHPベースのプロキシーの作成方法を学習します。これを実現する最も簡単な方法は、WAMPパッケージを入手することです。これには、あらかじめインストールされたPHPとともにApache HTTPサーバーが含まれています。サンプル・ファイルに含まれているプロキシーには、インターネットからアクセスできるPHPサーバーが必要です(プロキシーはソース・コードとともに提供されますが、このチュートリアルでは触れません)。

上に戻る

概要

IBM Lotus Sametimeなどのビジネス指向のツールとゲームとの組み合わせを論じることは、まったく新しく画期的なことです。しかし、世界は変化しつつあり、Second Lifeはゲームをはるかに超えた存在です。まず、パズルの各ピースを見た上で、全体の絵を見ることにしましょう。


Lotus Sametimeとは?

Lotus Sametimeは、表面的にはAOL® Instant Messenger™ やMSN Messenger™ などの他のインスタント・メッセージング・プログラムと似ていますが、より企業中心の視点を持つ点が異なります。Lotus Sametimeは、インスタント・メッセージングを可能にするだけでなく、IBM Lotus Notesなどの他のIBM Lotus製品群と統合し、よりリッチなメッセージングおよびコラボレーション環境を提供します。Lotus Sametimeを使用すると、誰が応答できるのか、できないのか(連絡先に登録されている場合)、そのユーザーがどこにいるのかを知ることができ、現在の問題をリアルタイムに処理できる人を効率よく見つけられます。

上に戻る

Second Lifeとは?

Second Lifeは技術的にはゲームです。そして、ゲームと呼ばれています。これは、World Of Warcraft、Everquest、および後のStar Wars Galaxiesといったファンタジー・ゲームによって表される世界では想像もできないアプローチにより、1993年にリリースされた大規模マルチプレーヤー・オンライン・ゲームです。以前のゲームは現実からの逃避を提供したのに対し、Second Lifeは現実そのものです。

いわば、少しねじれたバージョンの現実です。人々は飛ぶことができますが、移動の手段に過ぎません。また、人々は自分自身をどのような外観にすることもできます。たとえば、ウサギの頭と蝶の羽を持つことも可能です。しかし、せっかく別の現実に入るのであれば、常に望んでいる姿にするとよいでしょう(どうしてウサギの頭がいいのかは、質問しないでください。まだ、その答えを見つけていません)。

しかし、Second Lifeの神髄は、創造物を殺したり、ミステリーを解いたりというような、ただのゲームではないということです。Second Lifeの理念は、参加し、人々と対話し、楽しむことです。

また、考えられるあらゆるものを構築することができ、これを実際の通貨で売ることもできます。

上に戻る

ビジネス、対話、そしてSecond Life

Second Lifeには、ユーザーにあらゆるものの作成を可能にするモデリングおよびスクリプト用のツールが用意されています。ユーザーはこのツールを使用して、自由に環境を構築できます。たとえば、土地を買って家を建てることができ、自動車や他のおもちゃを購入できます。また、Second Lifeは多くの企業を魅了する新しい対話方法も提供します。IBMはパビリオンを持ち、Toyotaは人々が仮想のPriusesを作成およびカスタマイズできるようにしています。また、新たなビジネスは、活躍の場を常に探し求めています。Reutersはフルタイムのスタッフ・メンバーがいるSecond Life支局を持ち、H&R Blockは現実の社会の納税手続きをこの仮想環境でできるようにしています。

これはお客様(200万人を超えています)とコミュニケートする新しい環境であり、企業はこの機会を失いたくない、と考えています。そして、活動を通じてその結果を出そうと決断し、現在参加しているのです。

しかし、本当に面白いのはビジネスにしたいと思っている個人です。アーティスト、プログラマー、および優れたアイデアを持っているその他の人々は、Second Lifeの世界で商品を作成し、Second Lifeの架空の通貨であるLindenドルでこれを販売できます。Lindenドルは実際のUSドルと交換できるので、人々は非常に強い作成意欲を持っています。

上に戻る

プロジェクト

それでは、店舗または他の存在をSecond Life内にセットアップし、物を販売したり、現実の世界のブランドで情報を提供したりすることにしましょう。では、どうすればよいでしょうか。来客に備えて画面に釘付けになり、仮想の店舗に1日中座っているわけにはいきません。もし、誰かが仮想店舗に入ってきたときに、現実のデスク上のベルを鳴らすような方法があればいいと思いませんか。お店のドアが開けられると、ベルが鳴るように。

それが、このプロジェクトの目的です。Lotus Sametimeに話しかけるSecond Lifeオブジェクトを構築することにより、誰かがSecond Lifeオブジェクトに話しかけると、Lotus Sametimeでその会話がポップアップ表示されます。そして、Lotus Sametimeでそれに応答すると、会話はSecond Lifeへと送られていきます。

実際には、Second Lifeアバターを表すSametimeボットを作成します。そして、Second Lifeから話しかけられるように、そのボットをセットアップします(図1参照)。


図1. Second Lifeアバターを表すSametimeボットの構築


上に戻る

セットアップ

各パーツを相互に対話できるようにする前に、すべてのパーツを準備する必要があります。すでにSametimeアカウントおよびSecond Lifeアカウントの両方を持っている場合は、「開発環境のセットアップ」に移動できます。

Sametimeアカウントの取得

Lotus Sametimeを使用するには、Sametimeアカウントが必要です。まだアカウントを持っていない場合は、Lotus管理者に問い合わせてください。Sametimeをまだインストールしていない場合は、トライアル・ダウンロードへのリンクが「前提条件」にあります。また、Lotus Sametime 7.5 Demoを使用できます(もちろん、開発用のみ)。

  1. ブラウザーを開き、http://stdemo3.dfw.ibm.com/welcome.nsf に移動します。
  2. First, then Register to use this IBM DEMOnet system」をクリックします。
  3. ユーザー情報をフォームに入力します。これには、Sametimeユーザーとして使用する姓、名も含まれます。

この例では、2つのSametimeアカウントが必要です。1つは、デスクに座って生産的に仕事をするユーザー用のアカウントです。もう1つは、アバター用、つまりSecond Lifeユーザー用のアカウントです。これは、Sametimeボットがゲーム内から通信するために使用します。たとえば、筆者は自分用の「Nick Chase」と、アバター用の「Chase Marellan」という2つのアカウントを持っています。

次に、ログイン・リンクをクリックし、自分のアカウント用の名前およびパスワードを入力します(アバター用ではありません)。ログイン後のページに、いくつかのオプションが表示されています。スケジュール、ミーティングへの参加、他の機能の操作などがあります。自由に試すことができますが、ここではLotus Sametime Connectをダウンロードします。「ダウンロード」リンクをクリックし、オペレーティング・システムの適切なバージョンを選択し、インストーラーをハード・ディスクに保存します。

上に戻る

Lotus Sametime Connectのインストール

Lotus Sametime Connectをインストールするには、以下の手順にしたがいます。

  1. インストーラーを開始します。
  2. セットアップ用の言語を選択します。
  3. Next」をクリックし、実際のインストーラーを開始します。
  4. ライセンス同意書を読み、同意します。
  5. インストールする場所を入力します。また、使用するSametimeサーバーのホスト名も入力する必要があります。この情報については、Lotus管理者に問い合わせてください。デモ・システムを使用している場合は、図2に示すように、サーバーは「stdemo3.dfw.ibm.com」となります。
  6. インストール」をクリックし、インストールを完了させます。
  7. 終了したら、「終了」をクリックし、インストーラーを消します。

図2. 場所とサーバーの指定


上に戻る

Lotus Sametime Connectのセットアップ

「Sametime Connectの起動」チェック・ボックスを選択したまま残した場合は、Lotus Sametimeが自動的に開始されます。それ以外の場合は、「スタート」->「すべてのプログラム」->「IBM」->「IBM Lotus Sametime Connect 7.5」 を選択することによって開始します。最初の画面で、ユーザー情報の入力が求められます。アバター用ではなく、実際のユーザーの情報を入力します。筆者は図3のように入力しました。


図3 実際のユーザー用のLotus Sametimeの構成

「ログイン」ボタンをクリックし、サーバーに接続します。ここで、ロケーションを設定することもできますが、このチュートリアルでは使用しないため、その手順を進めるかどうかは、自分自身で判断してください。

ログインすると、連絡先のリストが示されたメインのSametimeウィンドウが表示されます。(AIM®ユーザーのために説明すると、これはバディ・リストです。)

これでSametimeチャットを行うことができますが、先に進む前に、アバターのアカウントを連絡先として追加する必要があります。これを行うには、「追加」をクリックし、「連絡先の追加」を選択します(図4参照)。


図4. 新規連絡先の追加

コミュニティー用に適切なサーバーが選択されていることを確認し、他のSametimeユーザー名を入力し、「追加」をクリックします(図5参照)。


図5. 他のSametimeアカウントの追加

この時点で、他のアカウントがメインのSametimeウィンドウに表示されます。しかし、それは太字ではなく、また小さい緑色のボックスも表示されていないはずです。この緑色のボックスは、ユーザーが応答可能であることを示します。このため、図6の状態では、ユーザーはまだログインしていません。


図6. 新規ユーザーはまだ応答できない状態

それでは、等式の一方の側を準備しましょう。

上に戻る

Second Lifeのインストール

Second Lifeを開始することは、簡単に説明できるトピックではありませんが、その手順はそれほど複雑ではありません。ブラウザーで「http://www.secondlife.com/」に移動し、「Join Now」ボタンをクリックして新規アカウントを作成します。
http://www.secondlife.com/(US)

この状態で、「http://secondlife.com/community/downloads.php」からソフトウェアをダウンロードできます。クライアントにログインすると、Orientation Islandを探索することで、この世界がどのように機能するのかを理解できます。ここで時間をかけるとよいでしょう。先へ進むと、戻れなくなります。
http://secondlife.com/community/downloads.php(US)

上に戻る

スポットの検索

Orientation Islandの利点は、新しいオブジェクトを作成できる場所がたくさんあることです。地面を右クリックし、表示された「パイ・メニュー」に「Create」オプションがあると、このような場所であることがわかります(図7参照)。

図7. 新しいオブジェクトの作成

まだOrientation Islandにいる場合は、簡単にスポットを見つけられます。しかし、実際にはここはプライベートではないので、あまり適した場所ではありません。Orientation Islandを離れ、正式にゲームを始めると、オブジェクト作成の許可が指定されている土地を探す必要があります。

ほとんどの場所では、一定の期間が過ぎると、システムによってオブジェクトが自動的に在庫に戻されます。場所に応じて、この期間はログアウトした後、または作成してから2分後になります。このプロジェクトを長期間使用する場合は、場所を借りることに投資するとよいでしょう。通常、この投資はかなり安価に行うことができます。このチュートリアルの準備をするために、筆者はショッピング・プラザでお店をレンタルしました。費用は1週間110 Lindenドルで、約40セント(USドル)となり、申し込みのときに得た250 Lindenドルでまかないました。

上に戻る

開発環境のセットアップ

これで、実際の開発環境をセットアップする準備が整いました。何を使用するのかは、適切なサポート・ファイルを持っている限り、読者が決められます。説明を簡単にするために、このチュートリアルでは、IBM Rational Application DeveloperなどのEclipseベースのIDEを使用するものとします。開発環境をセットアップするには、以下の手順にしたがいます。

  1. Lotus Sametime SDK 7.5(US) をダウンロードし、ローカル・マシンからアクセスできる場所にその内容を抽出します。
  2. IDEを開始し、ワークスペースを作成するか、既存のワークスペースのいずれかを選択します。
  3. ワークベンチで、「ファイル」->「新規」->「プロジェクト」を選択します。
  4. 「ウィザードの選択」ウィンドウで、「Web」->「動的Webプロジェクト」を選択します。「次へ」をクリックします。
  5. プロジェクト名を入力し、「次へ」をクリックします。
  6. Javaバージョンが、実際にインストールされているJavaと一致することを確認します。特に、このバージョンが6.0に設定されていて、Java 6.0が利用できない場合は、後で問題が発生します。
  7. 「終了」をクリックします。
  8. サーブレットに関するスキーマのライセンス同意書が表示された場合は、同意書を読み、「I Agree」(同意する)をクリックします(もちろん、同意する場合です)。
  9. 「はい」をクリックしてJ2EEパースペクティブに変更します。

次に、プロジェクトの依存関係をセットアップします。

上に戻る

プロジェクトの依存関係

このプロジェクトを機能させるには、ツールキットのJARファイルをプロジェクトに追加する必要があります。

  1. プロジェクト・エクスプローラーで、新規作成したプロジェクトを右クリックし、「プロパティー」を選択します。
  2. 左側の列で「Javaのビルド・パス」をクリックし、「ライブラリー」タブを選択します。「外部JARの追加」をクリックします。
  3. SDKからのファイルを抽出した場所へ移動します。そこからst75sdk/client/stjava/binディレクトリーに移動し、CommRes.jar、STComm.jar、stcommsrvrtk.jar、およびstjavatk.jarの各ファイルを選択します。「開く」をクリックし、これらのファイルへの参照をプロジェクトに追加します。
  4. 「OK」をクリックします。
  5. プロジェクト・エクスプローラーで、WebContent/WEB-INF/libディレクトリーが表示されるまでプロジェクトを展開します。このディレクトリーを右クリックし、「インポート」を選択します。
  6. 「一般」->「ファイル・システム」をクリックし、「次へ」をクリックします。
  7. 「参照」をクリックし、手順13で使用したディレクトリーに移動します。4つのファイルをすべてこのディレクトリーにインポートし、「終了」をクリックします。

これで、構築を開始できます。

第1回は、チュートリアルをはじめるための手順を説明しました。第2回は、基本的なボットと Second Lifeスクリプトの作成について説明します。

上に戻る

ダウンロード

説明 名前 サイズ ダウンロード方法
チュートリアルのソース・コード sourcecode.zip 6KB HTTP(US)
ダウンロード方法について (US)

上に戻る

リソース

学ぶ

製品およびテクノロジーの入手

議論する

上に戻る

筆者について(原文のまま)

Nicholas Chase has been involved in Web site development for companies such as Lucent Technologies, Sun Microsystems, Oracle, and the Tampa Bay Buccaneers. Nick has been a high school physics teacher, a low-level radioactive waste facility manager, an online science fiction magazine editor, a multimedia engineer, and an Oracle instructor. More recently, he was the Chief Technology Officer of Site Dynamics Interactive Communications in Clearwater, Florida, and is the author of three books on Web development, including Java and XML From Scratch (Que) and the upcoming Primer Plus XML Programming (Sams).


上に戻る


上に戻る