Vom kanonischen Geschäftsobjektmodell zur Konkreten WSDL



Ähnliche Dokumente
MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Anleitung zur Verwendung der VVW-Word-Vorlagen

teamsync Kurzanleitung

Speicher in der Cloud

Dokumentenverwaltung im Internet

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

4.1 Wie bediene ich das Webportal?

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

1 Mathematische Grundlagen

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Adobe Encore Einfaches Erstellen einer DVD

In S-Firm wird nur angeboten die Datei auf Diskette zu exportieren; die Einstellung für HBCI ist ausgegraut.

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Nützliche Tipps für Einsteiger

Primzahlen und RSA-Verschlüsselung

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Melde- und Veröffentlichungsplattform Portal (MVP Portal) Hochladen einer XML-Datei

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

agitat Werkzeuge kann man brauchen und missbrauchen - vom Einsatz von NLP in der Führung

FMGate Installation & Benutzung

Mobile Intranet in Unternehmen

Sechster ProSTEP Benchmark Teil 2: PDM Data Exchange

Grafikbausatz Overlays Profi. für iphone/pocket Visu & PC Visualisierungen

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Die Entwicklung eines Glossars (oder eines kontrollierten Vokabulars) für ein Unternehmen geht üblicherweise in 3 Schritten vor sich:

Software- und Druckerzuweisung Selbstlernmaterialien

Norm 240 Versionierung

Windows XP Jugendschutz einrichten. Monika Pross Molberger PC-Kurse

Einführung in. Logische Schaltungen

Java und XML 2. Java und XML

Neuinstallation Einzelplatzversion

Informationsblatt Induktionsbeweis

Auktionen erstellen und verwalten mit dem GV Büro System und der Justiz Auktion

Erfahrungen mit Hartz IV- Empfängern

1. Einführung Erstellung einer Teillieferung Erstellung einer Teilrechnung 6

Norm 225 Service Definition mit WSDL


Version White Paper ZS-TimeCalculation und die Zusammenarbeit mit dem iphone, ipad bzw. ipod Touch

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Anleitung über den Umgang mit Schildern

Tutorial Microsoft Office 2003 verteilen

Nutzung dieser Internetseite

Wie Sie mit Mastern arbeiten

Seite 1 von 6

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

WinVetpro im Betriebsmodus Laptop

So gehts Schritt-für-Schritt-Anleitung

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Arbeiten mit UMLed und Delphi

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003

Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags

FAQ 04/2015. Auswirkung der ISO auf 3SE53/3SF13 Positionsschalter.

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz

Affiliate Marketing Schnellstart Seite 1

ASVZweb_08/ Schreibhilfe

Anbindung des eibport an das Internet

Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung?

Gemeinsam mit Book Industry Study Group, New York, und Book Industry Communication, London. ONIX for Books Supply Update Nachricht Überblick

Hilfedatei der Oden$-Börse Stand Juni 2014

Erstellung von Reports mit Anwender-Dokumentation und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0)

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

SEPA Lastschriften. Ergänzung zur Dokumentation vom Workshop Software GmbH Siemensstr Kleve / /

zertifikateweb INSTITUTIONAL

Module Entwicklung. Um diese Eigenschaft aufzurufen, starten Sie die Adami Vista CRM Applikation und wählen Sie den Entwicklung Menü.

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation

Zulassung nach MID (Measurement Instruments Directive)

Vorgehensweise bei Lastschriftverfahren

Komplexität und der Dreischritt zur Einfachheit Dieter Brandes und Nils Brandes, Institut für Einfachheit

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Der Jazz Veranstaltungskalender für Deutschland, Österreich und die Schweiz

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Allgemeine Speicherberechnung

Tutorial: Wie erstelle ich mit dem Brennprogramm Roxio Toast VideoCDs mit einem Dateien-Zusatzordner

Benutzerhandbuch - Elterliche Kontrolle

D a s P r i n z i p V o r s p r u n g. Anleitung. - & SMS-Versand mit SSL (ab CHARLY 8.11 Windows)

