Web-Services Grundlagen



Ähnliche Dokumente
Dienstorientierte Integration und Web Services

Seminar E-Services WS 02/03 WSDL. Web Services Description Language. Moritz Kleine SES 02 - WSDL

WebServices Zwischen Buzzword und Nutzen

Verteilte Systeme: Übung 4

INFORMATIONSINTEGRATION UND WEBPORTALE

Service Oriented Architecture. Hanno Wunderlich SWT-Projekt WS07/08

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

WSDL. Heutige Vorlesung. Wozu WSDL? Wie wird WSDL verwendet? Language. Services. Description. Web. Abstrakte vs. konkrete Syntax

Wiederholung: Beginn

WSDL. Web Services Description Language. André Vorbach. André Vorbach

Web-Sevices : WSDL Entwicklung von Web-Anwendungen

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Programm. Dienstorientierte Integration und Web Services. Integrationsebenen (1) Integrationsebenen (2) Integrationsebenen (2) Denken in Diensten

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Workflow, Business Process Management, 4.Teil

Zustandsgebundene Webservices

XML Vorlesung ETHZ SS XML Vorlesung ETHZ SS XML Vorlesung ETHZ SS

E-Services mit der Web-Service-Architektur

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2)

Implementierung von Web Services: Teil I: Einleitung / SOAP

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Affiliate SOAP-Schnittstelle

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

VVA Webservice Online Lieferbarkeits-Abfrage

Inhalt I. Blick zurück II. Was sind WebServices? III. Rahmenwerk für edienstleistungen IV. Verwendete WebServices

3-schichtige Informationssystem-Architektur

Thema: Web Services. Was ist ein Web Service?

PL/SQL Web-Services mit Oracle 11g

Grundlagen der Web-Entwicklung INF3172

Java und XML 2. Java und XML

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?

Webservices Ein Vortrag von:

Verteilte Anwendungen. Teil 10: UDDI und WSDL

SOA mit.net: Vom Geschäftsprozess zur Lösung

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako

Kapitel 5 Web-Services

Agenda. Web Services unter Lotus Notes/Domino

XML und SOAP Einführung und Grundlagen

Übersicht. Angewandte Informatik 2 - Tutorium 6. Teile einer WSDL-Datei. Was ist WSDL. Besprechung: Übungsblatt 5

Seminar Informationsintegration und Informationsqualität. Dragan Sunjka. 30. Juni 2006

Ein Vergleich zwischen SCA,JBI und WCF. Marcello Volpi

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java

Architektur von SOAP basierten Web Services

Microsoft.NET und SunONE

Auszug aus JAX-WS Folien

5. Übung zur Vorlesung Service-orientierte Architekturen

GI-Services erstellen und bereitstellen

Zur Definition von Web-Services

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

OP-LOG

SAP NetWeaver Gateway. 2013

HP Service Virtualization. Bernd Schindelasch 19. Juni 2013

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Web-Applications mit SOAP und RSS. Vortrag 8, Jonas Mitschang,

Web-Services - die GIS-Zukunft?

Motivation. Web Services in der Bioinformatik. Web Services. Motivation (2) Definition

Software Reuse Sommer 2004

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Mobile und Verteilte Datenbanken

Anleitung zur Webservice Entwicklung unter Eclipse

Man liest sich: POP3/IMAP

Benutzerhandbuch für die Verwendung des viavac HL7 Forcast Webservices (VAC-CDSS)

Umstieg auf Microsoft Exchange in der Fakultät 02

COI-BUSINESSFLOW SOAP-SERVER MODUL INFORMATION

SOAP Simple Object Access Protocol. Dr. Reinhard Riedl Universität Zürich/Universität Rostock

SOAP, WSDL, UDDI. Martin Grimmer. Proseminar: Die Zukunft der Softwareentwicklung: Komponentensysteme/Web Services Vortrag 1 am

SOAP und WSDL in der Praxis. Wie wird SOAP/WSDL verwendet? Heutige Vorlesung. .net. und Apache Axis

