4. Systemy rozproszone

4.13. Organizacja użytkowników i urządzeń w systemie

Zarówno użytkownicy, jak i zasoby systemu zorganizowane są w grupy, tak jak dzieje się to w prawdziwym laboratorium studenckim lub w większości sieciowych systemów operacyjnych. Każde urządzenie wchodzi w skład jednej grupy, która stanowi odpowiednik zbioru przyrządów niezbędnych do przebadania danego obiektu. Użytkownicy natomiast mogą należeć do wielu grup. Każda z tych grup może mieć odmienne prawa dostępu do różnych grup urządzeń. Uproszczony model zarządzania oferuje wyłącznie prawa do odczytu danych pomiarowych i prawa do sterowania urządzeniami wchodzącymi w skład systemu.

Do przechowywania informacji o użytkownikach, ich grupach, grupach urządzeń oraz przydzielonych prawach, może być wykorzystana relacyjna baza danych, która gwarantuje nie tylko wygodny sposób składowania danych, ale również dzięki relacjom zapewnia ich integralność.

Architektura bazy danych zakłada istnienie pięciu tabel. Tabela „Użytkownicy” zawiera informacje o użytkownikach, tzn. unikalną nazwę, będącą kluczem pierwotnym, hasło, imię i nazwisko oraz opis. W tabeli „Grupy_użytkowników” znajdują się grupy użytkowników, z których każda ma jednoznacznie przydzieloną nazwę. Ponieważ każdy użytkownik może należeć do wielu grup, a każda grupa może zawierać wielu użytkowników, między tymi tabelami występuje relacja „wiele do wielu”. Taką relację buduje się za pomocą struktury pośredniej, którą stanowi tu „Członkostwo”. Grupy urządzeń przechowywane są w tabeli „Grupy_przyrządów”. Prawa grup użytkowników do grup przyrządów zapisywane są w tabeli „Pozwolenia”, która wiąże relacjami „Grupy_użytkowników” i „Grupy_przyrządów”. Komunikacja z bazą danych odbywa się poprzez interfejs JDB w języku SQL. Systemem bazy danych może być Oracle, DB2, Interbase, Postgres lub inne, zawierające sterownik JDBC oraz gwarantujące odpowiednią zgodność ze specyfikacją SQL.

Wirtualne laboratorium może być rozwiązywane na wiele różnych sposobów, a jego architektura i organizacja są w dużym stopniu zależne od inwencji twórczej i możliwości finansowych projektantów. Nie można oczywiście zapominać o pewnych ramach narzucanych przez dostępne sieciowe protokoły komunikacyjne oraz różne modele oprogramowania komercyjnego. Na szczęście, dzięki uwzględnieniu w procesie projektowania specyficznych właściwości sieciowego systemu rozproszonego, takie laboratorium daje się modyfikować, unowocześniać i rozbudowywać.