96. Automatyzacja uruchamiania serwera i ładowania klas klienta
Transkrypt
96. Automatyzacja uruchamiania serwera i ładowania klas klienta
96. Automatyzacja uruchamiania serwera i ładowania klas klienta. Maszyna wirtualna klienta moŜe pobierać brakujące klasy zdalnie: – lokalizację wskazuje serwer za pomocą właściwości java.rmi.server.codebase, – dotyczy to klas, których obiekty są parametrami zdalnej procedury, – jeśli parametr jest przekazywany przez wartość pobierany jest skompilowany kod brakującej klasy, – jeśli parametr jest przekazywany przez referencję pobierany jest kod klasy z namiastkami, – w aplikacji klienta musi działać menedŜer bezpieczeństwa. 97. Kontrola dostępu i weryfikacji danych oferowana przez JDK. JDK dostarcza mechanizmy kontroli dostępu: – menedŜer bezpieczeństwa nadzoruje ładowanie klas,dostęp do plików, korzystanie z gniazdek, drukowanie, itp., – uŜytkownik moŜe modyfikować politykę zabezpieczeń menedŜera standardowego lub zaprojektować własnego menedŜera, – dane przesyłane między maszynami wirtualnymi mogą być podpisywane cyfrowo (autoryzacja dostępu), – wszystkie dane poddawane serializacji mogą być szyfrowane, – moŜliwa jest komunikacja za pomocą gniazdek SSL. - weryfikacja 1. Dodatkowe klasy z pakietu java.security. 2. Argumenty metody zdalnej moŜna podpisać cyfrowo: – poprzez „zapakowanie” obiektu z argumentami w obiekt klasy SignedObject; naleŜy odpowiednio zmienić deklarację zdalnej metody. 3. Odrębny program powinien wygenerować klucze: jawny i tajny (fragment kodu): – klucze naleŜy zapisać do plików i umieścić w maszynach odpowiednio serwera i klienta. 4. Klient wczytuje klucz publiczny (publicKey) z pliku; – przy wywołaniu metody zdalnej „opakowuje” parametry i dołącza podpis cyfrowy: 5. Serwer wczytuje klucz prywatny (privateKey) z pliku; – przed wykonaniem metody zdalnej weryfikuje toŜsamość klienta, który nadesłał podpisany obiekt (sObj): – zmienna isFriend będzie miała wartość true, jeśli podpiszostał wykonany za pomocą prawidłowego klucza. 98. ZałoŜenia architektury CORBA. 1.CORBA – Common ORB Architecture 2. ORB – Object Request Broker 3. Standard komunikacji aplikacji w środowisku rozproszonym realizowanej za pośrednictwem wspólnego brokera ORB. 4. Opracowany przez Object Management Group 5.Moduły programowe komunikują się z innymi za pośrednictwem własnych brokerów. 6. Wszyscy brokerzy komunikują się ze sobą w jednakowy sposób (common). 7. Moduł poznaje charakterystykę interfejsu innego modułu: – poprzez dynamiczne pobranie definicji interfejsu ze standardowego serwisu: katalogu interfejsów (interface repository), – poprzez statyczne wkompilowanie do własnego kodu definicji wymaganych interfejsów. Rysunek niepotrzebny no ale ☺ 99. Zastosowanie i własności języka IDL. 1.IDL – uniwersalny język opisu interfejsu. 2. Definicje interfejsów są niezaleŜne od języków programowania uŜywanych do stworzenia modułów. 3. Odpowiednie narzędzia przekształcają definicje sformułowane w języku IDL na ich odpowiedniki w danym języku: – m.in. C,C++, Smalltalk, Ada, Cobol, Java. 4.Jezyk IDL umoŜliwia definiowanie: – modułów zawierających deklaracje typów, stałych, wyjątków, interfejsów oraz definicje innych modułów. 5. Deklaracje interfejsów moga zawierac: – deklaracje typów, stałych i wyjatków, – deklaracje atrybutów i operacji. • MoŜliwe jest wielobazowe dziedziczenie miedzy interfejsami. 100. Typy IDL. 1. Typy proste: – całkowite: short (-215÷215-1), long (-231÷231-1), long long (-263÷263-1) oraz ich odpowiedniki bez znaku(unsigned) o zakresach odpowiednio 0÷216-1,0÷232-1, 0÷263-1; – zmiennoprzecinkowe: float, double i long double (wg standardu ANSI/IEEE 754-1985); – znakowe: char – jednobajtowy dla znaków ISO 8859-1, wchar – (wide) dla znaków w innych standardach, octet – jednobajtowy, nie podlegajacy konwersjom; – logiczny: boolean (wartosci TRUE lub FALSE); – dla danych dowolnego typu: any. 2. C.d. : – sekwencje (a la wektory) (sequence) w/w; – łancuchy znaków: string, wstring; – typ fixed – reprezentujący 31-znakowa liczbę stałoprzecinkowa. 3. Typy pochodne: – struktury (struct), unie (union), wyliczeniowe (enum); – wyjatki (exception) – CORBA definiuje standardowy zestaw wyjątków zgłaszanych przez operacje. 4. Rekurencja w definicjach struktur nie jest dozwolona