Was meinen die Leute eigentlich mit: Grexit?

OS IDE Webserver Integration des Webservers in die IDE Wireshark Webserver II Dynamisches Webprojekt in Eclipse

Entwicklung eines interoperablen, multimedialen Teaching-File-Service: Web-Service unterstützter Wissenstransfer in der Radiologie

Schneller, höher, weiter Die erweiterten Amt24-Schnittstellen. Klaus-Peter Geyer (T-Systems)

FAQ IMAP (Internet Message Access Protocol)

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Standards und Standardisierungsgremien

Web Service Discovery mit dem Gnutella Peer-to-Peer Netzwerk

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

3. Stored Procedures und PL/SQL

Business Process Execution Language. Christian Vollmer Oliver Garbe

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke J.M.Joller 1

Enterprise Application Integration Erfahrungen aus der Praxis

Installation Hardlockserver-Dongle

Reporting Services und SharePoint 2010 Teil 1

AlwinPro Care Modul Schnittstelle TV-Steuerung

Werner Motzet und Tim Pistor präsentieren:

Flashfragen in ILIAS Test & Assessment. Helmut Schottmüller

AK Medientechnologien 05 Delegation

ÖSTERREICH RECHNET MIT UNS. Standard e-rechnungs-webservice (SERWS) - Status DI Philip Helger, BRZ

Transkript:

Web-Services Grundlagen Praktikum Informationsintegration 1.11.2005 Agenda Aktueller Stand Was sind Web-Services? Allgemeines Web-Service-Technologien SOAP WSDL 2

Umgebung (Korrektur) Rechner/Server mangold.informatik.hu-berlin.de Erreichbar innerhalb der Uni (außer WLan) Oder per SSH-Tunnel über star/fink/ (siehe Wiki) Installiert ist Eclipse 3.1 + SVN-Plugin Java 5 (statt 1.4) Tomcat 5.5 (statt 5.0) JWSDP 1.6 (von Sun) Immer noch DB2 8.2 SVN-Repository /local/repository Hilfsklassen in /local/repository/search 3 Abgabe 18 sind schon auf der Liste Noch nicht alle Namen bei den Fotos In Liste: Suchmaschinen-WIKI-Seite verlinken, nicht Suchmaschinen-WEB-Seite Bitte Zugriff auf mangold testen 4

Bisher, Teil 1 Anfrage Ergebnis Suchmaske Suchmaschine Teil 1 Suchmaske ausfüllen (Anfrage stellen), Ergebnisseite lesen Index 5 Jetzt, Teil 2+3 Programm, Service Anfrage Ergebnis Suchmaske Suchservice Anfrage Ergebnis Suchmaschine Teil 2 Service anbieten, Anfrage durch Programm/Service Index 6

Szenario, Phase 1+2 Phase 2 Phase 1 7 Integrationsebenen (1) Präsentationsebene Präsentationsfragmente Portlets Praktikum Prozeßebene Anwendungslogikebene Informationsebene Dienste Dienstschnittstelle, -semantik Dienstfindung, -orchestrierung Vorlesung Informationsquellen Datenmodell, Schema, semantische Heterogenität Technische Ebene Netzwerkprotokolle, RPC Darstellungssyntax 8

Integrationsebenen (2) Bislang: Informationsperspektive Einzubindende Anbieter sind Informationsquellen Interaktion mit den externen Quellen läuft über das Anfrage-Ergebnis-Paradigma Es existiert eine zentrale Stelle, an der alle Informationen zusammenlaufen Hauptprobleme Wie überwinde ich die technische Heterogenität? Wie überwinde ich die semantische Heterogenität? Anfrageübersetzung Schemaintegration Vorlesung und Praktikum letztes Jahr 9 Integrationsebenen (2) Jetzt: Dienstintegration Einzubindende Anbieter sind Dienste Kapselung von Daten und Funktionalität hinter einer Schnittstelle, die die Funktion eines Vertrages hat Dienst-/Methodenaufrufe vom Dienstnehmer an den Dienstgeber als Interaktionsparadigma Autonomen Dienste soll durch eine Infrastruktur die gegenseitige Nutzung ermöglicht werden => Dienstorientierte Architekturen Hauptprobleme Wie mache ich Dienste interoperabel? Wie finde ich benötigte Dienste? Wie beschreibe ich Dienste? Wie kombiniere/aggregiere ich Dienste? Praktikum letztes und dieses Jahr 10

