Migration. in eine Service orientierte Architektur. Migration. Harry M. Sneed harry.sneed@anecon.com 13.09.2007

Ähnliche Dokumente
Migration in eine Service Oriented Architektur

Wiederholung: Beginn

Workflow, Business Process Management, 4.Teil

Zustandsgebundene Webservices

Java Enterprise Architekturen Willkommen in der Realität

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

POIS-Praktikum Prozessimplementierung, RosettaNet PIPs 3A

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

DOAG SIG Day. E-Business Suite und SOA: Was ist heute schon möglich? Thomas Karle PROMATIS software GmbH. Frankfurt 26. April 2007

5. Programmierschnittstellen für XML

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

16.4 Wiederverwendung von COTS-Produkten

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller

Java und XML 2. Java und XML

5. Programmierschnittstellen für XML

GI-Services erstellen und bereitstellen

Verteilte Systeme: Übung 4

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

Überblick Produkte. ORACLE AS 10g R3 JAVA Programming. (5 Tage)

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig

PL/SQL Web-Services mit Oracle 11g

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

PHP Kurs Online Kurs Analysten Programmierer Web PHP

SharePoint Demonstration

Übungen zur Softwaretechnik

3. Stored Procedures und PL/SQL

BI in der Cloud eine valide Alternative Überblick zum Leistungsspektrum und erste Erfahrungen

Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem

Web-basierte Benutzerschnittstellen für Embedded Systeme: Eine Benutzerschnittstelle drei Sichtweisen

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Man liest sich: POP3/IMAP

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77

'DV8QWHUQHKPHQI U SURIHVVLRQHOOH,7/ VXQJHQ

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Modulhandbuch für das BA Kombinationsfach Angewandte Informatik Multimedia

Allgemeines zu Datenbanken

20. DOAG-Konferenz. Wohlstrukturierte Prozesse auf SOA-Basis. mit der Oracle E-Business Suite. Thomas Karle PROMATIS software GmbH

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

AS/point, Ihr Partner die nächsten 10 und mehr Jahre -

CORBA. Systemprogrammierung WS

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

Neues aus dem 52 North WPS Projekt. Benjamin Proß, FOSSGIS,

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

Softwarearchitektur als Mittel für Qualitätssicherung und SOA Governance

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

12.4 Sicherheitsarchitektur

Virtuelle Fachbibliothek Ethnologie:

1. Was bedeutet EAI? 2. Worin liegen die Vorteile? 3. Worin liegen die Nachteile? 4. EAI-Markt

white sheep GmbH Unternehmensberatung Schnittstellen Framework

IBM SPSS Data Access Pack Installationsanweisung für Windows

Faclets. Eine alternative View Technologie um JSF Applikationen OHNE JSP zu entwickeln Wird unter java.net gehostet Open Source, CDDL Lizenz

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

OP-LOG

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

IAC-Programmierung HELP.BCFESITSIACPROG. Release 4.6C

w3lib - einfach Software entwickeln!

NCDiff Testmanagement leicht gemacht

Projektarbeit POS II zum Thema Branchensoftware in der Druckindustrie. Ben Polter, Holger Räbiger, Kilian Mayer, Jochen Wied

Comparison of Software Products using Software Engineering Metrics

ObjectBridge Java Edition

Oracle APEX Installer

PM/CS - Datenübernahme in Instandhaltung und Kundenservice

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Integriertes ITSM mit 100% Open Source

IVS Arbeitsgruppe Softwaretechnik Abschnitt Management komplexer Integrationslösungen

SAP NetWeaver Gateway. 2013

Identity Propagation in Fusion Middleware

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

Durch Standardisierung können Webservices von jedem Cluster verwendet werden, unabhängig von Betriebssystem und verwendeter Sprache.

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Datenbanken und Informationssysteme II

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

SOA Serviceorientierte Architektur Definition, Marktpotenzial und Perspektiven

E-Business Architekturen

Xpert.IVY das GUI ist entscheidend!

Präsentation Von Laura Baake und Janina Schwemer

Lokale Installation von DotNetNuke 4 ohne IIS

Apache HBase. A BigTable Column Store on top of Hadoop

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher

