16
Web Services Web Services Seminarleiter: Seminarleiter: Herr Prof. Klement und Herr Prof. Herr Prof. Klement und Herr Prof. Kneisel Kneisel MATTHIAS PRETSCH MATTHIAS PRETSCH Kleines Seminar Kleines Seminar

Web Services

  • Upload
    elga

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

Web Services. MATTHIAS PRETSCH Kleines Seminar. Seminarleiter: Herr Prof. Klement und Herr Prof. Kneisel. Web Services. Erläuterung Was ist ein Web Service ? Funktionsweise Technische Grundlagen (XML, SOAP, WSDL & UDDI) Entwicklungsumgebungen Beispiel Fazit. Web Services. - PowerPoint PPT Presentation

Citation preview

Page 1: Web Services

Web ServicesWeb Services

Seminarleiter: Seminarleiter: Herr Prof. Klement und Herr Prof. KneiselHerr Prof. Klement und Herr Prof. Kneisel

MATTHIAS PRETSCHMATTHIAS PRETSCH

Kleines SeminarKleines Seminar

Page 2: Web Services

ErläuterungErläuterung Was ist ein Web Service ?Was ist ein Web Service ? Funktionsweise Funktionsweise Technische Grundlagen Technische Grundlagen (XML, SOAP, WSDL & (XML, SOAP, WSDL &

UDDI)UDDI)

EntwicklungsumgebungenEntwicklungsumgebungen BeispielBeispiel FazitFazit

Web ServicesWeb Services

Page 3: Web Services

Web ServicesWeb Services

Erläuterung :Erläuterung :

Das World Wide Web (einst ein Sammelsurium aus durch Hyperlinks verknüpften Text-, Ton- und Bilddateien) hat sich in letzter Zeit zu einer Palette von Informationsdiensten entwickelt.

Das WWW in seiner heutigen Form ist bereits weitgehend am Benutzer und seinen Bedürfnissen orientiert. Trotzdem zeichnet sich in letzter Zeit vermehrt ein weiterer Trend ab – die Automatisierung der Informationsdienste im WWW. Speziell im Bereich der Business-to-Business-(B2B-) und e-Commerce Anwendungen ist diese Art der Informationsverarbeitung bereits schon heute Wirklichkeit.

Web Services sollen es ermöglichen, Anwendungen plattformunabhängig verteilt über ein Netzwerk (wobei Netzwerk hier auch das Internet mit einschließt) laufen zu lassen und dadurch auch neue Möglichkeiten für den E-Commerce zu erschließen.

Page 4: Web Services

Web ServicesWeb Services

Was ist ein Web Service ?Was ist ein Web Service ?

Web Services sind Softwarebausteine, die Programme, die Web Services sind Softwarebausteine, die Programme, die auf unterschiedlichen Netzwerkrechnern laufen, über das auf unterschiedlichen Netzwerkrechnern laufen, über das Internet zu einer Anwendung miteinander verknüpfen.Internet zu einer Anwendung miteinander verknüpfen.

F.A.Z. vom 14. Oktober 2003, S. 18F.A.Z. vom 14. Oktober 2003, S. 18

Web Services sind verteilte, lose gekoppelte und Web Services sind verteilte, lose gekoppelte und wiederverwend-bare Softwarekomponenten, auf die über wiederverwend-bare Softwarekomponenten, auf die über Standard-Internet-protokolle programmatisch zugegriffen Standard-Internet-protokolle programmatisch zugegriffen werden kann.werden kann.

Andreas Schmidt, FZI KarlsruheAndreas Schmidt, FZI Karlsruhe

Page 5: Web Services

Was ist ein Web Service ?Was ist ein Web Service ?

Web-Services sind selbstbeschreibende, gekapselte Web-Services sind selbstbeschreibende, gekapselte Software-Komponenten, die eine Schnittstelle anbieten, Software-Komponenten, die eine Schnittstelle anbieten, über die ihre Funktionen entfernt aufgerufen, und die lose über die ihre Funktionen entfernt aufgerufen, und die lose durch den Austausch von Nachrichten miteinander durch den Austausch von Nachrichten miteinander gekoppelt werden können. Zur Erreichung universeller gekoppelt werden können. Zur Erreichung universeller Interoperabilität werden für die Kommunikation die Interoperabilität werden für die Kommunikation die herkömmlichen Kanäle des Internets verwendet. Web-herkömmlichen Kanäle des Internets verwendet. Web-Services basieren auf den drei Standards WSDL, SOAP und Services basieren auf den drei Standards WSDL, SOAP und UDDI.UDDI.

Arbeitskreis Arbeitskreis Web ServicesWeb Services der Gesellschaft für Informatik der Gesellschaft für Informatik

Web ServicesWeb Services