AutoCAD Dienstprogramm zur Lizenzübertragung

Integration verteilter Datenquellen in GIS-Datenbanken

Dokumentation zur Versendung der Statistik Daten

Kampagnenmanagement mit Siebel Marketing/Oracle BI ein Praxisbericht

Übung - Konfigurieren einer Windows 7-Firewall

SICHERN DER FAVORITEN

STRATO Mail Einrichtung Android 4.4

Microsoft Access 2010 Navigationsformular (Musterlösung)

Erstellen von x-y-diagrammen in OpenOffice.calc

ecaros2 - Accountmanager

Wir machen neue Politik für Baden-Württemberg

mobifleet Beschreibung 1. Terminverwaltung in der Zentrale

Beweisbar sichere Verschlüsselung

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Dokumentation zum Inco- FORM

Task: Nmap Skripte ausführen

Schulung Marketing Engine Thema : Einrichtung der App

QM: Prüfen -1- KN

Transkript:

Vom kanonischen Geschäftsobjektmodell zur Konkreten WSDL Dr.-Ing.Bernd Rehwaldt msg Applied Technology Research msg systems ag Robert-Bürkle-Straße 1 85737 Ismaning/ München bernd.rehwaldt@msg-systems.com Yevheniy Eydelman Architecture and Projectmanagement for Technology Volkswagen AG 38436 Wolfsburg yevheni.eydelman@autovision-gmbh.com Abstract: Einer der Eckpfeiler einer SOA ist ein domainübergreifendes Modell der Geschäftsobjekte. Für die Modellierung von Geschäftsobjekten werden Informationsobjekte definiert. Ein Informationsobjekt ist die formale Abbildung eines Geschäftsobjekts, das alle für die Kommunikation relevanten Eigenschaften und Beziehungen enthält. Es definiert Struktur und Semantik der Eigenschaften und damit eine Sprache für die Kommunikation im Servicekontext. Bei der Spezifikation eines Service steht man nun vor der Aufgabe diese Sprache kontextbezogen einzusetzen, also die Informationsobjekte auf die konkreten Anforderungen des Service zuzuschneiden. Ziel ist es dabei, auf einfache Art und Weise eine formale Spezifikation zu erzeugen, auf deren Grundlage sowohl Implementierung als auch eine strikte Validierung möglich sind. Ein Lösungsansatz ist die Projektion mit Hilfe von Service spezifischen Filtern. Das Ergebnis einer solchen Projektion ist eine Konkrete WSDL, welche auf der einen Seite die Grundstruktur der Informationsobjekte bewahrt, andererseits aber durch Ergänzung um kontextspezifische Regeln eine strikte Validierung ermöglicht.

1 Kanonisches Geschäftsobjektmodell als Basis Eine der Eckpfeiler bei der Einführung einer SOA ist die Schaffung eines domänenübergreifenden kanonischen Modells [KDM] zu Beschreibung von Geschäftsobjekten. Geschäftsobjekte, also die realen Dinge des Geschäfts, werden dabei durch Informationsobjekte beschrieben (z.b. Fahrzeug, Vertrag, Beanstandung). Ein Informationsobjekt ist eine formale Abbildung eines Geschäftsobjekts, das alle für die Kommunikation relevanten Eigenschaften und Beziehungen enthält. Die Gesamtheit aller Informationsobjekte bildet ein kanonisches Modell. Dieses bildet als solches die Grundlage für die Servicespezifikationen. Abbildung 1 verdeutlicht diesen Ansatz. Vehicle Specification Customer Order Campaign Vehicle Production Order Customer Lead Opportunity Data Dictionary Vehicle Lifecycle Customer Order Management Lead Management Car Configuration Campaign Management After Sales Order Steering Marketing Service Repository Nutzung Referenz Informationsobjekt Service Domäne Abbildung 1: Nutzung des kanonischen Geschäftsobjektmodells Mit seinen Informationsobjekten, deren Eigenschaften und Beziehungen definiert das Data Dictionany eine gemeinsame Sprache auf der die Servicespezifikation im Service Repository beruhen. Diese Sprache definiert insbesondere Umfang, Benennung, Struktur und Semantik der Eigenschaften der Informationsobjekte. Die technische Abbildung eines solchen Informationsobjekts ist ein XML Schema [XSD], welches seinen eigenen Namensraum definiert.

