Rich Client or Webapplication

exe – drei kleine Buchstaben, aber dahinter steht eine große Entscheidung für Anwender und Unternehmen. Müssen sie noch auf dem Desktop erscheinen, oder sollten sie ersetzt werden durch eine Webapplikation?

Rich-Client oder Webapplikation …

In diesem Beitrag werden die Möglichkeiten einer Software in Form des Rich-Clients und als webbasierte Lösung mit ihren Merkmalen, Vor- und Nachteilen vorgestellt. Sie werden bewusst nicht gegeneinandergestellt, denn jede Technik hat für entsprechende Anwendungen ihre Berechtigung.

… oder ein Zwischenweg?

Wir haben uns gedacht, dass es doch eine Zwischenlösung geben muss, um auch komplexe Applikationen – wie OPTANO – online zugänglich zu machen. Und so die Vorteile vom Rich-Client und der Webapplikation miteinander zu verbinden. Doch betrachten wir erst einmal den Rich-Client.

Der Rich-Client

Rich-Clients sind Anwendungen, die folgende Funktionalitäten direkt auf dem Client-System ausführen:
– die Präsentation, also die interaktive Schnittstelle für den Benutzer
– die Anwenderlogik, die die eigentliche Funktionalität einer Applikation bereitstellt

Teile der Anwendungssoftware sind somit auf dem Applikationsserver (Anwendungsserver) implementiert als auch auf dem Rich-Client, beispielsweise bei Desktop-Applikationen oder auch auf mobilen Plattformen. Somit ist eine Installation dieser Clients direkt auf dem Benutzergerät notwendig.

Funktionsverteilung Rich-Client

Abbildung – Funktionsverteilung beim Rich-Client

Rich-Clients weisen folgende Merkmale auf:
Sie bieten die bestmögliche Performance und Skalierung von Applikationen. Sie basieren auf einem einheitlichen Komponentenmodell, so dass viele allgemein nützliche Komponenten bereits implementiert sind. Drag-und-Drop-Funktionen sind möglich, Native Widgets werden unterstützt. Visualisierung und Interaktion der grafischen Benutzerschnittstelle führen beim Rich-Client zu einer hervorragenden Software-Usability. Einfache Bedienung und gewünschte Funktionen sind leicht zu realisieren. So ermöglichen Rich-Clients die Entwicklung komplexer Oberflächen für komplexe Anwendungen und bieten dem Nutzer so einen hohen Grad an Funktionalität und Kontrolle.

Aktualisierungen werden bei Client-Server-Modellen, wie dem Rich-Client mithilfe integrierter Update-Funktionalitäten durchgeführt. Beispielsweise durch eine automatische Online-Update-Funktion im Client selbst oder unterstützt durch einen Web-Starter, der vor dem eigentlichen Client ausgeführt wird. Jedoch kann die Verteilung und Installation von Software, sowie das Management der Clients zu höheren Kosten im Unternehmen führen. Aus diesem Grund werden auch alternative Formen der Applikationsbereitstellung in Betracht gezogen, die die lokal installierten Programme ersetzen. Wie zum Beispiel die Webapplikation.

Die Webapplikation

Webapplikationen lassen sich am besten als „Online-Software“ oder „webserverbasiertes Computerprogramm“ bezeichnen. Das bedeutet, dass keinerlei applikationsspezifische Funktionalität stationär auf einem Rechner installiert ist. Diese wird komplett vom Server bereitgestellt und per Browser via Intra- oder Internet an einen lokalen Rechner gesendet. Dieser dient lediglich als Frontend zur Darstellung von Daten und als Benutzeroberfläche. Somit sind Webapplikationen sozusagen einfache Webseiten mit erweitertem Funktionsumfang.

Funktionsverteilung Webapplikation

Abbildung – Funktionsverteilung bei der Webapplikation

Hieraus ergeben sich folgende Charakteristika:

  • Plattformunabhängigkeit
    Webapplikationen setzen auf dem Rechner oder mobilen Endgeräte des Benutzers – neben einem ausreichend schnellem Internetzugang – lediglich einen Webbrowser voraus. Im Gegensatz zur Client-Server-Anwendung muss keine weitere Software installiert werden. So erreichen Webapplikationen einen hohen Grad an Plattformunabhängigkeit.
  • Geringe Wartungskosten
    Die Verteilung von Software bei einer großen Anzahl von Clients ist nicht notwendig, wenn diese einen Browser installiert haben. Muss die Logik einer Webapplikation verändert werden, geschieht dies nur an einer zentralen Stelle – auf dem Webserver. Somit können Deployment, Update und Skalierung der Software via Web bei einer großen Anzahl von Clients kostensparender sein als bei Client-Server-Modellen.

