Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Baldric Wuertz Geändert vor über 10 Jahren
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.