Публикация локальных баз данных
в Интернет на примере электронной библиотеки
Мартынов Илья Алексеевич
Вопрос перенесения и совместимости данных остро стоит при переходе с одной технологии на другую. При уже существующей, хорошо продуманной системе программного обеспечения, позволявшей решать поставленные задачи в прошлом, но явно недостаточной для решения задач в будущем, переход на новые технологии, будь то сервер баз данных, визуальное программирование или программирование для Интернет, является нетривиальной задачей для каждого конкретного случая и требует тщательного изучения "старой" и "новой" технологий.
В данной статье будет рассмотрен пример переноса данных из системы электронного каталога ЕС4 в Интернет. Данная программа широко используется в российских библиотеках, позволяя вести учет литературы, осуществлять поиск по базе данных, вести несколько каталогов литературы (книги, журналы, дипломы и т.д.) и др. Реализованная в среде Clipper, данная система чаще всего используется как одиночно-стоящая программа, доступ к данным которой можно осуществить только в данной системе и с данного рабочего места. Существует, однако, и сетевая версия программы, при которой все рабочие станции должны иметь данную программу, позволяя пользоваться библиотечным каталогом в рамках локальной сети. Однако, созданная как приложение DOS, она часто не вписывается в общую структуру программного комплекса организации, нарушает единую среду передачи данных в локальной и корпоративной сети.
В связи с этим, а также с необходимостью представления данных в Интернет, автору было предложено рассмотреть возможность создания, на основе данных системы ЕС4, сетевого приложения, обеспечивающего работу с базой данных не только в рамках локальной сети, но и в Интернет. Суть этого решения, основанного на технологии intranet/Internet состоит в том, чтобы использовать "чистую" технологию клиент-сервер, как для хранения информации, так и для ее представления. Под хранением подразумевается использование клиент-серверных СУБД, способных одновременно обрабатывать запросы нескольких пользователей, а также легко интегрироваться с другими приложениями и технологиями, позволяя извлекать информацию из БД различными способами, не говоря уже о повышенной, по сравнению с DBF-файлами, устойчивости и скорости обработки данных.
Под представлением информации следует понимать принятую в Internet систему клиент-сервер, основанную на наличии общедоступного ресурса, источника информации (WEB-сервера) и клиента, запрашивающего и передающего необходимые данные на сервер с помощью программы-обозревателя. Кроме того сюда также можно включить правила и стандарты передачи информации, основным элементом которой можно считать язык гипер-текстовой информации HTML, с помощью которого возможно построение необходимого интерфейса работы пользователя и системы, организации диалога, обратной связи и т.д. Созданная таким образом система позволит избавиться от установки дополнительного программного обеспечения в рамках корпоративной сети учреждения, кроме стандартного Интернет-обозревателя (Internet Explorer, Netscape Navigator и др.), т.к., фактически, вся работа приложения будет сосредоточена на сервере, а пользователям сети будут передаваться результаты работы в виде сгенерированных HTML-страниц. Отпадет также проблема обновления программы, т.к. весь программный код храниться на сервере: нет необходимости что-либо менять на рабочих местах. Использование клиент-серверной технологии позволит работать с каталогом базы данных большому числу пользователей без вероятности его разрушения или получения устаревших, неактуальных данных.
Сам процесс переноса данных из одной базы данных в другую также может быть организован различными способами. Самый простой способ - используя встроенный механизм ЕС4 выгрузить базу данных в файл с разделителями (CSV) и загрузить его в базу данных на сервере, где, с помощью внешнего приложения или хранимых процедур СУБД, осуществить извлечение данных из MARC-последовательностей для заполнения полей таблицы с заранее созданной структурой. Опуская вопрос несовместимости кодировок символов, данный способ является недостаточно гибким для безошибочного переноса данных, т.к., фактически, реализовывается только средствами SQL, гибкость и возможности которого зависят СУБД используемого сервера баз данных.
Другой вариант, который можно рассмотреть, заключается в использовании промежуточной базы данных (например Access), в которую выгружаются данные и где возможна автоматизация разнесения данных с помощью встроенного языка (в случае с Access - Visual Basic) и последующая передача данных на сервер (экспорт данных) в виде файла или используя ODBC.
Третий вариант, который был реализован не практике, позволяет обходиться без декодирования MARC-кодов, оставляя эту функцию самой системе ЕС4. Суть его заключается в использовании поисковых таблиц системы как источника данных. Автором было создано сетевое приложение, осуществляющее автоматический перенос данных из поисковых таблиц ЕС4 в базу данных на сервере. При этом осуществляется не только "сбор" данных из разных таблиц в один кортеж, перекодировка и контроль за корректностью переноса, но и частичное избавление от избыточности, путем создания дополнительных таблиц (предметных рубрик, языков) и простановки соответствующих индексов, т.е. связывания таблиц, что и предполагает реляционная модель данных.
Программа была написана на объектно-ориентрованном языке Java, используя интерфейсы JDBC-ODBC, возможности работы по сети, а также способности взаимодействовать с самыми различными серверами баз данных в качестве клиента, которая реализована с помощью дополнительных классов, подключаемых к стандартному набору JVM (Java Virtual Machine). Используя данное приложение, на сервер в полностью автоматическом режиме были перенесены каталоги книг и дипломов библиотеки БИБММ.
После перенесения данных на сервер БД (в данном примере была использована СУБД MySQL), необходимо сформировать систему программ для работы с базой данных по технологии Intranet/Internet для динамического формирования HTML-страниц. Эта тема широко описана в литературе и в Интернете, т.к. представляет собой стандартное решение построения сайта и работы с базой данных. В частности, автором был использован язык PHP позволяющий вести работу с самыми различными базами данных, программно создавать HTML-код и, таким образом, обеспечивать пользователя библиотечной и другой информацией через Интернет.
Таким образом, на основе новых Интернет-ориентированных технологий возможно осуществить полный переход от старого программного обеспечения к новому, способному использовать все достоинства и масштабы современных сетевых технологий. Доступ к информации становится гораздо проще и удобнее и, что немаловажно, создаются предпосылки для дальнейшей модернизации и усовершенствования поисковых и других систем, их интеграции в общую структуру организации.
Литература
Атре Ш. Структурный подход к организации баз данных. - М.: Финансы и статистика, 1983. - 320 с.
Шнитман В. З., Серверы корпоративных баз данных, Центр Информационных Технологий (www.citforum.ru)
Дейт К. Введение в системы баз данных //6-издание. - Киев: Диалектика, 1998. - 784 с.