Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Ein Überblick für PB-Entwickler
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 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
Wir beraten „vor Ort“ und entwickeln „zentral“.
Standorte Wir beraten „vor Ort“ und entwickeln „zentral“. ... Hamburg Münster Düsseldorf Frankfurt* Walldorf (bei Heidelberg) München* *in Planung
9
http://www.innobis.de Jobs Wir suchen dringend OO-Entwickler!
Java, C++ UML ODBMS
10
Austausch von Dokumenten über Anwendungs- und Systemgrenzen hinweg
Die Ausgangsproblematik: Austausch von Dokumenten über Anwendungs- und Systemgrenzen hinweg
11
X X Beispiel:Dokumentenaustausch Client Client Doc-File Word
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
SGML app HTML XML app XHTML SGML XML
Die GML Familie SGML app HTML XML app XHTML 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
XML als HTML ergänzender Standard
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
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)
Ein Schema 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 frontpage
table of contents chapter appmat biblist + + citation index titlegrp Section appendix + 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 Klassen: Document Node Element Text Attribut Processing Instruction Comment Hilfsklassen: Nodelist EditableNodelist NodeEnumerator Attributelist Document context DOM DOMFactory DOM API (sprachspezifisch) Java binding (‚interfaces)‘ COM binding (VB,C++) Object Management Group IDL Herstellerspezifisch: Implementation der Methoden XML4J, XERCES MSXML
37
Die SAX-API SAX = Simple API for XML
38
SAX oder DOM? SAX: DOM: schneller später Zugriff auf Daten
eigener Doc-Handler eignener Listener DOM: später Zugriff auf Daten eigener Tree-Walker fertiges Objektmodell gut bei einfach strukturierten oder generierten Daten (XQL, OQL, SQL) gut bei komplexen Dokumenten (Datenaustausch, Dokumentenmanagement)
39
Kombination SAX und DOM
moderne Parser verfügen über beide API‘s
40
Persistenz: XML und Datenbanken
RDBMS SQL Mapping XML Parser Document ODBMS OQL Serialisierung XQL hierachisch objektorientiert Dateien
41
Formatvorlagen mit der Extensible Stylesheet Language (XSLT)
erstellen
42
Formatierung RTF PDF
44
Mapping zwischen Dokumenttypen
DTD 1 DTD 2 XML
45
1 2 XML im Browser darstellen Client Server XSL XML HTML Anfrage XSL
Proz. Browser ASP/JSP/Servlet 1 XML Parser HTML Antwort XSL XML 2 XML Parser XSL Proz.
46
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)); %>
47
Wie kann man XML einsetzen?
Wo wird XML schon verwendet?
48
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
49
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
50
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
51
spezialisierte XML-Anwendungen
SMIL VRML (Video Rendering) XMI (XML Metadata Interchange) Voice XML WIDL Web IDL WML >WAP Wireless Application Protocoll SOAP XHTML diverse XML-Katalogformate zum Datenaustausch MathML, BioML, CML XML-RPC XMI XUL CDF (Channel Definition Format)
52
Beispiel: Anwendungsintegration mit XMI
Rational Rose IBM Visual Age UML XMI Java - Klassen Andere Applikationen
53
Beispielcode XMI [UML model in an XMI document]
<XMI xmi.version="1.1" xmlns:UML="org.omg/standards/UML"> <XMI.header> <XMI.metamodel name="UML" version="1.3" href="UML.xml"/> <XMI.model name="example" version="1" href="example.xml"/> </XMI.header> <XMI.content> <UML:Class name="C1"> <UML:Classifier.feature> <UML:Attribute name="a1" visibility="private"/> </UML:Classifier.feature> </UML:Class> </XMI.content> </XMI>
54
XML-Protokolle (XML-RPC)
[in a POST parameter] <methodCall> <methodName>examples.getStateName</methodName> <params> <param> <value><i4>41</i4></value> </param> </params> </methodCall>
55
traditioneller EDI-Ablauf
Mehrwertdienst (VAN) Partner A Partner B feste Transaktionssätze mit implementierten Geschäftsregeln Geschäftsregel- Repository Geschäftsregel- Repository
56
EDI traditionell Vorteile: Nachteile:
Vermeidung von manueller Datenerfassung hohe Transaktionssicherheit hohes Datenvolumen kann übertragen werden Nachteile: Hohe Einführungs- und Betriebskosten geringe Verbreitung -> kaum Einsparungen bei manueller Erfassung starre Transaktionssätze -> unflexibel bei Änderungen in den Geschäftsprozessen Sehr lange Projektlaufzeit bis zur Einführung weil Geschäftsprozesse in Einklang gebracht werden müssen.
57
Was geht mit XML besser? Trennung der Daten von den Geschäftsregeln
Austausch über das Internet billiger als VAN’s Die Standardisierung der XML-Formate wird global sein. XML verarbeitende Standardsoftware wird sehr viel günstiger sein als die von bisherigen EDI-Anbietern. Über Konverter wird es Schnittstellen zu herkömmlichen EDI-Systemen geben => Datenaustausch wird auch mit kleinen Partnern möglich
58
XEDI: Konvertierung EDI->XML
59
@innbetween Materialstammdaten Lieferant Kunde XML SAP SAP
Preisänderungen ProductCat DTD XML Loader Extractor PriceCat DTD Loader PurchaseOrder DTD Extractor XML Bestellungen
60
PowerBuilder und XML - Kein Thema ?
"XML shall support a wide variety of applications" PowerBuilder und XML - Kein Thema ?
61
Den Parser selber schreiben externe Ressourcen nutzen?
oder externe Ressourcen nutzen? OLE Automation Global External Functions ......? Msxml.dll n_cst_dom Xml4j.jar
62
// Oleobject iole_dom, iole_doctype, iole_domroot
iole_dom = create oleobject ll_result =iole_dom.ConnectToNewObject("Microsoft.XMLDOM") if ll_result <> 0 then messagebox(a_editor.displayname+": Connect to object failed!", & string(ll_result)) return -1 end if iole_dom.async = False iole_dom.validateOnParse(ib_validateonparse) lb_result = iole_dom.load(as_pathname) if not lb_result then this.of_showerrormessage(iole_dom.parseError) else iole_doctype = iole_dom.doctype iole_domroot = iole_dom.documentElement return 1
63
Demo XML-Smarty XML-Editor, entwickelt mit PowerBuilder 6.5.1:
XML Parser: Microsoft msxml / msxml3 Zugriff über DOM-API und OLE Automation optionales Validieren von Dokumenten Generieren von HTML mittels XSLT-Stylesheet
64
XML-Ressourcen & Downloads (I)
65
XML-Ressourcen & Downloads (II)
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.