Platforma udostępniająca skalowalną komunikację w środowisku rozproszonym Tomasz Hankus Jarosław Janik Konrad Tendera Opiekun: dr inż. Tomasz Szydło Prowadzący: prof. Krzysztof Cetnarowicz
Wprowadzenie - OSGi Specyfikacja OSGi Modularność: Wymiana części systemu w czasie rzeczywistym Zarządzanie komponentami i ich konfiguracjami Cykl życia modułów Rejestr serwisów Dostępne implementacje: Eclipse Equinox Knopflerfish OSGi Apache Felix Rosnąca popularność, zwłaszcza względem technologii SOA
Specyfikacja problemu Natywne ograniczenie istniejących implementacji do korzystania z lokalnego kontenera Brak prostego transparentnego rozwiązania Główne problemy: Skomplikowana konfiguracja WebServices Brak transparentności Duże wymagania sprzętowe
Rozwiązanie Wprowadzenie rozproszenia pomiędzy kontenerami: Usługi zdalne Grupowe wywołania usług Transparentność dla użytkownika Wykorzystanie MoM (Message-oriented Middleware) – RabbitMQ Repozytorium serwisów – MongoDB Niezawodność (High Availability), dzięki rozproszeniu repozytorium i serwera komunikacji
Architektura
Warianty działania platformy 1/3 System gromadzący dane na temat transakcji bankowych z placówek z różnych lokalizacji
Warianty działania platformy 2/3 Centralny system zbierający informacje z grupy zdalnych sensorów
Warianty działania platformy 3/3 Platforma wykonująca rozproszone operacje na danych w oparciu o paradygmat MapReduce
Podsumowanie Cechy produktu: Transparentność Skalowalność Modularność Prostota obsługi i konfiguracji Możliwości rozbudowy: Szyfrowanie komunikacji Transakcyjność wywołań Wykorzystanie alternatywnej bazy danych Globalna notyfikacja o zmianie stanu usług Dodanie nowych modułów