Dienstorientierte Architektur Buzzword: SOA Dienstverzeichnis (service registry) find publish Dienstnehmer (service requestor, client) bind invoke Dienstgeber (service provider, server) 11 Was sind Web Services? Web Services sind verteilte, lose gekoppelte und wieder verwendbare Software-Komponenten, auf die über Standard-Internetprotokolle programmatisch zugegriffen werden kann. Pragmatisch: Dienste, die mittels SOAP angesprochen werden können und (meist) mittels WSDL beschrieben werden 12

Was sind Web Services? Folie von Prof. Reisig auf dem HU-IBM Kooperationstag Programm Ein Programm rechnet Service Ein Dienst kommuniziert 13 Geschichte 1997/98 stark von Microsoft dominierte Entwicklung, die aber zunächst aufgrund anderer Prioritäten (XML Data u.a.) verschoben wurde 1999 SOAP 1.0 Hinzukommen von IBM 2000 offizielle Submission von SOAP 1.1 ans W3C Gründung der XML Protocol Arbeitsgruppe am W3C UDDI-Spezifikation (Ariba, IBM, Microsoft) 2001 WSDL Submission 2002 BPEL4WS (IBM, Microsoft) aus WSFL und XLANG 2003 SOAP 1.2, WSDL 2.0 Working Draft 14

Technik SOAP (Simple Object Access Protocol) Aufrufprotokoll unterschiedliche Transportprotokolle: HTTP, SMTP WSDL (Web Services Description Language) Schnittstellenbeschreibung UDDI (Universal Description, Discovery and Integration) Dienstbeschreibung und Auffindung universeller Verzeichnisdienst für Dienstleistungen 15 SOAP, WSDL, UDDI Registry UDDI UDDI UDDI Client SOAP WSDL Web Service 16

SOAP Überblick In XML kodierter entfernter Methodenaufruf (RPC) bzw. Nachrichtenaustauschprotokoll Beliebiges Transportprotokoll, z.b. synchrone Aufrufe über HTTP: Aufrufer wartet auf die Dienstantwort klassischer RPC asynchrone Aufrufe über SMTP (Mail): Entkopplung von Aufruf und Antwort Messaging Kodierungsregeln für Datentypen Standard-Regeln entstammen XML Schema 17 Nachricht SOAP-Envelope SOAP-Header z.b. Authentifizierung, Routing, Logging, Transaktionsnummern Metadaten über den Aufruf SOAP-Body die eigentliche Methode, die aufgerufen werden soll die Parameter bzw. die ausgetauschte Nachricht 18

SOAP Beispiel Aufruf Antwort <soap:envelope> <soap:body> <xmlns:m="http://www.stock.org/stock" /> <m:getstockprice> <m:stockname>ibm</m:stockname> </m:getstockprice> </soap:body> </soap:envelope> <soap:envelope> <soap:body> <xmlns:m="http://www.stock.org/stock" /> <m:getstockpriceresponse> <m:price>34.5</m:price> </m:getstockpriceresponse> </soap:body> </soap:envelope> 19 WSDL Überblick Welche Operationen bietet der Dienst an? Welche Parameter haben die Operationen Struktur der Aufrufnachricht Struktur des Ergebnisses Rückgriff auf XML Schema Wo und wie kann ich einen Dienst erreichen? Adresse Informationen über das Protokoll z.b. SOAP, auch mehrere Protokolle! verwendetes Transportprotokoll: HTTP, SMTP etc. aber: keine semantische Dienstbeschreibung 20

