Обзор Элетронной библиотечной системы Библиотех.

Так получилось, что наш ВУЗ купил себе отечественную элетронную билиотечную систему (ЭБС) БиблиоТех (далее библиотех). Купили ее главным образом из-за контента, который можно докупать к библиотеке, а ее функционал и то как она работает оказались на этапе внедерния для нас полным и не очень приятным сюрпризом.
Постараюсь раскрыть технические аспекты этой системы, поскольку на сайте описание составлено так, что по нему ничего толком не понятно. За некоторые моменты поругаю, за другие похвалю.

Итак, нас запросили подготовить SUSE Linux Enterprise (покупать ОС не обязательно, просто по окончанию триального периода пропадет доступ к обновлениям). Поставили мы систему внутрь нашей виртуальной машины с 8 vCPU, 8 ГБ ОЗУ, 2 ТБ хранилищем на основе SATA-дисков в raid5. Продавцы запросили доступ по сети и всю установку и настройку библиотеха сделали самостоятельно, что довольно здорово. Только после этого мы узнали что мы купили.

Архитектура

Библиотех написан на C# с использованием страниц ASP в шаблонах. Доступ к логике приложения скрыт в exe-шниках, запускаемых в Linux при помощи Mono. Шаблоны ASP доступны для самостоятельного обзора и изменения, но в них ничего интересного нет.

В качестве базы данных используется Oracle с хранилищем в 60ГБ. Для подключения к Oracle используется как минимум два пароля: один можно найти просто в файлах конфигурации и, судя по схеме, предназначен для хранения закладок, создаваемых пользователями ВУЗа, второй пароль, видимо, зашит в exe-шниках приложения и, скорее всего, предоставляет доступ к основным операциям в Oracle. Приложение я не декомпилировал, так что точно где и как он лежит и зашифрована ли БД - не знаю. Библиотех заявляет о высоком уровне защиты книг издательств и низкий уровень рисков утечки электронных книг, но, при этом, передает все хранящиеся у него книги библиотекам и взлом одной библиотеки потенциально может привести к утечке в интернет всех книг библиотеха, а не только купленных конкретной библиотекой.

Все книги разбиты на страницы и каждая страница книги хранится в виде подготовленного рисунка в БД Oracle, именно этим объясняется огромный размер БД. Типичное разрешение 725x1036 пикселей. Возможно, в БД хранится и оригинальный файл PDF, поскольку масштабирование картинки приводит к увеличению времени генерации картинки, видимо, с помощью конвертации "на лету" PDF-страницы в картинку с нужным разрешением.
В ОС поднята виртуальная частная сеть (приватные адреса) до сервера библиотеха на основе обычного openVPN. Через эту сеть компания библиотех общается с установленной в библиотеке ЭБС, в том числе по нему осуществляет репликацию новых книг в ВУЗовские библиотеки без каких-либо ручных действий на местах.

В качестве веб-сервера используется nginx, висящий на SSL-порту. Соответственно, на сервере установлен wildcard-сертификат на *.bibliotech.ru. Этот самый wildcard-сертификат официальный от RBK и позволяет браузерам IE, Chrome и Opera не ворчать на самоподписанный сертификат. Однако, на сертификат ругается FireFox, все-таки библиотех выбрал не самую лучшую компанию для заказа wildcard-сертификата. Обратной стороной такого подхода являются:
1) ЭБС находится не в домене ВУЗа, а в домене библиотеха.
2) Библиотех выдает свой wildcard-сертификат всем своим клиентам, что категорически не правильно (для каждого ВУЗа должен покупаться свой сертификат) и, при утечке сертификата в одной из библиотек, позволяет проводить атаки типа "человек по середине" на всех других библиотеках.

Для пользователя библиотека выглядит как обычный сайт, защита на котором осуществляется по логину и паролю, выдаваемыми в библиотеке. Страницы книги - просто листающиеся рисунки в не слишком высоком разрешении и средним размером 70 КБ. Время между запросом новой страницы и началом выдачи рисунка на ненагруженном сервере: 300 мс, что вполне нормально. Рисунок на сервере на файловой системе не кешируется и каким-либо образом не обрабатывается. Возможности получить рисунок в 300dpi в браузере нет. Неавторизованные пользователи не могут скачать страницы книги, т.е. знание ссылки на рисунок ничего не даст, с другой стороны, авторизованный пользователь легко может написать паука для выгрузки всех страниц книги и узнать кто и что выгрузил будет затруднительно.

В библиотех можно загружать собственные книги в форматах PDF и DJVU. Для этого используется АРМ библиотекаря под Windows. При загрузке своей книги, надо будет руками написать соответствие содержания книги и страницы. Собственно, мне не очень понятно зачем используется нативное приложение, вместо того, чтобы сделать все на вебе. Вторая претензия касается выводимых приложением сообщений, которые являются отборным IT-матом. Сообщения программы, с которой работаю библиотекари, должны быть им понятны, а те что есть сейчас непонятны даже IT-специалистам.

Маркетинг системы

По тому факту, что в инсталляции библиотеха хранятся вообще все книги, а не только те что купил ВУЗ и есть самая неприятная новость. Фактически, библиотех под видом ВУЗовской ЭБС продает свой собственный интернет-магазин книг, чтобы библиотеки поставили его на свои серверные мощности, популяризовали его среди читателей, оплачивали интернет-трафик, а деньги за покупки книг из своего магазина платили создателям библиотеха! Человек, который придумал такую нетривиальную схему - просто гений маркетинга.

