Weitere Projekte ansehen
nda

Der Kunde hat beschlossen, seine vertraulichen Daten zu schützen

E-Learning-Plattform für Studenten - Andersen

Kundeninformationen

Eine angesehene US-amerikanische Universität hat Andersen als zuverlässigen Entwickler für innovative E-Learning-Plattformen beauftragt. Diese Bildungseinrichtung bietet eine breite Palette von Bildungsprogrammen auf verschiedenen Ebenen an, einschließlich Grund-, Aufbau- und Fachkursen für Studierende aus aller Welt. Mit über 10.000 Mitarbeitern und mehr als 58.000 Studierenden, von denen etwa 70 % in den USA ansässig sind, kann sie stolz auf ihre globale Vielfalt sein.

ORT:USA
[object Object] on the map

Projektübersicht

Als renommierte Universität, die im 18. Jahrhundert gegründet wurde, musste unser Kunde schnell und kosteneffektiv auf die neuen Herausforderungen reagieren, die sich aus der Pandemie ergaben. Die COVID-19-Situation zwang Bildungseinrichtungen weltweit dazu, ihre Lehrmethoden neu zu gestalten und anzupassen. Die strikten Lockdown-Maßnahmen führten dazu, dass viele Menschen zu Hause bleiben und soziale Distanz wahren mussten. Unser Kunde stand vor der Herausforderung, neue Wege zu finden, um seinen Bildungsauftrag zu erfüllen. Die verfügbaren Lösungen auf dem Markt genügten nicht seinen hohen Ansprüchen an Zuverlässigkeit; sie waren anfällig für Überlastung und Internetausfälle. Daher war die Entwicklung einer maßgeschneiderten Plattform für E-Learning mit erweiterten Konferenz- und Videofunktionen unumgänglich.

Dauer24 Monate
Technologien
JavaScript/TypeScript
React
Redux
WebRTC
Java
Python

Mobile:

Kotlin

Datenbank:

PostgreSQL

DevOps:

GitLab CI, Docker, Kubernetes

Spezialisten

    • 3 Lösungsarchitekten
    • 3 Business-Analysten
    • 5 Front-End-Entwickler
    • 4 Back-End-Entwickler
    • 3 Mobile-App-Entwickler
    • 1 UI/UX-Designer
    • 4 QS-Ingenieure
    • 1 Projektmanager

Projektdetails

Die Geschäftstätigkeit des Kunden wurde durch die Auswirkungen von COVID-19 stark beeinträchtigt. Notmaßnahmen zur Eindämmung der Pandemie machten Präsenzunterricht nahezu unmöglich, was zu verpassten Chancen und einem Rückgang des Umsatzes der Universität um 7,53 % führte. Dies war darauf zurückzuführen, dass der Bildungsprozess nicht ausreichend digitalisiert war und wichtige Funktionen fehlten. Darüber hinaus fehlte der Institution die Möglichkeit, Inhalte zu teilen und mithilfe gängiger Technologien wie einer Online-Unterricht-Plattform weltweit zu kommunizieren.

Chancen

Der Kunde beabsichtigte, durch die Schaffung einer Web-Plattform für E-Learning, die auf der WebRTC-Technologie basiert, die Bindung der Studenten in der Region zu stärken und auf weitere Regionen auszudehnen. Diese Technologie sollte die vorhandenen Bildungsprogramme und -methoden ergänzen und die Option bieten, diese in Zukunft vollständig zu digitalisieren.

Die E-Learning-Plattform sollte hochwertige Echtzeit-Kommunikationsdienste bereitstellen und den Benutzern einen einfachen Zugang zu Mediendateien (Streaming, Screen-Sharing, interaktive Whiteboards usw.) auf allen Arten von Geräten (Web/Mobil) ermöglichen. Für unseren Kunden bedeutete dies die Möglichkeit, seine Inhalte online zu verbreiten, ohne viele Menschen an einem Ort zu versammeln und sie somit der Gefahr von COVID-19 auszusetzen. Die Universität war entschlossen, alle geltenden Normen einzuhalten, Bildungsdienstleistungen von hoher Qualität anzubieten und neue digitalisierte Bildungsangebote in den Regionen Europa und Asien zu verbreiten. Dies wiederum bedeutete, einen größeren Marktanteil im Bildungssektor zu erlangen, ohne an einen bestimmten physischen Standort gebunden zu sein.

Angesichts der Einschränkungen einiger internationaler Plattformen und des Mangels an erforderlichen Funktionen in bestehenden Lösungen (wie Skype, Slack, Microsoft Teams, Zoom, Discord usw.) entschied die Universität, eine maßgeschneiderte Plattform zu entwickeln, die alle ihre Anforderungen erfüllt.

Ziele

