Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Java und XML Seminarbeitrag von Ralph-Peter Noll 22. Januar 2001.

Ähnliche Präsentationen


Präsentation zum Thema: "Java und XML Seminarbeitrag von Ralph-Peter Noll 22. Januar 2001."—  Präsentation transkript:

1 Java und XML Seminarbeitrag von Ralph-Peter Noll 22. Januar 2001

2 Gliederung z1. Grundlagen XML und Java z2. Parsing in Java z3. Transformationen z4. Datenaustausch z5. Tools

3 1. Grundlagen zXML (Extensible Markup Language) ? yRegelsystem zur Definition von HTML- ähnlichen, formal verifizierbaren Syntaxen für jede Art von strukturierten Daten zJava ? yOO-Sprache, setzt in akzeptabler Weise folgende Ansprüche um: einfach, objektorientiert, robust, sicher, portabel, performant (...)

4 XML in 7 Punkten zXML ist ein Verfahren, strukturierte Daten in Textdokumente zu verpacken. zXML sieht zwar aus wie HTML, ist aber anders. zXML ist Text, wird aber normalerweise nicht von Menschen gelesen. zXML umfaßt eine ganze Sammlung von Technologien. zXML ist ausführlich, aber das ist kein Problem. zXML ist neu, aber nicht zu neu. zXML ist kostenlos, plattformunabhängig und weit verbreitet.

5 XML Beispiel Bob Anvil 982362 15

6 Java zObjektorientierte Sprache zC/C++ Syntax unter Verzicht auf fehlerträchtige Merkmale zinterpretiert (ggf. dynamisch optimiert) zplattformunabhängig zmodern: netzwerk-/weborientiert, multithreaded, enthält Sicherheitsmechanismen

7 Häufigste Anwendungen der Kombination zKonverter XML nach XML, HTML, PDF... zXML zum Datenaustausch (Stichwort eCommerce, B2B) zDatenpersistenz mit XML (neue einfache Dateiformate)

8 Vorteile der Kombination XML- Java zPortabilität, Allgemeinheit zStandardisierte Programmier-Interfaces mit austauschbaren Implementationen zNetzwerkorientierung ystandardisierter Datenaustausch mit anderer Software yleichte Erweiterbarkeit um Web-Interface zSuns XML-Tools als neuer Bestandteil der Java Plattform weit verbreitet

9 2. Parsing zSAX - Ereignisgesteuertes Parsen zDOM - Dokument-Baum, sprach-unabhängig zJAXP - SAX + DOM + Ergänzungen zJDOM - DOM erweitert, für Java optimiert

10 SAX (Simple API for XML) zEreignisgesteuerter Ansatz: yParser liest sequentiell den Eingabestrom yPrüfung auf Korrektheit der Eingabe yAufruf von Callback-Methoden bei bestimmten Ereignissen zZiel der Standardisierung solcher Parser: yAustauschbarkeit der Parser ygeringe Lernerfordernisse, Wissenstransfer

11 SAX Interfaces zParser zDocumentHandler zAttributeList zErrorHandler zLocator zDTDHandler zEntityResolver

12 SAX Version 2 Neuerungen zUnterstützung von Namespaces. zFilterung zerweiterte Parsersteuerung

13 Diskussion von SAX zVorteile: yeinfach, effizient bzgl. Speicher und Rechenzeit ygeeignet für große Datenmengen ygeringer Overhead bei Verarbeitung eines geringen Anteils der Daten zNachteile: ykein Mechanismus zum Schreiben von XML spezifiziert

14 DOM (Document Object Model) zAnsatz: yErstellung eines baumförmigen Modells der Dokumentstruktur (XML oder HTML) yAuswertung und Manipulation dieser Struktur über Methoden der Objekte im Baum ySammlung von Klassen (Interfaces), die im Baum verwendet werden

15 DOM Interfaces zNode (mit Name, Typ, Wert, Kontext im Baum) zDocument zElement zAttribute zCharacterData zEntity, EntityReference zHilfsklassen

16 Diskussion von DOM zVorteile: yeinheitlicher Zugriff in verschiedenen Sprachen ygezielter und schneller Zugriff ygeringerer Programmieraufwand als bei SAX ybesser geegnet zur Generierung dynamischen Inhalts

17 Diskussion von DOM (2) zNachteile: ySchreiben von XML nicht enthalten yautomatisches Durchschreiten des Baumes nicht enthalten yin Corba-IDL spezifiziert, Java-API ausgeschlossen ykonsequente Baumorientierung umständlich yzunächst hoher Overhead für Baumerstellung

