1 / 22

Spontane Vernetzung

Spontane Vernetzung. Christoph Hoche 19. Februar 2002. Inhalt. Einleitung Spontane Vernetzung Infrastrukturen JINI (Java Intelligent Network Interface) SLP (Service Location Protocol) WebServices SOAP (Simple Object Access Protocol) WSDL (Web-Service Description Language)

Download Presentation

Spontane Vernetzung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Spontane Vernetzung Christoph Hoche 19. Februar 2002

  2. Inhalt • Einleitung • Spontane Vernetzung • Infrastrukturen • JINI (Java Intelligent Network Interface) • SLP (Service Location Protocol) • WebServices • SOAP (Simple Object Access Protocol) • WSDL (Web-Service Description Language) • UDDI (Universal Description Discovery and Integration)

  3. Einleitung

  4. Spontane Vernetzung • Jedes Gerät stellt seine Dienste anderen zur Verfügung • Automatische Integration neuer Geräte/Dienste • Ebenen der spontanen Vernetzung: • Netzwerkebene • Automatische Vernetzung • Festlegen von Kommunikationsparametern in einem Protokollstack: • Zuweisung einer IP-Adresse mittels DHCP • Authentifizierung • … • Infrastrukturebene • Software zur vereinfachten Nutzung der Netzwerkebene • Vermittlung und Verwaltung von Diensten • Dienstebene • Bereitstellen und Nutzen von Diensten

  5. Dienstvermittlung Dienstvermittler 3. Dienstrückgabe 1. Registrierung 2. Dienstanfrage Dienstnehmer Dienstanbieter 4. Dienstnutzung

  6. Infrastrukturen • JINI (Java Intelligent Network Interface) • SLP (Service Location Protocol) • WebServices • SOAP (Simple Object Access Protocol) • WSDL (Web-Service Description Language) • UDDI (Universal Description Discovery and Integration)

  7. JINI • Java Intelligent Network Infrastructure • Sun Microsystems • Vermittlung von Diensten in lokalen Netzen • Dienstvermittlung zentral (Lookup-Service-Gruppen möglich) • Vollständig in Java implementiert • Publikation der Dienste mittels Proxy-Objekte • Informationen: • http://www.sun.com/jini

  8. JINI Dienstvermittlung • Discovery I • Join • Discovery II • Lookup • Receive • Use Network Service Lookup Service 1 Service Proxy Service Proxy Service Proxy Service Proxy Request 2 5 6 3 4 Request Network Client

  9. Dienstbeschreibung: Bedienung durch Interface interface PrinterInterface implements Serializable { void print (); } Eigenschaften durch Klassen: class Resolution extends AbstractEntry { int dpi; Resolution (int dpi) {this.dpi = dpi ;} } class Info extens AbstractEntry { String vendor; int year; Info (String vendor, int year) { this.vendor = vendor; this.year = year ;} } Dienstimplementierung: public class PrinterImpl implements PrinterInterface { void print () {…} } Dienstregistrierung: PrinterInterface printerProxy = new PrinterImpl(); Entry [] attr = {new Resolution (600), new Info (“HP”, “2001”)}; JoinManager jm = new JoinManager (printerProxy, attr, null, null, null); Anfrage: Class[] classes = {PrinterInterface.class}; Entry[] attr = {new Resolution(600), new Info(“HP”, null)}; ServiceTemplate anfrage = new ServiceTemplate(null, classes, attr); ServiceRegistrar serviceRegistrar; //Lookup-Service … ServiceItem[] serviceItems = serviceRegistrar.lookup (anfrage); PrinterInterface printerProxy = (PrinterInterface)serviceItem[0].service; printerProxy.print(); Jini Beispiel

  10. SLP • Service Location Protocol • Standard der IETF (RFC2608) • Protokoll zur lokalen Dienstvermittlung • Mit/ohne zentrale Dienstvermittlung • Reine Schnittstellen-Beschreibung • Informationen: • http://www.srvlog.org

  11. Dienstbeschreibung • Dienst als URL: Protokoll und Location • Attribute als Name-Wert-Paare in der Form (Name = Wert) • Textbasiert Lifetime: 10800 URL: service:lpr://www.ibr.cs.tubs.de:515/queue Attributes: (SCOPE = STUDENTS), (PAPERCOLOR = WHITE), (PAPERSIZE = A4), (UNRESTRICTED_ACCESS), (LANGUAGE = POSTSCRIPT), (FLOOR = 1), (ROOM = 168)

  12. SLP - Anfrage / Nutzung • Dienstanfrage: • Angabe des Servicetyps • Boolsche Verknüpfung der Attribute lpr//(&(LANGUAGE == POSTSCRIPT), (UNRESTRICTED_ACCESS), (FLOOR == 1))/ • Dienstvermittlung: • Erfüllen des boolschen Ausdrucks der Anfrage für den verlangten Servicetyp • Rückgabe: • Resultat ist die URL des Service service:lpr://www.ibr.cs.tu-bs.de:515/queue

  13. Dienst, erreichbar über das Internet Verwendung offener Standards Programmiersprachen unabhängig, da reine Schnittstellenbeschreibung Globale Verwaltung in einer Registry Web-Service Umgebungen: Microsoft .NET SUN ONE Hewlett Packard E-Services Oracle 9i IBM Websphere mit IBM Web-Services Toolkit Protokolle: SOAP (Simple Object Access Protocol) WSDL (Web-Service Description Language) UDDI (Universal Description, Discovery and Integration) Web-Services

  14. SOAP • Simple Object Access Protocol • W3C-Spezifikation • Protokoll für Remote-Procedure-Calls • XML-basiert -> textbasiert -> transparent • Unabhängig vom Transportprotokoll (HTTP, SMTP, FTP, …) • Geht durch Firewalls • Weitere Informationen: • http://www.w3c.org/2000/xp

  15. SOAP Message • Soap Message: • Stellt genau eine Anfrage oder eine Antwort dar • Besteht aus Protokoll-Header und SOAP-Envelope • Protocol-Header: • Ist vom verwendeten Transportprotokoll abhängig • SOAP Envelope: • Container für SOAP-Header und SOAP-Body • SOAP Header: • Daten über SOAP-Nachricht • Anweisungen für die aufgerufene Anwendung • Optional • SOAP-Body: • Enthält die eigentliche Nachricht SOAP Message Protocol Header SOAP Envelope SOAP Header Headers SOAP Body Message Name & Data

  16. SOAP Beispiel • Anfrage: POST /Object http/1.1 Host: 134.169.34.18 Content-Type: text/xml Content-Length: 184 SOAPAction: „urn:print-com:Printer#print” <SOAP-ENV:Envelope xmlns:SOAPENV=“http://schemas.xmlsoap.org/soap/envelope/“ SOAP-ENV:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/“ xmlns:xsi=“http://www.w3c.org/1999/XML-Schema-instance“ xmlns:xsd=„http://www.w3c.org/1999/XML-Schema“> <SOAP-ENV:Body> <p:print xmlns:p=“http://www.ibr.cs.tu-bs.de/WebServices/print“> <text xsi:type=”xsi:string”> Hello World </text> </p:print> </SOAP-ENV:Body> <SOAP-ENV:Envelope> • Antwort: 200 OK Content-Type: text/xml Content-Length: 192 <SOAP-ENV:Envelope xmlns:SOAP-ENV=“http://schemas.xmlsoap.org/soap/envelope/“ SOAP-ENV:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/“ xmlns:xsi=“http://www.w3c.org/1999/XML-Schema-instance“ xmlns:xsd=“http://www.w3c.org/1999/XML-Schema“ <SOAP-ENV:Body> <p:printerResponse xmlns:p=“http://www.ibr.cs.tu-bs.de/WebServices/print“> <text xsi:type=”xsd:string”> 11 Bytes printed. </text> </p:printerResponse> </SOAP-ENV:Body> <SOAP-ENV:Envelope> SOAP Message Protocol Header SOAP Envelope SOAP Header Headers SOAP Body Message Name & Data

  17. WSDL • Web Service Description Language • W3C-Spezifikation • XML basiert • Beschreibung von Web-Services (wie IDL in CORBA) • Kann aus Klassen gewonnen werden (und umgekehrt) • Informationen: • http://www.w3.org/TR/wsdl

  18. WSDL - Elemente • Types: • Definition von Datentypen • Syntax nach XML-Schema <types> <schema targetNamespace=”http://www.ibr.cs.tu-bs.de/WebServices/printService.xsd” xmlns=“www.w3.org/2000/10/XMLSchema“> <element name=“PrintInstruction“> <complexType> <all> <element name=”printString” type=”string”> </all> </complexType> </element> <element name=“PrinterResponse“> <complexType> <all> <element name=”responseString” type=”string”> </all> </complexType> </element> </types> WSDL-Datei Types Messages PortTypes Bindings Service Port

  19. WSDL - Elemente • Message: • Zusammensetzen der Types zu einer Nachricht. <message name=“SendPrintInstruction“> <part name=”data” element=”xsdl:PrintInstruction”/> </message> <message name=“GetPrinterResponse“> <part name=”return” element=”xsdl:PrinterResponse”/> </message> • PortTypes: • Art der möglichen Operationen auf einem Port • Kann Eingabe und/oder Ausgabe haben <portType name=“PrintPortType“> <operation name=”Print”> <input message=”tns:SendPrintInstruction”/> <output message=”tns:GetPrinterResponse”/> </operation> </portType> WSDL-Datei Types Messages PortTypes Bindings Service Port

  20. WSDL - Elemente • Bindings: • Binden eines PortTypes an Protokolle <binding name=”PrintBinding” type=”tns:PrintPortType“> <soap:binding style=“document“ transport=“http://schemas.xmlsoap.org/... ...soap/http/”/> <operation name=“Print“> <soap:operation soapAction=”http://www.ibr.cs.tu-bs.de/WebServices/Print”/> </operation> </binding> • Port: • Endpunkt eines Dienstes (URL) • Service: • Zusammenfassung von Ports <service name=”PrintService” <port name=“PrintPort“ binding=“tns:PrintBinding“> <soap:address location=“http://www.ibr.cs.tu-... ...bs.de/WebServices/Print”/> </port> </service> WSDL-Datei Types Messages PortTypes Bindings Service Port

  21. UDDI • Universal Description, Discovery and Integration • Globale Business-Registry: • Logisch zentral • White-Pages: • Informationen zu den Anbietern (URL, Adresse, TelNr.) • Yellow-Pages: • Branchenspezifische Suche nach Unternehmen (Branche, Land) • Green-Pages: • Technische Beschreibung der Plattformen und Dienste eines Unternehmens • Weitere Informationen: • http://www.uddi.org

  22. Zusammenfassung

More Related