Den eben genannten Vorteilen von Webapplikationen sind aber auch die Nachteile gegenüberzustellen. Wichtig ist, dass bereits bei der Entwicklung von Webapplikationen, die über das Internet bereitgestellt werden, das Thema Sicherheit großgeschrieben wird. Denn fast täglich gibt es Nachrichten über gehackte Webseiten sowie Diebstahl und Spionage sensibler Daten. Mit sinnvollen Richtlinien kann aber auch die Sicherheit webbasierter Lösungen garantiert werden.

Ein wesentlicher Nachteil von Webapplikationen sind jedoch die eingeschränkte Visualisierung und Interaktion grafischer Benutzerschnittstellen. Komplexe Oberflächen, sowie einfache Bedienung und diffizile Funktionen sind nur schwer oder gar nicht umsetzbar. Vom Nutzer gewünschte Funktionen sind – wenn überhaupt – nur mit hohem Aufwand seitens der Programmierer realisierbar und verursachen entsprechende Entwicklerkosten.

Außerdem ist folgender Aspekt bei der Webapplikation zu berücksichtigen: Bei rechenintensiven Anwendungen und der Verarbeitung großer Datenmengen ist eine Implementation als Webapplikation – trotz Ausbau der Internetverbindungen – (noch) nicht der richtige Weg. Doch wie könnte dieser aussehen?

OPTANO geht den Zwischenweg

Das Potential von Webapplikationen ist enorm, jedoch wegen der oben aufgeführten technischen Nachteile (noch) nicht die Lösung für komplexe Anwendungen. Für OPTANO wird derzeit eine Webapplikation für das Reporting sowie für die Analyse von Daten entwickelt. Für umfrangreiche Optimierungsfragen, die zudem eine Vielzahl an Szenarien beinhalten, ist aber noch immer der Rich-Client der bessere Weg.

Aus diesem Grund wählen wir für OPTANO derzeit eine Hybrid-Lösung, und vereinen so die Vorteile des Rich-Clients mit denen der Webapplikation. OPTANO ist als Planungsapplikation eine komplexe Anwendung, deren Optimierungskomponente auf dem Anwendungsserver implementiert ist. Zudem ist die Applikation durch umfangreiche Custom-Anforderungen an das User-Interface gekennzeichnet, die im Rich-Client besser und einfacher zu realisieren sind. Der Rich-Client ermöglicht die Entwicklung komplexer Funktionen bei gleichzeitiger User Experience. Zudem ist OPTANO als Rich-Client Applikation auf allen Windows-Systemen lauffähig, und somit quasi plattformunabhängig, denn mit 88 Prozent Marktanteil läuft Microsoft mit Windows auf den meisten Computern der Welt (Stand Januar 20171).

Funktionsverteilung OPTANO

Abbildung – Funktionsverteilung bei OPTANO

Dem bei der Webapplikation oft genannte Vorteil geringer Wartungskosten können wir mit OPTANO entgegentreten: Eine Installation des Rich-Clients durch den IT-Administrator ist nicht notwendig. Das Deployment wird mit einer zip-Datei auf dem Windows-System ausgeführt. Client-Updates laufen im Hintergrund via OTA („Over the Air“ – weitere Informationen hierzu gibt es in Die OPTANO Story – OPTANO Architect – Teil III). Webapplikationen sind somit hinsichtliche Software-Deployment und -Update kaum kostensparender.

Application Streaming ermöglicht es, mit verhältnismäßig überschaubarem Aufwand, Rich-Client Applikationen über einen Browser zugänglich zu machen. Und diesen Weg nutzen wir derzeit: Mit Hilfe virtueller Maschinen werden Rich Clients über eine Cloud an den Browser gestreamt. Das Ergebnis ist nicht nur eine starke User Experience, sondern auch gesteigerte Effizienz und Flexibilität für Unternehmen.