Однако, такая схема не удобна для библиотеки:
1) Читатели видят в ВУЗовской библиотеке кучу книг, к большинству из которых у них нет доступа (библиотека купила только часть книг) и им предлагается оплатить доступ через интернет (полистать книгу в режиме предпросмотра на lib.bibliotech.ru) или попросить библиотеку купить книгу.
2) Библиотех не предлагает навигации по каталогу путем кликов. Искать по выбранным тематикам можно, но сам каталог плоский и не пригоден для поиска интересной книги просто блужданием по каталогу.

В библиотехе плоский каталог, в котором свалены в кучу все книги. Уже сейчас в каталоге 1637 страниц.

Правда, справедливости ради, надо отметить, что при поиске в ЭБС можно указать отображение в результатах поиска только книг, доступных для бесплатного чтения. Но даже не смотря на это, ощущение что ВУЗ купил чужой интернет-магазин остается.
При полнотекстовом поиске можно указать рубрики и специальности, в которых искать текст. При этом отметив "В наличие", поиск будет проводиться только в купленных ВУЗом книгах.

Поиск

Возможен полнотекстовый поиск как в выбранных разделах, так и в пределах одной книги. При поиске внутри книги работает подсветка слов. В целом, поиск организован достаточно хорошо, кроме двух проблем:
1) Поиск не учитывает морфологию.
2) При выборе любого раздела для поиска, следующий раздел придется находить снова от корня классификатора.
Поиск внутри книги. Работает подсветка найденных слов, но морфология не учитывается

Создание аккаунтов читателей и интеграция в информационную систему ВУЗа

У любой библиотеки встанет вопрос о том, как создать учетные данные читателей в системе. Возможность только одна: загрузить подготовленный xml-файл с логинами и паролями читателей через АРМ администратора. При этом, если читатель с указанным в файле логином уже существует, то он просто обновится. Возможности забрать читателей из LDAP или чего-то подобного в библиотехе не предусмотрено, а загрузка xml-файла возможна только через АРМ. Соответственно, полностью автоматизировать загрузку читателей из существующей ВУЗовской системы нельзя. Ладно, может можно генерировать нужный файл со всеми читателями каждый день и давать библиотекарям чтобы с утра загружали? Можно, только пароли в xml-файле должны быть незашифрованными. Но, во-первых: в большинстве нормальных информационных систем пароли с самого начала хранятся в зашифрованном виде, во-вторых: библиотекари не должны иметь доступ к учетным записям ВУЗовской информационной системы, а, значит, выходит надо выбрать один из следующих вариантов:
1) Загружать xml-файл читателей должен сотрудник ИТ-службы ВУЗа, имеющий наивысший доступ к информации, при этом централизованная система ВУЗа должна где-то хранить логины/пароли в незашифрованном виде.
2) Раздать всем пользователям библиотеки отдельные логины/пароли на доступ только к библиотеху. Что требует дополнительных усилий со стороны ВУЗа и пользователей библиотеки.

Веб-интерфейс

У библиотеха довольно удобный веб-интерфейс для чтения электронной книги с компьютера, однако в некоторых моментах его можно было бы сделать еще лучше. Для чтения с мобильных устройств интерфейс специально не оптимизирован.
Интерфейс чтения книги в браузере. Отображается только текущая книга, панели слева и справа можно скрыть. Переход на следующую страницу осуществляется одиночным кликом мышью. 
Разрешение рисунка, который отображается пользователям на сайте в качестве страницы книги.

Интеграция с существующим каталогом библиотеки


В качестве каталога библиотех предлагает использовать внешнюю систему, обеспечив возможность выгрузки данных MARC-записей. Мне видится в таком подходе простой недостаток:
Пользователи хотят видеть каталог таким, какой он есть на сайтах книжных магазинов, чтобы можно было кликами походить по древовидному каталогу электронных книг и посмотреть на загаловки и обложки хранящихся книг для выбора чего-то интересного. Но такой возможности не предоставляет ни библиотех (каталог плоский, а не древовидный, все свалено в кучу, а в качестве основного средства навигации предлагается использовать поиск), ни web-ИРБИС, пользоваться которым просто неудобно.

Заключение

Библиотех - интересная система как с технической точки зрения, так и с маркетинговой. Судя по коду в ASP-страницах, запрограммирован довольно добротно, а по схеме доставки книг и работе на Linux-based инфраструктуре, команда разработчиков у него довольно сильная. Стоимость системы 390 т.р., учитывая Oracle внутри (150 т.р.), довольно разумная, годовая техподдержка дешевая. Но, при этом, некоторые решения технического и маркетингового характера довольно спорны и не удобны конечным покупателям - библиотекам.
Отдельно отмечу недостатки:
1) Не продумана процедура интеграции ЭБС в существующие информационные системы ВУЗа.
2) Нет читалки под мобильные устройства.
3) Возможность использования библиотеха для хранения ВУЗовских материалов ограничена поддержкой только книг в форматах PDF и DJVU и только распространением внутри ВУЗа. В этой статье я описал почему этой возможности недостаточно.
4) Пользователей быстро разлогинивает, стоит просто зачитаться или задуматься и, при перелистывании на следующую страницу, придется вновь вводить логин и пароль.

Комментарии

Популярные сообщения из этого блога

Обзор почтового клиента Pronto Pro!

Подключаем ZFS over iSCSI на Oracle Linux 8 (CentOS) в Proxmox

Архитектура катастрофоустойчивого сервиса