XForms und Java Frameworks

Die meisten Browser sollen irgendwann einmal XForms unterstützen, aber bis es so weit ist, ist die einzige verlässliche und skalierbare Methode für die Implementierung eine serverseitige Verarbeitung.

Was sind XForms?

XForms sind eine XML-Anwendung, die die nächste Generation von Formularen im Internet darstellt. Sie teilen traditionelle XHTML-Formulare in drei Teile auf:

  • XForms-Modell
  • Instanz-Daten
  • Benutzeroberfläche

Diese Aufteilung erlaubt die Implementierung starker Typisierung, Wiederverwendbarkeit, Trennung von Inhalt und Darstellung sowie Plattform-Unabhängigkeit. XForms beseitigt die Notwendigkeit des Scripting fast vollständig. Es dient als Schnittstelle für Online-Interaktionen zwischen einem Benutzer und einem anderen (üblicherweise entfernten) Agenten. Diese Interaktion wird durch einen XForms-Prozessor ermöglicht, ein Programm, das die XForms-Spezifikation implementiert. Eine solche Implementierung ist Chiba. Hier die einzelnen Schritte, die man bei der Arbeit mit Chiba durchführen muss. Man beachte, dass es bislang noch keinen Industriestandard für die Java-ähnlichen APIs von XForms zur XML-Verarbeitung (JAXP, JAXM etc.) gibt, weshalb die interne API von Chiba zukünftigen Änderungen unterworfen sein kann.

Das Formular-Modell

Zuerst muss man ein Formular-Modell erstellen, das die Logik des Formulars beschreibt (Listing A). Dieses Modell spezifiziert, welche Felder erforderlich sind, deren Format und an welche XML-Elemente oder Instanz-Daten sie gebunden sind. Das Beispielformular ist einfach. Es besteht aus einer Listbox mit mehreren Wahlmöglichkeiten und einem Textfeld. In einem Webbrowser ist die bequemste Möglichkeit der Darstellung dieser Steuerelemente eine Auswahlliste


Abbildung A

In dem Modell kann man optionale Default-Instanz-Daten erkennen, die im Element enthalten sind. Mit dieser Instanz wird der XForms-Prozessor initialisiert. Nachfolgend wird auch die andere Möglichkeit, die Instanz an den Prozessor zu übergeben erläutert, nämlich direkt von Java aus als DOM-Knoten. Falls die Instanz nicht initialisiert ist, sollte das Formular leer dargestellt werden.

Anzeige des Formulars

Als nächstes können das Formular angezeigt und die vom Benutzer eingegebenen Daten verarbeitet werden (Listing B). Dafür wird ein kleines Servlet geschrieben, welches das Formular mit der Methode doGet() erstellt und die Benutzerdaten in einem DOM-Dokument sammelt, wenn der Benutzer das Formular mit POST – also der Methode doPost() – abschickt.

Eines der primären Ziele des Chiba XForms-Frameworks ist eine Flexibilität, die auf Java-Interfaces beruht. Man muss dabei nur diejenigen Interfaces implementieren, die den eigenen Anforderungen am besten entsprechen. Ein Benutzer möchte vielleicht ein XForms-Modell in einer separaten Datei speichern, ein anderer vielleicht in einer Datenbank. Diese Flexibilität ist der Grund für die Verwendung von Connectors in Chiba. Wir nutzen einen BasicFileSystemConnector – einen Connector, der das XFormsConnector-Interface implementiert. Einer der Nachteile der Flexibilität von Chiba ist, dass die Konstruktion einer Instanz recht knifflig sein kann, weil höhere Flexibilität immer höhere Komplexität mit sich bringt. In diesem speziellen Beispiel wurde eine Chiba-Instanz mithilfe mehrerer zusätzlicher Wrapper-Klassen konstruiert, statt einfach ein Objekt zu erzeugen.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Gefahren im Foxit PDF-Reader

Check Point warnt vor offener Schwachstelle, die derzeit von Hackern für Phishing ausgenutzt wird.

1 Tag ago

Bitdefender entdeckt Sicherheitslücken in Überwachungskameras

Video-Babyphones sind ebenfalls betroffen. Cyberkriminelle nehmen vermehrt IoT-Hardware ins Visier.

1 Tag ago

Top-Malware in Deutschland: CloudEye zurück an der Spitze

Der Downloader hat hierzulande im April einen Anteil von 18,58 Prozent. Im Bereich Ransomware ist…

1 Tag ago

Podcast: „Die Zero Trust-Architektur ist gekommen, um zu bleiben“

Unternehmen greifen von überall aus auf die Cloud und Applikationen zu. Dementsprechend reicht das Burg-Prinzip…

2 Tagen ago

Google schließt weitere Zero-Day-Lücke in Chrome

Hacker nutzen eine jetzt gepatchte Schwachstelle im Google-Browser bereits aktiv aus. Die neue Chrome-Version stopft…

2 Tagen ago

Hacker greifen Zero-Day-Lücke in Windows mit Banking-Trojaner QakBot an

Microsoft bietet seit Anfang der Woche einen Patch für die Lücke. Kaspersky-Forscher gehen davon aus,…

2 Tagen ago