Was sind WebRTC-Frameworks?

Im Gegensatz zu den einfachen "WebRTC Hello World" Beispielen ist die Nutzung von WebRTC in Web-Anwendungen mit Anwendungs-spezifischen Funktionen eine anspruchsvolle Entwicklungsaufgabe. WebRTC stellt zunächst nur Rohkanäle für die Übertragung von Video-, Audio- und anderen Echtzeit-Daten zur Verfügung. Um diese Kanäle für eigene Web-Anwendungen zu erschließen und um eigene Funktionen realisieren zu können, muss eine Vielzahl von Problemen gelöst werden.

Um die Funktionen von WebRTC in bestehende Web-Anwendungen zu integrieren ohne aufwändige Software-Entwicklungen oder Infrastruktur-Aufbau zu betrieben, bietet sich die Nutzung von WebRTC-Frameworks wie melavi an. Das folgende Bild zeigt die Komponenten des melavi-Frameworks:

WebRTC_Framework

WebRTC-Frameworks vereinfachen die WebRTC-Nutzung im Browser-Frontend durch:

  • die Kapselung und Vereinfachung der Browser-seitigen Javascript WebRTC-Schnittstellen

  • die Abstraktion von Browser-Abhängigkeiten. Noch sind die WebRTC-Schnittstellen der verschiedenen Browser wie Mozilla Firefox, Google Chrome oder Opera in Details unterschiedlich. Ein WebRTC-Framework wie Melavi stellt Browser-unabhängige Schnittstellen für die Nutzung der WebRTC-Funktionalität bereit.

  • das Angebot von Nutz-Funktionen oberhalb der "rohen" WebRTC-Datentransport Schicht, wie z. B. die Verwaltung von WebRTC Teilnehmern, die Administration virtueller Meeting-Rooms oder die Aufzeichnung von Gesprächsdaten, welche z. B. als Abrechnungsgrundlage für Mandanten-Gespräche genutzt werden können.

  • die Integration in das Look&Feel von Web-Anwendungen mittels entsprechender CSS-Styling-Funktionen

  • die Realisierung verschiedener Workflows für die Steuerung der Verbindungsaufnahme für die Subscriber einer WebRTC Anwendung wie z. B. klassische Chat-Funktionen, die Nachbildung von Wartezimmer-Situationen oder Support-Center Lösungen mit verschiedenen Teilnehmer-Rollen wie Kunde, Client, Patient, Mandant, Berater oder Administrator.

und im Server-Backend durch die Bereitstellung der für den Betrieb von WebRTC im heterogenen Internet notwendigen Infrastruktur-Komponenten:

  • Signalisierungs-Server. Diese Komponente wird für den Aufbau einer WebRTC-Verbindung benötigt. Teilnehmer wenden sich zunächst an einen gemeinsam bekannten Signalisierungs-Server, um die notwendigen Informationen zu erhalten, die für den Aufbau einer Peer 2 Peer Verbindung benötigt werden.

  • STUN und TURN Server. Diese Komponenten werden benötigt, um Verbindungen zwischen Teilnehmern in verschiedenen Intranets, welche über Router mit dem öffentlichen Internet verbunden sind, zu ermöglichen. Ohne diese Komponenten ist eine Direktverbindung - also eine Peer 2 Peer Verbindung - zwischen zwei Internet-Teilnehmern im Allgemeinen nicht möglich.

  • Web-Server. Diese stellen die klassischen Teile von Web-Anwendungen wie HTML-Seiten und Datenbank-Zugriffe zur Verfügung.

  • Backend-Plugins. Um WebRTC komfortabel in bestehende Web-Anwendungen integrieren zu können, werden Plugins für verschiedene Content Management Systeme benötigt. Diese Plugins reduzieren den Aufwand, der ansonsten für eine WebRTC-Integration betrieben werden müsste, ganz erheblich und stellen Plug And Play Lösungen für verschiedene Kommunikations-Szenarien zur Verfügung.