CartCalc FAQ (frequently asked questions) häufige Fragen zu CartCalc

Scala & Lift. Ferenc Lajko

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Conigma CCM (3G) - Überblick -

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT

HP Service Virtualization. Bernd Schindelasch 19. Juni 2013

PRESman. Presentation Manager. Reduzieren Sie nachhaltig die Kosten für das. Erstellen, Verwalten und Verteilen Ihrer

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

Übersicht Oracle Lizenzierung Oracle Lizenz-Shop

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Formular»Fragenkatalog BIM-Server«

Technologische Entwicklung von GIS und Internet der letzten Jahre

4D Server v12 64-bit Version BETA VERSION

Prozedurale Datenbank- Anwendungsprogrammierung

Ihr IT-Administrator oder unser Support wird Ihnen im Zweifelsfall gerne weiterhelfen.

Transkript:

Migration Migration in eine Service orientierte Architektur Harry M. Sneed harry.sneed@anecon.com 13.09.2007 1 ANECON Software Design und Beratung G.m.b.H. Alser Str. 4/Hof 1 A-1090 Wien Tel.: +43 1 409 58 90 www.anecon.com office@anecon.com

Migration in SOA 1 The Waves of Change 13 Entwicklung von Web Services 2 Komponente einer Anwendungsumgebung 14 Wiedergewinnung von Web Services 3 Evolution der Systemarchitektur 15 Fünf Schritte zur Wiedergewinnung 4 Evolution der Datenbanktechnologie 16 Erkennung potentieller Web Services 5 Evolution der Benutzerschnittstelle 17 Bewertung der Wiederverwendbarkeit 6 Evolution der Programmierung 18 Extrahierung der Code-Bausteine 7 Evolution der Programmiersprachen 19 Kapselung der Code-Bausteine 8 Einführung von Web Services 20 Beispiel einer WS Schnittstelle 9 Web Service Beschaffung 21 Beispiel eines COBOL Code-Bausteins 10 Kauf von Web Services 22 Generierte WSDL Request 11 Miete von Web Services 23 Generierte WSDL Response 12 Ausleihen von Web Services 2 Migration in SOA 24 BPEL4WS

The Waves of Change Web Technology Object Technology Client / Server CASE/4GL Batch/Online The IT User 3 Migration in SOA

Komponente einer Anwendungsumgebung Architektur Benutzerschnittstellen Programmiertechnologie Programmier sprachen Datenhaltung 4 Migration in SOA

Evolution der Systemarchitektur 1970 2005 Browser TP-Monitor Server Server Server Hierarchische Standalone Architektur Batch Sequential Architektur Online Transaktion Architektur Client / Server Architektur Web Architektur einzelne Verarbeitungsschritte mehrere Verarbeitungsschritte einzelne Schicht Thin Client zwei Schichten Fat Client mehrfache Schichten Thin Client 5 Migration in SOA

Evolution der Datenbanktechnologie 1970 2005 VSAM ISAM IMS UDS CODASYL IDMS DB2 Oracle DB2 Oracle Flache Dateien Hierarchische Datenbanken Vernetzte Datenbanken Relationale Datenbanken Objekt-Relationale Datenbanken Feste physische Sätze Variable logische Sätze unterschiedliche Satzformate Primäre und sekundäre Suchbegriffe Verschachtelte Zugriffslogik Feste Satzlänge Variable Segmente Unterschiedliche Segmentformate Pointer Verkettung Physische und logische Zugriffe Hierarchische Zugriffslogik Variable Satzlänge Unterschiedliche Satztypen Überlagerte Satzstrukturen Pointer Verkettung Primäre und sekundäre Suchbegriffe Alternative Zugriffspfade Navigation durch die Datenbank Tabellen statt Sätze Variable Feldlängen Feste Anzahl Attribute Primäre & Fremde Suchbegriffe Verschachtelte Zugriffslogik Unabhängigkeit der Daten von der Anwendung Objekte Tabellen Unterschiedliche Datenformate Indizierung und Pointer Verkettung Alternative Zugriffspfade Sätze und Objekte XML Dokumente 6 Migration in SOA

