Enterprise Corba Prezentacja seminaryjna T. Pieciukiewicz R. Hryniów.

Slides:



Advertisements
Podobne prezentacje
1. 2 W ostatnim okresie jesteśmy świadkami ogromnemu postępowi w technologiach rozproszonych systemów informatycznych a co za tym idzie rozproszenie danych.
Advertisements

niemiecki z ekonomią w tle
Mechanizmy pracy równoległej
extensible messaging and presence protocol
Decyzje projektowe w .NET Framework
Bramka zabezpieczająca VPN
SIECI KOMPUTEROWE WYKŁAD 10. RÓWNOWAŻENIE OBCIĄŻEŃ
Instytut Informatyki, Automatyki i Robotyki
Czym jest HotSpot w Hotelu ?
CORBA Łukasz Wnęk.
Microsoft Professional Developer Days 2004
ADAM Active Directory w trybie aplikacyjnym
Architektura systemu Gra strategiczna „Strusia Jama”
E ASY R EMOTE T ERMINAL C ONTROLER ERTC. C EL PRODUKTU ERTC jest to aplikacja, która umożliwia bezpośrednią pracę na zdalnym komputerze. Dzięki niej można.
RMI I RMI-IIOP Wprowadzenie Co to jest RMI?
Internet Communication Engine
SSL - protokół bezpiecznych transmisji internetowych
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Wykład 2. Wprowadzenie do architektur systemów rozproszonych
Proxy WWW cache Prowadzący: mgr Marek Kopel
Proxy (WWW cache) Sieci Komputerowe
Sieci komputerowe: Firewall
SG-500 Bramka zabezpieczająca VPN Copyright © PLANET Technology Corporation. All rights reserved.
Bramka internetowa z menadżerem pasma
Longhorn - Usługi terminalowe
Enteprise Java Beans Emil Wcisło.
Wzorce projektowe w J2EE
Artur Szmigiel Paweł Zarębski Kl. III i
Rozproszone bazy danych
Język Java Wielowątkowość.
Seminarium eduroam – UMK, Tomasz Wolniewicz UCI UMK Rozwój eduroam Tomasz Wolniewicz UCI UMK.
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Opracował: mgr Mariusz Bruździński
Bezpieczeństwo baz danych
Inżynieria Oprogramowania
Systemy Czasu Rzeczywistego
Nowoczesny system zarządzania firmą
Web Serwisy w praktyce Technologie internetowe ( )
Internet i telekomunikacja NETInstal Pszów ul. Łanowa 34 tel (Poland) tel (U.K.) opracowanie: inż. Błażej.
Jak to działa? aplikacje desktopowe usługi online urządzenia
Automatyka i Robotyka Systemy czasu rzeczywistego Wykład 4.
Topologie sieci lokalnych.
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
Prezentują: Marek Wałach UX Designer Marcin Ceran PHP Developer.
Internetowego Biura Rachunkowego
Adam Ptaszek Krystian Formiński
Dylematy budowy struktury organizacyjnej
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Clustering Technologia klastrowa - architektura łącząca serwery i urządzenia pamięci masowych w celu zwiększenia niezawodności, bezpieczeństwa i wydajności.
Modelowanie obiektowe - system zarządzania projektami.
Andrzej Majkowski 1 informatyka +. 2 Bezpieczeństwo protokołu HTTP Paweł Perekietka.
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Informatyka Zakres rozszerzony Zebrał i opracował : Maciej Belcarz TEMAT : Administracja i bezpieczeństwosieci TEMAT : Administracja i bezpieczeństwosieci.
Podział sieci komputerowych
Bartosz Pawlak Wiktor Paliwoda Bezpieczeństwo Systemów Operacyjnych IMAP vs POP.
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Zarządzanie stanem w aplikacjach ASP.NET Elżbieta Mrówka-Matejewska
Elementy przeglądarki internetowej Pasek menu Pasek kart Pasek adresowy Pasek wyszukiwania Okno z zawartością strony internetowej Zakładki (ulubione)
TOPOLOGIE SIECI. Topologia sieci- określa sposób połączenia urządzeń sieciowych ze sobą. Najbardziej znane topologie:  Topologia magistrali  Topologia.
Rozproszony system plików Coda Krzysztof Lichota.
Symulatory w kolejnictwie
Instalacja i konfiguracja kontrolera domeny. Jest to komputer, na którym uruchomiono usługę Active Directory W małej sieci wystarczy jeden kontroler w.
Wady i zalety pracy w chmurze
Wątki, programowanie współbieżne
Grzegorz Chodak Wykład
Anonimowo ść w sieci. Sposoby zachowania anonimowośc i VPNProxyTOR.
Projekt modułu BANK INTERNETOWY Moduł funkcji banku
Mikrokontrolery System przerwań
Zapis prezentacji:

