Liberty: Echtzeitkommunikation

Das Liberty-Feature für Echtzeitkommunikation, rtcomm-1.0, ermöglicht die Verwendung einer hoch skalierbaren Signalisierungsinfrastruktur, in der Sie WebRTC-Clients und andere Typen von IoT-Knoten (Internet of Things, Internet der Dinge) in Audio-, Video- oder Dateninteraktionen in Echtzeit verbinden können.

Das Feature unterstützt sowohl die Registrierung von Clients sowie den Austausch von Signalisierungsinformationen, die zum Herstellen einer WebRTC-Peerverbindung zwischen zwei Endpunkten erforderlich sind.

WebRTC ist ein angehender HTML5-Standard, der sich aus JavaScript-APIs zusammensetzt, mit denen Entwickler nur mit JavaScript und ohne Browser-Plug-ins die Echtzeitkommunikation für Ihre Webanwendungen ermöglichen können. Weitere Informationen zu WebRTC finden Sie unter WebRTC und weitere Informationen zu den IBM® Lösungen für WebRTC finden Sie unter WebSphere Liberty Real-Time Communications and WebRTC. WebRTC umfasst zwar Dinge wie Audio- und Video-Codecs, Echokompensierung und Interactive Connectivity Establishment (ICE) für die Firewalltraversierung von Media-Streams, enthält aber keine Unterstützung für die Rufsignalisierung, die erforderlich ist, um die Media-Streams zwischen Endpunkten zu konfigurieren, die miteinander kommunizieren sollen. Das neue Feature rtcomm-1.0 stellt einen Connector für Rufsignalisierung, der in Liberty ausgeführt wird, und eine clientseitige JavaScript-Bibliothek bereit, die Rufsignalisierung ermöglicht und einen Wrapper für WebRTC enthält. Die Bibliothek stellt eine einfache API für die schnelle Integration von Audio-, Video- und Datenübertragungen in neue und vorhandene Webanwendungen bereit.

Abbildung 1. Komponenten, aus denen sich das Rtcomm-Feature zusammensetzt

Komponenten, aus denen sich das Rtcomm-Feature zusammensetzt

Wie in der Abbildung veranschaulicht, kommunizieren die WebRTC-Clients mit dem Liberty-Back-End-Server über Message Queue Telemetry Transport (MQTT). MQTT ist ein M2M-/IoT-Verbindungsprotokoll. Dieses Protokoll ist ein einfaches Publish/Subscribe-Messaging-Protokoll. MQTT ist ein offener Standard und es sind Open-Source-Clients für JavaScript, Java™ und viele andere Programmiersprachen verfügbar. Einzelheiten hierzu finden Sie unter MQTT. Die rtcomm-Clientbibliothek wird im Eclipse Paho-JavaScript-Client erstellt, der WebSocket als zugrunde liegendes Transportprotokoll verwendet. Einzelheiten hierzu finden Sie unter Paho.

Heutzutage sind viele Arten von MQTT-Nachrichtenbrokern auf dem Markt verfügbar. IBM MessageSight for Developers kann für Entwicklungszwecke unter der folgenden URL heruntergeladen werden: IBM MessageSight for Developers. Im Folgenden ist eine Liste einiger der häufiger verwendeten MQTT-Nachrichtenbroker aufgeführt:

Achtung: Öffentliche, cloudbasierte MQTT-Broker wie MQTT Dashboard dürfen ausschließlich für Tests verwendet werden. Es gibt keine Möglichkeit, vorherzusagen, wann öffentliche Server hoch- und heruntergefahren werden und viele öffentliche Server löschen ihre offenen Verbindungen und Subskriptionen regelmäßig. Implementierungen in der Produktionsumgebung, wie z. B. die Implementierung von IBM MessageSight, müssen immer auf einem sicheren Server durchgeführt werden.

Anmerkung: Vergewissern Sie sich, dass der verwendete MQTT-Nachrichtenbroker WebSocket unterstützt, da die WebRTC-Clients andernfalls keine Verbindung zu diesem Broker herstellen können.

Symbol das den Typ des Artikels anzeigt. Konzeptartikel

Dateiname: cwlp_rtcomm.html