Bei der Spezifikation eines Service steht man nun vor der Aufgabe die Sprache, die das Data Dictionary definiert, kontextbezogen einzusetzen, also die Informationsobjekte auf die konkreten Anforderungen des Service zuzuschneiden. Dies ist notwendig, da die Informationsobjekte durch ihren serviceübergreifenden Charakter auch über Eigenschaften verfügen, die im Kontext eines konkreten Service nicht relevant sind. Ziel ist es auf einfache Art und Weise eine formale Spezifikation zu erzeugen, auf deren Grundlage sowohl die Implementierung als auch eine strikte Validierung möglich sind. Die Herausforderung bei der Servicespezifikation besteht nun darin die Signatur der Serviceoperationen auf der Grundlage der verwendeten Informationsobjekte detailliert zu beschreiben und somit eine strikte Validierung und einfache Implementierung zu ermöglichen ohne dabei die grundlegende Struktur und Semantik der verwendeten Informationsobjekte also die gemeinsame Sprache zu verändern. Ein Lösungsansatz ist die Projektion mit Hilfe von servicespezifischen Filtern. Das Ergebnis einer solchen Projektion ist eine Konkrete WSDL, die auf der einen Seite die Grundstruktur der Informationsobjekte bewahrt, andererseits aber durch die Ergänzung von kontextspezifische Regeln eine strikte Validierung ermöglicht. 2 Konkrete WSDL als Ziel Am Ende der Servicedefinition steht eine technische Servicespezifikation deren zentrales Element eine formale Beschreibung in Form einer WSDL [WSDL] ist. Von dieser wird verlangt, dass sie eine detaillierte Beschreibung der Signatur der Serviceoperationen darstellt, die die Grundlage der Implementierung bildet und als Basis für eine strikte Validierung der Servicekommunikation verwendet werden kann. Wir nennen eine solche WSDL eine Konkrete WSDL. Wird die Servicespezifikation ohne weitere Maßnahmen auf der Basis des kanonischen Geschäftsobjektmodells aufgebaut, enthält die Signatur die vollständigen Informationsobjekte und somit alle Eigenschaften, also auch solche, die im Kontext des Services nicht relevant sind. Eine solche WSDL nennen wir Allgemeine WSDL. Ein bekannter Lösungsansatz ist ein Redefine der Objektstrukturen bei dem diese überdefiniert und dabei nicht benötigte Elemente weggelassen werden. Auf diese Weise lassen sich zwar Informationsobjekte für den Servicekontext reduzieren, aber keine nachrichtenspezifischen Kardinalitäten festlegen ohne die ursprüngliche Struktur der Informationsobjekte grundlegend zu verändern. Darüber hinaus ist dieses Verfahren recht aufwendig und fehleranfällig und führt zu komplexen XML Schema Definitionen. Deshalb wurde nach alternativen Lösungen gesucht.

