Skip to content

Nach der W-JAX ist vor der JAX

Die W-JAX war mal wieder ein voller Erfolg. Erstmals waren über 750 Teilnehmer da und auch der erste Spring Day in München war gut besucht. Da ich diesmal viel auf dem SOFTCON-Stand war konnte ich nur wenige Sessions besuchen, aber die Gespräche waren dafür umso interessanter.

Jetzt geht es allerdings schon wieder mit der Planung für die JAX los, bei der aus auch wieder einen Spring Day geben wird, allerdings mit einigen Neuerungen. Hier können auch noch bis morgen (17.11.2006) Vorschläge unter http://www.jax.de/input eingereicht werden.

Security beim W-JAX Ballroom

Dieses Jahr findet auf der W-JAX am Dienstagabend das erste Mal der W-JAX Ballroom statt. Dazu werden im großen Ballsaal Tische zu verschiedenen Themen wie Web 2.0, JSF, Security, Eclipse und viele mehr aufgestellt. Die Tische werden von einem oder mehreren Speakern betreut, die die Diskussionen moderieren und für Fragen zur Verfügung stehen. Eine ideale Gelegenheit also den Konferenztag in lockerer Atmosphäre ausklingen zu lassen.

Ich werde zusammen mit Bruce Sams den Security-Tisch betreuen und freue mich jetzt schon auf interessante Gespräche.

XAP – extensible ajax platform

Im Apache incubator (der Brutstätte neuer OSS-Projekte) befindet sich seit einiger Zeit das XAP-Projekt. Ziel des Projekts ist eine Plattform für AJAX-Anwendungen zu schaffen, bei der die Oberfläche nicht mit HTML und JavaScript gestaltet wird, sondern per XML (genauer gesagt XAL) definiert wird. In dem XAL können dann auch Eventhandler angelegt werden, die auf JavaScript-Funktionen verweisen.

Aus der XAL-Definition erzeugt XAP dann mithilfe des Dojo-Toolkits eine AJAX-Oberfläche. Ab hier können dann per JavaScript die Dojo-Funktionen benutzt werden und so die Oberfläche verändert werden. Allerdings bietet XAP auch die Möglichkeit während der laufenden Anwendungen das zugrunde liegende XAL (also die Oberflächendefinition) dynamisch mittels XModify zu verändern. So muss man also nicht unübersichtliche JavaScript-Funktionen schreiben sondern kann in der gleichen Sprache wie die Oberfläche definiert wurde diese auch wieder verändern. Der XModify-Code kann dabei von dynamischen Seiten (z.B. PHP, JSP, Struts, …) erzeugt werden.

Im einfachsten Fall besteht ein Eventhandler dann aus nur einem Statement:

service.retrieveAndProcess(‘update.php’);

Die Datei update.php liefert dann folgendes:

<xal xmlns=”http://www.openxal.org/xal”>
<xm:modifications xmlns:xm=”http://www.openxal.org/xmodify”>
<xm:set-attribute select=”/xal/label”><xm:attribute name=”text” value=”Das kommt vom Server!”/></xm:set-attribute>
</xm:modifications>
</xal>


Dabei wird per XPath ein Label selektiert und das Attribut text auf den Wert “Das kommt vom Server!” geändert. Die JavaScript-Lösung dazu würde folgendermaßen aussehen:

var ui = session.getDocumentContainer().getUiDocument()
var el = ui.getElementById ( “label”);
el.setAttribute ( “text”, “Das kommt vom Server!” )

Der Client kann dies dann mit folgenden Statements einbinden:

var result = service.retrieve (‘jsupdate.php’);
eval ( result.responseText );

Die XML-Lösung hat dabei den Vorteil, das mit XPath eine deutlich mächtigere Sprache zur Verfügung steht um Element in der UI zu selektieren als dies JavaScript mit seinem DOM-Tree anbietet. Mit XModify können natürlich nicht nur Attribute geändert werden sondern auch komplett neue Bereiche hinzugefügt werden, und das mit der gleichen Syntax wie die statische Oberfläche definiert wurde. Ein weiter Vorteil ist auch, das man sich bei der Verwendung von XML nicht auf JavaScript festlegt und so später auch die Möglichkeit hat, auf eine andere Client-Plattform wie z.B. Java oder .NET wechseln.

XAP bietet also eine hohe Abstraktion von AJAX- bzw. Web2.0-Anwendungen, lässt aber trotzdem die freie Wahl bei der verwendeten Servertechnologie, im Gegensatz zu GWT, JSF+AJAX. Hinter dem Projekt steht übrigens die Firma Nexaweb, welche mit der Nexaweb Platform eine kostenpflichtige Enterprise Web 2.0 Plattform für Rich Internet Applications (RIA) anbietet. Derzeit kommt hier Java (aRex) als Clienttechnologie zum Einsatz. XAP soll dann als Basis für eine kommerzielle AJAX-Oberfläche (jRex) dienen, sodass also von einer zügigen Weiterentwicklung auszugehen ist.

Informationen zu Nexaweb und zu XAP gibt es übrigens auch bei der W-JAX 2006 auf dem gemeinsamen Messestand von SOFTCON und Nexaweb.

Tagged , ,