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

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Das jüngste Update für Windows, macOS und Linux stopft drei Löcher. Eine Anfälligkeit setzt Nutzer…

55 Minuten ago

Apple schließt Zero-Day-Lücken in iOS, iPadOS und macOS

Zwei von Google-Mitarbeitern entdeckte Schwachstellen werden bereits aktiv gegen Mac-Systeme mit Intel-Prozessoren eingesetzt. Sie erlauben…

4 Stunden ago

Gefährliche Anzeigen für Passwortmanager Bitwarden verbreiten Malware

Die Hintermänner haben es unter anderem auf Daten von Facebook-Geschäftskonten abgesehen. Opfer werden über angebliche…

20 Stunden ago

Public Cloud: Gartner erwartet 2025 weltweite Ausgaben von 723 Milliarden Dollar

Bis 2027 werden 90 Prozent der Unternehmen eine Hybrid-Cloud-Strategie umsetzen.

1 Tag ago

iPhone 15 ist bestverkauftes Smartphone im dritten Quartal

Apple belegt in der Statistik von Counterpoint die ersten drei Plätze. Samsungs Galaxy S24 schafft…

1 Tag ago

So günstig & effizient war Content Produktion noch nie: Neues Content System erobert deutschen Markt

Kontinuierliche Content Produktion und Markenaufbau sind essentieller Pfeiler von langfristigen Unternehmenserfolg. Das ist mittlerweile auch…

1 Tag ago