Der Web Development Day auf der JAX 2014

Sterbende Application Server, aufblühende Clients und unterschätztes HTTP

Redaktion JAXenter
© S&S Media

„Wir leben nicht auf einer isolierten Java-Insel“, stellte JAX Program Chair Sebastian Meyen in seiner Eröffnungsrede fest. Mitverantwortlich für die zunehmende Verflechtung Javas mit anderen Technologien ist nicht zuletzt der Fortschritt der Webentwicklung. Und die ist auf der JAX mittlerweile genauso Tradition wie etwa der Java EE Day. Mit WebSocket, Vaadin, Vert.x & Co. wurden auf dem Web Development Day wieder wichtige Facetten aktueller Webentwicklung beleuchtet.

 

Den Auftakt machte Matthias Wessendorf (Red Hat, s. Bild) mit seiner Session „Quo vadis, WebSocket?“ 2009 aus der Taufe gehoben, ist WebSocket seit Ende 2011 offizieller Standard (RFC 6455). Wessendorf zeigte auf, was das Protokoll ausmacht – nämlich seine Bidirektionalität und der geringe Overhead – und wie sich der praktische Einsatz des Protokolls in der Praxis gestaltet. Mittlerweile wird WebSocket von allen gängigen Browsern unterstützt. Nachzügler war hier wie so oft der Internet Explorer, der einen entsprechenden Support erst ab Version 10 enthält.

Matthias Wessendorf, "Quo vadis, WebSocket?"

Den Java Specification Request 356, auch bekannt als das Java-API für WebSocket, nahm Weßendorf anhand praktischer Beispiele ebenfalls unter die Lupe. Pain Points von WebSocket sind u. a. alte Browser, unterschiedliche Protokoll-Versionen und Verbindungsabbrüche. Hier empfahl Wessendorf das GitHub-Projekt reconnecting-websocket: eine JavaScript-Bibliothek, die prüft, ob die Verbindung offen ist und diese ggf. neu herstellt. In Mobile-Anwendungen hat das Protokoll noch eine lange Reise vor sich. Vor allem bei 3G-Verbindungen sei es noch lange nicht verlässlich, so der Speaker. Abhilfe schaffen hier sichere Verbindungen (TLS-Zertifikate) sowie die Fallback-Mechanismen von Engine.io und Socket.io.

Trotz allem ist WebSocket ist im Mainstream angekommen. Das zeigt u.a. die breitete Unterstützung im Allgemeinen sowie der HTTP-2.0-Draft von Microsoft, der, so Wessendorf, „sehr WebSocket-lastig“ ist.

Die Ausgangsfrage in der Session „Rock Your Web Apps“ von Ville Ingman (Vaadin) lautete: Wie findet man das passende Web-Framework? Die Anforderungen an die geplante Anwendung lassen sich laut Ingman anhand zweier Überlegungen erfassen: 1. Ist die Anwendung eher inhalts- oder eher datenzentriert? 2.  Kennzeichnet sie eher ein langer oder ein kurzer Lebenszyklus? Das Java-Web-Framework Vaadin, das Ingman in seiner Session unter die Lupe nahm, ist besonders für datenzentrische Anwendungen mit langem Lebenszyklus geeignet. Die Philosophie hinter Vaadin: Serverseitig steht Produktivität im Fokus, clientseitig Kontrolle. Die Komponentenbeschaffenheit und Erweiterbarkeit führte Ingman anhand einer hybriden Strafzettel-App vor, die unter demo.vaadin.com/parking zur Verfügung steht.

