和歌山のプログラミング・システム開発ならシステムキューブ
社内でOpenfireとSparkでインスタントメッセージを導入してみました。
インスタントメッセージは古くはICQや、LiveMessanger、Skypeなど、インターネット上の気軽なコミュニケーションツールとして発展してきました。
インスタントメッセージを社内で利用するにあたって、このような既存のサービスを利用するのも一つの手ですが、社内情報を扱う場合も考えて、社内ネットワークでの利用を前提としたシステムを導入しました。
弊社は大きな会社でもありませんし、基本社内のコミュニケーションは口頭で行います。
口頭での伝達は、言葉以上に、場の雰囲気や、表情、語り口などの情報も付加されますので、円滑なコミュニケーションには最適ですが、一つだけ難点があるとすれば、何時何分に何を伝えたかという、記録が難しいということでしょうか。
たとえば一言で済むメッセージでも、メッセージを発した時間がわかるだけで、のちの作業が円滑に進む場合もあります。
電子メールを利用するのも一つのあり方ですが、社外のお得意様や協力会社様との連絡などで、たくさんのメールを受け取っていると、社内メールのプライオリティは下がりがちで、ついつい見落としなどが発生しやすいです。
メール自体、一度開封してしまうと、その時に何かメールクライアント側でマークをつけておかないと、後回しにしたタスクを忘れてしまいがちな伝達手段といえます。
インスタントメッセージでは、着信があれば、通知などわかりやすい仕組みがありますし、時間も記録されるので、一言二言のメッセージの伝達にはベストの方法ではないかと考えています。
社内にインストールするインスタントメッセージは、XMPPという標準規格を使ったものがいいのではないか、という漠然とした気持ちでソフトウェアの選定を始めました。
XMPPであれば、対応クライアントもいろいろと選べますし、利用環境にも自由度があります。
最初は社外のサーバーにこのXMPPサーバーを設置して、社外にいるスマートフォンなどの端末での、アクセスも考えましたが、そういう場合はメールなどきっちりとした形のほうがいいと思い、あえて社内ネットワークのみの環境とすることにしました。
Openfire
http://www.igniterealtime.org/projects/openfire/
Openfireがよいと考えたのは、よく更新されているプロジェクトであり、クライアントSparkとセットで利用するのがわかりやすく、Windowsでもサーバーがインストーラーで導入できるところです。
社内開発用のWindowsServerがありますので、これにインストールし、社内での利用を行うことにしました。
Serverでなくとも、常時起動しているWindowsPCがあれば、簡単にそれをサーバーとすることができます。
Openfire
http://www.igniterealtime.org/downloads/index.jsp
上記サイトで、必要なプラットフォームのインストールファイルをダウンロードします。
OpenFireはJAVAで作成されていますので、Javaランタイム(JRE)を必要とします。Includes Java JREを選択すると、Javaランタイムを同時にインストールしてくれます。
クライアントのSparkもJAVAで作成されています。
インストーラーを実行します。
言語選択は日本語がないようですので、英語を選択します。
クライアントでは日本語が選べます。
インストールを順に進めていきます。
インストールが終わると、OpenFireのコンソールが立ち上がります。
ここでWindowsファイアウォールの警告が出るはずですので、これには許可をします。
Launch Adminをクリックすると、セットアップが実行されます。
まず言語は英語を選択します。
サーバー名とポートの設定を行います。
今回社内用途でもありますし、デフォルトで設定しています。
データベースは外部データベースと、組み込みデータベースが選べます。
動作には違いはありませんが、外部データベースのほうが、パフォーマンスがいいということです。
特にデータベースエンジンをインストールしていない場合は、わざわざインストールする必要もない
ここではMicrosoft SQL Serverを選択しています。
Database URLは環境に合わせて入力しましょう。
この場合、データベースはあらかじめ作成しておく必要があります。
Profileにはデフォルトや、LDAPなど選択できるようです。
LDAPを設定していると、そのまま使えそうですね。
次はadminのパスワードなどを設定できる画面になりますが、この手順はスキップできます。
この場合、adminのパスワードはadminに設定されます。
これでセットアップは終わり、Admin Consoleに移行します。
adminコンソールではとにかくまずはユーザーを作ることです。
これを行わないと、だれもログインできません。
必要なだけユーザーを作ります。
ルームというグループチャットもここで作っておくこともできます。
記録の意味も込めて、ログが残るオプションにチェックを入れています。
ユーザーは独自にグループチャットを作れますが、あらかじめ参加者を決めたグループチャットや、パスワードをかけたルームを設定しておくと、用途がおのずと限定され、ユーザーにとっても便利ではないかと思います。
これで、AdminConsoleでとりあえずの設定は終わります。
クライアントにはXMPPであればいろいろなものがつながるとは思いますが、開発者が同じSparkを使うと、相性がよさそうです。
http://www.igniterealtime.org/downloads/index.jsp
上記サイトから、プラットフォームに応じたSparkをダウンロードします。
これもJREこみのインストーラーであれば、別途JREをダウンロードする手間が省けます。
既にインストールされている場合は、オンラインインストーラーでもよいでしょう。
インストールを進めていきます。
実行すると、接続先を入力します。
ユーザー名はadminコンソールで登録されたユーザー名を、パスワードは管理者に渡されたパスワード、サーバー名はWindowsで名前を解決できる場合は、サーバーのPC名を、他のOSからであればIPアドレスを入力します。
ログインすれば、このような感じの普通のインスタントメッセンジャーとして使えます。
左下のタブ、会議からみると、あらかじめ設定されたルームが見えます。
メンバーを追加するには、ユーザー名で検索して、緑の+ボタンで追加リクエストを送ります。
Mac版のクライアントと会話の様子がこのような感じで、無事に行え、日付と時間が記録されています。
複数人による会議は、誰かと一対一のメッセージのやり取りを始めてから、ユーザーを招待すると自由なタイミングで、複数人による会議を行えます。
一対一のメッセージや、複数人による会議もこのようにタブに分けて、いくつも開いておくことができます。
MicrosoftのLyncや、SalesforceのChatWorkなど、ビジネスにインスタントメッセージを取り入れようという動きは、ここ数年、広がりを見せています。
それなりに、大きさの企業でも対応できるように、テレビ音声会議、スマートフォン対応をはじめとして機能を大きく持たしています。
モチベーションの持ち方として、活用する人も全く活用しない人もいる中で、それなりのランニングコストをかける意味を、弊社ぐらいの規模の企業ではあらかじめ見積もることは難しいです。
やはり企業用として、オープンすぎるメッセージのシステムを利用するには抵抗がある、という方にはLAN内限定のOpenfireとSparkから始めてみることも、十分お勧めできることと感じました。
Linuxなど使う必要はなく、既存のWindowsだけで簡単に構築できるのがいいところです。
これで不足な機能などあれば、また有償あるいは、別のソフトウェアを利用して、用途にマッチしたシステムにたどり着くまで試してみるとよさそうです。