1 / 65

Ein Überblick für PB-Entwickler

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?

abigail
Download Presentation

Ein Überblick für PB-Entwickler

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML • eXtensible Markup Language Ein Überblick für PB-Entwickler

  2. Vortragsziel XML soll stärker in das Blickfeld der PB-Gemeinde gerückt werden!

  3. 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

  4. Unternehmensberatung und Software GmbH

  5. Fakten ... • Gegründet: 1990 • Mitarbeiter: 80 • Bilanzsumme: • 7,3 Mio. DM • Stammkapital: • 1 Mio. DM • Umsatz: • 1999: 18 Mio. DM • 2000: > 20 Mio. DM

  6. 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

  7. Produkt-Partnerschaften ... • SAP® • EURO-Partner • Business-Warehouse Partner • Implementierungs-Partner • BROKAT® • Strategischer Partner Internet- / Sicherheitslösungen • Oracle® • Value Service Partner

  8. Standorte ... Wir beraten „vor Ort“ und entwickeln„zentral“. Hamburg Münster Düsseldorf Frankfurt* Walldorf(bei Heidelberg) München* *in Planung

  9. Jobs • Wir suchen dringend OO-Entwickler! • Java, C++ • UML • ODBMS http://www.innobis.de

  10. Die Ausgangsproblematik: Austausch von Dokumenten über Anwendungs- und Systemgrenzen hinweg

  11. Beispiel:Dokumentenaustausch Doc-File Client Client Konvertieren Word Word Perfect X X Anwendung A Anwendung B

  12. Verallgemeinerter Markup Kennzeichen: Trennung von Struktur, Inhalt und Layout Dokument Daten Formatvorlage Dokumenttyp definition

  13. Die GML Familie HTML XHTML SGML app XML app SGML XML Untermenge von SGML

  14. 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

  15. Struktur eines HTML-Dokuments

  16. 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

  17. 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

  18. XML 1.0: Die Spezifikation 89 'Production Rules' Regeln für ‚wohlgeformtes‘ und ‚gültiges‘ XML http://www.w3.org/TR/REC-xml

  19. 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.

  20. 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.

  21. 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

  22. Standardisierung im W3C Mitglied Jedermann Vorschlag Industrie Working Draft Working Draft Vorschau Proposed Recommendation Arbeitsgruppe Abbruch Recommendation Mitglieder Produkt

  23. XML Dokument Daten XSL oder CSS DTD

  24. Die Dokumenttypdefinition (DTD) EinSchema für Dokumente

  25. 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)

  26. Die Logische Struktur (optional festgelegt in DTD)

  27. Beispiel: XMLBOOK.DTD book body back front + + glossary appmat chapter frontpage biblist table of contents + + citation index appendix titlegrp Section + authorgrp etc Section

  28. Die Logische Struktur

  29. Die Physikalische Struktur „one fact in one place“

  30. 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.

  31. Zugriff auf die XML-Daten

  32. XML-Prozessoren (Parser) 1. Prüfen auf Wohlgeformtheit 2. Prüfen auf Gültigkeit anhand der DTD 3. Bereitstellen der Datenstrukturen

  33. Die DOM-API (XML-) Document Object Model

  34. 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

  35. Die SAX-API SAX = Simple API for XML

  36. 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)

  37. Kombination SAX und DOM moderne Parser verfügen über beide API‘s

  38. Persistenz: XML und Datenbanken RDBMS SQL Mapping XML Parser Document ODBMS OQL Serialisierung XQL objektorientiert hierachisch Dateien

  39. Formatvorlagen mit der Extensible Stylesheet Language (XSLT) erstellen

  40. Formatierung RTF PDF

  41. Mapping zwischen Dokumenttypen DTD 1 DTD 2 XML

  42. 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

  43. 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)); %>

  44. Wie kann man XML einsetzen? Wo wird XML schon verwendet?

  45. 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

  46. 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

  47. 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

More Related