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