Page 6: Web Services

Ein Web Service lässt sich also grob Ein Web Service lässt sich also grob umschreiben als eine Art Dienstleistung, die umschreiben als eine Art Dienstleistung, die über das Internet angeboten und abgerufen über das Internet angeboten und abgerufen wird. Diese Dienst-leistung ist in der Lage sich wird. Diese Dienst-leistung ist in der Lage sich selbst zu beschreiben, dies tut sie durch eine selbst zu beschreiben, dies tut sie durch eine XML-basierte öffentliche Darstellung.XML-basierte öffentliche Darstellung. Auf der Auf der einen Seite existiert ein Web Service-Anbieter einen Seite existiert ein Web Service-Anbieter und auf der anderen ein Web Service-und auf der anderen ein Web Service-Nachfrager. Die Kommunikationspartner Nachfrager. Die Kommunikationspartner tauschen XML-Nachrichten über ein Netzwerk tauschen XML-Nachrichten über ein Netzwerk aus (mithilfe des HTTP-Protokolls). aus (mithilfe des HTTP-Protokolls).

Web ServicesWeb Services

Page 7: Web Services

- ProgrammierbarProgrammierbar

- SelbstbeschreibendSelbstbeschreibend

- KapselungKapselung

- Lose gekoppeltLose gekoppelt

- OrtstransparenzOrtstransparenz

- ProtokolltransparenzProtokolltransparenz

- Komposition Komposition

Charakterisierung eines Web Services Charakterisierung eines Web Services (W3C):(W3C):

Web ServicesWeb Services

In Standardisierungsgremien wie dem W3C herrscht eine all-In Standardisierungsgremien wie dem W3C herrscht eine all-gemeine Übereinstimmung darüber, was ein Web-Service istgemeine Übereinstimmung darüber, was ein Web-Service ist

Page 8: Web Services

Web ServicesWeb Services

Funktionsweise :Funktionsweise :

- Web Service-Anbieter implementiert Dienst, der angeboten werden soll- Web Service-Anbieter implementiert Dienst, der angeboten werden soll

- Registrierung der URL bei Verzeichnisdienst zum veröffentlichen - Registrierung der URL bei Verzeichnisdienst zum veröffentlichen

- von Client-Seite aus -> Anfrage an Verzeichnisdienst, URL des - von Client-Seite aus -> Anfrage an Verzeichnisdienst, URL des Webservices Webservices

wird mitgeteiltwird mitgeteilt

- Client-Programm kann dann anhand der zur Verfügung gestellten - Client-Programm kann dann anhand der zur Verfügung gestellten Metadaten Metadaten

die Methoden des Web Services nutzendie Methoden des Web Services nutzen

- die Metadaten erlauben es dem Client, dynamisch einen Proxy zu - die Metadaten erlauben es dem Client, dynamisch einen Proxy zu erstellenerstellen

- Client-Rechner kann somit Methoden des Web Services wie Funktionen - Client-Rechner kann somit Methoden des Web Services wie Funktionen einer einer

lokalen Bibliotheken nutzenlokalen Bibliotheken nutzen

Page 9: Web Services

Web ServicesWeb Services

Technische Grundlagen :Technische Grundlagen :

- XML (eXtensible Markup Language)

- SOAP (Simple Object Access Protocol)

- WSDL (Web Service Description Language)

- UDDI (Universal Description, Discovery and Integration)

Page 10: Web Services

- macht es möglich, komplexe Datenstrukturen inklusive der Abhängigkeiten einzelner Datensätze innerhalb eines Dokumentes darzustellen

- die XML-Datei hat Textformat und gibt verwendeten Zeichensatz mit an

- unterschiedlichste Applikationen können XML-Datei nutzen und auswerten

- XML wird von nahezu jeder Plattform und vielen Applikationen unterstützt

- somit plattformübergreifender Austausch von Daten möglich

- XML bildet für Web Services die Grundlage, da sämtlich ausgetauschten Nachrichten XML-Format haben

Web ServicesWeb Services

XML (Extensible Markup Language)

Page 11: Web Services

- - Konvention zur Übertragung von XML-DatenKonvention zur Übertragung von XML-Daten

- beschreibt die Bindung an das darunterliegende - beschreibt die Bindung an das darunterliegende TransportprotokollTransportprotokoll

- eine SOAP-Nachricht besteht aus:- eine SOAP-Nachricht besteht aus:EnvelopeEnvelope (Schale oder Umschlag, z.b. Festlegung der Namesräume)(Schale oder Umschlag, z.b. Festlegung der Namesräume)

HeaderHeader (dient zur Authentifizierung, optional)(dient zur Authentifizierung, optional)

BodyBody (enthält eigentliche Daten) (enthält eigentliche Daten)

