Liberty: Real-Time Communications
Liberty Real-Time Communications フィーチャー rtcomm-1.0 により、WebRTC クライアントおよびその他のタイプの IoT (モノのインターネット) ノードをリアルタイムのオーディオ、ビデオ、またはデータの対話に接続するために使用できるハイ・スケーラブルなシグナリング・インフラストラクチャーが実現します。
このフィーチャーでは、クライアントの両方の登録に加え、2 つのエンドポイント間に WebRTC 対等接続を作成するために必要なシグナリングの交換がサポートされます。
WebRTC は、JavaScript API の新たな HTML5 標準セットであり、開発者が、ブラウザー・プラグインなしで JavaScript のみを使用して、リアルタイム通信を Web アプリケーションに追加できるようにします。WebRTC について詳しくは、WebRTC にアクセスしてください。WebRTC 用の IBM® ソリューションについて詳しくは、『WebSphere® Liberty Real-Time Communications and WebRTC』を参照してください。WebRTC にはオーディオ・コーデック、ビデオ・コーデック、エコー消去、メディア・ストリームのファイアウォール・トラバーサル用の Interactive Connectivity Establishment (ICE) などの項目が含まれますが、通信するエンドポイント間のメディア・ストリームをセットアップするために必要な呼び出しシグナリングのサポートは含まれません。新しい rtcomm-1.0 フィーチャーは、Liberty で実行される呼び出しシグナリング・コネクターを提供し、また呼び出しシグナリングと WebRTC 用ラッパーの両方をカプセル化したクライアント・サイドの JavaScript ライブラリーを含んでいます。このライブラリーは、オーディオ、ビデオ、またはデータの通信を新規および既存の Web アプリケーションに迅速に統合するためのシンプルな API を公開します。

図に示しているように、WebRTC クライアントは、Message Queue Telemetry Transport (MQTT) を介してバックエンドの Liberty サーバーと通信します。MQTT は、マシンツーマシン (M2M)/「モノのインターネット」の接続プロトコルです。 このプロトコルは、軽量なパブリッシュ/サブスクライブ・メッセージング・トランスポートです。 MQTT はオープン・スタンダードであり、JavaScript、Java™、およびその他の多数の言語のオープン・ソース・クライアントが存在します。詳しくは、MQTT を参照してください。 rtcomm クライアント・ライブラリーは、WebSocket を基礎となるトランスポートとして使用する Eclipse Paho JavaScript クライアントで構築されます。詳しくは、 Paho を参照してください。
現在、MQTT Message Broker の多くのオプションが入手可能です。 開発目的の場合、IBM MessageSight for Developers を IBM MessageSight for Developers からダウンロード可能です。以下に、よく使用される MQTT Message Broker の一部のリストを示します。
重要: MQTT Dashboard のようなクラウド・ベースのパブリック MQTT ブローカーは、テスト以外の目的に使用しないでください。 パブリック・サーバーがいつ稼働/停止するのかを予測することはできず、また多くのパブリック・サーバーでは、オープン接続およびサブスクリプションが定期的に削除されています。実動デプロイメント (IBM MessageSight のデプロイメントなど) は常にセキュア・サーバーに依存しなければなりません。