Evolution der Benutzerschnittstelle 1970 2005 Lochkarten Lochstreifen Stapeleingabe Listenausgabe Belegleser Formblätter Terminal Monitor Online-Systeme TP-Monitore IMS-DC CICS UTM TIP GUI Fat-Client Client/Server Systeme Web Browser Thin Client Web-basierte Systeme 7 Migration in SOA

Evolution der Programmierung 1970 2005 Normierte Programmierung Strukturierte Programmierung Daten-orientierte Programmierung Objektorientierte Programmierung Komponenten Programmierung Datengetriebene Programmlogik Input, Processing, Output JSP & Warnier Steuerflussgetriebene Programmlogik Sequenz, Auswahl, Wiederholung Prozedurale Logik Hierarchische Programme Datenbankgetriebene Programmlogik 4GL Sprachen Verschmelzung der Präsentation mit der Verarbeitung und der Zugriffslogik Flache Programme Kapselung on Daten und Funktionen Vererbung Polymorphie Vernetzte Programme Kapselung der Klassen und Prozeduren Abstrakte Schnittstellen Trennung der Daten von den Operationen Zustandslose Komponente 8 Migration in SOA

Evolution der Programmiersprachen 1970 2005 Assembler Sprachen Prozeduralen Sprachen 4GL Sprachen OO Sprachen Mark-Up Sprachen IBM Siemens Nixdorf Fortran COBOL PL/I Delta ADS-Online APS Ideal Natural C++ OO-Cobol Java C# HTML XML PHP JSP WSDL BPEL 9 Migration in SOA

Einführung von Web Services Software Services (Server) Business Processes (Clients) xxx xxxxxxxxx xxx xxxxxxxxx WSDL Wrappers Soap Client (JAXP) xxxxxxx xxxxxxx Packed Functions XML Soap Messages XML EAI Processes xxx xxxxxxxxx xxx xxxxxxxxx xxxxxxx xxxxxxx Relational Databases XML XML B2B Processes xxx xxxxxxxxx xxx xxxxxxxxx xxxxxxx xxxxxxx Legacy Applications XML XML Browsers xxx xxxxxxxxx xxxxxxx UDDI Registries xxx xxxxxxxxx xxxxxxx Packaged Applications XML XML Wireless Jeder Geschäftsprozess kann auf jede Softwarekomponente, Anwendung oder Datenbank via die zentrale Registry Service zugreifen. Die Software Ressourcen eines Unternehmens sind Gemeingut geworden. 10 Migration in SOA

Web Service Beschaffung Kaufen der Web Services vom Softwareanbieter. Miete der Web Services vom Service Anbieter. Ausleihen der Web Services von der Open Source Gemeinschaft. Entwickeln der Web Services mit eigenen oder fremden Ressourcen. Wiedergewinnen der Web Services aus den bestehenden Systemen. 11 Migration in SOA

Der Kauf von Web Services Vorteile sie sind sofort verfügbar sie sind bereits ausgetestet sie sind robust und zuverlässig sie sind durch den Anbieter unterstützt. Nachteile sie sind teuer sie sind funktional eingeschränkt. sie sind unflexibel sie sind monolitisch sie schaffen eine langfristige Abhängigkeit. 12 Migration in SOA

Die Miete von Web Services Vorteile die Gleichen wie bei gekauften Services sie müssen nicht immer wieder neu installiert werden. der Kunde hat immer die neueste Version. der Kunde bezahlt nur für die Funktionen die er verwendet. Nachteile sie sind immer noch relativ teuer. die Funktionalität kann sich ändern. sie sind unflexibel sie sind monolithisch Sie verursachen performance Engpässe 13 Migration in SOA

Das Ausleihen der Web Services Vorteile sie sind billig zu beschaffen sie sind relativ leicht verfügbar sie sind immer die neueste Version sie sind flexibel Sie sind qualitativ besser sie können den eigenen Anforderungen angepasst werden. Nachteile sie stammen aus unbelangbaren Quellen sie werden nicht verpflichtend unterstützt. sie sind nicht garantiert. sie haben fragwürdige Besitzverhältnisse. sie sind teuer zu erhalten. sie setzen spezialisiertes Personal voraus. 14 Migration in SOA

