1 / 64

XML

XML. Das „Competence Center XML“ am Institut für Wirtschaftsinformatik der J. W. Goethe-Universität in Frankfurt. http://xml.cnec.org. XML. Tim Weitzel Institut für Wirtschaftsinformatik J. W. Goethe-Universität, Frankfurt am Main Mertonstr.17, 60054 Frankfurt

Télécharger la présentation

XML

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 Das „Competence Center XML“ am Institut für Wirtschaftsinformatik der J. W. Goethe-Universität in Frankfurt http://xml.cnec.org

  2. XML Tim Weitzel Institut für Wirtschaftsinformatik J. W. Goethe-Universität, Frankfurt am Main Mertonstr.17, 60054 Frankfurt Telefon: +49 69 798-28804Fax: +49 69 798-28585 http://www.wiwi.uni-frankfurt.de/~tweitzel/ Email: tweitzel@wiwi.uni-frankfurt.de

  3. Übersicht: Vertiefungsworkshop • 09.00 - 10.30 • Basiswissen für Fortgeschrittene • XML Schemata, Namespaces, XLL, Parsing/Validierung, Tools • 10.45 - 12.15 • XML at work • XQL, DOM, XSL, XSLT • 13.15 - 14.45 • XML-Anwendungen und Trends • E-Business, Anwendungsszenarien und Beispiele: BizTalk etc. • Standardisierungsorganisationen, Zukunft von XML • 15.00 - 16.30 • XML im Praxiseinsatz • ERP-Anwendungen

  4. XML-Technologien • Namespaces • XML Schemata • XLL • Parsing/Validierung • Tools

  5. Namespaces in XML • Verteilte Dokumente im Web • Unterschiedliche XML-Autoren • Nutzung unterschiedlicher DTDs (für eigene Dokumente, Datenaustausch mit anderen und Suchmaschinen) • Namenskollisionen: <Titel> ... <Titel/> • Wie kann die Anwendung wissen, welcher Namensraum gerade gemeint ist: • Personendatenbank (Doktortitel) • Bibliographie (Titel eines Buches). • Damit Element- und Attributnamen nicht kollidieren, wurden Namespaces entwickelt

  6. Namespaces in XML Problem: Wie kann ein System erkennen, welche Semantik gemeint ist? Lösungsidee: Verwendung von - weltweit eindeutigen - Webadressen (URIs) zur Zuweisung eines „Namensraumes“ James Clark: „Local Name + URI = Universal Name“

  7. Namespaces in XML <BEISPIEL xmlns:h="http://www.w3.org/html4" xmlns:b="http://www.mein.server.de/bibliographie" xmlns:p="http://www.mein.server.de/person"> <h:caption>Meine Text</h:caption> <b:titel>Ein Buch</b:titel> <p:autor>No</p:autor> <p:titel>Dr.</p:titel> </BEISPIEL>

  8. Namespaces in XSLT und Schemata • <?xml version="1.0" encoding="UTF-8"?> • <xsl:stylesheet version="1.0" • xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> • <xsl:output method="HTML"/> <xsl:template match="/"> <HTML><xsl:apply-templates/></HTML> </xsl:template> • ...

  9. Namespaces in XSLT und Schemata <?xml version="1.0"?> <Schema name="schema_sample_1" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes"> .....

  10. Linking • Linking in HTML: • einfache, unidirektionale Links, Anker in Zieldokument • (Zukünftiges) Linking in XML: • XLink bietet uni-, bi- und multidirektionale Links • XPointer bietet Mechanismen, um (auch ohne Identifier) auf Fragmente von Zieldokumenten zu verweisen: „book.html#section2“ • Erweiterte Link-Beschreibung • xlink:title, • xlink:role • Link-Verhalten • xlink:show (replace|new|parsed) • xlink:actuate (user|auto) • Erweiterte Links • Mehrfache Zielverweise • Traversierungspfade (Arcs) • Out-of-Line-Links, Extended Link Groups

  11. Linking in XML

  12. XPointer, XPath • XPointer/XPath zur Beschreibung von Orten oder Bereichen in XML-Instanzen • absoluter Verweis z. B.: root • relativer Verweis z. B.: child, preeding, ancestor • Bereichsbeschreibung: range • Beispiel • xptr(id(„p1“)/child::NAME) • xptr(/child::TREE/child::PERSON[position()=1]/child::NAME)

  13. Die XML Schema Working Group des W3C • Die explizite Grammatik eines Dokumenttyps kann in einer DTD festgelegt werden. Aber DTDs haben auch erhebliche Nachteile. Daher entwickelt das W3C sog. Schemata (Schema Definition Languages). Schemata sind gültige XML-Dokumente. • Spezielle Ziele von Schemata jenseits DTD-Funktionalität sind u.a.: • Beschreibungssprache XML • Offene Inhaltsmodelle („extensibility“, „incomplete constraints“) • Datentypen (>30: Integer, Date...), auch: Binary Data • Vererbungskonzept (geplant) • Erweiterte strukturelle Spezifikationen (z. B. minOccur, maxOccur) • Äquivalente Felddefinitionen (Element PREIS = ElementPRICE)

  14. W3C-Beispiel: Datentypen „for authors and applications“ • <invoice> • <orderDate>1999-01-21</orderDate> • <shipDate>1999-01-25</shipDate> • <billingAddress> • <name>Ashok Malhotra</name> • <street>123 IBM Ave.</street> • <city>Hawthorne</city> • <state>NY</state> • <zip>10532-0000</zip> • </billingAddress> • <voice>555-1234</voice> • <fax>555-4321</fax> • </invoice> datenorientiert vs. dokumentorientiert <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:paul.v.biron@kp.org</email> or call <phone>555-9876</phone> </body> </memo>

  15. XML Schemata • Die W3C Schema Working Group hat vier Vorschläge diskutiert • Microsofts XML-Data ([W3C_XMLData 1998], Januar 1998) • DCD von IBM und Microsoft ([W3C_DCD 1998], August 1998) • SOX ([W3C_SOX September 1998, ergänzt Juli 1999], Juli 1999) • DDML ([W3C_DDML 1999], Nachfolger von XML-DEV`s Xschema, Januar 1999) • Die aktuellen Arbeiten an Schemata befinden sich im Stadium eines "Last Calls (Working Draft)"

  16. XML Data • Schema-Beispiel ist angelehnt an an Microsofts XML Data bzw. XDR (XML Data, subset reduced) • Die XML-Schema Implementierung in IE5 ist ein Subset von XML-Data • XDR ist kein W3C-Standard; es gibt derzeit noch keinen W3C-Standard zu Schemata, Teile von XDR werden hier Eingang finden; Microsofts Parser in IE5 (MSXML) implementiert daher XDR

  17. XML Schema • Die Definition eines Schemas erfolgt im Top-Level Element SCHEMA aus dem Namensraum xmlns=„urn:schemas-microsoft-com:xml-data“ • Es ist günstig, den Schema-Namensraum zum default namespace zu machen • Das Schema-Element sollte alle anderen Namensraum-Deklarationen enthalten, z.B. den Namensraum der Datentypen <Schema name=„Mein_Schema" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes"> ... <!-- ... --> </Schema>

  18. XML Schemata <!DOCTYPE ARTIKEL [ <!ELEMENT ARTIKEL (AUTOR, TITEL+)> <!ELEMENT AUTOR (#PCDATA)> <!ELEMENT TITEL (#PCDATA)> ]>

  19. XML Schemata <?xml version="1.0"?> <Schema name="schema_sample_1" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes"> <ElementType name=“TITEL" content="textOnly" model="closed"/> <ElementType name=“AUTOR" content="textOnly" model="closed"/> <ElementType name=“ARTIKEL" content="eltOnly" model="closed"> <element type=“TITEL" minOccurs="1" maxOccurs="*"/> <element type=“AUTOR" minOccurs="1" maxOccurs="1"/> </ElementType> </Schema>

  20. XML Schemata - content model Das Inhaltsmodell bei Schemata ist per default offen. Damit sind (neben den explizit definierten) zusätzliche Tags möglich  Erweiterbarkeit. Das Inhaltsmodell kann durch das model Attribut geschlossen werden: <Schema xmlns="schemas-microsoft-com:xml-data"> <ElementType name=“artikel" model="closed"/> <element type=“titel" /> <element type=“autor" /> </ElementType> </Schema>

  21. XML Schemata - Datentypen Schemata erlauben die Definition von Datentypen ( Typenvalidierung) <ElementType name="pages"> <datatype dt:type="int" /> </ElementType> Während der Validierung wird der Datentyp überprüft. Da Schemata auf einem offenen content model beruhen, können Applikationen darüber hinausgehende Informationen prüfen. <ElementType name="pages" xmlns:myExt="urn:myschema-extensions"> <datatype dt:type="int" /> <myExt:min>50</myExt:min> <myExt:max>100</myExt:max> </ElementType>

  22. Tools • Wie erstellt man XML-Dokumente? • Nur XML schreiben? • Validieren? • DTDs editieren? • XML-Editoren: • Rudimentär: Text-Editoren, IDEs  Notepad • Einfach:  XML-Notepad • Komplexer:  XML writer

  23. Editor: Notepad

  24. Editor: Java IDE

  25. Editor: Amaya

  26. Editor: MS XML Notepad

  27. Editor: MS XML Notepad • Einfacher Editor von Microsoft • kostenlos • validiert mit XML-Parser aus MS IE (mind. IE4.0 SP1) • Suche - Ersetze • Replikation von Unterbäumen etc. • keine PIs • keine DTDs (aber natürlich Schemata)

  28. Editor: XEENA

  29. Editor: XML writer

  30. Editor: XML writer • Validiert (DTD und Schemata/XSL) mit MSXML, andere Parser/XSL engines möglich • XSL, CSS • Command Line Tool for Server-side Processing • XML Guide erklärt Sprachspezifikation

  31. Andere bekannte Editoren • XMetaL von SoftSquad Software: Umgebung ähnlich traditioneller Textverarbeitung, kann keine DTDs editieren (Win 9x/2000/NT; $ 495) • Visual XML von Bluestone: DTDs, SQL Queries (SQL Editor mit Objektbrowser), Wizards für Database Publishing und Scheduler etc. (Win 9x/2000/NT, Solaris, Linux, OS/400; $ 99) • XML Authority von Extensibility: DTDs und Schemata (XML-Schema, XDR, DCD, SOX) (Win 9x/2000/NT; $ 99,95) • XML Instance von Extensibility: Schemata, DTDs, XDR, SOX 2.0, XSDL • XML Spy von Icon IS: Visualisierung von XML-Dokumenten während des Editierens im MS IE 5, CSS, XSL,CSS, XSL, XHTML, Namespaces, DTDs, XDR, BizTalk, nur MSXML-Parser (läuft auf Win 9x/2000/NT; $ 149) • XMLPro von Vervet Logic: Validiert DTDs, aber kein Editieren, 100% Java (Windows, Solaris, Unix, $175), unterstützt JDK 1.2.1 und IBMs XML4J (jetzt: XercesJ), so dass DOM oder SAX problemlos verwendet werden können.

  32. Validieren: Parser • XML-Parser (auch XML-Prozessoren): Software, die XML-Dokumente liest und deren Inhalt und Struktur verfügbar macht • Parser liest eine XML-Datei, trennt Markup vom Inhalt und gibt den Inhalt an die Softwareanwendung weiter, die ihn benötigt und weiterverarbeiten soll • Die XML 1.0-Sprachspezifikationen beschreiben letztlich nichts anderes als Vorschriften, wie sich XML-Parser verhalten müssen, wie sie also XML-Daten lesen und wie sie diese an Anwendungen weitergeben müssen • Selber parsen: • Einen Parser herunterladen und verwenden • Parser z. B. in MS IE 5 • Online Parsing

  33. Validieren

  34. Validieren

  35. XML - Anwendungen • XML-Anwendungen und Trends • Marktdaten und Trends • Standardisierungsorganisationen • E-Business, Anwendungsszenarien und Beispiele • BizTalk etc. • Zukunft von XML, Diskussion

  36. XML im E-Business B2C B2C

  37. XML im E-Business

  38. XML und E-Business • "By the end of 2001, over 70% of corporations will have failed to plan a coherent approach to e-Business, leading to a significant loss in competitiveness” • Gartner Group

  39. EDI: Eine Mutter des E-Business • EDI, WebEDI, XML/EDI: • EDI bei Fortune 1.000:  70% • EDI bei Nicht-Fortune 1.000: 2% • Anteil Kosten C-Güter 30-60% • Viele Organisationen, viele Standards • Viele verbinden mit XML die Hoffnung auf Kompatibilität (auch: EAI, SCM etc.), ... • ... aber es bleibt das Problem der Semantik: • Wildwuchs der XML-Sprachen („Balkanisierung“) • 250 XML-Sprachen (xCBL, cXML, WML...)

  40. Wer hat das E-Business-Vokabular?

  41. Gliederung der Technologien • Frameworks: Basistechnologien, "overall message structure") • BizTalk, eCo Framework, OAGIS, ebXML, cXML, RosettaNet • Functions: Vorlagen für spezifische Geschäftsoperationen über Branchengrenzen, ähneln häufig EDI-Nachrichtentypen (z.B. Purchase Order, Invoice) • ICE, xCBL, XML/EDI Repositories, gXML • Verticals: Nachrichtenaustausch innerhalb Branche bzw. Supply Chain

  42. Trends bei XML-Sprachen • Verdoppelung innerhalb des Jahres 2000, v.a. Verticals • Aber: Zählweise, tote Sprachen • "XML is very flexible. Everyone can do their own thing, and, by golly, everyone is!" • Steve McVey auf der XML '99 Konferenz

  43. Microsoft BizTalk • XML Framework zur konsistenten Verwendung von XML-Schemata und Messaging Tags für die Integration unterschiedlicher Applikationen und Electronic Commerce • Portal(Schema Library, Repository) für XML-Schemata, die Geschäftsdokumente beschreiben • BizTalk Server organisiert Workflow

  44. BizTalk Portal

  45. BizTalk.org • XDR-konforme Schemata • Jeder kann einstellen und herunterladen • Steering Committee für Library

  46. BizTalkMessage BizTalk Document Transport Envelope BizTalk Header Delivery Information Document Manifest Document Body Business Document BizTalk Message und BizTalk Document Transport-Specific envelope Well-formed, Doc. Root Version of XML Destination (from/to) MsgID, timestamp, subject Encloses Business Doc., DocType* Business data

  47. Dokumentenaustausch mit BizTalk

  48. Vorschau: BizTalk Server • Aufgabe des BizTalk Servers: • Richtige Geschäftsnachricht der richtigen Anwendung an passender Stelle eines Geschäftsprozesses übergeben... • ... und ein beliebiges eingehendes in ein beliebiges ausgehendes Format zu übersetzen • Daten- und Prozessintegrationsserver als XML-Gateway • Beliebige Datenquellformate zu XML zu Zielformat konvertiert (XSLT) und zwischen Sender- und Empfängersystem gerouted • “Business process automation modeling and execution engine": Entwicklung und Ausführung von E-Commerce Geschäftsprozessen, wobei verschiedene Dokumente auf Server verarbeitet, weitergeleitet und zu einem einzigen Prozess zusammengeführt werden können

  49. BizTalk-Mapper mit EDIFACT-Nachricht

  50. BizTalk Server Application Designer

More Related