In fast allen DMS-Projekten wird die Frage der richtigen Client-Architektur diskutiert. Es geht um die Vor- und Nachteile von Thick Client (oder Fat bzw. Rich Client) versus Thin Clients. Oder vereinfachend und vermeintlich: Performanz und umfangreiche Funktionalität aber schwierige Administrierbarkeit bei Fat Clients gegen einfache Administration und Multi-Plattform-Fähigkeit aber eingeschränkte Funktionalität und Ergonomie bei Thin Clients.
Direkt betroffen sind IT-Abteilungen und Endanwender. Erstere müssen die Infrastruktur zur Verfügung stellen, wobei sich die Aufwendungen je nach gewählter Architektur erheblich unterscheiden. Die Endanwender dagegen müssen mit den in vielen Fällen gravierend anderen Funktionalitäten, sowie ergonomischen und leistungsmäßigen Konsequenzen klar kommen.
Wäre die Wirklichkeit so idealtypisch, wie die Verfechter der Thin Clients sie darstellen, wäre die Entscheidung einfacher. Man würde die notwendige Anwendung nur einmal zentral auf der Middle-Tier installieren, die Clients laden sich die jeweils aktuelle Anwendungsoberfläche auf das mehr oder weniger dumme Endgerät, aufwendige Softwareverteilsysteme wären nicht notwendig. Gleichzeitig würde man sich Inkompatibilitäten auf der Client-Seite ersparen, die durch unterschiedliche Client-Betriebssysteme, Konfigurationen und Releases entstehen.
Weitere Vorteile einer echten Thin Client-Architektur wären: einheitliche Ausstattung bei Dauer- und Gelegenheitsanwendern, höhere Skalierbarkeit und technische Stabilität durch echte 3-tier-Architektur.
Die Realität sieht aber anders aus. Den unbestreitbaren Vorteilen stehen je nach Architektur und je nach Art der Anwendung auch Nachteile gegenüber, die häufig zu spät erkannt werden. Um diese Nachteile bewerten zu können, ist es nötig, die verschiedenen Architekturen kurz gegenüber zu stellen.
Fat Client - Rich Client
Vor der Verbreitung der Thin Clients basierten die im DMS-Markt verfügbaren Architekturkonzepte ausnahmslos auf Fat Client-Anwendungen, wobei sehr grob unterschieden werden muss zwischen:
A) Kein eigener Client: Der DMS-Anbieter stellt keine eigenen Client-Anwendungen zur Verfügung. Die Anwendung wird individuell auf dem Client programmiert und auf Basis einer schlanken Client-API mit dem Repository-Server integriert. Einige Komponenten wie Viewer oder Scan-Anwendung sind Fat Client Komponenten und kommen von Drittanbietern. Funktionen wie Postkorb- und Aktenfunktionen werden individuell programmiert (und bei genügend großer repetitiver Absatzmenge zum Produkt erklärt).
B) Eigener Client, schlanker Server: Der DMS-Hersteller stellt DMS-Client Funktionen in Form von fertigen Anwendungen (oder eines programmierbaren Komponentenmodells auf Client-Basis) zur Verfügung. Der Server verfügt manchmal nicht über echte Multi-User Datenbankanwendungen, sondern dient nur als Repository mit einer häufig sehr skalierbaren Objektverwaltung, die für große Archivanwendungen notwendig ist. Die eigentliche Datenbankanwendung wird in diesen Fällen individuell auf dem Client programmiert und kommuniziert via ODBC mit der Datenbank auf dem Server [1].
C) Eigener Client, "fetter" Server: In sprachlicher Abwandlung der Variante B könnte man solche Lösungen, bei denen der Client direkt mit einer Datenbankanwendung auf dem Server kommuniziert als "fetter Server" bezeichnen, ohne dass damit eine Wertung verbunden ist. Die Funktionalität ist hier häufig sehr viel ausgeprägter, eine Reihe fertiger Funktionen ist bereits im Basissystem verfügbar und muss nur angepasst werden. Der Nachteil dieser Variante ist die in der Regel eingeschränkte Anzahl Datenbanken und Server-Plattformen.
Die Grenzen zwischen diesen prototypischen Konzepten sind verschwimmend. Allen drei Konzepten ist aber gemeinsam, dass die Client-Anwendung fast immer eine Windows-Anwendung ist, die über bestimmte Client-basierten Methodenaufrufe mit der Serverschicht kommunizieren. Den Vorteilen dieser Fat Client/2-tier Architektur wie beispielsweise
stehen gewichtige Nachteile gegenüber:
Thin-Client Variante I: Terminalserver
Eine elegante Variante, diese Fat-Client Probleme zu lösen stellen die sogenannten Terminalserver-Konzepte dar. Diese werden von verschiedenen Anbietern angeboten wie Citrix mit Metaframe, Microsoft mit dem Windows Terminalserver (der auf der Citrix-Technologie basiert) oder Tarantella mit dem Secure Global Desktop.
Terminalserver für Fat-Client-Anwendungen basieren im wesentlichen darauf, dass Client-Anwendungen auf einem Server exekutieren und den Clients-Workstations nur die Videodaten der jeweiligen Anwendungsoberfläche zugeschickt werden. MS Office oder der DMS-Viewer "laufen" also auf dem Server, die Dokumentensicht und die Menüs werden dem Benutzer via LAN/WAN übertragen und "angezeigt".
Die Client-Workstations können Standard-PCs sein, die mit einer Terminalserver-Anwendung laufen oder es können die "echten" Thin Terminals sein, die nur soviel Hardware umfassen, wie für Ausführung der Terminalserver-Anwendung notwendig ist, also wenig mehr als Netzteil, Bildschirm, Tastatur, Maus, Betriebssystem und LAN-Schnittstelle.
Für den Benutzer sieht eine Terminalserver-Anwendung so aus wie eine normale Windows-Applikation, die er auch bedient wie gewohnt. In Wirklichkeit schickt er aber lediglich über den Rückkanal für Tastatur und Maus Kommandos an den Server, der diese Kommandos durchführt: Blättern einer Wordseite, Speichern eines Objektes, Öffnen einer Mail durch Doppelklick, Zoomen eines Bildes, Einbuchen eines Buchungssatzes etc. Die Übertragungsprotokolle der Terminalserver komprimieren diese Videoraten sehr effizient, sodass auch schon Lösungen mit einer dünnen ISDN-Leitung für das Einzeldokumentretrieval ausreichend sein können. Für den Anwender bieten die Terminalserverkonzepte daher wesentliche Vorteile:
Diesen unbestreitbaren Vorteilen stehen aber in manchen Projekten auch Nachteile gegenüber:
Der Anwender sollte beim Einsatz von Terminalservern daher auf alle Fälle im Vorfeld klären:
Im zweiten Teil des Artiekls, der nächste Woche im Magazin erscheint, werden Vor- und Nachteile von Web-Clients dargestellt.
[1] Einige Anwendungen basieren auf nicht-relationalen Datenbanken wie Volltextdatenbanken, Btrieve oder Eigengewächsen. Für diese Systeme gilt das hier Gesagte nur mit Einschränkungen. Die Nutzung von ODBC ist bei diesen Beispielen nicht möglich, die Anzahl der unterstützten Plattformen daher vom Anbieter der Datenbank abhängig.
© 2012 FEiG & PARTNER