Design Patterns in XML - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Design Patterns in XML

Description:

Design Patterns in XML Gregor Zeitlinger – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 19
Provided by: Grego354
Category:
Tags: net | xml | design | patterns | remoting

less

Transcript and Presenter's Notes

Title: Design Patterns in XML


1
Design Patterns in XML
  • Gregor Zeitlinger

2
Gliederung
  • Motivation
  • Generelle XML-Bauanleitungen
  • Design Patterns
  • Anwendungsspezifische Design Patterns
  • Zusammenfassung

3
Gliederung
  • Motivation
  • Generelle XML-Bauanleitungen
  • Design Patterns
  • Anwendungsspezifische Design Patterns
  • Zusammenfassung

4
Dynamic Document
  • Automatisch generiertes XML
  • .NET Remoting
  • SOAP default encoding
  • Für
  • Schnelle, flexible Entwicklung
  • Wenn sich die Anforderungen Ändern
  • Wenn man selber die Kontrolle behält
  • Aber nicht
  • Wenn es sich um ein kritisches Austauschformat
    handelt

5
Beispiel-Serialisierung
  • Aus
  • public class Person private String name
    private Address addresspublic class Address
    private String city private String
    country
  • Wird
  • ltpersongt ltnamegtKyle Downeylt/namegt ltaddressgt
    ltcitygtForest Hillslt/citygt
    ltcountrygtCanadalt/countrygt lt/addressgtlt/persongt

6
Compostion
  • Wiederverwendung von bestehenden XML-Formaten
  • Ganze namespaces
  • MathML in XHTML
  • Teile von namespaces
  • ltcreatorgt-Element von Dublic Core statt eigenem
    ltauthorgt-Element
  • Beliebt in Web Services

7
Multipart Files
  • Import aus Java
  • Wenn Dokumente zu groß werden
  • Benutzt in
  • WSDL
  • SOAP Attachments

8
Gliederung
  • Motivation
  • Generelle XML-Bauanleitungen
  • Design Patterns
  • Anwendungsspezifische Design Patterns
  • Zusammenfassung

9
Universal Root
  • Gemeinsames Wurzelelement
  • Um verschiedene Dokumenttypen zu kapseln
  • Für Transaktionen
  • SOAP Envelope

10
Transaktionen
  • ltTransactiongt   ltAddAddressgt    
    ltAddressBookEntrygt ...
    lt/AddressBookEntrygt   lt/AddAddressgtlt/Transactio
    ngt
  • Und
  • ltTransactiongt   ltRemoveAddressgt    
    ltAddressBookEntrygt ...
    lt/AddressBookEntrygt   lt/RemoveAddressgtlt/Transac
    tiongt

11
Head-Body
  • Wenn man viele Meta-Daten hat
  • Im Head können die Meta-Daten strukturiert werden
  • ltDocumentgt   ltHeadgt     ltAuthorgtJohn
    Doelt/Authorgt     ltAuthorgtFrank
    Blacklt/Authorgt     ltCreationDategtJune 16,
    1999lt/CreationDategt   lt/Headgt   ltBodygt    
    This is a document.   lt/Bodygtlt/Documentgt

12
Container Element
  • Zusammengehörige Daten gruppieren
  • ltComputerConfigurationgt   ltWordProcessorgtWordPer
    fectlt/WordProcessorgt   ltHardDriveSizegt8GBlt/HardD
    riveSizegt   ltXMLParsergtXerceslt/XMLParsergtlt/Comp
    uterConfigurationgt
  • ltComputerConfigurationgt    ltSoftwaregt     
    ltWordprocessorgtWordperfectlt/Wordprocessorgt    
    ltXMLParsergtXerceslt/XMLParsergt   lt/Softwaregt  
    ltHardwaregt        ltHardDriveSizegt8
    GBlt/HardDriveSizegt   lt/Hardwaregtlt/ComputerConfi
    gurationgt
  • Ähnlich dem Composite-Pattern der Gang of Four

13
Marketplace
  • Manchmal kann hierarchsche Strukturierung auch
    hinderlich sein
  • Redundanz
  • ltEmployeesgt   ltManagersgt     ltPerson
    type"salaried"gt       Riff Raff    
    lt/Persongt   lt/Managersgt   ltWorkersgt    
    ltPerson type"salaried"gt       Brad
    Majors     lt/Persongt   lt/Workersgtlt/Employee
    sgt
  • ltEmployeesgt   ltPerson type"salaried"
    level"manager"gt     Riff Raff  
    lt/Persongt   ltPerson type"salaried"
    level"worker"gt     Brad  
    lt/Persongtlt/Employeesgt
  • In relationalen Datenbanken würde man dafür
    foreign keys mit mehreren Tabellen verwenden

14
Referenced Note
  • Eine andere Art Redundanz zu vermeiden
  • Footnotes
  • ltParagraphgt This paragraph refers to a
    note.   ltNoteReference ref"1"/gtlt/ParagraphgtltN
    ote id"1"gtThis is the note.lt/Notegt
  • Wird aber in XML nicht so häufig eigesetzt
  • Es wird ja meist für Semistruturierte Daten
    eingesetzt

15
Gliederung
  • Motivation
  • Generelle XML-Bauanleitungen
  • Design Patterns
  • Anwendungsspezifische Design Patterns
  • Zusammenfassung

16
Beispiel Textdokumente
  • Es gibt natürlich Empfehlungen für alle möglichen
    Applikationen
  • Beispiel Textverarbeitung
  • Häufig verwendet wird RunningText
  • lt!ENTITY RunningTextPCDATAQuoteEmphasisMa
    thMLPhraseBibRefFootNoteReference'gt
  • Das kann man dann in Absätzen, Fußnoten und
    Bildbeschreibungen benutzen

17
Gliederung
  • Motivation
  • Generelle XML-Bauanleitungen
  • Design Patterns
  • Anwendungsspezifische Design Patterns
  • Zusammenfassung

18
Referenzen
  • Introduction to XML Design patterns
    http//www.utoronto.ca/ian/books/xmlbook/pattern
    s.html
  • Architectural Design Patterns for XML Documents
    http//www.xml.com/pub/a/2003/03/26/patterns.html
  • http//www.xmlpatterns.com/
Write a Comment
User Comments (0)
About PowerShow.com