В этой статье рассказываем, как команда Реактива навела порядок в данных информационных систем Российской государственной библиотеки и избавила издательства от двойной работы.
Клиент
Российская государственная библиотека (РГБ) — крупнейшее национальное хранилище печатных и электронных публикаций, в фондах которого более 48 миллионов изданий. В РГБ есть несколько информационных систем, в том числе «Единая библиография» — эта система создана для автоматизации приёма, регистрации и учёта всех изданий, выходящих в России, а также для взаимодействия с производителями документов, издательствами, библиотеками.
Контекст
Исторически сложилось так, что внутри объединённой структуры РГБ (после присоединения Российской книжной палаты) параллельно функционировали две информационные системы, которые работали с одними и теми же данными: «ОЭК» и «Единая библиография». Внешние поставщики (издательства, типографии, авторы) должны были передавать данные об изданиях в обе системы.
Проблема
Поставщики делали лишнюю работу, так как загружали одни и те же данные дважды: в одну систему, чтобы пройти государственную регистрацию и получить номер, а в другую — чтобы соблюсти законодательство по хранению экземпляра печатного издания в электронной форме.
Но кто-то загружал данные в обе системы, а кто-то — только в одну из двух. Это привело к беспорядку, дублированию усилий и риску потери данных. Такой процесс работы неудобен для поставщиков, особенно для крупных издательств, которые работают с тысячами электронных экземпляров.
Задача
Устранить дублирование работы для поставщиков и обеспечить единый набор данных в обеих системах. При этом — не объединять системы в одну, а найти решение, которое автоматизирует обмен данными и сохранит работоспособность существующей инфраструктуры.
Как мы работали
Команда Реактива отправилась в командировку в Российскую государственную библиотеку, чтобы разобраться в проблеме и лично пообщаться с разными группами пользователей и ответственными за процессы. Вместо того, чтобы просто получить ТЗ, команда вместе с заказчиком разбирали весь бизнес-процесс прохождения электронного экземпляра: рисовали схемы, выдвигали гипотезы, обсуждали предложения.
Вместо объединения систем (что было бы намного дороже и дольше) мы разделили их зоны ответственности:
- Система «ОЭК» становится единым окном входа. Она отвечает только за приём обязательных электронных экземпляров от поставщиков.
- Система «Единая библиография» оставляет за собой ключевую функцию — государственную регистрацию и присвоение государственного номера издания.
Для связи систем спроектировали и реализовали интеграцию REST API. Разработанный метод обеспечивает бесшовную интеграцию между системой «ОЭК» и ИС «Единая библиография», автоматизируя ключевые точки обмена данными:
Результат
Разработанный метод автоматизации работы с данными позволил в два раза сократить объём работы поставщиков изданий: теперь они загружают информацию только в одну систему.
А в обеих системах теперь всегда актуальный и единый набор данных, так как мы исключили риск рассинхронизации информации о поставщиках и изданиях. Решение реализовано, протестировано и успешно работает в продуктивной среде.
Технологии
Oracle 12, Java, SQL, JavaScript, HTML/CSS, GlassFish, Red Hat Linux, Ubuntu Server, REST, JSON, HTTP, JWT-токены