7.2. Zakres funkcjonalny interfejsu administracyjnego serwera

W celu podłączenia się do zdalnego interfejsu udostępnianego w technologii JMX trzeba zazwyczaj podać specjalnie sformatowany adres interfejsu oraz dane autoryzacyjne. W przypadku systemu dLibra adres interfejsu ma postać: service:jmx:rmi:///jndi/rmi://[adres serwera]:[port serwera]/mx Jako dane autoryzacyjne należy podać nazwę użytkownika i hasło dla konta 'admin' zdefiniowanego w danym serwerze dLibra.

Poniższy rysunek przedstawia interfejs administracyjny systemu dLibra obsługiwany przy pomocy programu MC4J. Po lewej stronie widać drzewo komponentów administracyjnych. Prawa strona ekranu wykorzystana jest do wyświetlenia trzech wykresów: liczby połączeń RMI do serwera dLibry, liczby zdarzeń w serwerze jakie pozostały do obsługi oraz zajętości pamięci.

W interfejsie administracyjnym systemu dLibra, poza standardowymi komponentami zarządzania udostępnianymi przez środowisko maszyny wirtualnej Java, dostępne są dedykowane komponenty zarządzania serwerem. Komponenty te podzielone są na grupy odpowiadające strukturze wewnętrznej serwera. W ramach tych grup wyróżniony jest jeszcze podział funkcjonalny. Powstaje w ten sposób hierarchiczna, drzewiasta struktura komponentów. Zgodnie ze specyfikacją Java JMX każdy z komponentów może udostępniać własności oraz metody. Poniżej opisano najistotniejsze z udostępnianych elementów. Te elementy, które pominięto są zazwyczaj elementami przydatnymi tylko w wyjątkowych sytuacjach, wymagają bardzo głębokiej znajomości struktury wewnętrznej systemu dLibra i nie powinny być używane. W opisie zastosowano następującą notację:

Ogólnie można założyć, że atrybuty mogą być wykorzystywane do monitorowania pracy serwera, a metody do wykonywania pewnych czynności konserwacyjnych, migracji danych między wersjami lub też np. odtwarzania części danych utraconych na skutek awarii.

[Warning]Ostrzeżenie

Część komponentów pozwala na stosunkowo łatwe dokonanie poważnych zmian w danych przechowywanych w bibliotece cyfrowej. Część z operacji może też być bardzo czasochłonna - przykładowo operacja pełnej reindeksacji publikacji dużej biblioteki cyfrowej w zależności o wydajności serwera może trwać nawet kilka tygodni. Zaleca się zachowanie najwyższej ostrożności przy wykorzystywaniu interfejsu administracyjnego serwera dLibra.

7.2.1. Content Server

Various Tasks:

  • recreateZIPArchive() - odtwarza archiwum ZIP publikacji przechowywanych w bibliotece cyfrowej. Przydatne, gdy zdecydowano się na włączenie funkcji archiwum ZIP dopiero po pewnym czasie od utworzenia biblioteki cyfrowej.

7.2.2. Event Manager

StatisticsBean:

  • NoOfEveEvents - pokazuje liczbę zdarzeń, jakie zostały jeszcze do obsłużenia usługom serwera dLibra. Zdarzenia to np. dodanie nowej publikacji czy modyfikacja opisu, a obsługa ich może polegać np. na aktualizacji indeksów wyszukiwawczych. Liczba zdarzeń powinna przynajmniej raz na dobę (ewentualnie raz na tydzień) spadać do zera. Jeżeli tak nie jest, oznacza to, że serwer dLibra jest przeciążony i nie jest w stanie na bieżąco obsłużyć zadań generowanych przez użytkowników biblioteki.

7.2.3. Metadata Server

MaintenanceTasks:

  • reloadDCPatterns() - przeładowuje informacje na temat mapowania zestawu atrybutów zdefiniowanego w bibliotece cyfrowej na schemat DublinCore. Informacje te zawarte są w pliku dc-pattern.properties w podkatalogu conf katalogu głównego serwera.

7.2.4. OAI-PMH Harvester

