# Smart Client

Der Ausdruck Smart Client trägt als Kurzform und Handelsname für Produkte in der Informatik mehrere in Abstraktionsgrad und Ausprägung unterschiedliche Bedeutungen.
* Smart Client Architektur ist ein spezielles Client-Server-Architekturmuster, das bestimmte Aspekte der Verteilung genauer festlegt.
* Smart Client Anwendung ist eine konkrete Software auf dem Computer eines Benutzers, die den hohen Benutzerkomfort eines Fat Client mit der einfachen Handhabung eines Thin Client vereint.
* Smart Client ist der Handelsname für Softwareprodukte der Firmen Isomorphic Software und Suse Linux AG.

## Architektur

In einer Smart Client Architektur (auch: Smart Client Modell oder Smart Client Ansatz) sind gegenüber der verallgemeinerten Client-Server-Architektur bestimmte Aspekte der Verteilung genauer festgelegt. Sie verspricht hohen Benutzungskomfort und unkompliziertes Software-Update, eine Kombination der Vorteile von einerseits Desktop- und andererseits Webanwendungen. Zwar ist der Begriff Smart Client nicht genormt oder standardisiert, jedoch findet man in der angegebenen Literatur, den dort beschriebenen Praxisfällen und bei den aufgeführten Produkten wiederkehrende kombinierte Leistungsmerkmale, mit denen sich der Smart Client von den anderen Client-Varianten abgrenzt.

## Benutzungskomfort

Der Client in einer Smart Client Architektur (auch: Smart Client Anwendung oder kurz Smart Client) bietet einen hohen Benutzungskomfort. In Abgrenzung zum Thin Client und Rich Client erwartet der Benutzer wie bei einem Fat Client die Plausibilisierung und Validierung seiner Eingaben, eine störungsfreie Informationsverarbeitung ohne Wartezeit auch während seiner Eingabe, den freien Wechsel zwischen verschiedenen Bereichen innerhalb der Anwendung sowie die Integration mit seinen Office-Programmen.

## Verteilte Komponenten

Im Unterschied sowohl zur traditionellen Client-Server-Architektur als auch zur etablierten Rich Internet Application findet in einer Smart Client Architektur auf Client und Server die gleiche Programmierbasis Verwendung, aus der Komponenten, Schnittstellen und Datenobjekte bestehen. Die fachliche Logik kann je nach Anforderung der Server oder der Client ausführen. Die Verschiebung erfolgt nur durch betriebliche Maßnahmen und ohne Eingriff in die Programmierung. Beide Teile sollen im Idealfall in nur einer Entwicklungsumgebung und mit verwandtem Know-how erstellt werden können.
In der Praxis verwendet man für die Kommunikation zwischen Client und Server sowie für die Integration mit weiterer zentraler Software möglichst Standard-Verfahren aus dem Web-Browser / Web-Server Umfeld. Dies gilt im Besonderen für die Transport- und Sicherheitsprotokolle. Eine reguläre – ggfs. mobile – Internetverbindung sollte im Allgemeinen für den Betrieb einer Smart Client Architektur ausreichend sein.

## Betrieb

Der Smart Client verzichtet auf einen eigenen lokalen Speicher für veränderliche Daten und damit auf die sonst notwendige Synchronisierung der Datenbestände zwischen Client und Server. Diese Eigenschaft wird in der Praxis gelegentlich umgangen, um Benutzereingaben während eines Notlaufbetriebs ohne Verbindung zum Server vorübergehend zu sichern. Auch (nahezu) unveränderliche Daten wie etwa Länderlisten verbleiben auf dem Client und erhöhen so seine Reaktionsgeschwindigkeit und verringern die Bandbreitennutzung.
Die Speicherung, Bereitstellung und Sicherung aller veränderlichen Daten für die Clients liegen in der Verantwortung des Servers. Eine Verbindung vom Client zum Server ist Bedingung für den regulären Fortgang eines Geschäftsprozesses am Client.
Die Installation des Client beschränkt sich auf Kopieroperationen; sie verzichtet auf eine Integration in das Betriebssystem und erlaubt ein vereinfachtes automatisches Software-Update, das dem Benutzer keine Wahl oder Eingriffsmöglichkeiten gibt. Die direkte Lauffähigkeit des Client von einem mobilen Speicher ist ebenfalls gewährleistet.

## Handelsnamen

Erste Verwendung des Begriffes erfolgte durch das Produkt "SmartClient" der Firma Isomorphic Software, einem auf JavaScript basierenden AJAX-Framework zur Entwicklung von Webanwendungen.
Etwa zeitgleich (2001) entwickelte die Suse Linux AG bei der Debeka Versicherung ein SmartClient genanntes Administrationswerkzeug. Mit dem SmartClient werden seither bei der Debeka 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.