Verwenden logischer und physischer Adressen
WS-Discovery- definiert logische Adressierung mithilfe von URIs basierend auf dem urn:uuid:
-Format. Zweck dieses Adressierungsschemas ist es, die Identität des Geräts von seiner aktuellen IP-Adresse zu unterscheiden. Dieses Schema stellt im Wesentlichen die Funktionalität von DNS-Namen bereit, ohne dass ein Namensserver erforderlich ist.
Geräteprofil für Webdienste (DPWS) empfiehlt, dass Geräte dieses Adressierungsschema verwenden.
DPWS empfiehlt außerdem, dass Dienste physische (auch als Transportadressen bezeichnete) Adressen verwenden. Auf diese Weise können Clients, die WS-Discovery Adressierungsmechanismen nicht nativ unterstützen, mit DPWS-Diensten kommunizieren. Darüber hinaus kann jeder Dienst seine Adressen definieren, wodurch die Transportebenenadressierung für Geräteimplementierungen ermöglicht wird, die den Dienstversand auf einer niedrigeren Ebene verwalten. Schließlich maximiert die Verwendung physischer Adressen die Interoperabilität.
Der Nachteil der physischen Adressierung besteht darin, dass sie den Implementierungen von Geräten Komplexität hinzufügt, da die aktuelle IP- oder Transportadresse nachverfolgt werden muss und Die Gerätemetadaten entsprechend geändert werden müssen. Aus diesem Grund erfordert DPWS von Diensten nicht die Nutzung von Transportadressen.
Wenn logische Adressen verwendet werden, gibt es einige Szenarien, in denen das Implementierungsverhalten nicht definiert ist. Die WS-Discovery Spezifikation beschreibt nicht, was es bedeutet, dass sich ein Dienst an einer logischen Adresse befindet. R1001 der WS-Discovery-Spezifikation empfiehlt, WS-Discovery bei gehosteten Diensten wegen des damit verbundenen Netzwerkverkehrs nicht zu verwenden.
Es wird nicht empfohlen, dass Dienste sich an logischen Adressen befinden, da dadurch die Interoperabilität reduziert wird. Wenn eine Implementierung unbedingt an einer logischen Adresse gespeichert sein muss, sollte der Dienst dieselbe logische Adresse wie das Gerät verwenden. Wenn dies zu viel Komplexität zum Verteilermodell auf dem Gerät hinzufügt, besteht die empfohlene Lösung darin, Referenzparameter zu verwenden, um die Dienste zu unterscheiden. WSDAPI sendet Nachrichten ordnungsgemäß an Dienste, wenn sie dieselbe Endpunktadresse wie das Gerät verwenden.