Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

XSL in der Praxis Anwendungsbeispiele für die eXtensible Stylesheet Language Andreas Kühne XML One 2000.

Ähnliche Präsentationen


Präsentation zum Thema: "XSL in der Praxis Anwendungsbeispiele für die eXtensible Stylesheet Language Andreas Kühne XML One 2000."—  Präsentation transkript:

1 XSL in der Praxis Anwendungsbeispiele für die eXtensible Stylesheet Language Andreas Kühne XML One 2000

2 Wozu XSL ? XML XQL XXL XPointer XMI XUL XLE ? DOM SAX

3 XSL-Familie XSL Transformation ( XSLT ) XML Path Language ( XPath ) Formatting Objects ( FO )

4 Formatting Objects Layout- und Darstellungsinformationen eng angelehnt an CSS

5 XPath Selektionssprache zur Auswahl von Mengen von Elementen Navigation innerhalb des XML-Baums Formulierung von Bedingungen Logische Operatoren

6 XSLT Transformationssprache zur Überführung eines XML-Dokumentes in eine andere Struktur / Format Deklarativ, nicht prozedural Regelbasiert

7 XPath Beispiele Pfad : / Resultat : Wurzelelement Person Name Adresse Strasse Ort PLZ

8 XPath Beispiele Pfad : //PLZ Resultat : Element mit dem Namen PLZ irgendwo im Dokument Person Name Adresse Strasse Ort PLZ

