Abstract:
Praca magisterska dotyczy analizy systemów opartych o oprogramowanie wielodostępne (ang. Multitenancy). Autor pracy bada różne sposoby przechowywania oraz izolacji danych. Skupia się również na architekturze, warstwie danych oraz infrastrukturze systemów. Wskazuje ich wady oraz zalety. Dostarcza również sugestie w jakich przypadkach dane rozwiązanie powinno zostać zaimplementowane. Eksperymenty przeprowadzane są na przykładowym projekcie systemu sprzedażowego dla wielu firm. System korzysta z generycznej biblioteki Multitenancy stworzonej na potrzeby pracy magisterskiej. Praca zawiera również rozdziały dokładnie opisujące wspomnianą bibliotekę oraz jej implementacje w analizowanym projekcie. Autor opisuje interfejsy, klasy oraz serwisy niezbędne do poprawnego działania programu. Ukazuje on również jak w kliku krokach dodać bibliotekę do własnego systemu. Rozdział opisujący ten aspekt zawiera również propozycje architektury z użyciem wielu przydatnych wzorców projektowych. Implementowane systemy zgodne są z zasadami czystego kodu (ang. Clean code), czystej architektury (ang. Clean architecture) oraz są projektowane w oparciu o domenę (ang. Domain-driven design). Autor porusza również bardzo ważne kwestie migracji oraz analizy danych. Jeden z rozdziałów w pełni poświęcony jest budowie hurtowni jako jednego z rozwiązań problemu integracji danych. Przedstawione są w nim również praktyczne przykłady użycia.