Die Entwicklung von Web Services Vorteile sie sind völlig maßgeschneidert sie können jederzeit angepasst werden sie sind immer aktuell sie sind leicht zu warten und weiterzuentwickeln. Nachteile Sie sind sehr teuer. Sie sind nicht sofort verfügbar. Sie brauchen Jahre um reif zu werden. Sie schaffen Abhängigkeiten zum Personal Sie binden wertvolle Personalressourcen. 15 Migration in SOA

Die Wiedergewinnung von Web Services Vorteile sie sind den Anwenderbedürfnissen zugeschnitten. sie sind feingranular und beliebig einsetzbar sie sind gut getested und zuverlässig sie sind schnell verfügbar sie sind billig zu beschaffen sie sind im Besitz des Anwenders Nachteile Sie sind mit einer alten Technologie implementiert. Sie sind schwer zu pflegen und fortzuschreiben. Sie können Performance Probleme verursachen. Sie setzen Spezialisten der Legacy Technologie voraus Sie binden teuere Personalressourcen 16 Migration in SOA

Fünf Schritte zur Wiedergewinnung von Web Services 1. Sie müssen in dem alten System erkannt werden. 2. Sie müssen bezüglich Ihrer Wiederverwendbarkeit bewertet werden. 3. Sie müssen aus dem alten System herausgeschnitten werden. 4. Sie müssen als Web Service gekapselt werden. 5. Sie müssen in der neuen Umgebung getestet werden. 17 Migration in SOA

Erkennung wiederverwendbarer Software Bausteine im alten Code Prozess Argumente Slicing Technique Programm y = f (x) Result = Processing Rule (Arguments); Processing_Rule = Allocation (Path_Expression); Path_Expression = [<Conditions>]n; Prozedur Pfad Ausdruck Bedingung Bedingung (Business Rule Identification) Assign Or Compute n Ergebnis 18 Migration in SOA

Bewertung der Wiederverwendbarkeit Wiederverwendbarkeitsmetrik SYSTEM PROGRAMM MODUL Prozeduren EINGANG Wenig Abhängigkeiten Keine IOs AUSGANG Wiederverwendbarkeit einzelner Bausteine ist eine Funktion deren Abhängigkeit zu den anderen Bausteine um sie herum. 19 Migration in SOA

Extrahierung der Code-Bausteine Legacy Code Datenbereich der betroffenen Source Bausteine Parameter Code Anweisingen auf dem Ergebnispfad bzw. Input Daten Relocatable Self-controlled Daten Externe Funktionen Müssen eingebaut werden das Feature Internal Daten Output Ergebnis Daten Daten des relocatable Codes 20 Migration in SOA