18 DOM Level 2 Neuerungen zStylesheets zViews zRange zTraversal zEvents zDetailverbesserungen, z.B. bessere Suchfunktionen

19 JAXP (Java API for XML Parsing) zKomplettlösung für die meisten Java-XML- Projekte zKomponenten: yParser (namentlich SAX 1.0) yObjektmodell (DOM Level 1) yeinheitliche Schnittstellen zur Erzeugung von Objekten (Factories) zJAXP 1.1 mit XSL, SAX 2 und DOM 2 available soon

20 JDOM (Java Document-Object Model) zZiel: kompaktes API, das nur die Stärken von SAX und DOM vereint zkann auch auf vorhandenen SAX und DOM Parsern aufsetzen zAusgabe von XML möglich

21 3. Transformation als Anwendung zhäufige Anwendung: on-the-fly Generierung von Webseiten zProbleme: yEffizienz yZielformate (HTML-Versionen, XML etc...) ydynamische Inhalte

22 Transformation mit SAX und DOM zSAX yAusgabe während Scanner-Durchlauf, einfache Transformationen möglich zDOM yParsing, Aufbau eines Parsebaums yManipulation dieses Baums yrekursive Generierung anhand Dokumentstruktur

23 XSL (Extensible Stylesheet Language) zStylesheet-Sprache für XML, besteht aus yXSLT: Transformationsprache XML nach XML yXSL-FO: XML-Vokabular für Formatierungen zJava-Unterstützung yJAXP 1.1, diverse Tools

24 JSP und Java Servlets zAnsatz: Java Programm läuft im Server yServlet yJava-Programm aus JSP-Dokument generiert zIntegration in XML über Processing Instructions zDynamic Content Processing (DCP): yManipulationen auf DOM-Objekten vor der Transformation

25 4. Datenaustausch als Anwendung zBegriff Enterprise Application Integration (EAI) zBegriff Electronic Data Interchange (EDI) zSOAP und JAXM zXML-RPC

26 Begriffe EDI und EAI zEAI (Enterprise Application Integration) yAbstrakter betriebswirtschaftlicher Oberbegriff für betriebswirtschaftlich geprägte Vorgänge der Kopplung vorhandener Anwendungen und Integration in neuen Anwendungen zEDI (Electronic Data Interchange ) ySystem zur Festlegung von normierten Formaten für den Austausch von Daten zwischen kommerziellen Datenverarbeitungsprogrammen (Stichwort B2B) yzunehmend über das Internet

27 SOAP und JAXM (Simple Object Access Protocol, Java API for XML Messaging) zZiel: yAustausch strukturierter, typisierter Daten über Standardprotokolle wie HTTP, FTP, SMTP mittels einfacher Mechanismen. y Robustheit, schnelle Entwicklung zBestandteile des W3C Protokolls SOAP: yNachrichtenformat: Envelope, Header, Body in XML yKodierung / Serialisierung von Typen und Klassen yRPC Konventionen für remote Prozeduraufrufe zJAXP ist ein konkurrierender Standard von Sun mit stärkerer Ausrichtung auf eBusiness.

28 5. Tools zParser zXSLT-Prozessoren zsonstige Java-XML-Tools

29 Parser zApache XML Parser Xerces zIBM XML Parser XML4J zOracle XML parser zSun XML parser (s.o.) zXP - freier XML parser von James Clark

30 XSLT Prozessoren zApache XML Prozessor Xalan (Java und C++) zLotus LotusXSL, auf dem Xalan aufbaut zXT - freier XSLT-Prozessor von James Clark's zSun XSLT-to-Java Compiler

31 sonstige Java XML Tools zIBM XML + Web Services Entwicklungsumgebung zApache Cocoon und Xang - Framework zur Generierung dynamischer Webseiten aus XML mit Java und Javascript

32 6. Ausblick zJAXB (API for XML Data Binding): direktes Mapping von XML-Strukturen auf Java-Klassen yZiel: keine Parser mehr verwenden, sondern direkt XML-Schemata als Java-Klassen einbinden. yLetzter fehlender Baustein von Suns JAX (Java API for XML) bestehend aus JAXP, JAXM und JAXB


Herunterladen ppt "Java und XML Seminarbeitrag von Ralph-Peter Noll 22. Januar 2001."

Ähnliche Präsentationen


Google-Anzeigen