本文へジャンプ

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

送信されたすべての情報は安全です。

  • 閉じる [x]

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


送信されたすべての情報は安全です。

  • 閉じる [x]

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

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

Photo of Nicholas Chase
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).

概要: 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回は、チュートリアルをはじめるための手順を説明します。

このシリーズの他の記事を見る

日付:  2007年 5月 11日
レベル:  中級 この記事の原文:  英語
アクティビティー: 2465 ビュー
お気軽にご意見・ご感想をお寄せください: 


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

はじめる前に

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

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

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

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

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

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.zip6KBHTTP

ダウンロード形式について


参考文献

学ぶために

製品や技術を入手するために

議論するために

著者について

Photo of Nicholas Chase

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).

不正使用の報告のヘルプ

不正使用の報告

ありがとうございます。 このエントリーは、モデレーターの注目フラグが設定されました。


不正使用の報告のヘルプ

不正使用の報告

不正使用の報告の送信に失敗しました。


developerWorks: サイン・イン


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。 プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。 お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

表示名をお選びください

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

(半角英数字で3文字以上31文字以下にする必要があります)


「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


この記事を評価する

コメント

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Lotus
ArticleID=339129
ArticleTitle=バーチャルオフィス: IBM Lotus SametimeチャットとSecond Life: 第1回 チュートリアルをはじめる前に
publish-date=05112007
author1-email=ibmquestions@nicholaschase.com
author1-email-cc=

タグ

Help
このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。

スライダーバーを使用することで、より多く(少なく)タグを表示します。

人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。

マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。

このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。