Open Source im professionellen Einsatz

Seiten live auffrischen

Das Beispiel zeigt den Vorteil von Zkoss: Server-seitige Lösungen wie PHP oder JSP erzeugen natürlich auch HTML mit Objektattributen - aber nur einmalig dann, wenn sie die Seite aufbauen. Zkoss erzeugt hingegen eine HTML-Seite mit Live-Funktion und den damit gewünschten RIA-Effekten. Ähnlich bequem aktualisiert der Code das Tortendiagramm. Er bindet die Funktion »updatePie()« in Zeile 26 an die »listbox« und aktualisiert das Diagramm, sobald die Seite ein »onSelect«-Event empfängt.

Für die Entwickler verhält sich Zkoss dagegen wie ein normales JSP-Webprojekt, statt in JSP und Java schreiben sie eben ZUML und Java. Dazu benötigen sie die Zkoss-Bibliotheken [6]. Das Archiv »zk-bin-5.0.1.tar.gz« enthält eine Reihe von Java-Dateien, deren Installation in einem Applikationsserver eine beigelegte PDF-Dokumentation erläutert. Eclipse-Anwender haben es noch bequemer und laden sich das Zk-Studio-Plugin über den Update-Manager. Dann hilft ein Wizard beim Setup eines Entwicklungsprojekts. Außerdem enthält ZK Studio einen einfachen Wysiwyg-Oberflächeneditor.

Die Software kommt in einer großen Vielfalt an Zusammenstellungen und unter mehreren Lizenzen: Die Anfang dieses Jahres erschienene Version 5 der Basis, die der Anbieter Community Edition (CE) nennt, steht neuerdings unter der LGPL [7]. Für die bisherige Version 3 galt die GPL. Zk CE 5 enthält jedoch nicht alle Komponenten, so sind Kalender, Spreadsheets oder auch die aufwändigeren Layouts in der Professional (PE) beziehungsweise Enterprise Edition (EE) gebündelt. Sie stehen unter einer proprietären Lizenz, die mit rund 250 US-Dollar ohne oder 600 US-Dollar mit Support pro Entwickler zu Buche schlagen. Projekte dürfen für Open-Source-Erweiterungen beim Anbieter Potix um eine nicht öffentlich zugängliche ZK Open Source License (ZOL) anfragen.

Einende Bibliothek fürs Web

Den Anspruch, Rich Internet Applications mit sinnvollem Aufwand und Server-seitiger Anwendungslogik zu bieten, erfüllt die Bibliothek weitgehend. Vor allem Entwickler mit einem Hintergrund in Swing oder Eclipse RCP fühlen sich in Zkoss sofort zu Hause. Gerade die Kombination von ZUML-Datei und Java-Code bietet einen effizienten Weg, Anwendungen Schritt für Schritt vom Prototyp zur fertigen Anwendung weiterzuentwickeln. Positiv gefällt die Beschränkung auf den View-Teil einer Anwendung: Zkoss stellt keine besonderen Anforderungen oder Einschränkungen an Model und Controller. Bereits vorhandene Anwendungslogiken integrieren sich leicht.

Den Ansatz verfolgen die Zkoss-Entwickler auch selbst: Widgets wie Google Maps, Simile Timeplots [8] oder Astra Charts [9] haben sie in Zkoss integriert. Und selbst mit der reinen Basisbibliothek lohnt sich der Einsatz von Zkoss. Gerade Fachanwendungen mit umfangreicher Anwendungslogik kommen damit in den Genuss aktueller Weboberflächen, ohne dass sich die Entwicklung im Gestrüpp von Ajax verheddert.

Infos

[1] Demo: [http://zkoss.org/zkdemo/userguide]

[2] Mozilla XUL:[https://developer.mozilla.org/En/XUL]

[3] Apache Tomcat: [http://tomcat.apache.org]

[4] Applikationsserver Glassfish:[https://glassfish.dev.java.net]

[5] Linux-Magazin-FTP-Server mit den Quellen der Anwendung: [ftp://ftp.linux-magazin.de/pub/magazin/2010/05/ZK/]

[6] Download von Zk 5 CE:[http://www.zkoss.org/download/zk.dsp]

[7] Zk-Lizenzen: [http://zkoss.org/license/]

[8] Simile-Timeplot:[https://simile.mit.edu/timeplot/]

[9] Astra Flash Components: [http://developer.yahoo.com/flash/astra-flash]

Der Autor

Carsten Zerbst arbeitet als Projektleiter und Software-Architekt im CAD- und PDM-Umfeld für die Luft- und Raumfahrtindustrie sowie den Schiffbau.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook