<Insert Picture Here> Einführung in SOA Markus Lohn Senior Principal Consultant
SOA? - Ideen Selling Oracle To All SAP On ABAP Increasing Sales Of Applications 3
Agenda Motivation SOA-Definition SOA-Konzepte Webservices <Insert Picture Here> 4
Fragen 5
<Insert Picture Here> Motivation 6
Motivation (1) typische Anwendungslandschaft Screen Scrape Application Application Message Queue Download File Application Application Screen Scrape ORB Download File Application Sockets Message Application CICS Gateway Transaction File Transaction File Message Queue Application Screen Scrape Sockets Application Message Screen Scrape APPC Transaction File CICS Gateway Transaction File RPC Download File Application APPC Application ORB Message Queue RPC Source: Gartner 7
Motivation (2) Anpassung der IT-gestützten Geschäftsprozesse an geänderte Wettbewerbssituation Überwindung bzw. Minimierung Business/IT-Gap Management von komplexen IT-Systemen 8
<Insert Picture Here> SOA-Definition 9
SOA-Definition (1) SOA ist ein Paradigma für die Strukturierung und Nutzung verteilter Funktionalität, die von unterschiedlichen Besitzern verantwortet wird. Quelle: Wikipedia.de 10
SOA-Definition (2) Eine Service-orientierte Architektur ist ein Konzept für eine Systemarchitektur, in welchen Funktionen in Form von wiederverwendbaren, voneinander unabhängigen und lose gekoppelten Services implementiert werden. Services können unabhängig von zugrundeliegenden Implementierungen über Schnittstellen aufgerufen werden, deren Spezifikationen öffentlich und damit vertrauenswürdig sind. Serviceinteraktion findet über eine dafür vorgesehene Kommunikationsinfrastruktur statt. Mit einer Service-orientierten Architektur werden i. d. R. Die Geschäftsziele der Geschäftsprozessorientierung, der Wandlungsfähigkeit (Flexibilität), der Wiederverwendbarkeit und der Unterstützung verteilter Softwaresysteme verbunden. Nicolai Josuttis: SOA in der Praxis 11
SOA-Definition (3) Merkmale von SOA sind... verteilte Systeme Heterogenität Unterschiedliche Eigentümer Darüberhinaus ist SOA... kein fertiges Software-System zum Kaufen. ein Konzept, dass individuell adaptiert werden muß. ist nicht die Lösung für jedes Problem! SOA ist kein Webservice! 12
<Insert Picture Here> SOA-Konzepte 13
SOA-Konzepte (1) Services Interoperabilität Lose Kopplung 14
SOA-Konzepte (2): Services Ein Service ist eine IT-Repräsentation einer fachlichen Funktionalität. Ein Service besitzt eine wohldefinierte Schnittstelle, die idealerweise auch fachliche Experten verstehen. Spezielles (technisches) Wissen über die Umsetzung des Service ist bei der Nutzung nicht erforderlich. Ein Service ist plattformunabhängig. 15
SOA-Konzepte (3): Interoperabilität Die Fähigkeit das unabhängige, heterogene Systeme miteinander Informationen austauschen können. 16
SOA-Konzepte (4): lose Kopplung Plug and play Tightly-coupled Loosely-coupled Komponenten haben minimales Wissen über verbundene Komponenten. Lediglich die Schnittstellen sind bekannt. Ziele der losen Kopplung sind Flexibilität, Skalierbarkeit, Fehlertoleranz 17
<Insert Picture Here> Webservices 18
Webservices 19
Basisstandards im Webservice-Umfeld XML Beschreibung der Formate und Datenmodelle WSDL Beschreibung von Service-Schnittstellen SOAP Protokoll für den Nachrichtenaustausch UDDI Verwaltung (Registrierung und Auffinden) von Services HTTP(s) Transportprotokoll 20
WSDL (1): Webservice Description Language 21
WSDL (2): Beispiel Beispiel.wsdl Example.xsd 22
SOAP (1) 23
SOAP (2): Beispiel <?xml version='1.0' encoding='utf-8'?> SOAP Envelope <soapenv:envelope xmlns:soapenv= http://schemas.xmlsoap.org/soap/envelope/ > SOAP Body <soapenv:body> <res:makereservationrequest xml:res= http://hotelreservation.de/booking/types/ > <reservation> <hotelcode>nh-xx</hotelcode> <arrivaldate>2011-05-23</arrivaldate>... </reservation> </res:makereservationrequest> </soapenv:body> </soapenv:envelope> 24
SOAP (3): Verarbeitungsmodell Service Client SOAP Request Intermediary N SOAP Request Service Provider SOAP Response Intermediary N SOAP Response 25
UDDI (Universal description, Discovery and Integration) Service- Vermittler 1. Service registrieren 2. Service finden Service- Anbieter 3. Service aufrufen Service- Nutzer 26
Webservices Standards und Basic Profile WS-I Basic Profile 1.1 (WSDL 1.1, SOAP 1.1,...) 27
REST (Representional State Transfer) Sammlung von Architekturprinzipien für Netzwerke Ziel ist ein einfacher und zustandsloser Zugriff auf Ressourcen. Häufig auf Basis des HTTP-Protokolls realisiert (GET, PUT, POST, DELETE): Ressourcen durch eindeutige URL's representiert. 28
Fragen 29