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

Slides:



Advertisements
Ähnliche Präsentationen
SOAP, nur ein neuer XML- Dialekt?
Advertisements

C ommon O bject R equest B roker A rchitecture
Was bedeutet XML in Office-Applikationen für Systemadministratoren? Ruprecht Dröge MCSE MCSD MCT Microsoft Pre Sales Consultant.
Basis-Architekturen für Web-Anwendungen
SOAP Simple Object Access Protocol
Web Services und Workflow-Steuerung
XML - Aufbau und Struktur - mit Einsatz im B2B
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
HTML - Einführung Richard Göbel.
DOM (Document Object Model)
Web 3.0 – Programmierung – Semantic Web / CIDOC CRM
HTML - Eine erste Annäherung
1 Web Services (SOAP, REST, WSDL). © Prof. T. Kudraß, HTWK Leipzig 2 Web Service – Definitionen? Gartner Group: Web services are software technologies,
Kommunikation in verteilten Systemen (Middleware)
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Einführung XML XML Einführung Andreas Leicht.
JAVA RMI.
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Seminar Internet Technologien
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
Seminar Praktische Informatik Web Services
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Seminarleiter: Herr Prof. Klement und Herr Prof. Kneisel
Software Architektur III
Die .NET Common Language Runtime
Die .NET Common Language Runtime
SOAP Simple Object Access Protocol
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
ArcGIS als WPS Server Aktueller Stand der Umsetzung
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Webservice Grundlagen
Einsatzgebiete und Anwendungen
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
Java für Fortgeschrittene
Management- und Web Services- Architekturen
XML (Extensible Markup Language)
Einführung in Web Services Web Services in der Praxis
Client-Server-Modell
Reinhold Rumberger Web Services.
SOAP.
->Prinzip ->Systeme ->Peer – to – Peer
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Datenbanken im Web 1.
Internet-Grundtechnologien. Client / Server Client („Kunde“): fordert Information / Datei an im Internet: fordert Internetseite an, z.B.
Welcome to Web Services & Grid Computing Jens Mache
Das World Wide Web Stephan Becker TIT05BGR SS06. Das World Wide Web Übersicht Hypertext & Hypermedia HTML Dokumentenidentifikation Dokumententransport.
Web Services als Remote Content Provider in Portalumgebungen Vorstellung und Diskussion des Themas Präsentation des Prototypen Konzeption und prototypische.
Web Services (Axis) ETIS SS05.
Internet - Grundbegriffe Unterlagen zum Kurs "Wie erstelle ich eine Homepage?"
Sicherheitsaspekte in Service Orientierten Architekturen Eike Falkenberg Sommersemester 2006 Anwendungen I.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Das Internet Ein Netzwerk, das viele Rechner miteinander verbindet
ORB – Konzepte Ist – Analyse der betrieblichen Notwendigkeiten, Anforderungsableitung an moderne Lösungskonzepte, alternative ORB – Konzepte mit Zukunft,
Lisa Huber DHBW Mannheim
Pascal Brunner Uniklinik RWTH Aachen Institut für Medizinische Informatik Integration von ImageJ- und Matlab- Servern in das Electronic Data Capture klinischer.
Mainframe und WebServices bei der W. KAPFERER KG Einfache Internet-Lösungen in Verbindung mit vorhandenen Host-Programm-Strukturen.
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
© WZL/Fraunhofer IPT Eine Gegenüberstellung von Websockets und RESTful Web Services Seminarvortrag von Lucie Mades.
1 Lutz Ullrich SOA – serviceorientierte Architektur SOA – Was ist das?
Vergleich verschiedener Kommunikationsinfrastrukturen in Enterprise Information Systems Ben Mainz Seminar am Lehrstuhl für Software Engineering RWTH Aachen.
Webservices SOAP und REST Nicole Fronhofs 1. Betreuer: Prof. Dr. Volker Sander 2. Betreuer: B. Sc. Sebastian Olscher.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Web Services Dr. Wolfgang Wörndl
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
SOAP - WSDL Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 2 Hauptseminar: Virtuelle.
Prof. Dr.-Ing. Franz-Josef Behr Geodaten und Datenmodell
 Präsentation transkript:

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

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

4PG P2P: Einführung in Web Services3 WS - Motivation  Interpretation des Begriffs: Web Service Netzwerk WebService Konsument Einführung - Service Oriented Architecture …

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 …

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 …

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 …

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 …

4PG P2P: Einführung in Web Services8 Service Oriented Architecture (SOA) Consumer Broker Provider ClientService Description Find Register Interact Description - Service Oriented Architecture - SOAP ……

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 ……

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 ……

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 ……

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 ……

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 ……

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 ……

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: … =" < schema xsd - Simple Object Access Protocol - WS-Analyse ……

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 ……

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 ……

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 ……

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 ……

4PG P2P: Einführung in Web Services20 XSD Beispiel Auftraege Auftrag kNr=12 KundeTelefon SXM 23Maier Auftrag - Simple Object Access Protocol - WS-Analyse ……

4PG P2P: Einführung in Web Services21 Hypertext Transport Protokoll (HTTP) Netzwerk HTTP-Request GET index.html HTTP/1.1 Host: Content-Type: text/html; charset=utf-8 Content-Length: 0 HTTP-Request HTTP-Response HTTP/ 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 ……

4PG P2P: Einführung in Web Services22 <env:Envelope xmlns:env=" … … 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 ……

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:  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 ……

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=" … … - Simple Object Access Protocol - WS-Analyse ……

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 ……

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 ……

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 ……

4PG P2P: Einführung in Web Services28 Header Attribute <m:reservation xmlns:m=" env:role=" env:mustUnderstand="true“ env:relay="true">..… …  SOAP-Nachricht - Simple Object Access Protocol - WS-Analyse ……

4PG P2P: Einführung in Web Services29 <env:Envelope xmlns:env=" SOAP-Message SOAP mit HTTP-Bindung POST /servlets/InStock HTTP/1.1 Host: Content-Type: application/soap+xml; charset=utf-8 Content-Length: xxx HTTP-Request <env:Envelope xmlns:env=" IBM SOAP-Message Netzwerk HTTP-Request HTTP-Response HTTP/ OK Content-Type: application/soap+xml; charset=utf-8 Content-Length: xxx HTTP-Response - Simple Object Access Protocol - WS-Analyse ……

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 ……

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 ……

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 ……

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

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…

4PG P2P: Einführung in Web Services35 Vielen Dank für Eure Aufmerksamkeit!

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