- - SOAP wird für Zwei-Wege-SOAP wird für Zwei-Wege-

Kommunikation genutzt Kommunikation genutzt

Web ServicesWeb Services

SOAP (Simple Object Access Protocol)

Page 12: Web Services

- bei WSDL handelt es sich um einen „XML-Dialekt“- bei WSDL handelt es sich um einen „XML-Dialekt“

- WSDL-Datei enthält Metadaten des Web Service- WSDL-Datei enthält Metadaten des Web Service

- WSDL-Datei beschriebt:- WSDL-Datei beschriebt:

- - die Methoden, die der Dienst bereitstelltdie Methoden, die der Dienst bereitstellt

- unter welcher Adresse (URL) er zu finden ist- unter welcher Adresse (URL) er zu finden ist

- wie die Schnittstellen der bereitgestellten Funktionen - wie die Schnittstellen der bereitgestellten Funktionen beschaffen beschaffen

sindsind

- sie enthält des Weiteren Informationen über verwendetes- sie enthält des Weiteren Informationen über verwendetes

ProtokollProtokoll

- Anhand dieser Informationen ist der Client in der Lage, sich - Anhand dieser Informationen ist der Client in der Lage, sich

einen entsprechenden Proxy zu bauen um auf den Web einen entsprechenden Proxy zu bauen um auf den Web Service Service

zuzugreifen. zuzugreifen.

WSDLWSDL (Web Service Description Language) (Web Service Description Language)

Web ServicesWeb Services

Page 13: Web Services

- unter UDDI versteht man einen Verzeichnisdienst, der auf einer - unter UDDI versteht man einen Verzeichnisdienst, der auf einer InitiativeInitiative

verschiedener Firmen, darunter auch IBM, beruhtverschiedener Firmen, darunter auch IBM, beruht

- dieser Verzeichnisdienst entspricht einer Art „Gelber Seiten“, denn - dieser Verzeichnisdienst entspricht einer Art „Gelber Seiten“, denn er er

regelt das Suchen, Finden und Publizieren von Webdienstleistungenregelt das Suchen, Finden und Publizieren von Webdienstleistungen

- Web Services und ihre Schnittstellen sind hier registriert- Web Services und ihre Schnittstellen sind hier registriert

- sowie auch Programmierschnittstellen - sowie auch Programmierschnittstellen

zum dynamischen Auffinden von zum dynamischen Auffinden von

Web ServicesWeb Services

UDDI UDDI (Universal Description, Discovery and Integration)(Universal Description, Discovery and Integration)

Web ServicesWeb Services

Page 14: Web Services

- .NET My Services (Microsoft, kostenloser Download des - .NET My Services (Microsoft, kostenloser Download des Toolkit)Toolkit)

- WebSphere (IBM, Einbettung des Web Service in - WebSphere (IBM, Einbettung des Web Service in ApplikationsserverApplikationsserver))

- Glue (The Mind Electric, - Glue (The Mind Electric, kostenfreien und in einer kostenfreien und in einer gebührenpflichtigengebührenpflichtigen ))

Web ServicesWeb Services

Entwicklungsumgebungen :Entwicklungsumgebungen :

Page 15: Web Services

Web ServicesWeb Services

Ein kleines Beispiel :Ein kleines Beispiel :Fusion von Unternehmen:

Problem: unterschiedliche Systeme und Applikationen an verschiedenen Standorten, keine gemeinsamer Datenbestand möglich Lösung: Einigung auf gemeinsames Datenformat, welches mit Hilfe von XML beschrieben wird

Entwicklung eines Java-basierten Transformator, der die

Nachrichten der unterschiedlichen Systeme in das einheitliche Datenformat transformieren kann. Als Eingangsparameter wird die "alte" Nachricht übergeben und als Ausgabe erhält man die transformierte Nachricht im neuen Datenformat.

Diese Funktionalität kann über eine Web Service-Schnittstelle realisiert werden. Der Transformationsdienst kann somit aus unterschiedlichen Anwendungen aufgerufen werden.

Page 16: Web Services

Web ServicesWeb Services

Fazit :Fazit :

Aufgrund ihrer Neuartigkeit sind Web-Services auch mit Problemen verbunden. Letzte architektonische Lücken (Thema Sicherheitskonzepte) müssen geschlossen werden und grundlegende Standards reifen, damit sich vertrauenswürdige Web-Services und ihr Zusammenspiel mit anderen Web-Services voll entfalten können.

Zahlreiche Unternehmen befassen sich zur Zeit mit Web-Services und arbeiten bereits an ihrer Verwirklichung. Erste produktive Ansätze in Form von Standards wurden bereits geschaffen. Allerdings müssen Web-Services und ihre Werkzeuge noch stark verbessert werden