Udostępnij przez


Używanie adresów logicznych i fizycznych

WS-Discovery definiuje adresowanie logiczne przy użyciu identyfikatorów URI na podstawie formatu urn:uuid:. Celem tego schematu adresowania jest odróżnienie tożsamości urządzenia od bieżącego adresu IP. Ten system zasadniczo zapewnia funkcjonalność nazw DNS bez konieczności używania serwera nazw. Profil urządzeń dla Usług Sieci Web (DPWS) zaleca, aby urządzenia używały tego schematu adresowania.

DPWS zaleca również, aby usługi używały adresów fizycznych (nazywanych również adresami transportowymi). Dzięki temu klienci, którzy nie posiadają natywnej obsługi mechanizmów adresowania WS-Discovery, mogą komunikować się z usługami DPWS. Ponadto każda usługa może zdefiniować swoje adresy, co umożliwia adresowanie na poziomie transportu dla implementacji urządzeń, które zarządzają wysyłką usługi w niższej warstwie. Na koniec użycie adresów fizycznych maksymalizuje współdziałanie.

Wadą adresowania fizycznego jest to, że zwiększa złożoność implementacji urządzeń, ponieważ bieżący adres IP lub adres transportu musi być śledzony, a metadane urządzenia muszą zostać odpowiednio zmodyfikowane. Z tego powodu program DPWS nie wymaga usług do korzystania z adresów transportowych.

Jeśli są używane adresy logiczne, istnieją pewne scenariusze, w których zachowanie implementacji jest niezdefiniowane. Specyfikacja WS-Discovery nie opisuje, co oznacza, że usługa znajduje się pod adresem logicznym. R1001 specyfikacji WS-Discovery odradza używanie WS-Discovery w usługach hostowanych z powodu związanego z tym natłoku sieciowego.

Nie zaleca się, aby usługi znajdowały się na adresach logicznych, ponieważ zmniejsza to współdziałanie. Jeśli implementacja absolutnie musi znajdować się pod adresem logicznym, usługa powinna używać tego samego adresu logicznego co urządzenie. Jeśli zwiększa to zbyt dużą złożoność modelu wysyłania na urządzeniu, zalecane rozwiązanie polega na użyciu parametrów referencyjnych w celu odróżnienia usług. Interfejs WSDAPI poprawnie wysyła komunikaty do usług, jeżeli używają one tego samego adresu punktu końcowego co urządzenie.