230 likes | 356 Views
Kolloquium - XML Clearinghouse <x:act> - Ein Web Service für die Konvertierung von XML-Dokumenten. Peter Buxmann und Erik Wüstner Technische Universität Freiberg Lehrstuhl für Wirtschaftsinformatik http://www.wiwi.tu-freiberg.de/wi/ http://www.x-act.org/. Agenda . Status quo von EDI
E N D
Kolloquium - XML Clearinghouse<x:act> - Ein Web Service für die Konvertierung von XML-Dokumenten Peter Buxmann und Erik Wüstner Technische Universität Freiberg Lehrstuhl für Wirtschaftsinformatik http://www.wiwi.tu-freiberg.de/wi/ http://www.x-act.org/
Agenda • Status quo von EDI • XML/EDI - Offene Technologien und Praxiserfahrungen • Web Services: Ein Überblick • Das <x:act> Projekt • Ausblick
Status quo von EDI • Electronic Data Interchange (EDI) – Austausch von Geschäftsdokumenten über Netze • Voraussetzung: Gemeinsame Nutzung von EDI-Standards, z. B. EDIFACT, ANSI X12, SEDAS • EDI - Killerapplikation und Erfolgsstory? • Verbreitung eher in großen Unternehmen • Was ist mit KMUs?
Offene Standards • Lösung auf Basis offener Informations- und Kommunikationstechnologien • Offene Standards, z. B. XML, http, smtp, ssl, Java • Open-Source-Software, z. B. Apache Xerces Parser • Extensible Markup Language (XML) • Sprache zur Beschreibung von Geschäftsdokumenten • Direkte Netzeffekte: Verbreitung steigt – auch durch das Angebot von Standardsoftwareherstellern • Indirekte Netzeffekte: Vielzahl komplementärer Standards und Open-Source-Software verfügbar • Buxmann, P./Ladner, F./Weitzel, T.: Anwendung der Extensible Markup Language (XML): Konzeption und Entwicklung einer WebEDI-Lösung, in: Wirtschaftsinformatik 43 (2001), 257-267.
<?xml version="1.0" encoding="UTF-8"?> <OrderRequestHeader orderID="DO1234" orderDate="2002-03-12" requestedDeliveryDate="2002-03-24"> <ShipToAddress> <DeliverTo>Cisco Corporation</DeliverTo> <Street>123 University Street </Street> <City>Sunnyvale</City> <State>CA</State> <PostalCode>90489</PostalCode> </ShipToAddress> <BillTo>...</BillTo> <Payment>...</Payment> ... </OrderRequestHeader> Beispiel Bestellung Order.xml
Order.xml Order.xml http, smtp, ssl Sender Empfänger Java / Xerces-Parser Java / Xerces-Parser ERP- oder Datenbank- system Browser ERP- oder Datenbank- system Beispielszenario – LH Airplus
Praxiserfahrungen • Anwendungserfahrungen in der Praxis • Parallelbetrieb von klassischem EDI und XML/EDI • Hauptproblem bei der Einführung: Inhouse-Integration und Konvertierung mit hohem Aufwand verbunden
Ziel des <x:act> Projekts „Entwickeln und Betreiben eines Web Service, der die Konvertierung von XML-Dokumenten anbietet.“ Benutzer schickt Quelldokument und Meta-Informationen zur Konvertierung an den Web Service und erhält konvertiertes Dokument zurück.
Web Services: Worum geht es? • Die Web Services-Architektur besteht aus einem System XML-basierter Standards wie SOAP, UDDI, WSDL und WSCI, mit deren Hilfe Anwendungen einen Teil ihrer Funktionalität über standardisierte Internet-Protokolle anderen, heterogenen Anwendungen zur Verfügung stellen können. • Im Wesentlichen zwei Arten von Web Services: • Remote Procedure Calls (RPC): Aufrufen entfernter Mehthoden, meist synchron, Anbinden existierender Software (EJB´s...) • Dokumentenbasiert: Kommunikation mit WS ist dokumentenorientiert, asynchrone Kommunikation möglich
WSDL, SOAP, UDDI und WSCI: Die Web Service Technologien • WSDL (Web Services Description Language) Ein WSDL-Dokument beschreibt mittels XML die Schnittstelle eines Web Service, dazu Spezifikation der verwendeten Protokolle sowie der Ein- und Ausgabeparameter der einzelnen Operationen. • SOAP SOAP übernimmt bei der Kommunikation zwischen Web Service-Nutzer und -Anbieter die XML-basierte Verpackung, Strukturierung und Kapselung der auszutauschenden Informationen. • UDDI (Universal Description, Discovery and Integration) Suchdienst / Gelbe Seiten für Web Services und deren Anbieter • WSCI (Web Service Choreography Interface) WSCI beschreibt die Nachrichtenflüsse, die von verschiedenen, interagierenden Web Services produziert und verarbeitet werden.
Web Services in der Praxis • Integrierte Anwendungen der großen Hersteller: • .NET von Microsoft • ONE von Sun Microsystems • WoW von IBM • (NetWeaver von SAP) • Im Open Source Bereich: Apache Axis • Auch bestehende Software kann inzwischen mit Web Services umgehen: Altova XML Spy, Borland JBuilder, Sun Forte • Diverse Web Service Kit´s sind verfügbar: JWSDP von Sun, WASP von Systinet, Web Services ToolKit von IBM • Beispiele für funktionierende Web Services unter: http://www.xmethods.com/
Rahmenbedingungen des <x:act> Projekts • Web Service unter https://www.x-act.org:8443/conversion (SSL) und http://www.x-act.org:8080/conversion (ohne SSL) erreichbar. • Aufbau eines Repositories für XSLT-Stylesheets und entsprechende Super-Standards, das frei zugänglich und durch Nutzer erweiterbar ist. • Zur Implementierung des Web Service wurden ausnahmslos frei erhältliche Tools eingesetzt. • Alle Quellcodes sind unter einer Apache-ähnlichen Lizenz per CVS verfügbar. Das Projekt ist bei SourceForge registriert.
Anwendungsbeispiel Konvertieren eines Bestelldokuments von xCBL nach OAGIS mittels des <x:act> Web Service
Anwendungsbeispiel: SOAP-Request POST https://www.x-act.org:8443/conversion HTTP/1.0 User-Agent: "xact_client_adv_php V1.11 (SSL)" Host: www.x-act.org Content-Type: multipart/related; type="text/xml"; boundary="==8c507ed8dca3a70c7c325c77abbd4832==" Content-Length: 2662 SOAPAction: "" --==8c507ed8dca3a70c7c325c77abbd4832== Content-Type: text/xml HTTP Header <?xml version="1.0" encoding="UTF-8"?> <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Header> <m:msgID xmlns:m="http://www.x-act.org">php- 25e30e74c25a0afe172446a049f2a74d</m:msgID> </soap-env:Header> <soap-env:Body> <m:DoAdvancedConversion xmlns:m="http://www.x-act.org"> <sourceformat>xcbl_demo</sourceformat> <sourceschema>foo</sourceschema> <targetformat>oagis_demo</targetformat> <targetschema>foo2</targetschema> <area>edi</area> <documenttype>purchase order</documenttype> <usergroup>business</usergroup> <username>anonymous</username> <password>dummy@dummy.de</password> </m:DoAdvancedConversion> </soap-env:Body> </soap-env:Envelope> Payload(Purchase Order) SOAP Part
Implementierung des Konvertierungs- Web Services • Dokumentenbasierter Ansatz, da RPC wegen des Versendens eines angehängten XML-Dokuments ungeeignet erscheint. • Umsetzung als JAXM-Servlet, JAXM = Java API for XML Messaging von Sun Microsystems. • Zugriff mit beliebigem SOAP-fähigen Client möglich, Beispielclients sind verfügbar. • Apache Tomcat als Servletcontainer. • MySQL-Datenbank für das Stylesheet-Repository und zum Transaktionslogging.
Überblick <x:act> Mapper • Kann von Benutzern aufgerufen werden, falls kein passender XSLT-Stylesheet existiert. • Bedingung: Entstehender XSLT-Stylesheet muss in Repository eingestellt werden. • Konvertierung durch Nutzung eines mittelnden Formats („Super-Standard“) möglich. • Zum Mappen ist detaillierte Kenntnis der beteiligten Formate notwendig. • Umfassende graphische Unterstützung bei der Stylesheet-Erstellung.
Ausblick • Suche nach "Live"-Konvertierungsszenarios • Erstellen von Stylesheets, um kritische Masse zu erreichen • Implementierung von über SSL hinausgehenden Sicherheitsmechanismen • Verbesserung der Bedienbarkeit des Mappers • Mehr Clients • Ausbau des Community-Angebots auf der Website • Weiterentwicklung zu Java-API
Vielen Dank! Fragen, Hinweise, Anregungen? info@x-act.org