WSDL Aufbau Port Port Port SOAP-Binding andere Protokollbindung Operationen (Abstrakte Schnittstelle, PortType) mit ihrer Signatur Messages + Schema Definition von Datenstrukturen 21 WSDL Beispiel <definitions> <types> <xsd:schema> Typdefinitionen </xsd:schema> </types> <message name="..."> Nachrichtendefinition </message> <porttype name="..."> <operation> <input message="..."/> <output message="..."/> </operation> </porttype> <binding name="..."> <operation name="..."><input><soap:body...></input></operation> </binding> <service name="..."> <port name="..." binding="..."> <soap:address location="..." /> </port> </service> </definitions> 22

Typdefinitionen <definitions name="googlesearch targetnamespace="urn:googlesearch. > <types> <xsd:schema xmlns="http://www.w3.org/2001/xmlschema" targetnamespace="urn:googlesearch"> Eingebettete XML Schema- Definitionen! <xsd:complextype name="resultelement"> <xsd:all> <xsd:element name="summary" type="xsd:string"/> <xsd:element name="url" type="xsd:string"/> <xsd:element name="snippet" type="xsd:string"/> <xsd:element name="title" type="xsd:string"/> <xsd:element name="cachedsize" type="xsd:string"/> <xsd:element name="relatedinformationpresent" type="xsd:boolean"/> <xsd:element name="hostname" type="xsd:string"/> <xsd:element name="directorycategory" type="typens:directorycategory"/> <xsd:element name="directorytitle" type="xsd:string"/> </xsd:all> </xsd:complextype> 23 Typdefinitionen (2) <xsd:complextype name="resultelementarray"> <xsd:complexcontent> <xsd:restriction base="soapenc:array"> <xsd:attribute ref="soapenc:arraytype wsdl:arraytype="typens:resultelement[]"/> </xsd:restriction> </xsd:complexcontent> </xsd:complextype> <xsd:complextype name="googlesearchresult"> <xsd:all> <xsd:element name="resultelements" <xsd:element name="searchquery" </xsd:all> </xsd:complextype> </xsd:schema> </types> Spezieller Typ für Arrays! type="typens:resultelementarray"/> type="xsd:string"/> 24

Nachrichten <message name="dogooglesearch"> <part name="key" type="xsd:string"/> <part name="q" type="xsd:string"/> <part name="start" type="xsd:int"/> <part name="maxresults" type="xsd:int"/> <part name="filter" type="xsd:boolean"/> <part name="restrict" type="xsd:string"/> <part name="safesearch" type="xsd:boolean"/> <part name="lr" type="xsd:string"/> <part name="ie" type="xsd:string"/> <part name="oe" type="xsd:string"/> </message> Mehrere Teile, pro Teil ein Schematyp <message name="dogooglesearchresponse"> <part name="return" type="typens:googlesearchresult"/> </message> 25 Operationen Schnittstellendefinition Name der Methode, Eingabe- und Ausgabeparameter Fehlerbehandlung <fault name="..." message="..."> <porttype name="googlesearchport"> <operation name="dogooglesearch"> <input message="typens:dogooglesearch"/> <output message="typens:dogooglesearchresponse"/> </operation> </porttype> 26

Protokollbindung <binding name="googlesearchbinding" type="typens:googlesearchport"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="dogooglesearch"> <soap:operation soapaction="urn:googlesearchaction"/> <input> <soap:body use="encoded" namespace="urn:googlesearch" encodingstyle="http://schemas.xmlsoap.org/soap/encoding/"/> </input> <output> <soap:body use="encoded" namespace="urn:googlesearch" encodingstyle="http://schemas.xmlsoap.org/soap/encoding/"/> </output> </operation> </binding> 27 Ports Festlegen der konkreten Netzwerkadresse <service name="googlesearchservice"> <port name="googlesearchport" binding="typens:googlesearchbinding"> <soap:address location="http://api.google.com/search/beta2"/> </port> </service> 28

Ausblick Nächste Woche: Web-Services: Implementierung 1. Abgabetermin: 6.11.2005 Suchmaschine beschreiben HTML Seiten parsen Fragen? 29