Główną składową Aplikacji Czytelnika są strony (np. strona główna, strona opisu kolekcji, strona opisu publikacji, strona wyników wyszukiwania itp.). Każda ze stron składa się z pewnych komponentów (np. komponent drzewa kolekcji, komponent formularza wyszukiwania itp.). Dodatkowym elementem są akcje - pewne czynności, które czytelnik może wykonać (np. wyszukiwanie, przesłanie formularza kontaktu, zalogowanie się itp.). Te trzy rodzaje elementów opisano szczegółowo poniżej. Statystyki czasu działania poszczególnych stron, komponentów i akcji dostępne są pod adresem /dlibra/admin-engine-stats.
Mechanizm stron odpowiedzialny jest za wyświetlanie czytelnikowi stron biblioteki cyfrowej po wysłaniu przez czytelnika żądania HTTP. Mechanizm ten odpowiada na wszystkie żądania skierowane pod adres http://bibliotekacyfrowa/dlibra/. Każda ze stron jest jednoznacznie identyfikowana przez ciąg znaków, który wystąpi po dlibra/ a przed znakiem '?'. Przykładowe identyfikatory stron to:
metadataquery - wyszukiwanie zaawansowane,
editionindex - lista publikacji w kolekcji,
latest - ostatnio dodane publikacje,
collectionstats - statystyki kolekcji,
collectiondescription - opis kolekcji i wyszukiwanie ogólne.
Wszystkie strony zdefiniowane są w pliku /WEB-INF/pages.xml. W pliku tym określone jest, jaki komponenty wchodzą w skład strony, jakie akcje mogą być wykonane przy generowaniu strony, jakie błędy są dozwolone przy generowaniu strony, jaki jest poziom uprawnień niezbędny do wyświetlenia strony oraz czy strona ma być dostępna przez połączenie standardowe czy szyfrowane (https).
Komponenty odpowiadają ze generowanie informacji wykorzystywanych w poszczególnych fragmentach strony. Dla przykładu komponenty występujące na stronie głównej Aplikacji Czytelnika systemu dLibra to:
komponent informacji ogólnych o bibliotece cyfrowej,
komponent drzewa kolekcji,
komponent ostatnio dodanych publikacji,
komponent wyszukiwania ogólnego,
komponent wiadomości,
komponent wystaw.
Każdy z komponentów może posiadać swoje opcje konfiguracyjne. Zapisane są one w pliku /WEB-INF/components.xml.
W pewnych okolicznościach przed wyświetleniem konkretnej strony możliwe jest wykonanie pewnych akcji. Dla przykładu:
przed wyświetleniem strony z wynikami wyszukiwania może być wykonywana akcja wyszukania publikacji,
przed wyświetleniem strony z informacjami o profilu czytelnika może być wykonana akcja logowania,
przed wyświetleniem strony z potwierdzeniem przesłania formularza kontaktu może być wykonana akcja przesłania tego formularza,
przed wyświetleniem strony wyszukiwania zaawansowanego może być wykonana akcja wyczyszczenia tego zapytania lub akcja dodania pola do zapytania.
Każda z akcji może posiadać swoje opcje konfiguracyjne. Zapisane są one w pliku /WEB-INF/actions.xml.
Poza mechanizmem stron, komponentów i akcji umieszczonym pod adresem /dlibra dostępne są jeszcze cztery adresy głównego poziomu:
/Content - odpowiedzialny za dostęp do treści publikacji. Wywołanie /Content/2952/ powoduje przejście do treści głównego pliku wydania o identyfikatorze 2952. Wywołanie /Content/2952/directory.djvu powoduje pobranie pliku directory.djvu z wydania o identyfikatorze 2952.
/zipContent - odpowiedzialny za dostęp do treści publikacji w postaci archiwów ZIP. Wywołanie /zipContent/2952/ powoduje pobranie treści całego wydanie o identyfikatorze 2952 jako pliku zip.
/image - odpowiedzialny za dostęp do miniaturek wydań. Wywołanie /image?id=2940 powoduje pobraniu miniaturki wydania o identyfikatorze 2940.
/ka - odpowiedzialny za szyfrowanie publikacji zabezpieczonych,
/rdf - odpowiedzialny za dostęp metadanych wydań i publikacji w formacie RDF. Wywołanie /rdf/e2948.xml powoduje pobranie opisu wydania o identyfikatorze 2948 w formacie RDF. Wywołanie /rdf/p1651.xml powoduje pobranie opisu publikacji o identyfikatorze 1651 w formacie RDF.