XML-Schema - web-inspiration.de · Einführung in die Thematik XML und XML-Schema Kennenlernen der...

of 46 /46
XML-Schema Im Fach SOA, ISM 2008 Gunther Heinrich, Tobias Steimer

Embed Size (px)

Transcript of XML-Schema - web-inspiration.de · Einführung in die Thematik XML und XML-Schema Kennenlernen der...

  • XML-Schema

    Im Fach SOA, ISM 2008

    Gunther Heinrich, Tobias Steimer

  • 2Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    Ziel der Prsentation

    Einfhrung in die Thematik XML und XML-Schema

    Kennenlernen der technischen Grundlagen von XML-Schema

    Wie wird ein XML-Schema Schritt fr Schritt aufgebaut

    Vermittlung des grundlegenden Konzeptes von XML-Schema

  • 3Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    Agenda

    1 Einfhrung1.1 Was ist XML?

    1.2 Was ist XML Schema?

    1.3 Schema in der Praxis

    1.4 Ein einfaches XML Schema

    2 Datentypen2.1 Atomare Datentypen

    2.2 SimpleType

    2.3 ComplexType

    2.4 Elemente und Attribute

    3 Definition von eigenen Datentypen3.1 Eigene Datentypen - Fallbeispiel

    3.2 Das Bestellobjekt

    3.3 Die Bestellposition

    3.4 Das XML-Schema

    3.5 Die Validierung

    4 Namespaces

    4.1 Was ist ein Namespace?

    4.2 Anpassung der Dateien

    4.3 Strukturansicht

    4.4 Anforderung

    5 Import von Schemata5.1 Was ist ein Import?

    5.2 Grobes Vorgehen

    5.3 Import am Beispiel Kunde

    6 Praxisteil

  • 1 Einfhrung

    1.0 Einordnung der Thematik

    1.1 Was ist XML?

    1.2 Was ist XML-Schema?

    1.3 Schema in der Praxis

    1.4 Ein einfaches Schema

    Service Oriented Architecture:

    XML Schema zur Definition von

    Geschftsobjekten

  • 5Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    1.0 Einordnung der Thematik

    XML-Schema bzw. XML als Basis hherwertiger Dienste im Kontext SOA

    XML-Schema

    XML

    BPELWSDL SOAP

    You cannot make a move within an SOA without involving XMLThomas Erl (2004)

  • 6Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    1.1 Was ist XML?

    Die eXtensible Markup Language ist

    wie HTML eine Auszeichnungssprache

    wie HTML die Tochter von SGML

    aber vielseitiger als HTML

    SGML

    XML HTML

    Text

    Text

    XML

    HTML

  • 7Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    1.1 Was ist XML?

    Die eXtensible Markup Language erlaubt im Gegensatz zu HTML

    die Speicherung hierarchisch strukturierter

    Daten

    den Datenaustausch zwischen unabhngigen

    Computersystemen

    die Nutzung von eigenen Tags

    Grundstzlich alles mglich, solange

    wohlgeformt

    genau ein Wurzelelement Beginn- und End-Tag

  • 8Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    1.1 Was ist XML Schema? (Next generation DTD)

    Sprache zur Beschreibung und Beschrnkung von XML Inhalten

    WIE sollen WO und in WELCHER FORM Elemente in einer XML-Datei enthalten sein?

    Grammatik von XML zur unabhngigen Definition von Datentypen

    Abgrenzung XML Schema - Document Type Definition (DTD):

    XML-Syntax zur Erstellungdes Schemas

    A

    B

    Anwendung von Namespaces

    String

    Integer

    Verschiedene Datentypen

    meinBuch

    Bestellung

    Definition von eigenen Datentypen

  • 9Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    1.2 XML-Schema in der Praxis

    XML-Parser

    XML-Dokument

    Schema-Dokument

    Wohl-geformt

    Valide

  • 10Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    1.3 Ein einfaches Beispiel

    Bestellung

  • 1 Einfhrung

    2 Datentypen

    2.1 Atomare Datentypen

    2.2 SimpleType

    2.3 ComplexType

    2.4 Elemente und Attribute

    Service Oriented Architecture:

    XML Schema zur Definition von

    Geschftsobjekten

  • 12Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    2.1 Atomare Datentypen

    Grundlage fr komplexe Datentypen

    kleiner geht nicht

    Es gibt insgesamt 19 Datentypen, u.a.:

    BooleanWahr / falsch

    StringDies ist ein Text

    Float12.78e-2

    Date2008-10-24 (US)

    Time13:20:00-05:00

    Decimal-2,44

  • 13Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    2.2 SimpleType

    Datentyp zur Restriktion von Inhalten und Ableitung von vorhandenen atomaren Datentypen

    Wichtige Methoden von SimpleType:

    RestrictionEingeschrnkter

    Wertebereich

    ListListe von Werten eines einfachen Datentyps

    UnionVereinigung von atomaren

    Datentypen

    Anzahl der Elemente Inhalt der Elemente

    Beispiel:24 / small

    (Integer / String)

    Beispiel:1 24 25 278

  • 14Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    2.2 SimpleType Beispiel Restriction

    []

    []

    3

    301

  • 15Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    2.3 ComplexType

    Dient wie SimpleType zur Restriktion von Inhalten

    Aber das ComplexType kann im Gegensatz zum SimpleType

    A

    B

    andere Elemente enthalten

    erweitert werden(Quasi-Vererbung)

    Attribute besitzen keinen Inhalt besitzen

    A

    A1="" A2=""

    A

    AB

  • 16Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    2.3 ComplexType Arten

    ComplexTypes werden neben Attributen mit folgenden Befehlen definiert:

    Sequence

    All

    Choice

    Eine Menge von Elementen mit bestimmter Reihenfolge

    eine Menge von Elementen die alle verwendet werden mssen (Reihenfolge unwichtig)

    Eine Menge von Elementen von denen einesgewhlt werden muss

  • 17Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    2.3 ComplexType Beispiel

    []

    []

  • 18Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    2.4 Elemente und Attribute

    Element

    SOA in der Praxis

    Attribut

    VS.

    Es gibt keine einheitliche Regelung, wann welches Format genutzt werden soll

    Im Zweifel eher Elemente verwenden Ein Element mit zehn Attributen ist unleserlich

    Elemente knnen andere Elemente aufnehmen Strukturierung, flexibler

    Attribute sinnvoll als erklrende Beschreibung der Daten bzw. Maeinheiten:37

  • 19Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    Pause

  • 1 Einfhrung

    2 Datentypen

    3 Definition von eigenen

    Datentypen

    3.1 Eigene Datentypen Fallbeispiel

    3.2 Das Bestellobjekt

    3.3 Die Bestellposition

    3.4 Die XMl-Schema

    3.5 Die Validierung

    Service Oriented Architecture:

    XML Schema zur Definition von

    Geschftsobjekten

  • 21Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    3.1 Eigene Datentypen Fallbeispiel

    Inhaltliche Sicht

    Informations-Sicht

    (was muss man wissen)

    Geschftsobjekt-Sicht

    Kunde bestellt ein Produkt

    KundeninfoName

    Adresse

    ProduktinfoName

    Nummer

    BestellinfoDatumMenge

    Kundenobjekt Produktobjekt Bestellobjekt

  • 22Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    3.1 Fallbeispiel Die XML-Datei

    *+

    1118799

    Schrauben

    23.99

    19

    1

    Kunde

    Bestellung(Kerndaten)

    Produkt

  • 23Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    3.2 Der Rahmen der Schema

    *+

    *+

    Definition eines Namespaces

  • 24Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    3.2 Das Bestellobjekt

    Problem: xs:string erlaubt jeden textuellen Inhalt.

  • 25Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    3.2 Das Bestellobjekt

    Einschrnkung der erlaubten Inhalte durch Regular Expressions:

    Drei Buchstaben Eine Ziffer

    Sechs Ziffern

    Falsch

  • 26Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    3.2 Das Bestellobjekt

    Anforderungen fr die Schema:

    Die Bestellung enthlt: Kunde und Bestellposition

    Festgelegte Reihenfolge: Kunde, Bestellposition

    Der Kunde muss genau einmal, die Bestellpositionen mindestens einmal vorkommen

  • 27Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    3.2 Das Bestellobjekt

    Aus den Anforderungen ergibt sich folgendes Schema:

    []

    Genau einmal

    Mindestens einmal

  • 28Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    3.3 Die Bestellposition

    Die Bestellposition in der XML:

    1118799

    Schrauben

    23.99

    19

    1

  • 29Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    3.3 Die Bestellposition

    Wir erinnern uns:

    die Bestellposition wurde bereits definiert mit:

    die Bestellposition (Produkt und Bestellmenge) wird als eigenstndiges Objekt vom Typ ComplexType hinzugefgt,

    sie wird nicht direkt mit der Bestellung verschachtelt

  • 30Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    3.3 Die Bestellposition

    Die Bestellposition in der XML-Schema:

    1118799

    Schrauben

    23.99

    19

    1

    *+

    *+

  • 31Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    3.3 Die Bestellposition

    Die Bestellposition in der XML-Schema:

    1118799

    Schrauben

    23.99

    19

    1

  • 32Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    3.3 Die Bestellposition

    Die Bestellposition in der XML-Schema:

    1118799

    Schrauben

    23.99

    19

    1

  • 33Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    3.4 Die XML-Schema

    []

  • 34Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    3.5 Die Validierung

    Online-Validierung der XML

    Validierung der XML in NetBeans

    Cannot find the declaration of element 'Bestellung'

    Warum?

    Fehlender Namespace bzw. Target-Namespace

    Grund

  • 1 Einfhrung

    2 Datentypen

    3 Definition von eigenen Datentypen

    4 Namespaces

    4.1 Was ist ein Namespace

    4.2 Anpassung der XML und XML-Schema

    4.3 Strukturansicht

    4.4 Erneutes Problem

    Service Oriented Architecture:

    XML Schema zur Definition von

    Geschftsobjekten

  • 36Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    4.1 Was ist ein Namespace?

    Eine Namespace ist eine Sammlung von Elementtypen und Attributnamen und dient u.a. dem

    Vermeiden von Konflikten

    Wiederverwenden von Definitionen aus anderen

    Schemata

    dem Erweitern von bestehenden Schemata

    Schema

    S1 S2

    Schema 1

    Schema 1a

    und damit dem

  • 37Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    4.2 Anpassung der XML und XML-Schema

    XML Schema:

    XML:

  • 38Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    4.3 Die Verknpfungen in der Strukturansicht

    XML-Datei XML-Schema Bestellung

    Namespace Bestellungbenutzt beschreibt

    benutzt

    NamespaceXML-Schema

    NamespaceXML-Schema-

    Instance

    benutzt

  • 39Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    4.4 Anforderung

    Globale Wiederverwendbarkeit der

    definierten Elemente

    1. Herauslsen der Definitionen in jeweils eigene Schemata2. Import dieser Schemata in Bestellung.xsd

  • 1 Einfhrung

    2 Datentypen

    3 Eigene Datentypen

    4 Namespaces

    5 Import von Schemata

    5.1 Was ein Import?

    5.2 Grobes Vorgehen

    5.3 Import am Beispiel Kunde

    Service Oriented Architecture:

    XML Schema zur Definition von

    Geschftsobjekten

  • 41Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    Import = Wiederverwendung von Schema-Bestandteilen aus unterschiedlichen

    Namensrumen

    5.1 Was ist ein Import?

    Bestellung.xsd

    Kunde.xsdBestellposition.xsd

    Evtl. weitere Typen eines

    Schemas

  • 42Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    5.3 Import am Beispiel Kunde

    []

  • 43Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    Fragen?Kenntnisse werden im praktischen Teil bentigt

  • 44Gunther Heinrich, Tobias Steimer | Information Systems and Services Master | Hochschule der Medien04. 12. 2008

    Quellen

    Erl, T. (2004):

    XML and SOA, http://www.idealliance.org/proceedings/xml04/papers/91/xml_soa_paper.pdf

    Skulschus M., Wiederstein M. (2004):

    XML Schema - Grundlagen, Praxis, Referenz, Galileo Computing

    Daum, B. (2003):

    Modeling Business Objects with XML Schema, dpunkt Verlag

    Bradley, N. (2003):

    The XML Schema companion, Adisson-Wesley

    Wittenbrink H. et al. (2003):XML Wissen das sich auszahlt, TEIA Lehrbuchverlag

    Josuttis, N. (2008):

    SOA in der Praxis, dpunkt Verlag

    W3C (2006):

    XML-Schema, http://www.w3.org/XML/Schema (Zugriff: 15.11.2008)

  • Vielen Dank fr die

    Aufmerksamkeit

    Service Oriented Architecture:

    XML Schema zur Definition von

    Geschftsobjekten

    10 Minuten Pause

  • 1 Einfhrung

    2 Datentypen

    3 Eigene Datentypen

    4 Namespaces

    5 Import von Schemata

    6 Praxisteil

    Service Oriented Architecture:

    XML Schema zur Definition von

    Geschftsobjekten