betriebs- systeme und verteilte systeme namens- und verzeichnisdienste projektgruppe peer2peer suche...
Post on 06-Apr-2016
221 Views
Preview:
TRANSCRIPT
Betriebs-systeme
und Verteilte Systeme
Namens- und Verzeichnisdienste
Projektgruppe Peer2Peer Suche nach WebservicesWS 2004/SS 2005Maher Al-Bunni
PG P2P: Titel 2
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.
PG P2P: Titel 3
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).
PG P2P: Titel 4
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.
PG P2P: Titel 5
Web Service-Architektur
suchen/finden
Service RegistryService Description (WSDL + UDDI)
SOAP
veröffentlichen
aufrufen
SOAP SOAP
Abbildung: Architektur von Web Services
Service Description (WSDL)
Service Implementation
Service Requestor Service Provider
PG P2P: Titel 6
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).
PG P2P: Titel 7
Web Services Fundamente2. 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.
PG P2P: Titel 8
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.
PG P2P: Titel 9
WSDL – Beschreibungselemente Services (services)
Fassen eine Menge von verwandten Ports zusammen. Optional können noch folgende Elemente eingefügt werden
<documentation> Dient zur Dokumentation und Kommentierung
<import> 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.
PG P2P: Titel 10
WSDL – Beschreibungselemente
WSDL-Dokument-Struktur
Definitons
types schema
message part
portType operation
binding operation
services port
PG P2P: Titel 11
WSDL – BeschreibungselementeBeispiel
WSDL - Dokument Beispiel
<?xml version="1.0"?> <definitions name="StockQuote"
targetNamespace="http://example.com/stockquote.wsdl"
xmlns:tns="http://example.com/stockquote.wsdl" xmlns:xsd1="http://example.com/stockquote.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/">
PG P2P: Titel 12
WSDL – Beschreibungselemente Datentypen (types)
<types> <schema targetNamespace="http://example.com/stockquote.xsd"
xmlns="http://www.w3.org/2000/10/XMLSchema"> <element name="TradePriceRequest"> <complexType>
<all> <element name="tickerSymbol" type="string"/> </all> </complexType> </element> <element name="TradePrice">
<complexType> <all> <element name="price" type="float"/> </all> </complexType> </element> </schema> </types>
PG P2P: Titel 13
WSDL – Beschreibungselemente Mitteilungen (messages) und Port-Typen
<message name="GetLastTradePriceInput"> <part name="body" element="xsd1:TradePriceRequest"/></message> <message name="GetLastTradePriceOutput">
<part name="body" element="xsd1:TradePrice"/> </message> <portType name="StockQuotePortType">
<operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceInput"/> <output message="tns:GetLastTradePriceOutput"/> </operation>
</portType>
PG P2P: Titel 14
WSDL – Beschreibungselemente Bindung (binding)
<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="GetLastTradePrice"> <soap:operation
soapAction="http://example.com/GetLastTradePrice"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding>
PG P2P: Titel 15
WSDL – Beschreibungselemente Ports - Services
<service name="StockQuoteService"> <documentation> My first service </documentation> <port name="StockQuotePort" binding="tns:StockQuoteBinding"> <soap:address location="http://example.com/stockquote"/> </port> </service> </definitions>
PG P2P: Titel 16
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.
PG P2P: Titel 17
Web Services FundamenteUDDI
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.
PG P2P: Titel 18
Web Services FundamenteUDDI
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
4.1.
5.
2.
3.
Business Registrations
Service Type Registrations
PG P2P: Titel 19
Web Services FundamenteUDDI-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
PG P2P: Titel 20
Web Services FundamenteUDDI-Spezifikation
UDDI-Spezifikation
XML-Schema fürSOAP-Nachrichten
Beschreibung der UDDI API
Generisches Interaktionsmodell
Grundlegendes Informationsmodell
Informationstyp Datenelemente Dokumenttyp
Business-Information businessEntity Yellow Page
Service-Information businessService Green PageBinding-Information tbindingTemplate
detaillierte technische Information
tModel
Information über organisationelle Beziehungen
publisherAssertion White Page
Hauptsächliche Informationstypen
PG P2P: Titel 21
Web Services FundamenteUDDI-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
PG P2P: Titel 22
Encodierung der Information
PG P2P: Titel 23
Encodierung der Inf. - businessEntity
<businessEntity businessKey= “...“ operator=“…” authorizedName=“…”><Name> ...</name><discoveryURLs>…</discoveryURLs><description> .. </description><contacts> .. </contacts><businessServices> …</businessServices><identifierBag> ... </identifierBag><categoryBag> ... </categoryBag>
</businessEntity>
<businessEntity>+name+businessKey-businessServices-contacts-discoveryURLs-discription-identifierBag-catecoryBag-operator-authorizedName
1. Business Information - Encodiert in businessEntity. - Gelbe und Weiße Seiten Haupstruktur.
PG P2P: Titel 24
Encodierung der Inf. - businessEntity
businessKey: eindeutiger Identifier des Eintrages (UDDI) Contacts: Liste von Kontakten
Contact: personName, useType, description, phone, email, 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
PG P2P: Titel 25
Encodierung der Inf. - businessService
<businessService serviceKey=„…..“ businessKey=„….“> <name>………...</name><description>…..</ description ><bindungTemplates> …….….</bindungTemplates><categoryBag> …………</categoryBag>
</businessService>
2. Service Information - Encodiert in businessService. - Jeweils eindeut. Schlüssel „servicekey“ - businessKey > businessEntity
<BusinessEntity>
<businessService>+name+serviceKey+businessKey+binding Templates-description-categoryBag
1
0…*
PG P2P: Titel 26
Encodierung der Inf. - bindingTemplate <bindingTemplate bindingKey=„...“>
<description> ...
</description><accessPoint URLType=„...“> ... </accessPoint><tModelInstanceDetails> <tModelInstanceInfo tModelKey=„...“>
... </tModelInstanceDetails>
</bindingTemplate>
3. Binding Information - Encodiert in bindingTemplate - Beschreibung der Kommunikationsschnittstelle - Green Pages
<BusinessService>
<bindungTemplate>+bindingKey+tModelInataceDetails+accessPoint+binding Templates-keyService-description-hostingRedirector
1
0…*
<BusinessEntity>1
0…*
PG P2P: Titel 27
Encodierung der Inf. - bindingTemplate
hostingRedirector ermöglicht Verweise auf andere bindingTemplates.
accessPoint gibt verfügbareKommunikationsmöglichkeiten an(mailto, http, fax, phone, ...).
tModelInstanceDetails Liste, verweist auf die tModels, dieunterstützt werden
<bindingTemplate>+bindingKey+tModelInataceDetails-description-hostingRedirector-accessPoint
PG P2P: Titel 28
Encodierung der Inf. - tModel
<tModel modelKey=„...“ authorizedName=„“operator=„“><name>...</name><description> ... </description><overviewDoc> ... </overviewDoc><categoryBag> ...</categoryBag><identifierBag> ...</identifierBag>
</bindingTemplate>
<BusinessService>
<tModel>+name+tModelKey-description-categoryBag-overviewDoc-operator-authorizedName
0…*
0…*
<BusinessEntity>1
0…*
4. Technische Spezifikation der Web Service Schnittstelle - Encodiert in tModel
<BindungTemplate>
1
0…*
PG P2P: Titel 29
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öglichinnerhalb 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.
<tModel>
+name+tModelKey-description-categoryBag-overviewDoc-operator-authorizedName
PG P2P: Titel 30
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
4
3
615
2
PG P2P: Titel 31
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.
PG P2P: Titel 32
Literatur Referenzen
http://www.uddi.org http://www.w3.org/TR/wsdl http://www.w3schools.com/wsdl/default.asp http://www-106.ibm.com/developerworks/webservices/
library/wssoap/? dwzone=ws http://xml.coverpages.org/wsdl.html
PG P2P: Titel 33
Vielen Dank für Eure Aufmerksamkeit !
top related