21.07.2005, 14:10 Uhr

Java-Lösung für Smart-Clients

Ultra-Light-Client ermöglicht die Entwicklung von Rich-Internet-Anwendungen, die vollständig auf Java-Standards beruhen.
(Illustrationen: cw/thü)
Zehn Jahre nach der Einführung ist Java auf dem Server weit verbreitet. Auf dem Client sieht es anders aus: HTML-, Javascript-, Flash-, oder gar .NET-basierte Clients werden für Java-Server-Anwendungen entwickelt. Diese Vielfalt ist eine Folge der anfänglichen Schwächen von Java auf dem Client. Während Jahren waren Java-Clients schlecht integrierbar in die Infrastruktur der Desktop-Plattform und des Browsers, hatten kein ansprechendes «Look & Feel» und waren teilweise instabil. Diese Defizite sind mittlerweile behoben, so dass Java auf dem Desktop, im Browser oder in mobilen Geräten für viele Szenarien sinnvoll geworden ist.

Java Smart-Clients

Auch für Smart-Clients gibt es Java-basierte Lösungen. Beispiele sind AltioLive [1], Droplets [2], Nexaweb [3] und Ultra-Light-Client [4]. Sie haben folgende Vorteile gegenüber den Flash- oder JavaScript-basierten Ansätzen:
- Reine Server-Architektur: Zur Laufzeit wird kein ausführbarer Programmcode vom Server auf den Client transferiert wie das typischerweise bei Flash- oder JavaScript-Ansätzen der Fall ist. Dadurch entsteht eine reine Server-Architektur (Grafik) mit Vorteilen bezüglich Sicherheit, Entwicklung, Betrieb und Wartung.
- Homogene Technologie: Sowohl die Programmiersprache als auch die Laufzeitumgebung basieren ausschliesslich auf Java. Das vereinfacht fast alle Prozesse im Lebenszyklus der Software, weil weniger Werkzeuge eingesetzt, weniger Abhängigkeiten kontrolliert, und weniger Know-how bereitgestellt werden müssen.
- Installations-Optionen: Das GUI erfordert eine «Java Runtime Engine» (JRE) und kann sowohl als Applet als auch auf dem Desktop ausgeführt werden. Bei einigen der Lösungen ist es sogar möglich, Client und Server innerhalb eines einzigen «stand-alone»-Prozesses zu installieren. Damit können Programme entwickelt werden, die sowohl als Client/Server-Anwendung als auch stand-alone lauffähig sind, was besonders für On-/Offline-Szenarien attraktiv ist. Zudem sind Java- Implementierungen auf einer breiten Palette von Systemen verfügbar, bis hinunter zu mobilen Geräten wie PDA oder Mobiltelefonen.

Vergleichbare Technologien

Ultra-Light-Client unterscheidet sich von vergleichbaren Technologien vor allem durch die rigorose Verwendung der Java-Standards. Während Droplets, AltioLive und Nexaweb eigene GUI-Bibliotheken auf der Basis von AWT anbieten, verwendet Ultra-Light-Client ausschliesslich die Standard-Swing-Bibliothek und deren API. Ausserdem implementiert Ultra-Light-Client keinen eigenen GUI-Server wie die Konkurrenz, sondern delegiert alle Infrastruktur-Aufgaben an die J2EE-Plattform.
Canoos Motivation für diese Differenzierung ist die Zielsetzung, Ultra-Light-Client für Hersteller von vertikalen Softwareprodukten und für Grosskonzerne attraktiv zu machen. Die Verwendung der Standards reduziert den Lock-in und das Firmenrisiko erheblich, da die gesamte wesentliche Infrastruktur wie das Look & Feel, Accessability, Client/Server-Kommunikation, Session Handling, Clustering und Failover von der J2EE/J2SE-Plattform übernommen wird.
Durch die konsequente Nutzung der Standard-Infrastruktur ist Ultra-Light-Client sehr schlank geworden. Lediglich 50000 Zeilen Java-Code genügen, um in einer J2EE-Plattform swingbasierte Smart-Clients zur Verfügung zu stellen. Das ist aus zwei Perspektiven attraktiv: erstens aus Sicht des Risikos, da der Kunde im schlimmsten Fall mit 50000 Zeilen Java-Code auf Produkt-Qualitäts-Niveau «allein gelassen» wird. Zweitens können Kunden, die erhebliche Investitionen in den Aufbau von J2EE-Plattformen für HTML-Anwendungen getätigt haben, diese Plattform uneingeschränkt wiederverwenden und sogar HTML-GUIs mit den neuen hochinteraktiven GUIs kombinieren.

