W poprzedniej części opisałem jak należy odnaleźć serwer, z którym można się połączyć. Teraz zajmiemy się ustanowieniem połączenia.
W celu ustanowienia połączenia na początku należy utworzyć kanał. Kanał tworzony jest z wykorzystaniem wybranej infrastruktury komunikacyjnej i sposobowi kodowania. Wyboru infrastruktury komunikacyjnej dokonuje klient z pośród dostępnych i obsługiwanych przez serwer. W tej warstwie dostępne są dwie proste procedury jedna do otwierania druga do zamykania (OpenSecureChannel, CloseSecureChannel). Otwierając kanał tworzymy drogę bezpiecznej komunikacji.
Po utworzeniu kanału można wykorzystywać funkcje ze zbioru session. Sesja działa w oparciu o utworzony wcześniej kanał, w celu połączenia sesję należy najpierw utworzyć (CreateSession), a później aktywować (ActivateSession).
Później można wykorzystywać operacje z innych zbiorów usług, np. przeglądanie przestrzeni adresowej (Browse lub z wykorzystaniem funkcjonalności przeglądania krokowego – BrowseNext oraz tłumaczenie ścieżki przeglądania na unikalny identyfikator danego węzła: TranslateBrowsePathsToNodeIds), odczytywanie (Read, HistoryRead) lub zapisywanie danych (Write, HistoryUpdate) (operacje te dotyczą zarówno danych aktualnych i historycznych). Można wysyłać zapytania do przestrzeni adresowej (QueryFirst, QueryNext ze zbioru Query Service). Dostępne są funkcje do zmiany struktury przestrzeni adresowej (dodawanie – AddNodes/AddReferences, usuwanie – DeleteNodes/DeleteReferences, operacje te pozwalają na zmianę węzłów oraz referencji i należą do zbioru NodeManagement Service) Rejestracja (RegisterNodes) lub wyrejestrowywanie(UnregisterNodes) węzłów, pozwalająca serwerowi alokować zasoby. Np. przed wywołaniem jakiejś funkcji możemy poinformować serwer, że będziemy używać danego węzła, a on go zarejestruje. Nie trzeba tego wykorzystywać ale w ten sposób można przeprowadzić optymalizację.
(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)
Brak komentarzy:
Prześlij komentarz