ZSBD-2st-1.2-lab5.tresc-1.3-Slajd4
Architektury aplikacji
Obiektowy system zarządzania bazą danych db4o jest dostarczany w postaci zbioru bibliotek pozwalających na zbudowanie wszystkich popularnych architektur aplikacji wykorzystujących bazy danych. Możliwa jest konstrukcja samodzielnych aplikacji (1), które wykorzystują biblioteki db4o do tworzenia plików składujących ich własne dane. Taka architektura jest stosowana w sytuacji, w której dane nie są współdzielone z innymi użytkownikami poprzez sieć, a co najwyżej wymieniane jedynie poprzez przekopiowanie pliku. Programami tego typu mogą być programy służące do tworzenia diagramów, edytory tekstu, arkusze kalkulacyjne, gry komputerowe itp. Operowanie na plikach bazy danych odbywa się wówczas bezpośrednio poprzez metody bibliotek db4o i nie jest możliwe współbieżne operowanie na tych danych przez różne aplikacje (w danej chwili może być aktywna tylko jedna transakcja).
Biblioteki db4o zawierają również metody pozwalające na postawienie serwera dostępowego do bazy danych umożliwiającego współbieżne wykonywanie wielu transakcji. Serwer ten może być uruchomiony lokalnie i komunikować się z aplikacją poprzez pamięć operacyjną. Taki serwer pozwala na synchronizację i współbieżną pracę wielu aplikacji i wątków działających wewnątrz jednej maszyny wirtualnej. Możliwe jest zatem utworzenie wielowątkowej aplikacji działającej na tych samych danych, np. serwera aplikacji (2), który posiada prywatną bazę danych, z której nie korzystają inne aplikacje.
Możliwe jest również uruchomienie samodzielnego serwera dostępowego, z którym możliwa jest komunikacja poprzez sieć. Pozwala to na stworzenie aplikacji działających zarówno w architekturze Klient – Serwer (3) jak i architekturze trójwarstwowej (4).
Na ćwiczeniach poświęconych obiektowym systemom zarządzania bazą danych poznacie państwo jedynie najprostszy przypadek, czyli sposób tworzenia samodzielnych aplikacji, które bezpośrednio odwołują się do plików bazy danych. Należy jednak zwrócić uwagę, że tworzenie bardziej zaawansowanych aplikacji nie różni się prawie wcale od tworzenia aplikacji samodzielnych.