Архітектура децентралізованої системи каталогізації книжкових метаданих із JSON API та федеративною синхронізацією
DOI:
https://doi.org/10.25140/2411-5363-2026-1(43)-114-127Ключові слова:
децентралізація; каталогізація; метадані книг; федерація серверів; вебзастосунок; JSON API; синхронізація; Elixir; Ash; Phoenix; PostgreSQLАнотація
У статті запропоновано архітектуру децентралізованої системи каталогізації книжкових метаданих, орієнтовану на керування метаданими та інтеграцію з іншими інформаційними сервісами через JSON API. Проаналізовано підходи до федерації метаданих, інтероперабельності та соціальної децентралізації формування метаданих у контексті каталогізаційних систем. Розроблену систему реалізовано у формі вебзастосунку з рольовою моделлю доступу (гість, користувач, модератор, адміністратор), що підтримує перегляд і редагування даних про книги, авторів і видавців, а також надає документований JSON API зі специфікацією OpenAPI (Swagger UI).
Архітектурною основою системи є модульний моноліт із клієнт-серверною взаємодією, локальним сховищем метаданих та підсистемою фонової синхронізації з іншими вузлами федерації. Децентралізацію забезпечено через механізм локального кешування даних, отриманих із серверів федерації, та планову/ручну синхронізацію, що дозволяє зменшити кількість віддалених запитів, підвищити доступність даних при тимчасовій недоступності частини вузлів і забезпечити стабільний час відгуку пошукових запитів. Для збереження узгодженості даних застосовано стратегію «джерело істини», глобально унікальні ідентифікатори UUID та множинні бібліографічні ідентифікатори (ISBN-10, ISBN-13, ASIN) для зіставлення записів.
Запропонований підхід поєднує автономність вузлів федерації, практичні вимоги до продуктивності пошуку та простоту інтеграції із зовнішніми системами, що робить його придатним для використання в навчальних, дослідницьких і спільнотних каталогізаційних сервісах. Робота має архітектурно-проєктний характер і формує основу для подальшого кількісного оцінювання продуктивності та відмовостійкості системи у федеративному середовищі.
Посилання
Ash Framework. (n.d.). Ash HQ. https://ash-hq.org/.
Phoenix Framework. (n.d.). Phoenix Framework. https://www.phoenixframework.org/.
Tate, B., & DeBenedetto, S. (2025). Programming Phoenix LiveView: Interactive Elixir web programming without writing any JavaScript. The Pragmatic Bookshelf.
The Elixir programming language. (n.d.). The Elixir programming language. https://elixir-lang.org/.
PostgreSQL. (n.d.). PostgreSQL. https://www.postgresql.org/.
Docker: Accelerated container application development. (n.d.). Docker. https://www.docker.com/.
Nginx. (n.d.). nginx. https://nginx.org/en/.
Robust job processing. (n.d.). Oban Pro. https://oban.pro/.
Tailwind CSS - Rapidly build modern websites without ever leaving your HTML. (n.d.). Tailwind CSS. https://tailwindcss.com/.
Flowbite. (n.d.). Flowbite. https://flowbite.com/.
GitHub - bookwyrm-social/bookwyrm: Social reading and reviewing, decentralized with ActivityPub. (n.d.). GitHub. https://github.com/bookwyrm-social/bookwyrm.
GitHub - internetarchive/openlibrary: One webpage for every book ever published! (n.d.). GitHub. https://github.com/internetarchive/openlibrary.
Palmer, C. L., Zavalina, O. L., & Mustafoff, M. (2007). Trends in metadata practices: A longitudinal study of collection federation. In Proceedings of the 7th ACM/IEEE-CS Joint Conference on Digital Libraries (pp. 386–395). https://doi.org/10.1145/1255175.1255251.
Ordonez, C., Chen, Z., & García-García, J. (2007). Metadata management for federated databases. In Proceedings of the 2007 ACM Workshop on CyberInfrastructure: Information Management in eScience (pp. 47–54). https://doi.org/10.1145/1317353.1317361.
Tellvik, D. (2023). Metadata decentralized: An examination of folksonomy in book publishing [Master’s thesis, Portland State University]. PDXScholar. https://pdxscholar.library.pdx.edu/eng_bookpubpaper/77/.
Palmer, C. L., & Knutson, E. M. (2004). Metadata practices and implications for feder-ated collections. In Proceedings of the 67th ASIS&T Annual Meeting (Vol. 41, pp. 456–462). https://doi.org/10.1002/meet.1450410153.
##submission.downloads##
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія

Ця робота ліцензується відповідно до Creative Commons Attribution-NonCommercial 4.0 International License.