Betriebs- systeme und Verteilte Systeme Namens- und Verzeichnisdienste Projektgruppe Peer2Peer Suche nach Webservices WS 2004/SS 2005 Maher Al-Bunni
4PG P2P: Titel2 Inhalt Einleitung. Web Service Architektur. Wie werden Dienste, Schnittstellen oder Fähigkeiten beschrieben. Web Services Fundamente SOAP WSDL Wie werden diese beschrieben? Was ist WSDL (Web-Service Description Language)? UDDI Wie werden diese gefunden? Was ist UDDI (Universal Description, Discovery and Integration)? Sicherheitsaspekte, Vor- und Nachteile/Probleme.
4PG P2P: Titel3 Einleitung Die Große Rolle des Internets in unserem heutigen Leben. Nicht nur Unterhaltungsangebote sondern auch Informationsdienste (Börsen-, Nachrichtenticker). Unerlässlichkeit in den Bereichen Business-to-Business (B2B) und e-Commerce. Von der individuellen Anpassung und der manuellen Abstimmung zu der Automatisierung (mittels Web Services).
4PG P2P: Titel4 Web Service-Architektur Beschreibt die Interaktion zwischen drei Akteuren: Web Service Provider : Anbieten, Entwickeln und Definieren von Web Services. Web Service Requestors : Suchoperationen nach gewünschten Web-Service Ausführen und im Erfolgfall direkte Zur Verfügung Stellung und unmittelbare Verbindung. Web Service Registry: Als zentrales Verzeichnis so wie Bibliothek betrachten.
4PG P2P: Titel5 Web Service-Architektur suchen/finden Service Registry Service Description (WSDL + UDDI) SOAP veröffentlichen aufrufen SOAP Abbildung: Architektur von Web Services Service Description (WSDL) Service Implementation Service Requestor Service Provider
4PG P2P: Titel6 Web Services Fundamente Die Fundamente der Web Service-Architektur: Datenaustausch mit dem Kommunikationsprotokolls SOAP (Simple Object Access Protocol ). Beschreibung des Web Services durch WSDL (Web Service Description Language). Der Verzeichnisdienst UDDI (Unisersal Description, Discovery and Integration).
4PG P2P: Titel7 Web Services Fundamente 2. WSDL Eine XML basierende Sprache, welche die Schnittstellen von Web Services in ihrer Funktionalität beschreibt. Definiert einen plattform-, programmiersprachen- und protokollunabhängigen XML-Standard zur Beschreibung von Netzwerkdiesten zum Austauschen von Nachrichten. Eine Metasprache mit funktionellen Angaben zu: dem Interface. Zugangsprotokoll und Details zum Deployment. Allen notwendigen Informationen zum Zugriff auf den Service, in maschinenlesbaren Format. Die Implementierung mittels SOAP über HTTP.
4PG P2P: Titel8 WSDL – Beschreibungselemente Root-Element (definition) Hauptelement. Datentypen (types) Definition der Datentypen, die zum Austausch der messages benutzt werden. Mitteilungen (messages) Abstrakte Definitionen der übertragenen Daten, bestehen aus mehreren logischen Teilen, von denen jedes mit einer Definition innerhalb eines Datentypsystems verknüpft ist. Port-Typen (portType) Eine Menge von abstrakten Arbeitsschritten (eine Input-Mitteilung und mehrere Output-Mitteilungen). Bindung (binding) Bestimmt das konkrete Protokoll und Datenformat für die Arbeitsschritte und Mitteilungen, die durch einen bestimmten Port-Typ gegeben sind. Ports (ports) Spezifiziert eine Adresse für eine Bindung, also eine Kommunikationsschnittstelle, üblicherweise eine URI.
4PG P2P: Titel9 WSDL – Beschreibungselemente Services (services) Fassen eine Menge von verwandten Ports zusammen. Optional können noch folgende Elemente eingefügt werden Dient zur Dokumentation und Kommentierung Ermöglicht den Import von andern WDSL-Dokumenten oder XML-Schema-Definitionen. Am 15. März 2001 veröffentlichte das Word Wide Web Consortium die WSDL Note Version 1.1. Inzwischen ist auch schon Version 2 in einem Draft-Dokument für die Sprachdefinition (core language) und die Nachrichten-Muster (message patterns) verfügbar.
4PG P2P: Titel10 WSDL – Beschreibungselemente WSDL-Dokument-Struktur Definitons types schema message part portType operation binding operation services port
4PG P2P: Titel11 WSDL – Beschreibungselemente Beispiel WSDL - Dokument Beispiel <definitions name="StockQuote" targetNamespace=" xmlns:tns=" xmlns:xsd1=" xmlns:soap=" xmlns="
4PG P2P: Titel12 WSDL – Beschreibungselemente Datentypen (types)
4PG P2P: Titel13 WSDL – Beschreibungselemente Mitteilungen (messages) und Port-Typen
4PG P2P: Titel14 WSDL – Beschreibungselemente Bindung (binding)
4PG P2P: Titel15 WSDL – Beschreibungselemente Ports - Services My first service <port name="StockQuotePort" binding="tns:StockQuoteBinding">
4PG P2P: Titel16 Web Services Fundamente: 3. UDDI UDDI (Universal Description, Discovery and Integration) Wie werden die Diensten der Web Services wieder gefunden? Wird eine reine Suche durchgeführt oder kann man es besser realisieren? UDDI als Begriff aus der Computertechnik und Bezeichnung eines Verzeichnisdienst (Gelbe Seiten). UDDI ist eine Anwendung von SOAP. Sie stellt mit Hilfe einer SOAP Schnittstelle einen Verzeichnisdienst bereit. Die Spezifikation wurde 2000 durch Ariba, IBM und Microsoft entwickelt konzeptionell dem DNS (Domain Name System) nachempfunden, das Internet-Hostnames in TCP-Adressen umsetzt.
4PG P2P: Titel17 Web Services Fundamente UDDI Es gab bisher keinen Standard, zum Auffinden von Diensten. Yahoo unzureichend. Plattformunabhängiger offener Rahmen, um Services zu beschreiben (DESCRIPTION), Unternehmen zu finden (DISCOVERY) und die Services zusammenzuschließen (INTEGRATION) UDDI-Vorteile Steigerung der Interoperabilität im B2B Bereich. Dadurch Kostenreduzierung Bessere Suchmöglichkeiten. RPC - unabhängig von Programmiersprache.
4PG P2P: Titel18 Web Services Fundamente UDDI UDDI Benutzung - Konzeptuell Zugriff auf UDDI Registry erfolgt: über ein Web Interface oder ein Tool. Via SOAP (XML Applikation). Die SOAP Message wird via RPC gesendet. Software Firmen und Programmierer tragen Beschreibungen von verschiedensten Diensten ein UBR weist jedem Dienst- und Geschäftseintrag einen eindeutigen Identifizierer Marktplätze, Suchmaschinen und Geschäftsanwendungen machen Anfragen um Dienste anderer Firmen zu finden Unternehmen tragen Beschreibung der Dienste, die sie anbieten ein UDDI Business Registry Unternehmen nutzen die Daten, um eine leichtere Integration mit anderen Firmen zu ermöglichen Business Registrations Service Type Registrations
4PG P2P: Titel19 Web Services Fundamente UDDI-Registry-Teilung White Pages: Namenregister, sortiert nach Namen. Auflistung der Anbieter mit allen Detailangaben. Kontaktinformationen (Telefon, Telefax,….). Yellow Pages: Branchenverzeichnis. Spezifische Suche gemäß verschiedener Taxonomien (Ort, Dienstart). Verweist auf White Pages. Green Pages: Informationen über Geschäftsmodell der Unternehmens. Technische Details zu den angebotenen Web Services. Auskunft über Geschäftsprozesse. Weiße Seiten Grüne Seiten Gelbe Seiten Namen und Kontakt Details Branchen- Verzeichnis Kategorisierung Nach Unternehmen Technische Daten über den Service
4PG P2P: Titel20 Web Services Fundamente UDDI-Spezifikation UDDI-Spezifikation XML-Schema für SOAP-Nachrichten Beschreibung der UDDI API Generisches Interaktionsmodell Grundlegendes Informationsmodell InformationstypDatenelementeDokumenttyp Business-InformationbusinessEntityYellow Page Service-InformationbusinessService Green Page Binding-InformationtbindingTemplate detaillierte technische Information tModel Information über organisationelle Beziehungen publisherAssertionWhite Page Hauptsächliche Informationstypen
4PG P2P: Titel21 Web Services Fundamente UDDI-Data-Struktur BusinessEntity: Informationen über die Partei, die Informationen über einen Service veröffentlicht. businessService: beschreibende Info. über eine bestimmte Familie der technischen Dienstleistungen. bindingTemplate: technische Information über einen Service tModell: Beschreibungen der Spezifikationen für Dienstleistungen oder Wertsätze. businessEntities enthalten businessServices businessServices enthalten bindingTemplate bindingTemplate enthält Verweise auf tModels. diese Verweise bestimmen die Schnittstellenbeschreibungen für einen Service
4PG P2P: Titel22 Encodierung der Information
4PG P2P: Titel23 Encodierung der Inf. - businessEntity... ….. …... +name +businessKey -businessServices -contacts -discoveryURLs -discription -identifierBag -catecoryBag -operator -authorizedName 1. Business Information - Encodiert in businessEntity. - Gelbe und Weiße Seiten Haupstruktur.
4PG P2P: Titel24 Encodierung der Inf. - businessEntity businessKey: eindeutiger Identifier des Eintrages (UDDI) Contacts: Liste von Kontakten Contact: personName, useType, description, phone, , adress discoveryUrls: z.B. Link zum Unternehmen, oder Verweis auf andere businessEntities. Automatischer Verweis auf eigenes Entity identifierBag: z.B. Handelsregister-Nr (eindeutig) categoryBag: Taxonomierung durch Kategorien, wie NAICS (North American Industry Classification System ) UNSPSC (Universal Standard Products and Services Classification ) oder durch Orte operator: Name des UBR Operators authorizedName: Name desjenigen, der den Eintrag erstellt hat
4PG P2P: Titel25 Encodierung der Inf. - businessService ………... ….. …….…. ………… 2. Service Information - Encodiert in businessService. - Jeweils eindeut. Schlüssel „servicekey“ - businessKey > businessEntity +name +serviceKey +businessKey +binding Templates -description -categoryBag 1 0…*
4PG P2P: Titel26 Encodierung der Inf. - bindingTemplate Binding Information - Encodiert in bindingTemplate - Beschreibung der Kommunikationsschnittstelle - Green Pages +bindingKey +tModelInataceDetails +accessPoint +binding Templates -keyService -description -hostingRedirector 1 0…* 1 0…*
4PG P2P: Titel27 Encodierung der Inf. - bindingTemplate hostingRedirector ermöglicht Verweise auf andere bindingTemplates. accessPoint gibt verfügbare Kommunikationsmöglichkeiten an (mailto, http, fax, phone,...). tModelInstanceDetails Liste, verweist auf die tModels, die unterstützt werden +bindingKey +tModelInataceDetails -description -hostingRedirector -accessPoint
4PG P2P: Titel28 Encodierung der Inf. - tModel name +tModelKey -description -categoryBag -overviewDoc -operator -authorizedName 0…* 1 0…* 4. Technische Spezifikation der Web Service Schnittstelle - Encodiert in tModel 1 0…*
4PG P2P: Titel29 Encodierung der Inf. - tModel Metadaten, abstrahiertes Referenzsystem. tModels werden unabhängig von Businesses definiert, m:n Relation. Web Services zweier Firmen können auf dasselbe tModel verweisen, dann kompatibel. Verweis auf tmodels innerhalb bindingTemplates, aber auch möglich innerhalb categoryBag, identifierBag, address tModel kann somit auch generelle Beschreibung von Kategorien enthalten. In overviewDoc kann auf ein WSDL Dokument gelinkt werden, welches die Schnittstelle genau beschreibt. +name +tModelKey -description -categoryBag -overviewDoc -operator -authorizedName
4PG P2P: Titel30 SOAP - WSDL - UDDI Zeigen, wie UDDI Repository benutzt wird, um einen Web Service zusammen mit herkömmlichen Firmeninformation zu registrieren und zu finden. WSDL SOAP Processor Transport (SOAP) UDDI Repository SOAP Processor WSDL
4PG P2P: Titel31 Ausblick Vorteile Steigerung der Interoperabilität im B2B Bereich. Dadurch Kostenreduzierung Bessere Suchmöglichkeiten. RPC - unabhängig von Programmiersprache. Mangelnde Sicherheit (Firewalls unsichtbar). Keine klare Zukunft (Microsoft W3C-Pläne). Kein ontologiebasierter Ansatz. Unnötig kompliziert.
4PG P2P: Titel32 Literatur Referenzen ibm.com/developerworks/webservices/library/wssoap/? dwzone=ws
4PG P2P: Titel33 Vielen Dank für Eure Aufmerksamkeit !