Wikipedia · einfach zusammengefasst · Stand
Smart Client
Smart Client Architektur ist ein spezielles Client-Server-Architekturmuster, das bestimmte Aspekte der Verteilung genauer festlegt. Smart Client Anwendung ist …
Inhalt4 Abschnitte
Begriff und Grundidee
Smart Client ist ein nicht genormter Sammelbegriff aus der Informatik. Er bezeichnet je nach Zusammenhang ein Architekturmuster, eine konkrete Anwendung oder den Handelsnamen bestimmter Softwareprodukte. Im Mittelpunkt steht die Verbindung von Eigenschaften klassischer Desktopanwendungen und Webanwendungen: Der Benutzer soll einen hohen Bedienkomfort erhalten, während Installation, Wartung und Software-Updates möglichst einfach bleiben.
Die Smart-Client-Architektur, auch Smart-Client-Modell oder Smart-Client-Ansatz genannt, ist eine besondere Ausprägung der Client-Server-Architektur. Sie legt bestimmte Aspekte der Verteilung zwischen Client und Server genauer fest. Wiederkehrende Leistungsmerkmale grenzen den Smart Client von anderen Client-Varianten ab, obwohl es keine allgemeingültige Norm oder Standarddefinition gibt.
Benutzerkomfort
Eine Smart-Client-Anwendung soll den hohen Benutzerkomfort eines Fat Client mit der einfachen Handhabung eines Thin Client verbinden. Der Benutzer erwartet dabei Funktionen, die auch von einem Fat Client bekannt sind, jedoch ohne dessen aufwendige Installation und Wartung.
Dazu gehören insbesondere:
- Eingaben werden auf Plausibilität und Gültigkeit geprüft. Diese Plausibilisierung und Validierung erkennt also unpassende oder fehlerhafte Eingaben möglichst direkt.
- Informationen werden ohne störende Wartezeiten verarbeitet, auch während der Benutzer Eingaben macht.
- Der Benutzer kann frei zwischen verschiedenen Bereichen der Anwendung wechseln.
- Die Anwendung lässt sich mit den Office-Programmen des Benutzers integrieren.
Damit soll der Smart Client im täglichen Gebrauch stärker wie eine lokale Desktopanwendung reagieren, zugleich aber zentral verwaltbar bleiben.
Verteilte Komponenten und Kommunikation
Bei einer Smart-Client-Architektur verwenden Client und Server im Unterschied zur traditionellen Client-Server-Architektur und zur etablierten Rich Internet Application dieselbe Programmierbasis. Aus dieser gemeinsamen Grundlage bestehen Komponenten, Schnittstellen und Datenobjekte. Dadurch können Client und Server idealerweise in einer einzigen Entwicklungsumgebung und mit verwandtem Fachwissen erstellt werden.
Die fachliche Logik, also die Verarbeitung der eigentlichen Geschäftsregeln, kann abhängig von den Anforderungen entweder auf dem Server oder auf dem Client ausgeführt werden. Eine solche Verschiebung zwischen beiden Seiten erfolgt durch betriebliche Maßnahmen und erfordert keinen Eingriff in die Programmierung.
Für die Kommunikation zwischen Client und Server sowie für die Anbindung weiterer zentraler Software werden in der Praxis möglichst Standardverfahren aus dem Umfeld von Webbrowsern und Webservern eingesetzt. Das gilt besonders für Transport- und Sicherheitsprotokolle. Im Allgemeinen soll eine normale, gegebenenfalls mobile, Internetverbindung für den Betrieb ausreichen.
Betrieb, Datenhaltung und Updates
Der Smart Client besitzt normalerweise keinen eigenen lokalen Speicher für veränderliche Daten. Dadurch entfällt die sonst erforderliche Synchronisierung der Datenbestände zwischen Client und Server. Die Speicherung, Bereitstellung und Sicherung aller veränderlichen Daten für die Clients liegen beim Server. Für den regulären Fortgang eines Geschäftsprozesses am Client ist daher eine Verbindung zum Server erforderlich.
In der Praxis kann diese Regel teilweise umgangen werden. Während eines Notlaufbetriebs ohne Serververbindung lassen sich Benutzereingaben vorübergehend lokal sichern. Außerdem können nahezu unveränderliche Daten, beispielsweise Länderlisten, auf dem Client gespeichert werden. Das verbessert die Reaktionsgeschwindigkeit und reduziert die benötigte Bandbreite.
Die Installation des Clients beschränkt sich auf Kopieroperationen. Eine Integration in das Betriebssystem ist nicht erforderlich. Dadurch sind vereinfachte automatische Software-Updates möglich; der Benutzer erhält dabei keine Wahl- oder Eingriffsmöglichkeiten. Der Client kann außerdem direkt von einem mobilen Speichermedium ausgeführt werden.
Der Begriff Smart Client ist auch ein Handelsname. Isomorphic Software verwendete ihn für „SmartClient“, ein auf JavaScript basierendes AJAX-Framework zur Entwicklung von Webanwendungen. Etwa zeitgleich, im Jahr 2001, entwickelte die Suse Linux AG bei der Debeka Versicherung ein Administrationswerkzeug namens „SmartClient“. Damit werden bei der Debeka seither mehr als 3000 Linux-Arbeitsplätze verwaltet. Das SmartClient-Framework wurde unter der GPL veröffentlicht und später von der Kölner „dass IT GmbH“ weiterentwickelt.