Sr-12-wyk-1.0-Slajd15

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Przechwytywacze

Przechwytywacze


Przechwytywacze (ang. interceptors ) służą do przechwytywania nadchodzących wywołań w ORB, zanim trafią one do implementacji obiektu. Przechwycenie następuje w ORB, gdyż obiekty przechwytujące są jego częścią (rejestruje się je przy inicjalizacji ORB).

Standard wyróżnia dwa rodzaje przechwytywaczy: przechwytywacz z poziomu wywołań (ang. Request Level Interceptor ) dla przechwytywania wysokopoziomowych wywołań obiektowych i ich wyników, oraz przechwytywacz z poziomu komunikatów (Message Level Interceptors ), przechwytujący na niższym poziomie komunikaty protokołu IIOP odpowiadające wywołaniom i wynikom. Zarówno serwer, jak i klient mogą mieć w swoim ORB przechwytywacze; ich istnienie po obydwu stronach naraz nie jest wymagane.

Przechwytywacze nie mogą modyfikować przechwytywanych przez siebie wywołań, wyników czy komunikatów. Mogą je natomiast odczytywać, a ponadto mogą dokonywać własnych wywołań.

Przechwytywacze z poziomu wywołań mają dostęp do informacji o wywoływanej operacji oraz o wartościach argumentów. Są często wykorzystywane do realizacji pomocniczych mechanizmów, takich jak na przykład kontrola poprawności wywołań czy powielanie wywołań do innych obiektów.

Przechwytywacze w serwerze nazywa się Server Request Interceptors , w skrócie SRI . Przechwytują one wszystkie nadchodzące wywołania wraz z kontekstami (czyli dodatkową informacją, towarzyszącą wywołaniu) oraz wysyłane z powrotem wyniki i wyjątki. U klienta przechwytywacze noszą nazwę Client Request Interceptors , w skrócie CRI . Przechwytują wszystkie wywołania klienta oraz przychodzące wyniki i wyjątki.


<< Poprzedni slajd | Spis treści | Następny slajd >>