„Application Server sind tot!“ war schon auf der W-JAX 2012 das Kern-Statement einer Keynote, was zeigt, dass das Thema schon seit einiger Zeit die Gemüter von Entwicklern bewegt – besonders im Enterprise-Java-Umfeld, wird Enterprise Java doch oft in einem Atemzug mit Anwendungsservern genannt. Der Technologie-Allrounder Eberhard Wolff nahm sich des Themas in seinem Nachmittagstalk erneut an. Er hinterfragte die landläufige Annahme, dass eine Anwendung auf einem Server einen Anwendungsserver benötige. In einem exzellent strukturierten Talk präsentierte Wolff einen kompakten Problemaufriss. Dabei wurde u. a. deutlich, weshalb der klassische Application Server keine klare Trennung von Ressourcen erlaubt und daher streng genommen als ein Container für eine, nicht mehrere Anwendungen ist. Ferner veranlasste die gegenseitige Abhängigkeit von Anwendung und Server den Speaker zu der These: „Ein Anwendungsserver ist nur ein weiterer Teil der Anwendung.“ Monitoring werde zwar durch JMX gewährleistet; das träge Deployment sei aber mit Blick auf die Kürze heutiger Releasezyklen und die Continuous-Delivery-Praxis unzeitgemäß. Auch die Konjunktur von Microservices, also voneinander unabhängiger Service-Komponenten, die peu à peu monolithische Architekturen ablösen, mache dem Anwendungsserver den Garaus: Zum einen handle es sich oft um sehr heterogene Services, zum anderen gingen diese oft mit anderen, nicht-funktionale Anforderungen einher, z. B. Asynchronität, Batches oder MapReduce. Spring Boot, Dropwizard, Vert.x oder das Play-Framework etwa seien Beispiele dafür, dass Anwendungsentwicklung auch ohne Container möglich sei. Ein Interview mit Eberhard Wolff über Microservices wird demnächst hier auf JAXenter zu sehen sein. Die Präsentation steht auf Slideshare bereit.

Nach diesen Denkanstößen, über die während der Kaffeepause sicher viele Teilnehmer sinnierten und diskutierten, plädierte Hadi Hariri (JetBrains) in seiner mit feinem Humor durchzogenen Session „Moving the Web to the Client“ für eine stärkere Gewichtung der Client-Seite, den Einsatz von Frameworks wie Knockout, Ember, AngularJS oder Backbone – und eine bessere Nutzung und Würdigung der altehrwürdigen Technologie HTTP. Letztere werde von vielen unterschätzt; sie komme gemeinhin in der Transportschicht zum Einsatz, sei aber eigentlich ein Anwendungsprotokoll, in der OSI-(Open Systems Interconnection-)Architektur also in der obersten Schicht verortet. Der Serverseite sollte lediglich die Verarbeitung und Speicherung von Daten vorbehalten sein, so Hariri.

Den krönenden Abschluss des Web Development Days bildete Vert.x. Nicht, dass die polyglotte Plattform zur Programmierung asynchroner I/O-Anwendungen nicht ohnehin schon durch die Vorträge des Tages gegeistert wäre (jeder Speaker erwähnte sie zumindest einmal während seines Talks). Auch auf der JAX bzw. W-JAX wurde Vert.x, mittlerweile Eclipse-Projekt, schon mehrmals vorgestellt. Doch dieses Mal gab sich Vert.x-Schöpfer und Projektleiter Tim Fox (Red Hat) die Ehre. So war der voll besetzte Saal sicher nicht nur dem Thema zu verdanken, sondern auch dem charismatischen Speaker, mit dessen Namen Vert.x beinahe untrennbar verbunden ist.

Geschrieben von
Kommentare

Hinterlasse einen Kommentar

1 Kommentar auf "Sterbende Application Server, aufblühende Clients und unterschätztes HTTP"

avatar
400
  Subscribe  
Benachrichtige mich zu:
Müller Hans
Gast
Sterbende Application Server? Eberhard Wolf treibte eine neue Sau durchs Dorf? Das ist aber interessant…Bumm, oh, das war der Sarkasmusdetektor, der gerade explodiert ist. So eine Aussage halte ich erstmal für realitätsfremd, die Argumente an den Haaren herbeigezogen. Gibt genug Unternehmen, die App-Server seit Jahren als Multi-App-Server erfolgreich betreiben, ohne die herbeigeredeten (herbeigewünschten?) Nachteile zu haben. Warumist den Resourcen-Sharing schlecht? Gibt es nicht mittel das Sharing organisatorisch zu unterbinden? Für Herrn Wolf offensichtlich nicht, aber er ist ja bekannt als "Experte" in allen Gebieten. Sicher – App-Server werden sich stark verändern. Sie dem aktuellen Trend folgen und werden immer leichtgewichtiger… Read more »