650 likes | 821 Views
XML. e X tensible M arkup L anguage. Ein Überblick für PB-Entwickler. Vortragsziel. XML soll stärker in das Blickfeld der PB-Gemeinde gerückt werden!. Agenda. 1. Vorstellung der innobis GmbH 2. Verallgemeinerte Markupsprachen 3. Warum XML als ein neuer Internet-Standard?
E N D
XML • eXtensible Markup Language Ein Überblick für PB-Entwickler
Vortragsziel XML soll stärker in das Blickfeld der PB-Gemeinde gerückt werden!
Agenda 1. Vorstellung der innobis GmbH 2. Verallgemeinerte Markupsprachen 3. Warum XML als ein neuer Internet-Standard? 4. Das W3-Consortium und die Standardisierung von XML 5. Die Dokumenttypdefinition 6. Parser und deren API‘s ( SAX & DOM) 7. Persistenz 8. Formatvorlagen 9. Einsatzmöglichkeiten 10. PowerBuilder und XML 11. XML-Smarty: Ein kleiner XML-Editor für PB 12. Tips zu Web-Ressourcen & Downloads
Unternehmensberatung und Software GmbH
Fakten ... • Gegründet: 1990 • Mitarbeiter: 80 • Bilanzsumme: • 7,3 Mio. DM • Stammkapital: • 1 Mio. DM • Umsatz: • 1999: 18 Mio. DM • 2000: > 20 Mio. DM
Beratung New Dimension ... • Individuelle Internetlösungen • @INNloan:Erfassung von Kredit- und Förderanträgen via Internet • @INNbetween:Datenaustausch zwischen Geschäftspartnern via XML • @innorder / @innplan: SAP-Planung und SAP-Bestellung im Intranet
Produkt-Partnerschaften ... • SAP® • EURO-Partner • Business-Warehouse Partner • Implementierungs-Partner • BROKAT® • Strategischer Partner Internet- / Sicherheitslösungen • Oracle® • Value Service Partner
Standorte ... Wir beraten „vor Ort“ und entwickeln„zentral“. Hamburg Münster Düsseldorf Frankfurt* Walldorf(bei Heidelberg) München* *in Planung
Jobs • Wir suchen dringend OO-Entwickler! • Java, C++ • UML • ODBMS http://www.innobis.de
Die Ausgangsproblematik: Austausch von Dokumenten über Anwendungs- und Systemgrenzen hinweg
Beispiel:Dokumentenaustausch Doc-File Client Client Konvertieren Word Word Perfect X X Anwendung A Anwendung B
Verallgemeinerter Markup Kennzeichen: Trennung von Struktur, Inhalt und Layout Dokument Daten Formatvorlage Dokumenttyp definition
Die GML Familie HTML XHTML SGML app XML app SGML XML Untermenge von SGML
HTML Eigenschaften • einfach, verallgemeinert (keine Formatkonstrukte), • mit Texteditor zu erzeugen • kompatibel mit fast jedem Computer-System • fester Satz von Elementtypen • nur standardisierte Darstellung von Dokumenten • aus SGML übernommen
Probleme mit HTML • HTML ist nicht erweiterbar, • keine Eignung zum Austausch von komplexen Datenformaten • Standardisierung wurde lange vernachlässigt. • Eine öffentliche Dokumenttypdefinition erst seit HTML 4.0 • HTML heute ist darstellungsorientiert. • Trennung von Format und Daten oft nicht vorhanden. • Keine verschachtelte Dokumentstruktur
Die Lösung: XML als HTML ergänzender Standard • Bewahrung der Hauptvorzüge von SGML • Berücksichtigung der Webethik der minimalistischen • Einfachheit • XML ist datenorientiert, HTML ist darstellungsorientiert
XML 1.0: Die Spezifikation 89 'Production Rules' Regeln für ‚wohlgeformtes‘ und ‚gültiges‘ XML http://www.w3.org/TR/REC-xml
Die Spezifikation: XML Ziele • XML soll über das Internet nutzbar sein. • XML soll eine Vielzahl von Anwendungen unterstützen. • XML soll kompatibel zu SGML sein. • Einfache Programmierung von XML-Anwendungen. • XML-Dokumente sollen lesbar und verständlich sein. • XML-Dokumente sollen einfach zu erstellen sein. • Kompaktheit von XML-Dokumenten ist zweitrangig.
Die Spezifikation: Inhalt • Definition eigener Dokumenttypen wie in SGML möglich • Wohlgeformtheit: Alle XML-Dokumente müssen verschachtelt • sein und dem Sprachstandard genügen. • Gültigkeit: Alle Dokumente mit einer DTD müssen dieser • DTD genügen. • strikte Normierung der Sprache und der Arbeitsweise • des auswertenden Parsers • Keine vorgefertigten Elemente vorgesehen für Anzeige, dies • geschieht im Browser durch Umformung zu HTML.
begleitende W3C-Standards • Formatierung und Transformation (XSL/ XSLT) • (Extensible Stylesheet Language) • erweiterbares HTML ( XHTML) • Metadaten (XML Schema, RDF) • erweiterte Links und Adressierung (XLink, XPointer ) • Adressierung in Dokumenten (Xpath) • Eine API für XML (Document Object Model) • Namensräume in Dokumenten (XML Namespaces) • Abfragesprache (XQL) = noch nicht standardisiert
Standardisierung im W3C Mitglied Jedermann Vorschlag Industrie Working Draft Working Draft Vorschau Proposed Recommendation Arbeitsgruppe Abbruch Recommendation Mitglieder Produkt
XML Dokument Daten XSL oder CSS DTD
Die Dokumenttypdefinition (DTD) EinSchema für Dokumente
Logische Struktur der XML-Datei: Aus welchen Elementen setzt sich das Dokument zusammen? Abbildung der Geschäftsregeln. Physikalische Struktur: Wo sind die verschiedenen Elemente, Elementblöcke physisch gespeichert? (Datenbank, Dateisystem)
Die Logische Struktur (optional festgelegt in DTD)
Beispiel: XMLBOOK.DTD book body back front + + glossary appmat chapter frontpage biblist table of contents + + citation index appendix titlegrp Section + authorgrp etc Section
Die Physikalische Struktur „one fact in one place“
Von der DTD zu XML Schema • In einer DTD kann man nur sehr eingeschränkt • Datentypen für Attribute festlegen. • Eine DTD hat einen eigenen Sprachsyntax. • Keine Vererbung/Import von anderen DTD's möglich Vision: Weltweit genormte Geschäftsprozess-Schemata für den globalen Datenaustausch.
XML-Prozessoren (Parser) 1. Prüfen auf Wohlgeformtheit 2. Prüfen auf Gültigkeit anhand der DTD 3. Bereitstellen der Datenstrukturen
Die DOM-API (XML-) Document Object Model
Die DOM-API DOM API (sprachneutral) Definition von Objekten, aus denen ein XML/HTML-Dokument aufgebaut ist, zugehöriger Zugriffs- und Manipulationsmethoden sowie von Hilfsklassen Hilfsklassen: Nodelist EditableNodelist NodeEnumerator Attributelist Document context DOM DOMFactory Klassen: Document Node Element Text Attribut Processing Instruction Comment DOM API (sprachspezifisch) Object Management Group IDL Java binding (‚interfaces)‘ COM binding (VB,C++) Herstellerspezifisch: Implementation der Methoden MSXML XML4J, XERCES
Die SAX-API SAX = Simple API for XML
SAX oder DOM? • SAX: • schneller • eigener Doc-Handler • eignener Listener • DOM: • später Zugriff auf Daten • eigener Tree-Walker • fertiges Objektmodell gut bei komplexen Dokumenten (Datenaustausch, Dokumentenmanagement) gut bei einfach strukturierten oder generierten Daten (XQL, OQL, SQL)
Kombination SAX und DOM moderne Parser verfügen über beide API‘s
Persistenz: XML und Datenbanken RDBMS SQL Mapping XML Parser Document ODBMS OQL Serialisierung XQL objektorientiert hierachisch Dateien
Formatvorlagen mit der Extensible Stylesheet Language (XSLT) erstellen
Formatierung RTF PDF
Mapping zwischen Dokumenttypen DTD 1 DTD 2 XML
XML im Browser darstellen Client Server Anfrage XSL Proz. Browser ASP/JSP/Servlet 1 XML Parser HTML Antwort XSL XML 2 XSL Proz. XML Parser
Beispielcode:Active Server Page (ASP) <%@ LANGUAGE = JScript %> <% Response.ContentType = "text/html" %> <% // Set the source and style sheet locations here var sourceFile = Server.MapPath(”myxml.xml"); var styleFile = Server.MapPath(”myxml.xsl"); // Load the XML var source = Server.CreateObject("Microsoft.XMLDOM"); source.async = false; source.load(sourceFile); // Load the XSL var style = Server.CreateObject("Microsoft.XMLDOM"); style.async = false; style.load(styleFile); Response.Write(source.transformNode(style)); %>
Wie kann man XML einsetzen? Wo wird XML schon verwendet?
Dokumentenmanagement • Verwaltung / Versionierung von z.B. Dokumentationen • eine Datenbasis und viele Anzeige- /Ausgabeformate • Datenaustausch / EDI • Datenaustausch in heterogenen Systemlandschaften • Geschäftsprozesse über das Internet (B2C, B2B) • Anwendungsintegration • Anwendungskommunikation • Internet Nachrichtenformate (Protokolle) • Unternehmensportale
Technischer Wert von XML • Mittel, um Anwendungs-Metadaten zu beschreiben (Daten über Daten) • spezialisierte XML-Anwendungen • Benutzereinstellungen, Anwendungskonfigurationen ablegen • Datenintegration zwischen vielen Umgebungen • Datenaustausch zwischen Systemen (Datentypen), • Applikationen (Datenstrukturen), Datenbanken & Dateien • Plattformunabhängig • Überbrückt Sprach- und Schriftbarrieren durch Unicode- • Unterstützung
Technischer Wert von XML • Flexibel und erweiterbar für zukünftige Anforderungen • Verbessert Funktionalität von existierenden Systemen • XML kann durch bestehende Anwendungen verarbeitet werden • Bessere Suchmöglichkeiten im Web • Nur in bestimmten Feldern suchen ( name ="Meier", firstname="Frank") • Verschieden formatierte Quellen in einem XML-Format • strukturiert aufbereitet anzeigen