Der Smart Client

NextDer Smart Client ist eine wartungsfreie, benutzer- und gruppenspezifische Rich Client Anwendung, die vollständig aus Modulen aufgebaut ist. Das Konzept verbindet die Vorteile von Web und Portal basierten Systemen mit den Möglichkeiten klassischer Desktop Anwendungen.

Das Prinzip ist einfach und zugleich sehr leistungsfähig. Über das Netz wird zunächst eine “leere” Basisanwendung installiert. Bei jedem Start der Anwendung wird implizit oder explizit über ein Login eine Verbindung zu einem Server hergestellt. Dieser stellt eine system- und/oder benutzerspezifische Konfiguration zur Verfügung, die gegen die aktuelle Installation abgeglichen wird. Dabei werden alle konfigurierten Module je nach Erfordernis überprüft, repliziert, aktualisiert oder (de)installiert 1.  (siehe auch: Smart Client live Demo oder der fiktive Beispielarbeitsplatz rechts ->) SmartClientDesktopExample

Auf diese Weise ist eine Smart Client Anwendung vollständig automatisiert und besitzt immer die funktionale Ausprägung, die zentral und anwenderspezifisch definiert ist – ohne dass dafür eigene Prozesse oder externe Tools eingesetzt werden müssen.

One fits All – Konzept

SmartClient

Vereinfachter Build
Ein anderer entscheidender Vorteil dieser Konstruktion, bei der die binären Komponenten der Anwendung selbst Daten der Anwendung sind, ist der, dass der Server zur Laufzeit bestimmen kann, welche Teile eines Moduls er einem Client zur Verfügung stellt. Auf diese Weise erhält ein Client z.B. nur die tatsächlich exportierten Schnittstellen und Datenobjekte eines genutzten Server Dienstes.

Dadurch ist es nicht mehr notwendig zur Buildtime unterschiedliche Pakete für Client und Server zu packen – wodurch in der Folge auch die normalerweise notwendige und u.U. komplexe Paketierungsmechanik und die dafür eingesetzen Tools überflüssig werden.

Klareres Design
Diese Fähigkeit fördert auch ein klareres und einfacheres Design – weil das Design nicht gezwungen wird Bibliotheken nach technischen Gesichtspunkten bzw. Notwendigkeiten zu schneiden oder einzuführen (Entschärfung von Thematiken wie DTO, Business Facade, Service Tier etc.).

Flexiblerer Nutzung
Da ein SmartClient im Prinzip nur eine Konfiguration ist und der Server kein Deployment und dementsprechend auch keinen Gesamtbuild mehr benötigt unterstützt diese Kombination auch eine flexible, On Demand Nutzung durch unterschiedliche Anwender, an unterschiedlichen Lokationen und in unterschiedlichen Nutzungsphasen. Z.B

  • ein Entwickler kann sich immer den Client konfigurieren den er gerade für seine Arbeit braucht
  • Analysten und Fachleute können zu jeder Zeit mit Prototypen arbeiten
  • Tester können zu jeder Zeit und an jedem Ort die Module testen, die gerade getestet werden müssen
  • Anwender können Pre-Releases von neuen Funktionalitäten eingespielt bekommen
  • unterschiedliche Anwender oder Gruppen können unterschiedliche Clients haben
  • usw. … alles auf Abruf, bei Bedarf und ohne Aufwand – auf dem Desktop und im Web

_________________________
1: Das SmartClient oder Workbench Prinzip ist nicht neu (siehe z.B. Eclipse, P2 o.ä.). Der wesentliche Unterschied zu bekannten Paketverwaltungen und Provisioning-Systemen ist der, dass eine ISA Client Konfiguration auf einem Benutzerprofil aufbaut und als Verteilungseinheit nur das Modul und seine Abhängigkeiten kennt.

Das System verteilt also keine Java Pakete eines “Produkt oder eines Produktmoduls” – sondern Module, die ein bestimmter Benutzer oder eine bestimmte Benutzergruppe benötigen.