HarvestingBean:

  • harvestAll() - powoduje aktualizację informacji o publikacjach znajdujacych się we wszystkich zdefiniowanych repozytoriach OAI-PMH.

  • harvestHost(hostId) - powoduje aktualizację informacji o publikacjach znajdujacych się repozytorium OAI o identyfikatorze podanym w parametrze hostId.

HostManagerBean:

  • Hosts - daje dostęp do listy zdefiniowanych repozytoriów OAI-PMH.

  • addHost(baseUrl, defaultLanguage, hasSecondsGranularity, hostName, hostLogoUrl, repositoryUrl, isDLibra) - pozwala zdefiniować nowy host OAI-PMH. Parametry to:

    • baseUrl - adres URL strony głównej repozytorium (np. http://dlibra.psnc.pl/biblioteka/).

    • defaultLanguage - domyślny język opisu publikacji w repozytorium (np. pl).

    • hasSecondsGranularity - czy repozytorium przechowuje informacje o czasie modyfikacji rekordów z dokładnością do sekund.

    • hostName - nazwa repozytorium (np. Biblioteka Cyfrowa Projektu dLibra).

    • hostLogoUrl - małe (40x16px) logo repozytorium do wyświetlania na liście wyników wyszukiwania (np. http://dlibra.psnc.pl/biblioteka/my-oai-link.gif).

    • repositoryUrl - adres interfejsu OAI-PMH repozytorium (np. http://dlibra.psnc.pl/biblioteka/dlibra/oai-pmh-repository.xml).

    • isDLibra - czy repozytorium oparte jest na oprogramowaniu dLibra).

  • updateHost(hostId, baseUrl, defaultLanguage, hasSecondsGranularity, hostName, hostLogoUrl, repositoryUrl, isDLibra) - aktualizuje informacje o repozytorium OAI-PMH o identyfikatorze podanym w hostId. Pozostałe parametry mają dokładnie takie znaczenie jak w przypadku metody addHost(...). Należy wypełnić wszystkie wartości parametrów - nie tylko te, których wartości mają być zmienione.

  • synchronizeHostsDatabase(url) - synchronizuje bazę repozytoriów OAI-PMH ze zdalnym plikiem, którego adres URL podany jest w parametrze. Przykładem takiego pliku jest http://dlibra.psnc.pl/all-dlibra-oai-hosts.csv .

  • removeHost(hostId) - usuwa z biblioteki cyfrowej wszystkie informacje na temat repozytorium o identyfikatorze podanym w parametrze hostId.

7.2.5. Search Server

ReindexTasks:

  • reindexAllEditions(indexMode) - powoduje reindeksację całej zawartości biblioteki cyfrowej. Wartość parametry indexMode może przyjmować następujące wartości:

    • 1 - przeprowadzona ma być wyłącznie reindeksacja opisów publikacji (bez indeksów DublinCore - do wyszukiwania ogólnego),

    • 2 - przeprowadzona ma być wyłącznie reindeksacja treści publikacji,

    • 3 - 1 i 2,

    • 4 - przeprowadzona ma być wyłącznie reindeksacja opisów DublinCore - do wyszukiwania ogólnego,

    • 7 - 1, 2 i 4.

  • mergeVersionIndicies() - powoduje połączenie dobowego i pełnego indeksu treści (standardowo odbywa się to automatycznie o 6.00 rano).

  • checkIndexesConsistency() - sprawdza i naprawia spójność indeksów wyszukiwawczych.

  • reindexEditions(editionsIds, indexMode) - powoduje reindeksację wydań o podanych identyfikatorach. Wartość parametru indexMode ma takie samo znaczenie jak w przypadku polecenia reindexAllEditions(...), a jako wartość parametru editionsIds powinny być podane identyfikatory wydań do reindeksacji oddzielone od siebie przecinkami.

7.2.6. dLibra JMX Management Service

LicenseInfo:

  • License - informacje zawarte w pliku licencji.

RMIConnectionsInfo:

  • NoOfRMIThreads - liczba zewnętrznych połączeń do serwera dLibra.

  • RMIConnectionIPs - adresy IP komputerów, z których obecnie nawiązane są połączenia do serwera dLibra.

ServerControl:

  • stopServer() - wyłącza serwer.

  • restartServer() - restartuje serwer.