Die Zukunft von Webapplikationen im Browser – und Spring

Spring und HTML5: Frühling für den Browser

Agim Emruli und Stefan Niederhauser

„Server is king“ dieses Motto galt einmal für alle Webanwendungen. Mit einem Bündel an neuen Spezifikationen werden bekannte Paradigmen und Grenzen zwischen Browser und Server in der Webentwicklung in Frage gestellt. Dieser Artikel beschreibt den Einfluss von neuen HTML5-Technologien auf Java- – genauer Spring MVC- – Webapplikationen.

Mehr zu Spring

Der Artikel „Spring und HTML5: Frühling für den Browser“ von Agim Emruli und Stefan Niederhauser ist Teil des Heftschwerpunktes zum Spring Framework im:

Java Magazin 12.2012.

HTML und die dazu gehörenden Browser wurden ursprünglich zur Anzeige von statischen Dokumenten konzipiert. Doch die große Installationsbasis und Verfügbarkeit der Browser führte zur Umsetzung von (Geschäfts-)Anwendungen auf Basis von HTML. Die Anforderungen der Anwendungen überstiegen dabei die bescheidenen Funktionalitäten des Browsers. Es bestand daher die Möglichkeit, diese Funktionalität auf dem Server auszuführen oder aber auf eine Plug-in-basierte Technologie wie Adobe Flash oder Microsoft Silverlight zu setzen. Letztere hatten jedoch aufgrund der zusätzlichen Installation von Drittsoftware Schwierigkeiten, sich im Enterprise-Umfeld durchzusetzen. Beginnend mit dem Apache-Struts-Framework ist ein großer Markt an Frameworks entstanden, die sämtliche Aufgaben wie Templating, Validierung, Formatierung und Datenaufbereitung für den Browser auf dem Server übernehmen. Auf der Clientseite sind ebenfalls JavaScript-Frameworks, allen voran jQuery, entstanden, um den Browser um neue Funktionalitäten zu erweitern.

Mit HTML5, das eine Sammlung von Standards darstellt, sollen elementare Funktionalitäten, die vormals auf dem Server oder über JavaScript auf dem Client umgesetzt wurden, standardisiert werden. Die Standardsammlung reicht dabei von neuen Elementen zur Strukturierung von Seiteninhalten über Datentypen für Eingabefelder bis hin zur grafischen Aufbereitung von Daten auf dem Browserclient. Dadurch sollen die Anwendungen eine bessere Benutzung erlauben, da man nicht für kleinste Aufgaben eine Serveranfrage benötigt, und auch dem Browser auf Basis neuer Metadaten erlaubt, die Anzeige und Eingabe mit eigenen Inhalten zu optimieren.

Validierung

Bisher mussten sämtliche Eingaben auf dem Server oder über eigene JavaScript-Funktionen validiert werden. Der Browser kannte in den älteren Standards lediglich Texteingabefelder. Mit dem HTML5-Standard [1] werden dem Browser gängige Datentypen wie z. B. Datum, E-Mail, Ganzzahl beigebracht. Dadurch kann der Browser Eingabehilfen in Form von Widgets darstellen und auch die Validierung bereits bei der Eingabe durchführen. Für Java-Webanwendungen bedeutet dies, dass die zusätzlichen Metadaten dem Browser übermittelt werden müssen, damit die Validierung ergänzend zur serverseitigen Validierung erfolgen kann. Mit Spring MVC werden Eingabefelder über eine Tag-Library definiert, die bei der Ausführung auf dem Server HTML-Code erzeugen. Mithilfe der Tag-Library können die Typinformationen über das type-Attribut mitgegeben werden.

Listing 1

Neben der Validierung kann über die Metadaten auch das bei Seitenaufruf selektierte Feld über das Attribut autofocus gesetzt werden. Zusammenfassend kann also gesagt werden, dass durch die Metadaten der Einsatz von JavaScript-Code zur Validierung und einfachen Funktionalitäten wie das Fokussieren von Eingabefeldern obsolet ist. Auf der Serverseite können diese Tags einfach durch die Spring MVC Tag Library mitgegeben werden.

Geschrieben von
Agim Emruli und Stefan Niederhauser
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.