Das Ergebnis ist ein filterbasierter Projektionsmechanismus, der die Originalstrukturen der Informationsobjekte auf die im Servicekontext benötigten Elemente reduziert und um zusätzliche Regeln erweitert, die eine Validierung nachrichtenspezifischer Einschränkungen erlauben. 2.1 Projektion mit CAM Filter Bei der Suche nach einer etablierten Beschreibungssprache für derartige Projektionsfilter fiel unser Augenmerk auf den Content Assembly Mechanism (CAM), einer Spezifikation der OASIS [CAM]. CAM ist eine XML basierte Beschreibungssprache für XML Strukturen und stellt im Grunde einealternative zu XML Schema dar. Im Kern besteht eine CAM Beschreibung aus einem Strukturteil, der eine Art Beispiel-XML enthält, sowie einem Set von Regeln, die auf diese Struktur Anwendung finden und diese kontextspezifisch einschränken. Für die Anwendung als Filterbeschreibungssprache ist insbesondere der Regelteil der Spezifikation interessant. Dieser enthält Regeln zum Ausschluss von Elementen (z.b. excludeelement), um Formate einzuschränken (z.b. setlength, numberformat) und um Kardinalitäten zu verändern (z.b. setlimit, makemandatory). Der auf der Basis der CAM Spezifikation erzeugte Filter wird nun auf die Allgemeine WSDL angewendet und damit eine Konkrete WSDL erzeugt. Die Regeln zum Ausschluss von Elementen werden dazu benutzen, nicht benötigte Eigenschaften aus der Spezifikation zu entfernen. Dabei wird für jedes verwendete Informationsobjekt durch Kopieren und Reduzieren des ursprünglichen XML Schemas eine servicespezifische Projektion generiert. Diese Projektionen werden in der Konkreten WSDL importiert. Da es sich bei den Informationsobjekten im Data Dictionary um kontextfreie Definitionen handelt, sind alle Eigenschaften als optional definiert und die Listen lassen unbeschränkte Wiederholungen zu. Um eine exakte Servicespezifikation zu erhalten, die eine strikte Validierung erlaubt, müssen diese Freiheitsgrade im Kontext einer Serviceoperation einzuschränkt werden. Eigenschaften werden zu Pflichtfeldern und Wiederholungen werden limitiert. Hierzu werden die Regeln zur Veränderung der Kardinalitäten verwendet. 2.2 Validierung mit Schematron Gegenüber ihrer ursprünglichen Definition verfügen die servicespezifischen Projektionen der Informationsobjekte nur noch über solche Eigenschaften, die im Kontext des Services auch tatsächlich verwendet werden. Das Ergebnis ist zwar eine weitgehende Reduktion des Umfangs, erlaubt aber noch immer keine strikte XML- Schema Validierung, da sich auf diese Weise Kardinalitäten von Eigenschaften nicht nachrichtenspezifisch definieren lassen (eine Definition für alle Servicenachrichten).

An dieser Stelle kommt die Schematron-Spezifikation der ISO [STR] ins Spiel. Schematron ist eine regelbasierte Spezifikationssprache für XML Strukturen. Diese basiert auf der Definition von Regeln, die von einer XML Struktur erfüllt werden müssen, damit diese im Sinne der Spezifikation gültig ist. Die Schematron Regeln werden verwendet um die Standard-XML-Schema-Validierung zu komplementieren und nachrichtenspezifische Einschränkungen zu definieren. Hierzu werden bei der Anwendung des Filters in die Konkrete WSDL Schematron Regeln hineingeneriert, die nachrichtenspezifische Kardinalitäten und Formateinschränkungen prüfen. 3 Das Zusammenspiel Bei dieser Lösung besteht die Servicespezifikation aus einer allgemeinen Spezifikation und einem Projektionsfilter. Die allgemeine Spezifikation, bestehend aus einer WSDL und einer XML Schema Datei, definiert im Namensraum des Service Operationen und Nachrichten. Diese importiert die XML Schema der verwendenden Informationsobjekte aus deren jeweiligem Namensraum. Der Projektionsfilter enthält Regeln mit denen Eigenschaften ausgeschlossen, Kardinalitäten angepasst und Formate eingeschränkt werden. Durch Anwendung des Projektionsfilters auf die Basisspezifikation wird eine Konkrete WSDL (inkl. Schematron Regeln) erzeugt. allgemeine Servicespezifikation (WSDL) Projektionsfilter (CAM) konkrete Servicespezifikation (All in one WSDL) AIO S Consumer Entwicklung Consumer S SF A B Middleware A B Geschäftsobjektspezifikation (XSD) C Service Dokumentation SSD S Provider Entwicklung Runtime Validierung Provider Design Development & Run Abbildung 2: Artefakte der Servicespezifikation

