Software Architektur III SOA Service Oriented Architecture
Lernziele Sie können ... die Grundprinzipien von SOA erläutern. die Funktionsweise von Web-Services darlegen.
Basisidee von SOA Service Schicht Quelle: Sun
Architekturübersicht Quelle: Microsoft
Service-Orientierte Architektur Quelle: IBM
Merkmale von SOA Service-Orientierte Architektur: Verteilte Dienste Lose gekoppelt über Verzeichnisdienste auffindbar Prozessorientiert auf unterschiedlichen Plattformen unter Einsatz von offenen Standards einfach zu handhaben mit optimaler Sicherheit Quelle: Dostal et. al. (2005); Service-orientierte Architekturen mit Web Services; Spektrum
Ziel von SOA Quelle: Sun
Service: Basisarchitektur Quelle: W3C
Service: Life-Cycle Quelle: Oracle/BEA
Konzeptuelle Sicht von SOA Quelle: Oracle/BEA
Vorteile von SOA vermehrte Wiederverwendbarkeit höhere Produktivität in der Softwareentwicklung damit besserer Return on Investment (ROI) höhere Agilität und Flexibilität bessere Trennung zwischen Business und IT bessere Abstimmung auf Business-Zielsetzungen rascheres Eingehen auf Kundenwünsche
Webservices als Schlüsseltechnologie Webservices als Enabler für SOA Integration von heterogenen Systemen auf der Prozessebene innerhalb der Unternehmung sowie über die Unternehmensgrenzen hinweg Webservices ermöglicht Maschine-zu-Maschine-Kommunikation Vorläufer ist XML-RPC
Ermöglichung von Prozessautomatisierungen Abstraktion der Technologie-Ebene: Analog einer Webseite spielt es keine Rolle auf welcher Plattform (Betriebssystem, Framework, Programmiersprache) ein Webservice entwickelt wurde und betrieben wird.
Webservice-Standards WSBPEL Codierung in XML
Webservices Übersicht 1. Suchen des Dienstes UDDI - Universal Discovery Description and Integration Verzeichnis Web Services private public 2. Beschreibung anfordern WSDL - Web Services Description Language Komponente Consumer Web Service Provider XML-Web- Service Proxy 3. Interaktion SOAP - Simple Object Access Protocol
UDDI - Universal Description, Discovery and Integration Von OASIS spezifizierter Standard: www.uddi.org (Aktuelle Version 3.0) Verzeichnisdienst: Anbieter können Webservices veröffentlichen öffentlich: UBR (Universal Business Registry) mit verschiedenen UDDI-Operators privat Servicenutzer können anhand inhaltlicher Kriterien nach Webservices suchen Analogie zum Telefonbuch: White Pages: Namensregister Yellow Pages: Branchenregister Green Pages: weitere technische Informationen
UDDI- Schema
WSDL – Web Services Definition Language Schnittstellendefinition: Wie kann ich den Dienst erreichen: Adresse (URL) Informationen über das Protokoll (SOAP, Transport-Protokoll) Vorhandene Operationen (Methoden) Parameter zu den Operationen Jedoch keine semantische Dienstbeschreibung!
WSDL - Beispiel Name und Namensraum des Services Methoden und deren Schnittstelle (Signatur) Nachrichtenformate Transportprotokoll Netwerkadresse Port-Nr.
SOAP – Simple Object Access Protocol Auf Grundlage der WSDL-Informationen wird die Kommunikation zum Webservice aufgenommen. 4 mögliche Kommunikationstypen: One-way Client Server Request-Response Solicit Response Notification 2 Aufrufarten: synchron: HTTP asynchron: SMTP
SOAP - Beispiel
WS-Security Von OASIS definiert (www.oasis-open.org) Authentifizierungsinformationen (Benutzernamen, Passwort) UsernameToken Verschlüsselte Übertragung von Binärdaten BinarySecurityToken Verwendet Standards zur Verschlüsselung und Signierung von W3C-Consortium (www.w3.org) XML-Signature XML-Encryption Wenn dies nicht vorhanden ist, so wird auf der Transportebene mit SSL verschlüsselt (HTTPS) Für Authentifizierung und Autorisierung SAML (Secure Assertion Markup Language) von OASIS definiert
Prozess-/Transaktionsverwaltung Gesteuerter Ablauf (Workflow) mit automatisierter Nutzung von WebServices – BPEL (Business Process Execution Language).
Literaturempfehlung Ingo Melzer et. al. Service-orientierte Architekturen mit Web Services Konzepte – Standards – Praxis 3. Auflage: Mai 2008 ISBN: 3-8274-1993-X Spektrum Akademischer Verlag