ebook img

XML für ABAP-Entwickler - Amazon S3 PDF

43 Pages·2009·1.36 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview XML für ABAP-Entwickler - Amazon S3

1362.book Seite 3 Donnerstag, 1. Oktober 2009 11:32 11 Tobias Trapp XML für ABAP™-Entwickler Bonn (cid:2) Boston 1362.book Seite 5 Donnerstag, 1. Oktober 2009 11:32 11 Inhalt Vorwort zur zweiten Auflage .................................................................... 11 In diesem Kapitel lernen Sie die wichtigsten Anwendungsgebiete vonXML-Technologien innerhalb und außerhalb der Plattform SAP NetWeaver kennen. 15 1 Einleitung ............................................................................ 15 1.1 Anwendungsgebiete von XML-Technologien ......................... 16 1.1.1 XML für den Austausch von Daten und Dokumenten ............................................................. 16 1.1.2 XML im E-Business ................................................... 18 1.1.3 XML in der Anwendungsintegration .......................... 19 1.2 XML innerhalb von SAP NetWeaver ...................................... 19 1.2.1 XML im Datenaustausch ........................................... 19 1.2.2 XML in ABAP-Anwendungen .................................... 21 1.2.3 XML in der ABAP-Entwicklung.................................. 22 1.2.4 XML als Integrationstechnologie ............................... 23 1.2.5 XML für die Generierung und das Parsen von Dokumenten ............................................................. 25 1.2.6 XML in Webanwendungen ....................................... 25 1.3 XML-Verarbeitung durch String-Manipulation ....................... 27 1.3.1 Verwendung von String-Operationen ........................ 27 1.3.2 Parsen mit regulären Ausdrücken .............................. 28 1.3.3 Softwaretechnische Gründe für Application Programming Interfaces ............................................ 29 1.4 Zusammenfassung ................................................................. 29 In diesem Kapitel lernen Sie die wichtigsten Mitglieder der XML-Familie kennen, beginnend mit der Syntax und Semantik von XML bis hin zum Vokabular der Semantic-Web-Standards. 31 2 XML-Standards und XML-Middleware .............................. 31 2.1 Einführung in XML ................................................................ 31 2.1.1 XML-Syntax .............................................................. 32 2.1.2 XML-Semantik .......................................................... 39 2.2 XML-Vokabulare ................................................................... 40 2.2.1 Really Simple Syndication ......................................... 40 2.2.2 WordML, ODF und OOXML ..................................... 42 2.2.3 XSL Formatting Objects ............................................ 42 2.2.4 Scalable Vector Graphics ........................................... 44 2.2.5 XHTML ..................................................................... 45 2.2.6 XML-Linking ............................................................. 45 2.3 XSL-Transformationen ........................................................... 46 2.3.1 Lokalisierungen mit XPath......................................... 48 5 1362.book Seite 6 Donnerstag, 1. Oktober 2009 11:32 11 Inhalt 2.3.2 Template-Verarbeitung mit XSLT .............................. 49 2.3.3 Stärken und Schwächen von XSLT ............................. 51 2.4 XML-Schemasprachen ........................................................... 51 2.4.1 Document Type Definitions ...................................... 52 2.4.2 XML Schema ............................................................. 53 2.4.3 Schematron............................................................... 59 2.4.4 Grundregeln für die Erstellung eigener Vokabulare .... 61 2.5 XML als Basis des Semantic Web ........................................... 62 2.5.1 Resource Description Framework .............................. 62 2.5.2 Web Ontology Language........................................... 66 In diesem Kapitel lernen Sie die XML-Library kennen. Sie ist die älteste XML-Programmierschnittstelle des AS ABAP und die einzige, die einen Service zur Validierung von XML-Dokumenten gegen DTDs bietet. 71 3 XML-Library ........................................................................ 71 3.1 Einführung............................................................................. 72 3.1.1 Erzeugen eines DOM-Baumes ................................... 72 3.1.2 Filter und Iteratoren .................................................. 74 3.2 Wichtige Interfaces ................................................................ 76 3.3 Datenquellen ......................................................................... 78 3.4 DOM-API .............................................................................. 79 3.4.1 Zugriff auf den DOM-Baum....................................... 79 3.4.2 Manipulation eines DOM-Baumes ............................ 80 3.5 Rendern von XML-Dokumenten ............................................ 82 3.6 Validierung gegen Document Type Definitions ...................... 83 3.6.1 Interner Verweis auf eine Document Type Definition ................................................................. 84 3.6.2 Validierung bei internen Document Type Definitions ................................................................ 85 3.6.3 Validierung bei externen Document Type Definitions ................................................................ 85 3.7 Unterstützung von Namensräumen ........................................ 86 3.7.1 Namensraumunterstützung der XML-Library ............. 87 3.7.2 Elementidentifikation mit Namensräumen................. 90 3.8 Ereignisbasiertes Parsen ......................................................... 91 3.8.1 SAX-Schnittstelle ...................................................... 91 3.8.2 Fallstricke ................................................................. 93 3.9 Service-Schnittstellen zur XML-Library ................................... 94 Sie lernen in diesem Kapitel mit dem SXML-Parser die jüngste XML-Programmierschnittstelle im AS ABAP kennen. Über diese können Sie auch binäre XML-Daten erzeugen. 97 4 SXML-Parser ....................................................................... 97 4.1 Reader- und Writer-Klassen ................................................... 98 4.2 SXML-Parser.......................................................................... 101 4.2.1 Zugriff über das Interface IF_SXML_NODE ................ 102 6 1362.book Seite 7 Donnerstag, 1. Oktober 2009 11:32 11 Inhalt 4.2.2 Token-Modus ........................................................... 104 4.3 Anwendungsbeispiele ............................................................ 105 4.3.1 Verwendung von Binary XML.................................... 105 4.3.2 Ermittlung des Headers eines XML-Dokumentes ....... 106 In diesem Kapitel lernen Sie den ABAP-XSLT-Prozessor und seine SAP-spezifischen Erweiterungen kennen. XSLT ist eines der mächtigsten Werkzeuge zur Verarbeitung von XML-Dokumenten. 109 5 XSL-Transformationen ........................................................ 109 5.1 Integration von XSLT in die ABAP Workbench ....................... 110 5.1.1 Tag Browser .............................................................. 111 5.1.2 XSLT-Tester .............................................................. 111 5.1.3 Übergabe von Parametern im XSLT-Tester ................ 112 5.1.4 XSLT-Debugger ......................................................... 113 5.2 Integration von XSLT in ABAP ............................................... 114 5.2.1 Aufruf von XSLT aus ABAP ........................................ 115 5.2.2 Aufruf von ABAP aus XSLT ........................................ 117 5.2.3 Ausnahmebehandlung bei ABAP-Aufrufen von XSLT .................................................................. 122 5.3 Transformation von ABAP-Daten ........................................... 123 5.4 SAP-spezifische Erweiterungen .............................................. 127 5.4.1 Numerische Funktionen ............................................ 127 5.4.2 String-Funktionen ..................................................... 128 5.4.3 XPath-Operatoren und Pfadausdrücke aus XPath 2.0.................................................................. 129 5.4.4 Kommandos für Nodesets ......................................... 130 5.4.5 Weitere Funktionen .................................................. 130 5.4.6 SAP-spezifische Einschränkungen .............................. 133 5.5 XSLT-2.0-Unterstützung ........................................................ 134 5.5.1 Definitionen von XPath-Funktionen und bedingte XPath-Ausdrücke ...................................................... 134 5.5.2 Gruppierung von XML-Elementen ............................. 135 5.5.3 Mehrere Ein- und Ausgabedokumente ...................... 139 5.5.4 Ausgabeformatierung ................................................ 141 5.6 Generierung von Code ........................................................... 141 5.6.1 Text-Templates ......................................................... 142 5.6.2 Abstrakte Syntaxbäume von XPath-Ausdrücken ........ 144 5.7 Tipps für die Praxis ................................................................ 145 5.7.1 Encoding .................................................................. 145 5.7.2 Performance ............................................................. 145 5.7.3 Erweiterungen .......................................................... 146 5.7.4 Modularisierung von Transformationsprogrammen.... 146 5.7.5 Konstruktion portabler Transformationen .................. 147 7 1362.book Seite 8 Donnerstag, 1. Oktober 2009 11:32 11 Inhalt Simple Transformations bezeichnen eine SAP-proprietäre Programmiersprache, die Sie einsetzen sollten, wenn Performanceaspekte wichtig sind oder Sie große XML-Dokumente verarbeiten wollen. Wie das in der Praxis funktioniert, zeigt Ihnen dieses Kapitel. 149 6 Simple Transformations ...................................................... 149 6.1 Grundstruktur ........................................................................ 150 6.2 Zugriff auf Datenobjekte ........................................................ 153 6.2.1 Zugriff auf elementare Datenobjekte ......................... 153 6.2.2 Datenwurzeln und Datenknoten ............................... 154 6.2.3 Attribute ................................................................... 156 6.2.4 Strukturen ................................................................. 156 6.2.5 Interne Tabellen ........................................................ 157 6.2.6 XML-Repräsentation von ABAP-Daten ...................... 160 6.3 Variablen und Parameter ....................................................... 161 6.3.1 Zuweisungen von Variablen und Parametern ............. 161 6.3.2 Fallunterscheidungen mit Variablen .......................... 162 6.4 Bedingte Transformationen .................................................... 162 6.4.1 Optionale Elemente und Attribute ............................ 163 6.4.2 Vorbedingungen, Bedingungen und Zusicherungen ... 165 6.4.3 tt:cond im Detail ....................................................... 168 6.4.4 Fallunterscheidung .................................................... 171 6.4.5 Gruppierung ............................................................. 175 6.5 Mappings .............................................................................. 180 6.5.1 Mapping-Attribut ..................................................... 181 6.5.2 Mapping mit Fallunterscheidungen ........................... 181 6.5.3 Bedingte Transformationen mit Variablen ................. 183 6.5.4 Struktur-Mappings .................................................... 184 6.6 Modulare Transformationsprogramme ................................... 185 6.6.1 Unter-Templates ....................................................... 186 6.6.2 Einbindung von Transformationen............................. 186 6.6.3 Aufruf externer ST-Programme .................................. 186 6.7 Weitere Themen .................................................................... 186 6.7.1 Literale Inhalte .......................................................... 187 6.7.2 Namensräume........................................................... 188 6.7.3 Typisierung ............................................................... 190 6.7.4 Best Practices ............................................................ 193 6.7.5 Ausblick auf weitere Entwicklungen .......................... 193 Mit XML-Technologien können Sie Systeme und Anwendungen verbinden und die Programmierweisen für neue und innovative Lösungen etablieren. In diesem Kapitel werden Sie dazu die passenden Anwendungsbeispiele kennenlernen – sowohl für XML-Technologien als auch für fortgeschrittene XSLT-Programmiertechniken. 195 7 XML-Anwendungsbeispiele ................................................ 195 7.1 Unit-Tests von XSLT-Programmen ......................................... 195 7.1.1 Fallbeispiel: Komplexe Operation auf Knotenmengen ......................................................... 197 7.1.2 Zusammenfassung ..................................................... 201 8 1362.book Seite 9 Donnerstag, 1. Oktober 2009 11:32 11 Inhalt 7.2 Schematron-Implementierung ............................................... 202 7.2.1 Speicherung der Schemata in eCATT-Containern ....... 202 7.2.2 Ablauf der Generierung ............................................. 205 7.2.3 Generierung der Validierungstransformation ............. 207 7.2.4 Erzeugung von XSLT-Entwicklungselementen ............ 210 7.2.5 Zusammenfassung ..................................................... 211 7.3 XSLT-Erweiterungen durch EXSLT .......................................... 212 7.3.1 Überprüfung regulärer Ausdrücke ............................. 213 7.3.2 Zusammenfassung ..................................................... 215 7.4 REST-Webservices ................................................................. 215 7.4.1 Wiedergabe von Informationen über Kurzdumps ...... 216 7.4.2 REST-Webservices in der Praxis ................................. 218 7.4.3 Zusammenfassung ..................................................... 221 7.5 Objektserialisierung ............................................................... 221 7.5.1 Anwendungsbeispiel Terminverwaltung .................... 221 7.5.2 Stärken und Schwächen ............................................ 225 7.5.3 Zusammenfassung ..................................................... 226 7.6 Domänenspezifische Sprachen ............................................... 226 7.6.1 Anwendungsbeispiel Datumsberechnung .................. 227 7.6.2 Zusammenfassung ..................................................... 232 7.7 XML als Dokumentenformat .................................................. 232 7.7.1 Parsen von Excel-Dokumenten .................................. 233 7.7.2 Erstellung von WordML-Dokumenten ....................... 235 7.7.3 Erzeugung von PDF-Dateien mittels XSL-FO ............. 237 7.7.4 Zusammenfassung ..................................................... 237 In diesem Kapitel werden Sie erfahren, mit welchen XML-Vokabularen Sie Metadaten zu Stamm- und Bewegungsdaten des AS ABAP erzeugen und auf welchen Anwendungsfeldern Sie davon profitieren können. 239 8 Metadaten und Semantic-Web-Technologien ................... 239 8.1 Realisierung eines RSS-Feeds ................................................. 241 8.1.1 Exponieren von ABAP-Kurzdumps als RSS-Feed ........ 242 8.1.2 Erzeugung der RSS-Daten ......................................... 246 8.1.3 Zusammenfassung ..................................................... 249 8.2 Resource Description Framework .......................................... 249 8.2.1 Metainformationen für XML-Transformationen ......... 250 8.2.2 Exponieren der Metadaten als REST-Webservice ....... 258 8.2.3 Integration von Metadaten in XML-Dokumente........ 258 8.2.4 Zusammenfassung ..................................................... 263 8.3 Ontologien ............................................................................ 263 8.3.1 Verwendungen zwischen Transformationen im AS ABAP .............................................................. 264 8.3.2 Reasoning in OWL .................................................... 267 9 1362.book Seite 10 Donnerstag, 1. Oktober 2009 11:32 11 Inhalt 8.3.3 Generierung der Ontologie ....................................... 269 8.3.4 Zusammenfassung ..................................................... 273 In diesem Kapitel werden Sie erfahren, mit welchen XML-Vokabularen Sie Metadaten zu Stamm- und Bewegungsdaten des AS ABAP erzeugen und auf welchen Anwendungsfeldern Sie davon profitieren können. 239 Anhang ......................................................................................275 A Literaturverzeichnis .......................................................................... 275 B Der Autor ........................................................................................ 278 Index ........................................................................................................ 279 10 1362.book Seite 11 Donnerstag, 1. Oktober 2009 11:32 11 Vorwort zur zweiten Auflage XML-Technologien haben sich zu Schlüsseltechnologien von SAP NetWeaver entwickelt. Wurden die ersten XML-Programmierschnittstellen von Anwen- dungsentwicklern in erster Linie genutzt, um den Datenaustausch mit exter- nen Partnern zu betreiben, durchziehen sie nun die gesamte Plattform und sind Basis fast aller Integrationstechnologien. Auch innerhalb der Anwen- dungen des SAP NetWeaver Application Servers ABAP (AS ABAP) werden sie verwendet, wenn flexible Programmiermodelle gefragt sind. Aus diesem Grund habe ich mich entschlossen, der zweiten Auflage des SAP- Heftes XML-Datenaustausch in ABAP einen neuen Fokus zu geben, der sich auch im Titel dieses Buches widerspiegelt. Standen in der ersten Auflage vor allem Integrationsszenarien im Vordergrund, sollen in dieser Neuauflage viele unterschiedliche Anwendungsgebiete behandelt werden, um die Stär- ken von XML-basierten Lösungen aufzuzeigen. Insbesondere dieser letzte Aspekt wird weiter an Bedeutung gewinnen, da der AS ABAP aufgrund sei- ner Robustheit und der Vielzahl seiner Programmierschnittstellen eine mächtige Plattform für die Entwicklung von Geschäftsanwendungen ist. Inhalt, Ziel und Zielgruppen des Buches Dieses Buch behandelt alle XML-Programmierschnittstellen des AS ABAP. Ihnen wird vermittelt, in welchen Bereichen der Anwendungsentwicklung Sie XML-Technologien gewinnbringend einsetzen können. Neben den Grundlagen werden dabei auch fortgeschrittene Programmiertechniken und Anwendungsgebiete vorgestellt. Dieses Buch richtet sich an ABAP-Entwickler, die die Grundlagen von XML und auf XML basierenden Technologien verstehen und einsetzen wollen. Damit ist es einerseits für Einsteiger geschrieben, die vielfältige Anwendungen zum Austausch von Daten und Dokumenten sowie die XML-Anwendungs- entwicklung in ABAP an sich kennenlernen wollen. Aber auch XML-Profis und Lösungsarchitekten werden auf den folgenden Seiten eine Vielzahl an Anregungen und Programmiertricks finden, um flexible und zeitgemäße Lösungen zu entwerfen. 11 1362.book Seite 12 Donnerstag, 1. Oktober 2009 11:32 11 Vorwort zur zweiten Auflage Aufbau des Buches In Kapitel 1, »Einleitung«, werden Sie die wichtigsten Anwendungsgebiete von XML-Technologien sowohl innerhalb des AS ABAP als auch aus der Per- spektive der Anwendungsentwicklung kennenlernen. Kapitel 2, »XML-Stan- dards und XML-Middleware«, behandelt die Grundlagen und wichtigsten Standards der XML-Familie. Die in diesem Kapitel diskutierten Standards werden in den folgenden Anwendungsbeispielen des Buches wieder aufge- griffen. Im Anschluss werden die XML-Library (Kapitel 3), der SXML-Parser (Kapitel 4), XSL-Transformationen (Kapitel 5) und Simple Transformations (Kapitel 6) detailliert betrachtet. Diese Kapitel dienen Ihnen als Einführung in die The- matik und können auch unabhängig voneinander gelesen werden. Jedes die- ser Kapitel enthält auch softwaretechnische Überlegungen sowie Best Practices zum Einsatz der jeweiligen Technologie, sie bieten damit auch fort- geschrittenen Lesern genügend Anregungen. Kapitel 7, »XML-Anwendungsbeispiele«, liefert eine Reihe von Anwen- dungsbeispielen für XML-Technologien, während Kapitel 8, »Metadaten und Semantic-Web-Technologien«, den Einsatz von XML-Technologien im Bereich des Wissensmanagements beleuchtet und eine Einführung in soge- nannte Semantic-Web-Technologien liefert. Systemvoraussetzungen Wenn Sie die in diesem Buch beschriebenen Lösungen testen wollen, sollten Sie ein Testsystem aufsetzen. Für Test- und Evaluierungszwecke können Sie die ABAP Trial Version mit Release-Stand 7.0 EhP1 aus dem SAP Developer Network unter http://sdn.sap.com herunterladen: Folgen Sie dem Menüver- lauf Downloads (cid:2) SAP NetWeaver Main Releases. Viele der hier beschriebenen Technologien lassen sich aber auch bereits mit Release 6.20 des AS ABAP einsetzen. Stehen bestimmte Techniken erst ab höheren Releases zur Verfügung, wird gesondert darauf hingewiesen. Beispiele und ABAP-Quelltext Alle Codebeispiele dieses Buches können Sie sich von der Webseite zum Buch unter http://www.sap-press.de/2042 als Transporte und auch als SAP- link-Nuggets (siehe Abschnitt 1.2.3, »XML in der ABAP-Entwicklung«) her- unterladen. 12 1362.book Seite 13 Donnerstag, 1. Oktober 2009 11:32 11 Vorwort zur zweiten Auflage Danksagung An dieser Stelle möchte ich besonders Karsten Bohlmann für seine wertvol- len Hinweise danken. Ebenso danke ich Stefan Proksch von Galileo Press für die sehr gute Zusammenarbeit. Tobias Trapp Softwarearchitekt, AOK Systems GmbH 13

Description:
1. Okt. 2009 Sie ist die älteste XML-Programmierschnittstelle des AS ABAP und die einzige, .. Simple Transformations bezeichnen eine SAP-proprietäre
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.