Die Universität strebte danach, das Vertrauen und die Bindung der Studierenden wiederherzustellen, ihre Rentabilität zu steigern und eine führende Position unter den Bildungsdienstleistern zu erreichen, indem sie ihre eigene webbasierte E-Learning-Plattform einführte. Die entwickelte Lösung sollte die Anforderungen sowohl der Lehrkräfte als auch der Studierenden weitgehend erfüllen und in der Lage sein, eine hohe Benutzerlast zu bewältigen. Die wichtigsten geschäftlichen Anforderungen des Kunden waren:

  • Umfangreiche Funktionalitäten: Die webbasierte E-Learning-Plattform sollte eine umfassende Palette von Bildungsaktivitäten durch verschiedene Visualisierungs-, Dokumentations- und Online-Testtools ermöglichen;
  • Benutzerfreundlichkeit: Die Online-Unterricht-Plattform sollte für Benutzer unterschiedlichen Alters und unterschiedlicher Fähigkeiten einfach und intuitiv sein;
  • Hohe Belastung: Die Plattform musste in der Lage sein, simultan zahlreiche Benutzer (bis zu 3.000 Personen) zu bedienen (6K+rpm), und das bei stabiler Leistung, minimalen Fehlern und schnellen Reaktionszeiten;
  • Barrierefreiheit: Als fortschrittliche E-Learning-Plattform sollte die Lösung auch für Menschen mit Sehbehinderungen und ähnlichen Problemen zugänglich sein;
  • Garantierte Sicherheit der Inhalte: Die E-Learning-Plattform sollte effektiv verschiedene illegale Aktivitäten im Zusammenhang mit digitalen Inhalten einschränken oder verhindern, um die Rechte am geistigen Eigentum zu schützen.

Zusätzlich dazu haben unsere Business-Analysten während der Erkundungsphase Benutzerinterviews und Marktforschung durchgeführt, um weitere wesentliche Benutzeranforderungen zu identifizieren:

  • Verfügbarkeit: Die E-Learning-Plattform sollte eine herausragende Verfügbarkeit bieten, indem sie den Benutzern ermöglicht, Videostreams in verschiedenen Netzwerken wie 3G, Wi-Fi und LTE anzusehen. Zusätzlich sollten die Benutzer die Flexibilität haben, sich über verschiedene Browser, Smartphones und Desktop-Apps zu verbinden, unabhängig von den verwendeten Betriebssystemen, Gerätemodellen oder Bildschirmauflösungen. Auf diese Weise könnten sie die neuesten WebRTC-Technologien nutzen und eine nahtlose Online-Bildung ohne Einschränkungen erleben.
  • Inhaltsbearbeitung durch Tutoren: Die Plattform für Online-Unterricht sollte den Tutoren die Möglichkeit bieten, die Inhalte der Schulungsprogramme eigenständig zu bearbeiten und zu aktualisieren, ohne dabei auf Unterstützung durch das IT-Team angewiesen zu sein.
  • Bevorzugte Tools: Die Lösung sollte die häufig verwendeten Tools der Benutzer speichern und sie bei zukünftigen Sitzungen automatisch oben auf der Liste anzeigen.

Aktuelle Markttrends

Der globale Markt für WebRTC-Lösungen verzeichnet ein stetiges Wachstum. Organisationen reagieren auf den gestiegenen Bedarf, der sich im Jahr 2020 manifestierte, und entwickeln aktiv ihre eigenen Lösungen für eine bequeme Kommunikation über Audio- und Videokonferenzen. Bestehende Produkte erfüllen nicht immer alle Anforderungen einer spezifischen Einrichtung und bieten begrenzte Möglichkeiten zur Anpassung oder Verbesserung. Darüber hinaus ist der Bildungssektor in den USA traditionell stark nachgefragt, was verschiedenen Institutionen ermöglicht, ausreichende Ressourcen zu sammeln, um in die Entwicklung eigener Bildungslösungen zu investieren und mit professionellen Bildungsplattformen (wie Udemy Business, LinkedIn Learning, Moodle usw.) zu konkurrieren. Ein entscheidender Vorteil besteht darin, dass jede Einrichtung den Lernprozess an die reale (Offline-)Bildungserfahrung anpassen kann, die sie bietet.

Lösung

Architekturübersicht

Um den Anforderungen des Kunden im Bereich E-Learning gerecht zu werden, war es erforderlich, eine effektive, skalierbare und zuverlässige Architektur zu entwickeln, die die Bereitstellung von Kommunikationsdiensten auf verschiedenen Web- und Mobilplattformen mit unterschiedlichen Netzwerkkonfigurationen ermöglicht. Die Integration der WebRTC-Technologie erlaubte die Implementierung bewährter und unternehmensgerechter Architekturlösungen.

Visual concept

Die serverseitige Lösung setzt sich aus vier Hauptkomponenten zusammen:

  • Anwendungsserver
  • Signalisierungsserver
  • STUN/TURN-Server
  • Medienserver

Die unterstützten Plattformen auf der Client-Seite umfassen:

  • Webbrowser
  • Windows-Apps
  • Mobile Apps

Anwendungsserver

Anwendungsserver sind primäre App- und Website-Hosting-Server, die kundenspezifische Funktionen enthalten, die vollständig auf WebRTC-Technologie basieren.

Signalisierungsserver