9 XPath Beispiele Pfad : /*/Adresse [./Ort=Köln] Resultat : Adress-Element, dessen Kind- Element Ort den Wert Köln hat Person Name Adresse Strasse Ort PLZ Köln

10 Transformation Dokument ADokument B XSLT

11 XSLT Stylesheet ...

12 XSLT Template A Stock Order

13 XSL Tutorial

14 Einige XSLT Parser Xalan –C++ und Java-Versionen –http://www.apache.org Microsoft XMLParser –http://msdn.microsoft.com/downloads/tools/xmlparser/xmlparser.asp XSL:P –Java mit ECMAScript-Einbettung –http://www.clc-marketing.com/xslp The XML Cover Pages –Übersicht über Parser, Tools, Newsgroups usw. –http://www.oasis-open.org/cover/xsl.html

15 XSLT Editor

16 Parser API // Instantiate an XSLTProcessor. org.apache.xalan.xslt.XSLTProcessor processor = org.apache.xalan.xslt.XSLTProcessorFactory.getProcessor(); // Create the 3 objects the XSLTProcessor needs // to perform the transformation. org.apache.xalan.xslt.XSLTInputSource xmlSource = new org.apache.xalan.xslt.XSLTInputSource (xmlSourceURL); org.apache.xalan.xslt.XSLTInputSource xslSheet = new org.apache.xalan.xslt.XSLTInputSource (xslURL); org.apache.xalan.xslt.XSLTResultTarget xmlResult = new org.apache.xalan.xslt.XSLTResultTarget (outputURL); // Perform the transformation. processor.process(xmlSource, xslSheet, xmlResult); Quelle : Xalan-Dokumentation,

17 Anwendungsbeispiele Besser als printf –Sprach- und plattformunabhängiges Meldungskonzept Code Generator –Testmethoden aus dem Objektmodell erzeugen EAI Infrastruktur –Realisierung einer Integrationsarchitektur

18 Besser als printf Meldungen eines C-Programms : printf( Sie haben %d neue Mails, nAnzahl ); Ausgabe mittels C++ Streams : cout << Sie haben << nAnzahl << neue Mails << endl; Java-Version : System.out.println( Sie haben + nAnzahl + neue Mails );

19 Printf reicht doch, oder ? Internationalierung –Wie unterstützt man mehrere Sprachen ? Multi-Channel-Fähigkeit –Wie nutzt man verschiedene Ausgabemedien (Browser, WAP, Pager, Konsole, … ) ? Mandantenfähigkeit –Outsourcing-Dienstleister ?

20 Indirektion mittels XSLT Sie haben neue Mails. Sie haben 3 neue Mails Daten-Document Transformationsregel

21 Codefragment : Document erzeugen... Message msg = new Message( Mail Info ); msg.append( anzahl, nMails ); for( int i = 0; i < nMails; i++ ) { msg.append( mail/sender, mails[ i ].sender() ); msg.append( mail/subject, mails[ i ].subject() ); } msg.send();... Codefragment zum Erzeugen einer Meldung, in Java.

22 Beispiel-Document 3 Heinz Meier Terminbestätigung Donnerstag Heinz Meier I love you MailMaster !! Virenwarnung !! Erzeugtes Daten-Document

23 Ein Document, verschiedene Medien 3 neue Mails ! Daten- Document text.xsl html.xsl wml.xsl

24 Sprachen Medien Mandanten Dimensionen von Ausgabeformaten Text HTML WML

25 Codegenerator Metainformationen liegen i. d. R. in einem Objektmodell bereit. Erstellung von Testmethoden ist eine unbeliebte und fehlerträchtige Aufgabe. Generierung von Testmethoden aus dem Objektmodell kann sinnvolle Ergänzung darstellen.

26 XML Metadata Interchange Format (XMI ) Von der OMG standardisiertes Format zur Darstellung Metainformationen ( z.B. Objektmodelle, Use Cases, Sequenzdiagramme ). Breite Unterstützung ( ArgoUML, Rose, TogetherJ ). Tool zur Transformierung *.mdl nach *.xmi bei IBM

27 XML Metadata Interchange Format (XMI ) UML-Meta-Metastruktur. Bekannte Begriffe der UML werden genutzt. Unhandliche DTD ( ca. 500 kBytes )

28 XMI-Modell Package Foundation.Core, View Backbone

29 Mini-Modell Simple.mdl xmiToolkit Simple.xmi

30 XMI Document

31 Transformation XMI zu Code (1) // Test-Methoden Selektion der Klassen

32 Transformation XMI zu Code(2) :: /* * Test fuer Methode : ' ' */ cout << " () = " << ( "TEST" 123 // Fehler, Unerwarteter Typ eines Parameter, ) << endl; Selektion der Methoden und Parameter

33 Transformation XMI zu Code(3) // Test-Methoden /* * Test fuer Methode : 'Auto::holeGeschwindigkeit' */ cout << "Auto::holeGeschwindigkeit() = " << Auto::holeGeschwindigkeit( ) << endl; /* * Test fuer Methode : 'Auto::setzeFhrgstNr' */ cout << "Auto::setzeFhrgstNr() = " << Auto::setzeFhrgstNr( 123 ) << endl; Erzeugter Code

34 EAI Infrastruktur IT-Abteilungen unter Stress: –Data Warehouse –Customer Relationship Management –Enterprise Resource Planning –Workflow –eCommerce –Merger / Aquisitions –Wartung / Weiterentwicklung von Altlasten – % Verfügbarkeit ist selbstverständlich

35 Anwendungs- und Schnittstellen-Spaghetti

36 Standard Releases Migrationsunterstützung / -fähigkeit durch den Anbieter Markt- und User- Anforderungen Die Wartungslücke bei Paketlösungen bis zum Jahr 2003 werden mindestens 66% aller Anpassungen nur außerhalb der Produkte und Entwicklungstools der Paketanbieter realisiert werden können Daten Migration Parameter Migration Erweiterung / Migration von Anpassungen Metadaten-/Versions- Management Schnittstellen- Management Quelle

37 Entwicklung der Implementierung neuer Anwendungen nach unterschiedlichen Realisierungsansätzen 100% Selbst-gestrickte, eigene Integrationslösung Integration über Architektur Integration von Paketlösungen Die Integrationsproblematik verlagert sich Quelle

38 Warum ist so eine EAI-Infrastruktur / Architektur wichtig? Liefert eine Anleitung und hilft Geschäftsprozeß- und technische Komplexitäten umzusetzen Führt zu verkürzten Auslieferungszeiten, geringeren Wartungs- und Anpassungsaufwänden Stellt Skalierbarkeit, Flexibilität, Performance und andere wichtige Systemanforderungen sicher Hilft Software-Entwicklungsprojekte in kleinere Einheiten zu zerlegen und Parallelentwicklungen zu koordinieren Minimiert oder verhindert langfristig big-bang Integrationsprobleme Spart mittel- und langfristig enorme Kosten

39 Neue Anwendungen eigene, teilweise redundante Datenbasis Anwendungen bedingt durch Mergers, Acquisitions und / oder Partner Host-basierte Anwendungen Gekaufte Standardpakete, Komplettlösungen eigene, teilweise redundante Datenbasis Wo ist die Integrationsstrategie ?

40 Die Daten-Zentrierte Integration Drei Integrationsansätze gegenübergestellt Multistep Process Message-Orientierte Integration (MOI ) Composite Application Pattern (CAP) Mehrere Prozesse Mehrere Schritte One-way, asynchrone Interaktionen im Batch oder sofort, individuelle Datenbereitstellg. Systeme sind physisch unabhängig Systeme sind logisch unabhängig Ein Geschäftsprozeß Mehrere Schritte One-way, asynchrone Interaktionen im Batch oder sofort, individuelle Daten- bereitstellungen Systeme sind physisch unabhängig Systeme sind logisch abhängig Ein Geschäftsprozeß One step bilaterale, synchrone Interaktionen Sofortige, individuelle Datenbereitstellung Systeme sind physisch abhängig Systeme sind logisch abhängig

41 Integrations- Infrastruktur Hub n Spoke - Architektur

42 Die Aufgaben der Speiche Nabe Technische Anpassung –Ort –Betriebssystem –Programmiersprache Inhaltliche Anpassung –Semantik –Format –Abstraktion / Spezialisierung

43 Realisierung der Speiche 1. Umsetzung der Daten in ein Document. 2. Transformation mittels XSLT. 3. Transport der serialisierten, transformierten Daten ( z.B. mit CORBA, RMI, COM+ ). Nabe 1 2 3

44 Realisierung der Speiche (1) Abbilden einer Struktur in ein Baum per Hand ( siehe msg.append() ). Generierung des Adapters aus vorhandenen Modellen. Zugriff auf Daten aus einer JDBC-DB mittels XLE. Extraktion von Daten aus beliebigen Textquellen ( z.B. HTML ) mit JEDI. Nabe 1 2 3

45 Realisierung der Speiche (2) Einsatz von XSLT –Umsetzung von Inhalten: Wahr -> true –Umbenennung von Knoten und Attributen: Versicherter -> Kunde –Umstrukturierung von Dokumenten: Adresse -> Lieferanschrift und Rechnungsanschrift Nabe 1 2 3

46 Realisierung der Speiche (3) Transport durch Standard- Middleware ( z.B. CORBA ) –Sprach- und Betriebssystemunabhängigkeit. –Transparenter Transportmechanismus. –Höherwertige Dienste stehen bereit ( z.B. Security-Service ). –Transaktionssicherheit bei Einsatz eines OTS. Nabe 1 2 3

47 Inkrementelle Geschäftspartnerschaften Potential Ohne durchgängige Integrationslösung Vorteile / Vorsprung aufgrund von konsequenter Interenterprise Daten- und Prozeßintegration Lost Opportunity Opportunity Gap

48 Mainframe Servicequalität Verfügbarkeit Sicherheit Effiziente, leading-edge- Lösungen gekaufte Komplettlösung Langfristige Machbarkeit Verläßlichkeit Produktivität Time-to-Market Geringe Einstiegs- kosten Opportunistische Anwendungen System- / Basis- Anwendungen Quelle Zweiteiliger Ansatz

49 XSLT Fazit : Flexibles Werkzeug. Standardisiert durch W3C. Breite Unterstützung in der Industrie. Open Source Implementierungen. Weitschweifigkeit. Proprietäre Erweiterungs- mechanismen. Bewährungsprobe im Hochlastbereich steht noch aus.

50 Die Entwicklung Die wichtigsten Motoren für EAI und das flexible Unternehmen Im neuen Millennium E-Business DataWarehouse, DataMining CRM, Supply-Chain-Mgmt, ERP, Workflow Process Integration Grad der Prozeß- Ausnahmen Hoch Gering Prozeß-Komplexität Gering Hoch In der 80iger-90igern Eigene Lösungen Rechnungs- u. Finanzwesen Dokumenten-Mgmt

51 Kritische Erfolgsfaktoren Anforderungen an das Unternehmens-Management Entwicklung flexibler Geschäftsmodelle Redefinition / Reengineering von Rollen und Funktionen Entwicklung neuer Geschäftsprozesse Anforderungen ans IT-Management Strategie zur schnellen und sicheren Anwendungsintegration (EAI- Strategie) Flexibilität Build/Buy/Outsource Effizientes Infrastruktur-Management absolute Gewährleistung von Sicherheit, Verfügbarkeit und Datenschutz

52 Steigende Markt- segmentierung Schnelligkeit Time to Market Kundenspezifische Anforderungen E-Commerce Neue Geschäftsfelder, Vertriebskanäle Globalisierung Steigender Wettbewerbsdruck Outsourcing Partner, Mergers&Acquisitions bedingen E A I Interenterprise Application Integration Virtuelle Unternehmen

53 EAI Infrastruktur Enterprise Application Integration ( EAI ) ist die kommende Herausforderung. Notwendigkeit einer umfassenden technischen Interoperabilität. Notwendigkeit der organisatorischen Anpassung an eine gemeinsame Herausforderung.


Herunterladen ppt "XSL in der Praxis Anwendungsbeispiele für die eXtensible Stylesheet Language Andreas Kühne XML One 2000."

Ähnliche Präsentationen


Google-Anzeigen