Enterprise Corba Prezentacja seminaryjna T. Pieciukiewicz R. Hryniów

Wydajność Prędkość działania konkretnej operacji zależy od: –Ilości RMI niezbędnych do jej zrealizowania, –Ilości danych przekazywanych w każdym wywołaniu, –Kosztach marshallingu danych.

Przykład Pobieramy z serwera tablicę obiektów w celu wyświetlenia. –Wariant pierwszy: Pobieramy sekwencje referencji do obiektów Dla każdego obiektu pobieramy interesujące nas dane. ZALETY: –Wszystkie działania wykonywane są tylko na obiektach –Zawsze mamy aktualne dane

Przykład cd. WADY: –Duży koszt operacji w RMI – mamy 1 + n*m wywołań (n- liczba obiektów, m-liczba atrybutów). –Referencje do obiektów mają najwyższy koszt marshallingu (porównanie kosztów marshallingu dalej)

Przykład cd. –Wariant drugi: Pobieramy sekwencję struktur zawierających interesujące nas dane. Jeżeli potrzebujemy referencję do jednego z obiektów pobieramy ją na podstawie struktury. ZALETY: –Mała liczba wywołań – dokładnie jedno – w celu pobrania danych –Mniejsza liczba utworzonych obiektów (poważna zaleta w niektórych ORBach) –Mniejsze koszty marshallingu WADY: –Potrzeba wykonania dodatkowej operacji w celu pobrania obiektu. Nie wszystkim musi się to podobać.

Porównanie kosztów marshallingu

Przesyłanie dużej ilości danych Użycie iteratorów:

Przesyłanie dużej ilości danych Metoda przydatna przy przesyłaniu obrazów (lub innych danych binarnych). Zalecana również przy przesyłaniu większej ilości struktur.

Messaging service – po co? Przydatna jest możliwość przekazywania informacji z serwera do klienta (klientów) bez żądania ze strony klienta. –Np. aby informować klienta o aktualizacji danych. Jest to lepsze od odpytywania serwera przez klienta co ustalony okres czasu – zmniejsza obciążenie serwera i ruch w sieci.

Messaging service - kanały Klienci zapisują się do kanałów informacyjnych, deklarując swoje zainteresowanie wiadomościami różnych kategorii. Otrzymują tylko potencjalnie interesujące ich wiadomości. Możliwość filtrowania wiadomości z określonego kanału.

Store and Forward Zapewnia dotarcie wiadomości do klienta nawet jeśli ten nie był aktywny w momencie rozsyłania wiadomości (po rejestracji w systemie otrzymuje wszystkie oczekujące na niego wiadomości).

Messaging service - implementacje VisiBroker Orbix Niektóre darmowe (np. JavaOrb)

Bezpieczeństwo Security Service –Level 1: Autentykacja użytkownika, Bezpieczne wywoływanie metod (działające na poziomie interfejsów – tzn. deklarujemy bezpieczeństwo dla wszystkich obiektów implementujących dany interfejs), Audyt.

Bezpieczeństwo cd. –Level 2 (brak pełnej implementacji): Dynamiczna kontrola siły zabezpieczeń, Dokładniejsza kontrola uprawnień Możliwość zdobycia przez aplikację informacji o aktualnie obowiązujących zasadach bezpieczeństwa. SecIOP – IIOP uzupełnione o bezpieczeństwo Corba/Firewall Specification