Ein WebRTC-Signalisierungsserver ist ein Server, der die Verbindungen zwischen den Client-Geräten verwaltet. Er überträgt nicht den eigentlichen Medienverkehr, sondern konzentriert sich auf die Signalisierung. Das umfasst die Möglichkeit für einen Benutzer, einen anderen im Netzwerk zu finden, die Verbindung selbst herzustellen, sie gegebenenfalls zurückzusetzen und sie schließlich zu beenden.

Alle Peers senden Benachrichtigungen an den verbundenen Server, der sie dann weiterleitet. Diese Benachrichtigungsanfragen können über WebSockets oder HTTP-Protokolle ausgeführt werden, wie z. B. REST zum Senden und Long Polling zum Empfangen. Beide erfordern zusätzliche Schritte, um Benachrichtigungen zu empfangen: WebSocket muss geöffnet und aktiv sein und kann nicht auf Anfrage verwendet werden; Long Polling erfordert wiederum mehrere HTTP-Anfragen im Laufe der Zeit, was zu einem erhöhten Bandbreitenverbrauch führt.

STUN/TURN-Server

Die Peer-to-Peer-Kommunikation über WebRTC kann je nach Netzwerkkonfiguration eines Peers auf drei verschiedene Arten funktionieren:

  • Option 1: Beide Peers sind im Internet mit statischen IP-Adressen und ohne Firewalls oder NAT-Geräte (Network Address Translation).

In diesem Fall können sie direkt miteinander kommunizieren, ohne dass ein externes System erforderlich ist.

Visual concept
  • Option 2: Peers befinden sich hinter einem NAT-Gerät, wie z. B. einem Wi-Fi-Router.

Unsere Lösung nutzt in diesem Szenario ein Protokoll namens STUN, das es den Clients ermöglicht, ihre öffentliche IP-Adresse sowie den Typ des NAT-Geräts zu identifizieren, hinter dem sie sich befinden. Diese Informationen werden genutzt, um eine Medienverbindung herzustellen. Normalerweise wird ein STUN-Server lediglich während des Verbindungsaufbaus verwendet; sobald die Verbindung hergestellt ist, fließen die Medien direkt zwischen den Teilnehmern und dem Video-Gateway (WebRTC).

Visual concept
  • Option 3: Peers befinden sich hinter einer Firewall.

Es gibt sehr restriktive Unternehmensnetzwerke (z. B. mit Verbot für UDP-Verkehr und nur erlaubtem 443 TCP), in denen sämtliche nicht standardisierten Kommunikationswege aufgrund von Sicherheitsrichtlinien und -standards blockiert sind. In solchen Fällen müssen Clients einen TURN-Server nutzen, um den Datenverkehr weiterzuleiten. In diesem Szenario erfolgt keine direkte Kommunikation zwischen den Peers - der gesamte Verkehr wird über den TURN-Server geleitet.

Visual concept

Das ICE-Protokoll ermöglicht es Geräten, festzustellen, welche Netzwerkoption gerade verfügbar ist, ihre öffentliche IP-Adresse mitzuteilen und eine Verbindung zu anderen Geräten herzustellen.

WebRTC-Medienserver

Ein WebRTC-Medienserver ist eine Art von Multimedia-Middleware, die sich zwischen den kommunizierenden Peers befindet und den Medienverkehr von der Quelle zum Ziel leitet. Diese Server können:

  • Medienströme und Gruppenkommunikation verarbeiten, indem sie Medienströme von einem Peer auf mehrere Empfänger verteilen, was auch als Multi-Conference Unit (MCU) bekannt ist;
  • Mehrere eingehende Ströme in einen einzigen zusammengesetzten Strom konvertieren;
  • Transkodierung durchführen, indem sie Codecs und Formate zwischen inkompatiblen Clients anpassen;
  • Eine dauerhafte Speicherung der zwischen den Peers ausgetauschten Medien gewährleisten und vieles mehr.

Client-Kanäle

WebRTC wird heutzutage von allen gängigen Browsern und App-Plattformen vollständig unterstützt. Dies ermöglicht unserer App, nahtlos auf allen modernen Browsern - Chrome, Firefox und Microsoft Edge - zu funktionieren, ohne dass zusätzliche Software installiert werden muss.

Darüber hinaus ist eine spezielle App für Windows verfügbar, die mit Electron entwickelt wurde - einem Framework, das die Erstellung plattformübergreifender Desktop-Apps mit JavaScript und anderen Webtechnologien ermöglicht. Dieser Ansatz erleichtert die Entwicklung von Windows-Apps erheblich, da bis zu 90 % des Codes zwischen Windows- und Webanwendungen wiederverwendet werden können. Ein ähnlicher Ansatz mit Electron für Windows-Apps wurde bereits von mehreren großen Anbietern im Bereich der Webkommunikation, wie Skype, Microsoft Teams, Slack und WhatsApp, angewendet und hat sich als De-facto-Standard etabliert. Zusätzlich zu den gemeinsamen Funktionen bieten Windows-Apps zusätzliche Möglichkeiten wie das Herunterladen von Materialien im Offline-Modus, was in Browsern nicht möglich ist.