Java- und XML-Clients mit dem WidgetServer entwickeln
Seite 2: Client-Vielfalt
Diverse Clients aus einer einzigen Quelle
(Bild:Â C1 Setcon GmbH)
Der WidgetServer von C1 SetCon ist ein Java-Framework zur Erstellung von Multiclient-Anwendungen, das Funktionen aus verschiedenen Welten zu einem Programmieransatz kombiniert. Begonnen hat die Entwicklung des Framework Anfang 2003, eineinhalb Jahre später war eine erste Beta-Version (0.1.0) auf java.net verfügbar, mittlerweile ist die Version 1.8.1 aktuell. Was ursprünglich als Alternative zu konfigurierbaren User-Interface-Ansätzen (XML/GUI und XUL) gedacht war, entwickelte sich zu einem viel weitergehenden Satz von Funktionen. Neben der reinen Beschreibung der Oberflächen auf Basis von XML bietet der Server die Möglichkeit, in Java zu programmieren. Das Framework folgt weitgehend der von Swing bekannten API. Ergänzend dazu kann der Anwender Oberflächen in HTML beschreiben und bei Bedarf alle Ansätze in nahezu beliebiger Kombination verwenden. Auf der Basis eines Quellcodes lassen sich so verschiedene UI-Techniken bedienen:
- Swing-Stand-alone-Anwendung (Fat Client)
- Swing-Client/Server-Anwendung mit einem generischen Swing-Client ĂĽber TCP/IP Sockets (Thin Client) oder HTTP/HTTPS (Thin-HTTP-Client)
- Web/HTML-Anwendung mit einem auf HTML, CSS und gegebenenfalls Javascript und Ajax basierenden Client ĂĽber HTTP/HTTPS (Ultra-Thin-Client)
- Mobile Clients (JSR-216 "Personal Profile" oder Mobile IE)
Eine mit dem WidgetServer-Framework lauffähige Oberfläche setzt sich aus verschiedenen Steuerelementen (Widgets) zusammen. Dazu zählen unter anderem Panels, Trees und Inputfields. Jedes löst bei der Bedienung einen Event aus. Für diese Aktionen wiederum kann der Programmierer Listener registrieren, die wunschgemäß reagieren. Damit folgt der WidgetServer dem MVC Pattern (Model, View, Controller). Der Client muss die Kommunikationskanäle nicht direkt ansprechen. In Swing-Anwendungen übernimmt das Framework die komplette Client-Server-Kommunikation einschließlich Kompression und gesicherter Übertragung. Für die Wahl des richtigen Clients ist lediglich der Aufruf entscheidend. Ist die Anwendung in einem JEE-Webcontainer installiert, kann man direkt per Browser auf sie zugreifen. Für Swing-Anwendungen mit Stand-alone- und HTTP-Clients bietet das Framework eine Startklasse an. Abgerundet wird die Funktionspalette durch einen GUI Builder sowie eine erste rudimentäre Version eines Eclipse-Plug-in.