Bezpieczeństwo cd. ORB-SSL (może funkcjonować bez pozostałych serwisów bezpieczeństwa) –Autentykacja, –Szyfrowanie danych, –Integralność danych (zabezpieczenie przed zmianami w czasie transportu),

Transakcje Sterowane przez klienta lub przez serwer. Transakcje sterowane przez serwer – niewidoczne dla klienta. Transakcje sterowane przez klienta – wywołania konkretnych metod sterujących transakcjami.

Transakcje rozproszone Object Transaction Monitor – integruje CORBA z monitorem transakcji. Wymagania: –Wsparcie dla bezpieczeństwa –Wsparcie dla równoważenia obciążenia –Kontrola przepływu wywołań (wielotransakcje!)

Transakcje rozproszone

CORBA OTS

CORBA OTS – jak to działa?

Przepływ wywołań i multitransakcje

Zarządzanie pamięcią – zwalnianie obiektów Możliwe polityki zwalniania obiektów: –Explicite zwalnianie obiektów przez klienta –Zamknięcie połączenia przez klienta –Okresowe przeglądanie obiektów w celu wyłonienia kandydatów do usunięcia –Przekroczenie progu ilości aktywnych obiektów –Podczas tworzenia nowego obiektu –Zewnętrzne

Wybór obiektów do zwolnienia Najdłużej nieużywany Po zakończeniu czasu wymaganej aktywności Najstarszy obiekt

Skalowalność – limity połączeń ORBy mają limit jednoczesnych połączeń (zależny od implementacji, np. 1000). Co zrobić jeśli limit może zostać przekroczony? –Zamykanie połączeń – ze strony klienta (np. nie będzie na dłuższy czas potrzebne) lub serwera (długa nieaktywność klienta). –Koncentratory.

Koncentratory

Wielowątkowe serwery Wielowątkowość może uratować nas przed zakleszczeniem w pewnych wypadkach. Potencjalnie większa wydajność przy wieloprocesorowych maszynach. Polityki podziału na wątki: –Thread-per-Request –Thread-per-Client (Connection) –Thread-per-Object –Thread Pool

Równoważenie obciążenia Zrównoważenie obciążenia wszystkich serwerów danej aplikacji. Zmniejszenie strat w wypadku awarii jednego z serwerów. Ominięcie ograniczeń sprzętowych i programowych (np. limitu połączeń). Związane z podziałem (poziomym lub pionowym) aplikacji lub replikacją.

Polityki migracji klienta Na operację Na transakcję Na jednostkę pracy Na sesję

Równoważenie nie jest darmowe Koszt wyszukania najmniej obciążonego serwera (czas) Koszt synchronizacji serwerów (czas) Koszt uruchomienia nowych serwerów (czas, pieniądze!) Koszt testowania procedur równoważących (czas, pieniądze!) Inne koszty (czas?, pieniądze?)

CORBA a równoważenie obciążenia Partycjonowanie poziome – realizacja przy pomocy Naming Service (lub podobnych). Pionowe – na poziomie BD i aplikacji. Replikacja – na poziomie ORB (brak specyfikacji) Każdy dostawca komercyjny proponuje własne rozwiązania.

Odporność na awarie Odporność na awarie -> odporność systemu na awarie spowodowane czynnikami takimi jak: –Awaria sprzętu lub systemu –Awaria sieci –Błędy w aplikacji –Sabotaż, klęski żywiołowe itd...

Środki pozwalające uzyskać odporność Replikacja serwerów i BD –Cold Backup (czekamy na awarię, po wystąpieniu startujemy nowy serwer) –Warm Standby (serwer zapasowy działa cały czas i synchronizuje się z głównym) –Hot Standby (grupa serwerów realizuje równolegle zlecenia klienta).

CORBA i odporność Brak specyfikacji usług, protokołów itp. Odporność na poziomie transportu (ORB) zależy od konkretnego produktu, Odporność na wyższym poziomie zależy od rozwiązań organizacyjnych i konkretnych aplikacji.

Bibliografia Dirk Slama, Jason Garbis, Perry Russel Enterprise Corba Odrobina własnego doświadczenia