Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Rosa Auttenberg Geändert vor über 9 Jahren
1
Betriebs- systeme und Verteilte Systeme Einführung in Web Services Projektgruppe Peer2Peer Suche nach Webservices WS 2004/SS 2005 Christian Neubert
2
4PG P2P: Einführung in Web Services2 Gliederung Einführung Service Oriented Architecture Web Service Architektur Simple Object Access Protocol eXtensible Markup Language Namensräume Document Type Definition XML Schema Definition Language Hypertext Transport Protocol Nachrichtenstruktur Verarbeitungsmodell Protokollbindung Web Service Analyse Web Services & Projektgruppe Fragen & Diskussion
3
4PG P2P: Einführung in Web Services3 WS - Motivation Interpretation des Begriffs: Web Service Netzwerk WebService Konsument Einführung - Service Oriented Architecture …
4
4PG P2P: Einführung in Web Services4 WS - Netzwerk Internet, Intranet Standardprotokolle zur Kommunikation Netzwerkebene: TCP/IP Transportebene: HTTP (synchron), SMTP (asynchron) HTTP auf Port 80 Firewall durchlässig plattform- und sprachunabhängig Netzwerk Einführung - Service Oriented Architecture …
5
4PG P2P: Einführung in Web Services5 Dienst entspricht Anwendung kapselt Funktionalität Dienstkomponente kann wiederverwendet werden Analogie zu Softwarekomponenten Dienstnutzer weiß nichts über die Realisierung Blackbox Zugriff über Standardprotokolle Blackbox = Einführung - Service Oriented Architecture …
6
4PG P2P: Einführung in Web Services6 WS - Konsumenten Benutzer greift über einen Desktop-Browser zu Beispiel: Aktueller Börsenkurs von Wincor- Nixdorf Anwendung eigentliche Idee von Web-Services Anwendungen können automatisiert miteinander kommunizieren Beispiel: Börsenkursabfrage wird automatisiert “Echtzeitkurse“ anderer Web-Service Anwendung Einführung - Service Oriented Architecture …
7
4PG P2P: Einführung in Web Services7 WS - Architektur Wie finden sich Konsumenten und Dienstanbieter? ConsumerProvider Broker Web-Service Architektur ist realisiert durch: Service Oriented Architecture (SOA) Einführung - Service Oriented Architecture …
8
4PG P2P: Einführung in Web Services8 Service Oriented Architecture (SOA) Consumer Broker Provider ClientService Description Find Register Interact Description - Service Oriented Architecture - SOAP ……
9
4PG P2P: Einführung in Web Services9 Rollen der SOA Provider generiert Dienst veröffentlicht Schnittstellen und Zusatzinformationen beim Broker Festlegen in welcher Kategorie Dienst zu finden ist Sicherheit vs. Geschwindigkeit Broker stellt Requestoren Schnittstellen und Implementierungsinformationen bereit Informationen können privat (Intranet) oder öffentlich sein (Internet) Consumer lokalisiert Brokereinträge und nutzt diese - Service Oriented Architecture - SOAP ……
10
4PG P2P: Einführung in Web Services10 Funktionale Komponenten der SOA Transport-Komponente Protokolle und Formate für die Kommunikation mit einem Dienst Datenformat und Datentypen für die Codierung Transportprotokoll Verpacken der Nachricht Netzwerkprotokoll Nachrichtentransfer Beschreibungs-Komponente maschinenlesbare Beschreibungssprache für einen Dienst Generierung von Stubs und Skeletons für automatisierte und transparente Kommunikation zeigt Informationen zur Benutzung des Dienstes mindestens: Adresse, Operationen, Parameter Endeckungs-Komponente Mechanismus zum Registrieren und Finden von Diensten - Service Oriented Architecture - SOAP ……
11
4PG P2P: Einführung in Web Services11 SOAPInteract Umsetzung Web Service Architektur Consumer UDDI Provider ClientService Description Find Register WSDL Transportkomponente SOAP (Simple Object Access Protocol) Beschreibungskomponente WSDL (Web Service Description Language) Entdeckungskomponente UDDI (Universal Description, Discovery and Integration ) Broker Description - Service Oriented Architecture - SOAP ……
12
4PG P2P: Einführung in Web Services12 Simple Object Access Protocol Spezifikation für den Austausch von strukturierten Informationen in einer verteilten Umgebung offizieller Standard des W3C Kommunikation basiert auf XML Interoperabilität Unabhängigkeit von: Transportprotokoll, setzt aber oft auf HTTP, SMTP auf Betriebssystem Programmiersprache Client und Server können mit unterschiedlichen Technologien entworfen werden nicht objektorientiert human-readable - Simple Object Access Protocol - WS-Analyse ……
13
4PG P2P: Einführung in Web Services13 eXtensible Markup Language (XML) Familie von Standards des W3C: XML, XSD, XSLT, XPATH, DOM,... universelles Format für den Datenaustausch strukturierte Informationen beliebige Informationen systemunabhängig Auszeichnungssprache Tags + Attribute Analogie zu HTML (Hypertext Markup Language) Unterschiede zu HTML XML ist erweiterbar XML ist nicht nur auf die Erstellung von Websites beschränkt Tags sind in XML beschreibende Befehle (Datenbeschreibung) Tags sind in HTML formatierende Befehle (Datenformatierung) Trennung von Nutzdaten und Layout - Simple Object Access Protocol - WS-Analyse ……
14
4PG P2P: Einführung in Web Services14 XML (Baum)Struktur Maier SXM 23 … … Auftraege kNr=12 KundeTelefon SXM 23Maier Auftrag kNr=“12“ - Simple Object Access Protocol - WS-Analyse ……
15
4PG P2P: Einführung in Web Services15 xsd:xmlns: XML Namensräume XML-Tagbezeichnung frei wählbar Problem: gleiche Namen mit unterschiedlicher Semantik Namensräume zur Beseitigung von Konflikten Sammlung von Namen Eindeutiger Bezeichner URI (Uniform Resource Identifier) URI in zwei Formen URL (Locator), URN (Name) Deklaration durch xmlns-Attribut Tags werden durch Präfix einem Namensraum zugeordnet Beispiel Namensraumzuweisung: Original: … ="http://www.w3.org/2001/XMLSchema"> < schema xsd - Simple Object Access Protocol - WS-Analyse ……
16
4PG P2P: Einführung in Web Services16 XML Schemata Beschreibungssprache zum modellieren von Daten Vertrag über den Datenaustausch zwischen zwei Anwendungen Sicherstellen, daß Empfänger die Daten richtig interpretiert syntaktische und strukturelle Beschränkungen des XML-Dokuments Konventionen für den Datenaustausch bezüglich Tags Struktur Datentypen Attribute Validierung von XML-Dokumenten Grammatik für eine Klasse von XML-Dokumenten Verweis auf Schema zu Beginn des XML-Dokuments früher: Document Definition Language (DTD) jetzt: XML Schema Definition Language (XSD) - Simple Object Access Protocol - WS-Analyse ……
17
4PG P2P: Einführung in Web Services17 Dokument Type Definition (DTD) Verweis auf DTD im XML-Dokument: Beispiel DTD: Auftraege Auftrag kNr=12 KundeTelefon SXM 23Maier Auftrag - Simple Object Access Protocol - WS-Analyse ……
18
4PG P2P: Einführung in Web Services18 XML Schema Definition Language (XSD) beschreibt wie DTD Struktur des XML-Dokuments XSD vs. DTD objektorientierte, modulare Modellierungssprache Erweiterbarkeit Vererbungskonzept Strukturbeschreibung wird in XML abgespeichert eigene und viele vordefinierte Datentypen kein separater Parser notwendig, sondern XML-Parser einziger Nachteil gegenüber DTD ist der längere Quellcode Erweiterung des XML-Dokuments durch Namensraumangabe Verweis auf XSD im XML-Dokument durch xsi-Attribut: … - Simple Object Access Protocol - WS-Analyse ……
19
4PG P2P: Einführung in Web Services19 XSD Typdefinition 43 Basistypen bereits in XML Schema definiert u.a. string, bool, integer, float, date Beispiel für einfache Typen: Beispiel für eigene Typdefinition: - Simple Object Access Protocol - WS-Analyse ……
20
4PG P2P: Einführung in Web Services20 XSD Beispiel Auftraege Auftrag kNr=12 KundeTelefon SXM 23Maier Auftrag - Simple Object Access Protocol - WS-Analyse ……
21
4PG P2P: Einführung in Web Services21 Hypertext Transport Protokoll (HTTP) Netzwerk www.upb.de HTTP-Request GET index.html HTTP/1.1 Host: www.upb.de Content-Type: text/html; charset=utf-8 Content-Length: 0 HTTP-Request HTTP-Response HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Content-Length: xxx … GET-Methode, um Informationen zu bekommen POST-Methode, um Informationen zu versenden - Simple Object Access Protocol - WS-Analyse ……
22
4PG P2P: Einführung in Web Services22 <env:Envelope xmlns:env="http:// www.w3.org/2003/05/soap-envelope"> … … Envelop SOAP Nachrichtenstruktur Bestandteile: Briefumschlag SOAP-Header optional zusätzliche Informationen für Verarbeitung z.B. Sicherheit, Logging, Qualität, Transaktion mehrere Headerblöcke SOAP-Body obligatorisch eigentliche Nachricht mehrere Unterelemente protokollspezifische Informationen protokollspezifische Informationen SOAP-Header SOAP-Body Header Block: 1 Body sub-element: 1 Body sub-element: n Header Block: n SOAP-Nachricht - Simple Object Access Protocol - WS-Analyse ……
23
4PG P2P: Einführung in Web Services23 Formen des SOAP-Nachrichtenaustausch RPC-basierter Nachrichtenaustausch Request entspricht Methodenaufruf Ein- und Ausgabeparameter Web-Service liefert Ergebnisse Namensraum der Elemente: http://www.w3.org/2003/05/soap-rpc Ergebnisse durch … gekennzeichnet Dialog-basierter Nachrichtenaustausch SOAP-Aufruf entspricht dem Übermitteln einer Botschaft Empfänger bearbeitet diese asynchron in mehreren Schritten z.B. komplette Bestellungen - Simple Object Access Protocol - WS-Analyse ……
24
4PG P2P: Einführung in Web Services24 SOAP Fehler Fehler müssen dem Sender gemeldet werden Fehlernachricht entspricht Envelop- Struktur Header + Body Body enthält genau ein Unterelement Angaben über: Grund, Knoten, Rolle Fehlertypen: VersionMismatch MustUnderstand DataEncodingUnknown Sender Receiver <env:Envelope xmlns:env="http:// www.w3.org/2003/05/soap-envelope"> … … - Simple Object Access Protocol - WS-Analyse ……
25
4PG P2P: Einführung in Web Services25 SOAP Verarbeitungsmodell I Consumer UDDI Provider ClientService Description Find Register SOAP WSDL - Simple Object Access Protocol - WS-Analyse ……
26
4PG P2P: Einführung in Web Services26 SOAP Verarbeitungsmodell II Client Service Nachrichtenpfad: Menge von Knoten, die von einer SOAP-Nachricht passiert werden Typen von SOAP-Knoten SOAP-Sender (initial) SOAP-Receiver (ultimative) SOAP-Intermediaries z.B. Web-Service zur Authentifizierung - Simple Object Access Protocol - WS-Analyse ……
27
4PG P2P: Einführung in Web Services27 SOAP Verarbeitungsmodell III SOAP Knoten des Nachrichtenpfades nehmen Rollen ein: next: z.B. Intermediaries ultimativeReceiver: ultimativeReceiver, Intermediaries nicht none: kein Knoten benutzerdefiniert Knoten kann mehrere Rollen annehmen Rollen konstant Ablauf bei Nachrichtenankunft Syntaxprüfung: Envelop, Header, Body Headerbearbeitung Headerblöcke einer SOAP-Nachricht kann 3 Attribute enthalten: role, mustUnderstand, relay Headerblöcke können verändert, hinzugefügt, gelöscht werden Body ist nur für UltimativeReceiver bestimmt - Simple Object Access Protocol - WS-Analyse ……
28
4PG P2P: Einführung in Web Services28 Header Attribute <m:reservation xmlns:m="http://travelcompany.org/reservation" env:role="http://www.w3.org/2001/12/soap-envelope/role/next" env:mustUnderstand="true“ env:relay="true">..… … SOAP-Nachricht - Simple Object Access Protocol - WS-Analyse ……
29
4PG P2P: Einführung in Web Services29 <env:Envelope xmlns:env="http:// www.w3.org/2003/05/soap-envelope"> 34.5 SOAP-Message SOAP mit HTTP-Bindung POST /servlets/InStock HTTP/1.1 Host: www.stock.org Content-Type: application/soap+xml; charset=utf-8 Content-Length: xxx HTTP-Request <env:Envelope xmlns:env="http:// www.w3.org/2003/05/soap-envelope"> IBM SOAP-Message Netzwerk HTTP-Request HTTP-Response HTTP/1.1 200 OK Content-Type: application/soap+xml; charset=utf-8 Content-Length: xxx HTTP-Response - Simple Object Access Protocol - WS-Analyse ……
30
4PG P2P: Einführung in Web Services30 SOAP Zusammenfassung Spezifikation zum Austausch von strukturierten Informationen in einer verteilten Umgebung SOAP-Nachrichten: Basis XML Envelope-Struktur: Header, Body Angabe von Namesräumen zur eindeutigen Kennzeichnung XML-Schemata für die Struktur der XML-Nachricht Basis für Nachrichtentransport: HTTP SOAP-Nachricht wird der HTTP-Anfrage anstelle von HTML angehängt Nachricht kann vom initialen Sender zum ultimativen Empfänger mehrere Zwischenknoten (Intermediaries) passieren Zwischenknoten nehmen verschieden Rollen ein und verarbeiten die Nachricht ihrer Rolle entsprechend Zwischenstationen können der Nachricht im Header Informationen hinzufügen, z.B. Abrechnung, Authentifizierung RPC- vs. dialog-basierter Nachrichtenaustausch - Simple Object Access Protocol - WS-Analyse ……
31
4PG P2P: Einführung in Web Services31 WS Analyse I Idee einer SOA ist nicht neu vergleichbare Middleware-Architekturen (RMI, CORBA, DCOM) da Transport mittels HTTP: Web-Services = Internet-Middleware Komponentenvergleich: Java RMICORBAWeb Services Invocation Mechanism Java RMICORBA RMI.NET, JAX-RPC,… Data Format Serialized JavaCDRXML Wire Format StreamGIOPSOAP Transfer Protocol JRMPIIOPHTTP, SMTP,… Interface Description Java InterfaceCORBA IDLWSDL Discovery Mechanism Java RegistryCOS namingUDDI - Web-Service Analyse - WS & PG ……
32
4PG P2P: Einführung in Web Services32 WS Analyse II bisher von WS nur Transportkomponente betrachtet deshalb nur Vor- und Nachteile von WS, die durch SOAP entstehen: RMICORBAWS & SOAP Plattformunabhängigkeit +++ Sprachunabhängigkeit -++ Protokollunabhängigkeit --+ Objektorientierung ++- Firewalls --+ Performance ++- human-readable --+ industrielle Unterstützung --+ Nutzung von Standards --+ Sicherheit ++- - Web-Service Analyse - WS & PG ……
33
4PG P2P: Einführung in Web Services33 Web-Services & Projektgruppe PG Titel: Peer2Peer Suche nach Web-Services Bezug zum Seminarthema naheliegend Fragestellungen: Welche Web-Services werden gesucht? Rechner mit freien Rechenkapazitäten, die diese anbieten ein Web-Service pro Knoten Was muß der Web-Service leisten? Anfragen entgegennehmen statische Anfrageattribute auswerten (z.B. Speicherplatz) dynamische Anfrageattribute auswerten (z.B. Verfügbarkeit) Anfragen ggf. an Nachbarn weiterleiten Schnittstelle mit diesen Funktionalitäten - Web-Service & Projektgruppe -… Diskussion
34
4PG P2P: Einführung in Web Services34 Fragen & Diskussion SOAP zur Kommunikation zwischen den Knoten? XML-Schemata für Nachrichtenkonventionen? Welche Sicherheitsmechanismen werden benötigt? Schnittstelle für Abrechnungsmodul? - Fragen & Diskussion…
35
4PG P2P: Einführung in Web Services35 Vielen Dank für Eure Aufmerksamkeit!
36
4PG P2P: Einführung in Web Services36 Web Service Sicherheit HTTP HTTPS (HTTP Secure) 128 Bit Verschlüsselung Ende-zu-Ende Sicherheit XML Encryption Abschnittsweise Verschlüsselung der Nachricht XML Signature Authentifizierung des Senders Nicht-Abstreitbarkeit SAML Authentifizierung, Autorisierung, Unleugbarkeit, Integrität XKMS, XACML, … Ansatz zur Vereinheitlichung: WS-Security Idee: standardisiertes Einbinden von Sicherheitsmaßnahmen wie XML Encryption und XML Signature
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.