Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Internet Communication Engine
Maciej Górnicki
2
Czym jest ICE ? ICE to nowa platforma dla oprogramowania pośredniczące pozwalająca na tworzenie rozproszonych aplikacji klient-serwer. Dostarcza prostszy i skuteczniejszy model obiektowy niż Corba. ICE to podejście do oprogramowania pośredniczącego oparte na Corbie, ale unikające jej słabości.
3
ICE vs Corba Brak typu ‘Any’ Ice Object Adapter zamiast POA
Protokół ICE Bezpieczeństwo Zarządzanie wersjami Komunikaty asynchroniczne
4
SLICE Specification Language for ICE
Podobny do IDL’a Obsługiowane typy : Integer : short (16 bitów), int (32 bity), long (64 bity) Float i double Byte (8 bitów) String (Unicode) Object Bool Const Enumeration, sequence, structure, module
5
Dodatkowo SLICE dostarcza nowe typy :
Dictionary – kolekcja par klucz-wartość Klasy (class) – podobnie jak struktury są przekazywane przez wartosć. Dodatkowo pozwalają na jedno-dziedziczenie implementacji i wielo-dziedziczenie interfejsów. W przeciwieństwie do struktur mogą posiadać operacje.
6
Twórcy SLICE zdecydowali się na pominięcie pewnych rzeczy :
Brak typów zagnieżdżonych Brak unii Brak rozróżnienia typu String na narrow i wide Brak typów anonimowych (zasady składni wymuszają, aby wszystkie typy były nazwane) Brak parametru ‘inout’ Brak atrybutów (tylko operacje) (!)
7
Protokół ICE Różnica pomiędzy ICE i IIOP polega na zaimplementowaniu w ICE możliwości komunikacji poprzez UDP (datagramy) Implementacja nowych możliwości na zasadzie plugin-ów (nie ma potrzeby ingerencji w kod źródłowy ICE)
8
Wielowątkowość ICE w przeciwieństwie do Corby wspomaga wielowątkowość
Po stronie serwera znajduje się pula wątków (thread pool). Konfiguracja pozwala na ustawienie rozmiaru puli (pula o rozmiarze równym 1 oznacza jednowątkowość). Istnieje możliwość powoływania dodatkowych pul wątków przez serwery, co pozwala na dzielenie wykonywania żądanych przez klienta operacji na różne pule. (uniknięcie zakleszczenia/zagłodzenia wątków)
9
Firewall – rozwiązanie (?)
Glacier (lodowiec) jest firewall’em dla ICE – pozwala klientom i serwerom na bezpieczną komunikację poprzez firewall’a. Ruch pomiędzy klientem i serwerem szyfrowany. Interfejs Ice::Router pozwala na przechwycenie żądania i dostarczenie go do serwera. W rzeczywistości Glacier jest implementacją tego serwisu. Glacier powinien działać na hoście z dostępem do sieci prywatnej jak i publicznej. W pewnych przypadkach możliwe jest uruchomienie Glacier’a poza firewallem, ale preferowanym jest, aby to Glacier był firewallem dla aplikacji ICE. Klient podłącza się do Glacier’a i wysyła żądanie tak, jakby to Glacier był serwerem. Ustanawiane jest połączenie klienckie z serwerem, przekazanie żądanie i ewentualne przekazanie odpowiedzi serwera do klienta.
10
Materiały
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.