Die Konkrete WSDL erlaubt eine strikte Nachrichtenvalidierung in der Middleware in dem sie die Standard-XML-Schema-Validierung mit einer zusätzlichen Schematron- Validierung kombiniert und damit spezifischer macht. Dadurch, dass die Konkrete WSDL lediglich eine Einschränkung der Allgemeinen WSDL darstellt, ist eine gegen die Konkrete WSDL valide Nachricht auch gegenüber der allgemeinen Spezifikation validierbar. Die Konkrete WSDL bildet zugleich die Grundlage für die Generierung der Service Dokumentation. Auch die Stub- und Skeleton-Generierung für Client- und Serverimplementierung kann auf der Basis der Konkreten WSDL erfolgen. Abbildung 2 zeigt die Artefakte der Servicespezifikation, ihre Zusammenhänge und Verwendungen. 4 Servicespezifikation bei Volkswagen Diese Methodik wird bei der Volkswagen AG im Service Prozess vor Kunde erfolgreich bei der Servicespezifikation eingesetzt. Abbildung 3: Eclipse Tooling

Bei Volkswagen wurde von Beginn an der Ansatz verfolgt ein abgestimmtes domänenübergreifendes kanonisches Modell der zentralen Geschäftsobjekte zu definieren um eine gemeinsame Sprache für die Spezifikation des Service Layers von Anwendungen zu definieren. Anfänglich schlug diesem Ansatz oft die Kritik entgegen, dass dieser zu unspezifischen Servicespezifikationen führe, die erst durch zusätzliche Dokumentationen vervollständigt werden müssten. Mit der vorgestellten Methodik der Konkreten WSDL ist es in optimaler Weise gelungen die Schwachpunkte bei der Servicespezifikation auszugleichen ohne vom Ansatz des kanonischen Informationsobjektmodells abweichen zu müssen. Durch ein entsprechendes Eclipse-basiertes Tooling (siehe Abbildung 3) ist die Methodik inzwischen auch optimal unterstützt und wird sehr effektiv eingesetzt. 5 Ausblick Die vorgestellte Methodik bildet die Grundlage für die Validierung von fachlichen Regeln in der SOA-Landschaft. Komplexe fachliche Abhängigkeiten in den Datenmodellen ließen sich auf der Nachrichtenebene genau spezifizieren und validieren. Hier muss jedoch der Support- und Aktualisierungsaufwand betrachtet werden und ggf. organisatorische Regeln und Prozesse definiert werden um Servicespezifikationen aktuell zu halten. Ein weiteres Einsatzgebiet ist die Adoption von Industriedatenmodellen wie z.b. STAR [siehe STAR]. Mit den Projektionsfiltern lassen sich die oft generisch gehaltene Industriedatenmodelle standardkonform einschränken bzw. konkretisieren und damit zielgerichtet in das Serviceportfolio des Unternehmens einführen. Zur Vereinheitlichung und Vereinfachung der Erstellung der Service Artefakte (Datenmodelle, Servicedefinitionen, Projektionsfilter) kann darüer hinaus auch der Einsatz von Domain Spezifischen Sprachen (DSL) ein vielversprechender Ansatz sein. Literaturverzeichnis [CAM] Content Assembly Mechanism; OASIS Spezifikation; siehe http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=cam [XSD] XML Schema Definition; W3C Spezifikation; siehe http://www.w3.org/xml/schema [WSDL] Web Service Defintion Language; W3C Spezifikation; siehe http://www.w3.org/tr/wsdl [STR] Schematron; ISO Standard; siehe ISO/IEC 19757-3:2006 [KDM] Bertold Maier; Hajo Norman; Bernd Trops; Clemens Utschig-Utschig; Torsten Winterberg, SOA und Daten - Das Kanonisches Datenmodell; JavaMaqgazin 9/2009 [STAR] Star Standard; Industriespezifikation; siehe http://www.starstandard.org