


Oberflächen dynamisch
XML für graphische Benutzerschnittstellen
Als universelles und freidefinierbares Austauschformat hat XML eine starke Position im Client Server Bereich erreicht. Dieser Beitrag zeigt, dass XML auch im Bereich von Standalone-Anwendungen Einsatz finden kann. Als Beispielapplikation wird dabei eine XML-Datei zur Definition der graphischen Nutzerschnittstelle verwendet und erlaubt damit einfachste Änderungen der Applikation, die sogar auch durch den Endanwender erfolgen können.
Kistenwelt
Strukturiertes und effizientes XML-Parsing mit den APIs SAX2
Mit einem DOM- oder JDOM-Parser lassen sich bekanntlich XML-Dokumente sehr bequem einlesen, jedoch zu einem gewissen Preis: Die Bequemlichkeit ist mit Behäbigkeit und Heap-Belastung zu bezahlen. Grund ist die gelieferte Baumstruktur, die oft nur genutzt wird, um an die darin enthaltenen Informationen zu kommen. Abhilfe verspricht, die Applikation direkt auf ein API von niedrigem Abstraktionsniveau (SAX2, kXML, ...) aufzusetzen. Allerdings lässt sich eine gute Lösung ohne einige systematische Kenntnisse nicht während einer Tasse Kaffee in die Tasten klopfen. Hier will ich etwas Nachhilfe bieten: Ich zeige an einem Beispiel, wie man sowohl für das SAX2-API wie auch für das kXML-API geradlinig zu gut strukturiertem Code für das XML-Parsing gelangt, der sich zudem leicht um Code zur Verarbeitung der gelesenen Informationen anreichern lässt.
Die Verpuppung
Komplexe XML-Anwendungen mit dem Open Source Projekt Apache Cocoon erstellen - Teil 2
In Teil 1 unseres Artikels [1] stellten wir die neue Version von Cocoon [2] vor und demonstrierten anhand von einigen Beispielen die vielfältigen Einsatzmöglichkeiten dieser Open Source-Lösung. In diesem Teil werden wir zusätzliche Konzepte und Komponenten vorstellen, die es erlauben, Cocoon auch für komplexere Anwendungen zu verwenden. Einen Ausblick auf weitere Einsatzgebiete für Cocoon soll diesen Teil abrunden.
Die Verpuppung
XML-Anwendungen erstellen mit dem Cocoon 2, Teil 1
Bereits bei der Vorstellung von Cocoon 1.8 Java Magazin war ein zweiter Entwicklungszweig innerhalb des Apache Open Source-Projekts Cocoon vorhanden. Der geistige Vater von Cocoon, Stefano Mazzocchi, begann die Version 2.0 von Cocoon im November 1999. Mit der Freigabe der Version 2.0 Ende letzten Jahres liegt nun eine stabile und leistungsfähige XML-Lösungsplattform vor. Das Cocoon-Projekt hat beschlossen nur noch diesen neuen Entwicklungszweig weiterzuführen, daher wird keine Versionsnummer im Namen geführt. Dieser 2-teilige Artikel stellt die neue Version von Cocoon vor und demonstriert anhand von einigen Beispielen die Einsatzmöglichkeiten. Der erste Teil stellt eine einführende Übersicht dar, der zweite wird sich tiefer mit den zugrundeliegenden Technologien beschäftigen.
Entwurfsmuster für XML und XSLT
Eine kurze Einführung...
In der objektorientierten Softwareentwicklung sind Entwurfsmuster ein beliebtes Hilfsmittel. Ihr Einsatz erleichtert die Lösung von Problemen durch Kategorisierung, abstrakte Beschreibungen und Implementierungsbeispiele. Für XML und XSLT wurden ebenfalls Muster gefunden und beschrieben.
Xalan++
Zusatzfunktionen und Erweiterungen des XSLT-Prozessors Xalan von Apache
Warnung! Der XSLT-Standard beschreibt nur in groben Zügen, wie ein XSLT-Prozessor um zusätzliche Funktionen und Elemente erweitert werden kann. Aus diesem Grund ist die Verwendung dieser Möglichkeiten immer etwas problematisch. Andererseits lassen sich so sehr einfache und schnell umzusetzende Problemlösungen finden, wie der folgende Beitrag zeigen soll.
Gut gebettet
SOAP DIME - Direct Internet Message Encapsulation
Möchte man SOAP-RP-Botschaften über bestimmte Transportprotokolle versenden, so muss man auf DIME als Bindung an das Protokoll zurückgreifen. Wählt man als Transportprotokoll z.B. TCP oder UDP, so wird die eigentliche SOAP-Botschaft in den DIME-Record eingebunden. DIME als Protokollbindung verfügt aber nur über drei Parameter, die den Inhalt gezielt beschreiben. Damit stellt DIME eine einfache, aber leistungsstarke Möglichkeit dar, SOAP-Botschaften in ein bestimmtes Transportprotokoll zu verpacken bzw. an dieses zu binden. Dieser Artikel beleuchtet DIME und seinen Aufbau und baut auf den Artikel SOAP RP aus der letzten Ausgabe des Java Magazins auf.
Fährtenleser
SOAP-RP: zustandsloses Routingprotokoll für SOAP-Messages
SOAP (Simple Object Access Protocol) bietet mit einem neuen Kommunikationsprotokoll eine Lösung für eine vereinfachte Kommunikation im Web. Das Protokoll wird als zusätzliche Schicht auf einem Transportlayer wie z.B. TCP, UDP oder HTTP aufgesetzt und bietet dadurch alle Möglichkeiten der systemübergreifenden Kommunikation durch Botschaften. Bislang One-Way-Connection, versucht SOAP-RP diese Begrenzung aufzuheben und bietet nun auch so genannte Reverse-Channels zur Rückmeldung von Ereignissen und Antworten aller Art an den Sender der Botschaft.
Attack of the Web Services
Die Early Access Release des WebService Developer Pack im Detail
Betrachtet man sich zur Zeit die IT-Gemeinde, kommt man um die WebServices nicht mehr herum. Jede Sprache und jedes System, sei es .NET, Java etc., versucht mit der bestmöglichen Implementierung aufzutrumpfen. Natürlich könnten wir uns an dieser Stelle fragen, wie die theoretisch optimale Lösung beschaffen sein sollte, aber für heute werden wir dem neuen Hype ein Stück in die reale Java-Welt folgen.
Das Traumpaar Java und XML
Workshop: Arbeiten mit XML in Java, Teil 2
Java Entwicklern stehen heute eine ganz Reihe von Technologien und Schnittstellen zur Verfügung, die für die Verarbeitung von XML-Dokumenten entwickelt wurden. In unserem Workshop für Einsteiger wollen Ihnen einige dieser Technologien vorstellen und aufzeigen, wie XML und Java sich gegenseitig ergänzen können. Im ersten Teil des Workshops haben wir Sie in das XML-Parsing mit SAX und DOM eingeführt (Java Magazin 4.2002). Im zweiten Teil stellen wir Ihnen mit der Bibliothek JDOM eine Open Source-Alternative zur DOM API vor, die zudem Java-spezifische Features bietet. Im Anschluss werden wir uns dem Thema Web Services zuwenden und uns aus Java-Sicht mit dem SOAP-Protokoll befassen, wobei die SOAP-Implementierung von Apache zum Lesen und Schreiben von SOAP-Envelopes verwendet wird.
Das Traumpaar Java und XML
Workshop: Arbeiten mit XML in Java, Teil 1
XML hat sich beim Speichern von fast beliebigen Daten zum gängigen Dateiformat entwickelt. Es ist die Sprache, die von Firmen in der B2B-Kommunikation verwendet wird, und es hat herstellerspezifische Texdatei-Formate nahezu ersetzt (Beispiele: Einsatzdeskriptoren für EJB, Web-Konfiguration im WAR-Dateiformat, Dateierstellungs-Syntax für Ant, u. a.). Desweiteren taucht es immer häufiger in Datenbanken auf. Da es sich um einen offenen Standard handelt, wird eine Bindung der Unternehmen an herstellerspezifische Lösungen vermieden. Da der Einsatz von XML immer größere Verbreitung findet, gewinnen Werkzeuge, die dieses Format verstehen können, zunehmend an Bedeutung. Dieser Trend blieb in der Java-Gemeinde nicht unbemerkt. Es wurden sogar schon verschiedene APIs entwickelt, um Entwickler beim Arbeiten mit XML zu unterstützen. Dieser Artikel soll im Schnelldurchgang einen Überblick über einige der häufiger verwendeten APIs und Techniken verschaffen, die für das Arbeiten mit XML-Dokumenten entwickelt wurden.
Zwei Welten vereint
DBDOM - Eine XML-DOM-Implementierung in SQL
Alle heute verbreiteten Datenbanken basieren auf der bekannten Abfragesprache SQL. Da die Schnittstelle zu XML damit oft nicht zufriedenstellend zu lösen ist, befinden sich bereits viele unterschiedliche Techniken in der Entwicklung, die hier Abhilfe schaffen sollen. DBDOM ist eine interessante Lösung, da hierbei die komplette DOM-API durch die Sprache SQL nachgebildet wird. Der folgende Beitrag beschäftigt sich mit dem Konzept rund um DBDOM und führt in die Anwendung ein.
XML leicht gemacht
Die Java Architecture for XML Binding (JAXB) in der Praxis
Die Nutzung von XML-Dokumenten für die verschiedensten Aufgabengebiete gehört inzwischen zum festen Standard unter Java. Aufgrund der vielen Vorteile eines solchen Datenformates wurden einige Nachteile bei der Entwicklung in Kauf genommen. So wird vor allem das Lesen, Verändern und Schreiben immer wieder zu einem zeitaufwendigen Programmier-Problem. Die Java Architecture for XML Binding (JAXB) soll hier eine Lösung bieten.
|