Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Betriebs- systeme und Verteilte Systeme Einführung in Web Services Projektgruppe Peer2Peer Suche nach Webservices WS 2004/SS 2005 Christian Neubert.

Ähnliche Präsentationen


Präsentation zum Thema: "Betriebs- systeme und Verteilte Systeme Einführung in Web Services Projektgruppe Peer2Peer Suche nach Webservices WS 2004/SS 2005 Christian Neubert."—  Präsentation transkript:

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


Herunterladen ppt "Betriebs- systeme und Verteilte Systeme Einführung in Web Services Projektgruppe Peer2Peer Suche nach Webservices WS 2004/SS 2005 Christian Neubert."

Ähnliche Präsentationen


Google-Anzeigen