Specyfikacje OPC Unified Architecture (OPC UA) definiują warstwy, które izolują bazową funkcjonalność od wykorzystanej infrastruktury transportowej. Takie podejście niesie za sobą konieczność specyfikacji kodowania przesyłanych informacji i mapowania usług na odpowiednią infrastrukturę komunikacyjną. Mapowanie i kodowanie jest opisane jest w szóstej części specyfikacji OPC UA.
Aktualnie specyfikacja definiuje dwa sposoby kodowania:
tekstowe oparte o XML
binarne UA
Dodatkowo, przewidziane są dwa mapowania usług na warstwę transportową:
TCP – strumień binarny TCP
SOAP Web Services over HTTP – usługi internetowe wykorzystujące protokół SOAP i HTTP do transportu.
Wymienione tutaj sposoby przesyłania i kodowania danych pozwalają na stworzenie czterech dróg komunikacyjnych (przedstawionych na rysunku poniżej). Klient lub serwer OPC UA w przypadku gdy wpierają one więcej niż jedną drogę mogę one dokonać wyboru, którą drogą ma się odbywać komunikacja. Na wybór powinny mieć wpływ czynniki takie jak: wydajność, bezpieczeństwo (szyfrowanie), urządzenia pośredniczące (np. firewalle) lub inne.
Pierwsza droga (na rysunku pierwsza z prawej strony) bazuje na strumieniach TCP, binarnym kodowaniu oraz zabezpieczeniach wbudowanych w OPC UA (które są rozwiązaniem zaadaptowanym specjalnie dla OPC UA i są podobne do tych w specyfikacji WS-Secure Conversation oraz TLS). Wykorzystanie binarnych strumieni danych pozwala na stworzenie wydajnego sposobu przesyłania danych.
Druga droga oparta jest o kanał bazujący na HTTP lub HTTPS, protokół SOAP, w którym dane przesyłane są jako zakodowane binarnie. Do ustanowienia bezpiecznego kanału wykorzystywane są zabezpieczenia stworzone specjalnie dla OPC UA (podobnie jak w przypadku pierwszej drogi).
Trzecia droga oparta jest o kanał bazujący na HTTP lub HTTPS, protokół SOAP, w którym dane przesyłane są jako zakodowane binarnie.. Do ustanowienia bezpiecznego kanału wykorzystywane są specyfikacje WS-Secure Conversation . Droga druga i trzecia są oczywiście do siebie bardzo podobne i różnią się metodami zabezpieczeń.
Ostatnia droga (na rysunku pierwsza z lewej strony) bazuje o transport bazujący na HTTP lub HTTPS, protokół SOAP, zabezpieczenia bazujące na specyfikacji WS-Secure Conversation i kodowanie XML, czyli po prostu Web Serwisy.
Osoby, które mają wątpliwości odnośnie wydajności rozwiązań bazujących na Web Serwisach mogą wybrać kodowanie binarne oparte o TCP, aby zapewnić maksymalną szybkość przesyłu danych. Warto zauważyć że w celu zapewnienia możliwości przesyłania danych z OPC UA przez różnego rodzaju zapory (firewalle) lepiej posługiwać się rozwiązaniami bazującymi na HTTP/SOAP. Aby zapewnić maksymalną prędkość przesyłu danych z jednoczesnym wykorzystaniem SOAP, OPC UA przewiduje również przesyłanie zakodowanych binarnie danych przez kanał HTTP/SOAP. W tym przypadku można wykorzystać zabezpieczenia wbudowane w OPC UA jak i oparte o WS-Secure Conversation. (Na wcześniejszym rysunku te dwa sposoby przedstawione są dwoma strzałkami po środku).
(To tylko jedna z części artykułu zobacz pozostałe: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, autor: Maciej Zbrzezny)
Bardzo lubię odwiedzać ten blog
OdpowiedzUsuńWpis zawiera bardzo ciekawe informacje
OdpowiedzUsuńSuper ciekawy wpis
OdpowiedzUsuńSuper ciekawy wpis
OdpowiedzUsuńBardzo interesujące informacje. Podoba mi się ten wpis.
OdpowiedzUsuń