Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Ein Überblick für PB-Entwickler

Ähnliche Präsentationen


Präsentation zum Thema: "Ein Überblick für PB-Entwickler"—  Präsentation transkript:

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

35

36

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

43

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)


Herunterladen ppt "Ein Überblick für PB-Entwickler"

Ähnliche Präsentationen


Google-Anzeigen