[ Pobierz całość w formacie PDF ]
.Wybór odpowiedniego rozwiązania bardzo mocno zależy od środowiska, w którym pracują te programy.lFunkcja gnorba_CORBA_init jest odpowiednikiem gnome_CORBA_init, z tym zastrzeżeniem, że nie zapewnia integracji z pętlą oczekiwania na zdarzenia GTK.Można z niej korzystać w demonach pozbawionych GUI.llFunkcje goad_server_register i goad_server_unregister są wykorzystywane do rejestracji i wyrejestrowywania pracującego serwera w tzw.katalogu aktywacji obiektów GNOME (GOAD, skrót od Gnome Object Activation Directory).Rejestr ten przechowuje informację o usługach dostępnych dla innych aplikacji.llFunkcja goad_server_list jest stosowana do wyszukiwania w GOAD listy dostępnych serwerów.llFunkcje goad_server_activate, goad_server_activate_list_get oraz goad_server_activate_with_id umożliwiają aktywację serwera GOAD.Jeżeli taki serwer już działa, to przeważnie wysyła do nich komunikat, natomiast jeśli serwer nie działa, nastąpi uruchomienie jego nowego procesu.lKonfiguracja ORBit do pracy w sieciW ORBit wprowadzono zabezpieczenia przed nie troszczącymi się o bezpieczeństwo zwykłymi użytkownikami.Te zabezpieczenia mogą stwarzać pewne niedogodności przy rozpraszaniu aplikacji na wiele komputerów.Istnieje plik konfiguracyjny umieszczony prawdopodobnie w /etc/orbitc, który określa rodzaje połączeń przyjmowanych przez ORBit.Plik ten może zawierać np.następujące wpisy:ORBIIOPUSock=1ORBIIOPIPv4=0ORBIIOPIPv6=0Każdy z powyższych wierszy odpowiada za inny rodzaj źródła danych wejściowych: 0 oznacza odrzucenie danego źródła, a 1 oznacza przyjmowanie danych z tego źródła.Wpis ORBIIOPUSock oznacza, że ORBit zezwala na to, aby dane wejściowe pochodziły z plikowych gniazd sieciowych systemu UNIX, czyli oznacza po prostu akceptację żądań pochodzących tylko z procesów lokalnych.Działa to szybko i w miarę bezpiecznie, ale może doprowadzić programistę do irytacji, jeśli chce zezwolić innym procesom na dostęp do usług.Aby ORBit mógł obsługiwać wiele komputerów, należy w drugim wierszu wpisać ORBIIOPIPv4=1.GOAD — rejestr aktywacji obiektów GNOMEGOAD jest rejestrem używanym do powiązania serwerów z usługami, aby ORBit mógł uruchamiać serwery CORBA na żądanie.Serwery te nie muszą wówczas niepotrzebnie działać przez cały czas.Mówiąc ogólnie, rejestr ten jest repozytorium implementacji, które zawiera informację pozwalającą pośrednikowi ORB zlokalizować i uaktywnić obiekt.Nie jest to w żaden sposób unormowane, ponieważ konsorcjum OMG uchyla się przed definicją stosownego standardu, podając jako przyczynę znaczną zmienność stosowanych tu mechanizmów i ich uzależnienie od sprzętu.Proces GOAD rozpoczyna się podczas inicjacji sesji GNOME.Następuje wówczas odczyt konfiguracji z serii plików.gnorba umieszczonych w /etc/CORBA lub /usr/etc/CORBA.Istnieje także interfejs CORBA umożliwiający uruchamianie GOAD przez aplikacje, lecz tym zajmiemy się później.Aby dopisać serwery do rejestru GOAD, należy zmodyfikować zawartość plików.gnorba.Każdy plik konfiguracyjny może zawierać definicje więcej niż jednego serwera.Na przykład panel GNOME korzysta z następujących ustawień:[gnome_panel]Nazwa używana przez serwer nazwtype=exeRodzaj aplikacji, używany przez GOAD w celu określenia, jak wywołać serwer.Używane są także inne wartości: shlib dla bibliotek współużytkowanych i factory oznaczające ogólne obiekty implementacji Bonobo.location_info=panelLokalizacja serwera używana łącznie z rodzajem aplikacji w celu określenia, gdzie można znaleźć aplikację.repo_id=IDL:GNOME/Panel:1.0Identyfikator w repozytorium używany do określenia, który IDL z repozytorium interfejsów ma być używany.description=GNOME PanelOpis usługi.Zwróćmy uwagę na to, że GOAD jest przewidziany do uruchamiania procesów na komputerze lokalnym i nie zawiera mechanizmów, które można wykorzystać do uruchamiania usług na oddalonych komputerach.Zastosowanie CORBA w GNOMEPrzy tym wszystkim, co powiedziano tutaj na temat architektury CORBA i jej zastosowania w coraz bardziej złożonych aplikacjach rozproszonych, dosyć niespodziewany wydaje się fakt, że większość interfejsów zadeklarowanych do tej pory w GNOME nie jest w rzeczywistości bardzo skomplikowana
[ Pobierz całość w formacie PDF ]