Kapselung der extrahierten Code-Bausteine Service Request Generiere von Inputs WSDL Schnittstellen Generiere von Outputs Generierte Wrapper Klassen Input Parameter Output Parameter Procedural Code (Section, Procedure or Function 21 Migration in SOA

Beispiel einer WSDL Schnittstellendefinition <complextype name="lebenslagewsdata"> <sequence> <element name="id" type="int" nillable="true"/> <element name="languageid" type="int" nillable="true"/> <element name="mandantenid" type="int" nillable="true"/> <element name="beschreibung" type="string" nillable="true"/> <element name="hasnachfolger" type="boolean" nillable="true"/> <element name="publiziertenachfolger" type="tns:lebenslagewsinfo nillable="true" minoccurs="0" maxoccurs="unbounded"/> <element name="titel" type="string" nillable="true"/> <element name="untertitel" type="string" nillable="true"/> <element name="veids" type="int" nillable="true" minoccurs="0" maxoccurs="unbounded"/> <element name="version" type="int" nillable="true"/> <element name="vorgaengerid" type="int" nillable="true"/> <element name="vorgaengermandantenid" type="int" nillable="true"/> <element name="vorgaengertitel" type="string" nillable="true"/> </sequence> </complextype> 22 Migration in SOA

Beispiel eines COBOL Code-Bausteins WRAP *LINKAGE SECTION. WRAP 01 xm059-params. 02 P1. 03 P1-TT PIC 99. 03 P1-MM PIC 99. SNEED 03 P1-CE PIC 99. 03 P1-JJ PIC 99. 02 P2. 03 LANG-CODE PIC 9. 02 P3. 03 DIRECTION PIC X. 02 P4. 03 DAY-NAME PIC X(10). ***************** COBWRAP XML parameters *********************** XMLINS 01 XML-PARAMS. 05 XML-FUNCODE PIC XX. 05 XML-RETCODE PIC 99. 05 XML-FILNAME PIC X(8). ***************************************************************** WRAP *PROCEDURE DIVISION USING P1 P2 P3 P4. WRAP PROCEDURE DIVISION. WRAP xm059-wrapped-entry. WRAP MOVE 'RD' TO XML-FUNCODE WRAP MOVE ZEROES TO XML-RETCODE WRAP MOVE 'xm059i' TO XML-FILNAME WRAP MOVE 256 TO X-REC-LNG WRAP CALL 'XM059I ' USING XML-FUNCODE, XML-RETCODE, XML-FILNAME, WRAP xm059-params, X-REC-LNG. 23 Migration in SOA

Generierte WSDL Schnittstellendefinition (Request) 24 Migration in SOA <?xml version = "1.0"> <!--This schema was generated from prog:inputs\xm059i.cpy by the Sneed Tool GENSCHEMA on date:040112 --> <schema name = "xm059i" xmlns= "XSDCOB"> <XSDCOB:complexType type = "#file" name = "xm059i" content = "eltonly" model = "closed"> <XSDCOB:complexType type = "#params" name = "XM059-PARAMS" content = "eltonly" model = "closed" level = "02" occurs = "ONEORMORE" minoccurs = "0001" maxoccurs = "unbounded"> <XSDCOB:complexType type = "#group" name = "P1" content = "eltonly" model = "closed" level = "02" occurs = "ONEORMORE" minoccurs = "0001" maxoccurs = "0001"> <XSDCOB:element type = "#dec" name = "DAY" content = "TextOnly" model = "closed" level = "03" occurs = "ONEORMORE" minoccurs = "0001" maxoccurs = "0001" pos = "0001" lng = "0002" pic = "99" usage = "DISPLAY"/> <XSDCOB:element type = "#dec" name = "MONTH" content = "TextOnly" model = "closed" level = "03" occurs = "ONEORMORE" minoccurs = "0001" maxoccurs = "0001" pos = "0003" lng = "0002" pic = "99" usage = "DISPLAY"/> <XSDCOB:element type = "#dec" name = "YEAR" content = "TextOnly" model = "closed" level = "03" occurs = "ONEORMORE" minoccurs = "0001" maxoccurs = "0001" pos = "0005" lng = "0004" pic = "9999" usage = "DISPLAY"/> </XSDCOB:complexType>

Generierte WSDL Schnittstellendefinition (Response) <?xml version = "1.0"> <!--This schema was generated from prog:inputs\xm059o.cpy --> <schema name = "xm059o" xmlns= "XSDCOB"> <XSDCOB:complexType type = "#file" name = "xm059o" content = "eltonly" model = "closed"> <XSDCOB:complexType type = "#params" name = "DayofWeekResponse" content = "eltonly" model = "closed" level = "02" occurs = "ONEORMORE" minoccurs = "0001" maxoccurs = "unbounded"> <XSDCOB:complexType type = "#group" name = "P4" content = "eltonly" model = "closed" level = "02" occurs = "ONEORMORE" minoccurs = "0001" maxoccurs = "0001"> <XSDCOB:element type = "#char" name = "DAYOFWEEK" content = "TextOnly" model = "closed" level = "03" occurs = "ONEORMORE" minoccurs = "0001" maxoccurs = "0001" pos = "0011" lng = "0010" pic = "X(10)" usage = "DISPLAY"/> </XSDCOB:complexType> </XSDCOB:complexType> </XSDCOB:complexType> </schema> 25 Migration in SOA

BPEL4WS Business Process Execution Language for Web Services Mailbox Mail BPEL BUSINESS PROCESS Business Goals Response Response Response Response Response Request Request Request Request Request Web Service Web Service Web Service Web Service Web Service Common Component Common Component Common Component Common Component Master Data 26 Migration in SOA DB DB DB DB

BPEL4WS Request für Wochentag 27 Migration in SOA <process name = "Calender" xmlns:calender = "http://anecon.com/sneed/sample/" > <partnerlinks> <PartnerLink name = "CalenderUser" partnerlinktype = "calender:user" myrole = "Provider" partnerrole = "User" /> </partnerlinks> <variables> <!-- inputs to Calender Functions --> <variable name = "Day" messagetype = "calender:dayofweekrequest"/> <variable name = "Month" messagetype = "calender:dayofweekrequest"/> <variable name = "Year" messagetype = "calender:dayofweekrequest"/> <variable name = "Language" messagetype = "calender:dayofweekrequest"/> <variable name = "Alignment" messagetype = "calender:dayofweekrequest"/> <!-- outputs from Calender Functions --> <variable name = "ResponseCode" messagetype = "calender:dayofweekresponse"/> <variable name = "DayofWeek" messagetype = "calender:dayofweekresponse"/> </variables> <assign> <copy> <from variable = "Current_Day" part = "Date" /> <to variable = "Day" part = "DayofWeekRequest" /> </copy> <copy> <from variable = "Current_Month" part = "Date" /> <to variable = "Month" part = "DayofWeekRequest" /> </copy> <copy> <from variable = "Current_Year" part = "Date" /> <to variable = "Year" part = "DayofWeekRequest" /> </copy> </assign> <!-- call Calender Service to provide Day --> <invoke partnerlink = "CalenderUser" porttype = "CalenderStatusPT" operation = "GetDayofWeek" inputvariable = "DayofWeekRequest" output Variable = "DayofWeekResponse" /> <assign> <copy> <from variable = "DayofWeek" part = "DayofWeekResponse" /> <to variable = "WeekDay" part = "LetterHeader" /> </copy> </assign> </process>

Web Service Request und Response für Wochentag Input Message from User Business Process <?xml version = "1.0" encoding = "ISO-8859-1"?> <!DOCTYPE "xm059i" SYSTEM "xm059i.xsd"> <xm059i> <DayofWeekRequest> <DAY>12</DAY> <MONTH>10</MONTH> <YEAR>1977</YEAR> <LANGUAGE>3</LANGUAGE> <ALIGNMENT>1</ALIGNMENT> </DayofWeekRequest> </xm059i> Output Message to User Business Process <?xml version = "1.0" encoding = "ISO-8859-1"?> <!--DOCTYPE XM059O SYSTEM "XM059O.xsd"--> <XM059O> <DayofWeekResponse> <RETURN-CODE>00</RETURN-CODE> <DAYOFWEEK>MERCOLEDI</DAYOFWEEK> </DayofWeekResponse> </XM059O> 28 Migration in SOA

Web Service Testing Web Services Port Port Port Pre Conditions Post Conditions Assertion Skript WDSL Request Response WDSL Assertion Skript Daten Generator WSDL Requests Test Treiber WSDL Responses Ergebnist Validator WSDL Schema 29 Migration in SOA Schnittstellen Definitionen Abweichungen Validations bericht

Voraussetzungen für die Migration zu Web Services Techniken sind erforderlich um potentielle Web Services im Legacy Code erkennen zu können. Metriken sind erforderlich um die Wiederverwendbarkeit der Kandidaten zu bewerten. Werkzeuge sind erforderlich um den Web Service Code zu isolieren und aus dem restlichen Code herauszuschneiden. Werkzeuge sind erforderlich um die Web Services in einer WSDL Schale einzukapseln. Methoden und Werkzeuge sind erforderlich um die wiedergewonnenen Web Services zu testen und ihre Ergebnissen zu validieren. 30 Migration in SOA

Software ist unsere Leidenschaft ANECON Software Design und Beratung G.m.b.H. Alser Straße 4 / Hof 1 A-1090 Wien www.anecon.com office@anecon.com Tel.: +43 1 409 58 90-0 Fax: -998