Nutzen für die Kunden

Zu den rund 60 Kunden von Ultra-Light-Client gehören internationale Grosskonzerne wie Otto, Würth, Siemens, Hewlett-Packard und UBS, die J2EE schon seit längerem erfolgreich einsetzen. UBS hat kürzlich eine weltweite, uneingeschränkte «Corporate Lizenz» gekauft und beabsichtigt, das Produkt Hunderten von Entwicklern zur Verfügung zu stellen.
Dutzende von Ultra-Light-Client-basierten Anwendungen und Produkte sind operativ beziehungsweise auf dem Markt. Die bisherigen Erfahrungen der Kunden haben gezeigt, dass die Entwicklung und Wartung im Vergleich zu HTML-basierten Anwendungen etwa doppelt so effizient ist. Dies ist in erster Linie eine Folge davon, dass Ultra-Light-Client-GUIs weniger und einfacheren Code benötigen. Anstelle einer komplexen Mischung von HTML, JSP, Servlets, Struts, JavaScript und XSLT kann vergleichsweise kompakter und einfacher Java-Code mit homogenem Programmiermodell erstellt werden. Neben der effizienteren Entwicklung und den Vorteilen einer hochinteraktiven Benutzerschnittstelle ist die Server-seitige Architektur für die meisten Kunden ein wichtiger Erfolgsfaktor. Produkthersteller wie Navis, der weltweit führende Hersteller von Logistik- Software für Hafenverwaltung und Container-Management, möchten künftig Ihre Software vermehrt «aus der Steckdose» anbieten. Für solche ASP-Dienstleistungen ist Ultra-Light-Client ideal, da durch die Server-seitige Haltung der Programm- und Datenlogik auch höchste Sicherheitsanforderungen erfüllt werden können.

Fazit

Die reine Server-Architektur, homogene Technologie und die vielfältigen Installations-Optionen sind die hauptsächlichen Trümpfe der Java-basierten Smart-Clients. Sie führen zu effizienter Entwicklung und Wartung, hohem Sicherheitsniveau und weniger Abhängigkeiten beziehungsweise kleinerem Risiko.
Dem gegenüber steht ein einziger, allerdings nennenswerter Vorteil der Flash- und Javascript-basierten Ansätze: Sie sind für viele B2C-Szenarien im Internet besser geeignet, da JavaScript in fast allen Browsern eingebaut und Flash oft als Plugin vorinstalliert ist. Für den Erstbenutzer oder gelegentlichen Benutzer, der via Search-Engine auf eine Anwendung stösst und sie sofort ausführen will, ist die Installation eines Plugins kaum zumutbar. Für die meisten anderen Szenarien, das heisst für Intranet- oder B2B-Anwendungen im Internet, sind die Java-Lösungen infolge der tieferen Entwicklungs- und Wartungskosten im Vorteil.

Interaktive Benutzerschnittstellen

Sie heissen Rich Thin Clients, Rich-Internet-Applikationen (RIA) oder Smart-Clients: Gemeint sind Anwendungen, die Web-Technologie mit hochinteraktiven Benutzerschnittstellen kombinieren, wie sie in Desktop-Anwendungen vorhanden sind. Die Basler Canoo bietet mit Ultra-Light-Client eine Lösung, die sich durch ihre konsequente Nutzung der Java-Standard-Infrastruktur auszeichnet. Ultra-Light-Client hat weder einen eigenen GUI-Server noch eigene GUI-Komponenten, sondern transferiert lediglich das API der Standard-Swing-Bibliothek vom Client auf den Server. Damit entsteht eine durchgängige Java-Architektur ohne Fremdelemente, was vor allem die Entwicklung, das Testen und die Wartung erleichtert.
Der Autor:
Marc Domenig ist Geschäftsleiter der Canoo Engineering, Basel.
www.canoo.ch
Marc Domenig


Das könnte Sie auch interessieren