НОВЫЕ ТЕХНОЛОГИИ В ИНФОРМАЦИОННОМ ОБЕСПЕЧЕНИИ НАУКИ

Использование протокола Z39.50
в БЕН РАН

В.П. Варакин, С.А. Власова
(БЕН РАН)

В настоящее время протокол Z39.50, наряду с протоколом HTTP, используется для доступа к базе данных, содержащей сводный электронный каталог книг и продолжающихся изданий БЕН РАН. В его состав входят серии, труды различных организаций и обществ, материалы конференций. Каталог отражает поступления в ЦБС БЕН РАН отечественной литературы, начиная с 1993 года, и зарубежной, начиная с 1995 года.

База данных, поддерживающая каталог, имеет нестандартную структуру и нетрадиционный язык манипулирования данными, что существенно осложнило прямое использование макетного динамического провайдера, поставляемого с сервером ZooPARK (разработан ОИГГиМ СО РАН в рамках проекта Libweb), на основе которого осуществляется доступ к каталогу.

В связи с этим дополнительно были реализованы:

  • идентификация процессов пользователей;
  • динамическое кэширование в целях избежания блокирования процессов пользователей;
  • обеспечение проведения поиска по сложному предикату;
  • обеспечение форматирования выходной информации с использованием кириллической мнемоники идентификаторов полей и включением гиперссылок.

Предоставленный макетный провайдер данных содержит библиотеку динамических функций, которые были модифицированы в соответствии с внутренней структурой базы данных каталога.

Изменены функции поиска - dll_search и представления - dll_present: в частности, в них добавлено обращение к новым специальным функциям (proc_record, search_Z39), обеспечивающим поиск записей в электронном каталоге книг и продолжающихся изданий БЕН. В качестве алгоритма поиска был взят соответствующий алгоритм системы представления данного каталога в Интернет под протоколом HTTP.

Строка запроса sQueryBuf, передаваемая в функции исходного провайдера данных, имеет синтаксис:

sQueryBuf ::= 'a=' AttrSet rpnString

AttrSet ::= VAL_BIB1 | VAL_GILS | VAL_EXP1 |...

rpnString ::= aptString | '(o=' operator aptString aptString ')'

aptString ::= '(' ['['attrList ']'] termLen '"' term '"' ')'

term ::= string

termLen ::= integer

attrList ::= AttrSet aTyp aValue [attrList]

aTyp ::= integer

aVal ::= integer

Например, запрос на поиск записей изданий автора "Иванова", названия которых содержат термин "Геолог" с правым усечением, будет иметь вид:

a=4 (o=0 ([4 1 1003] 6 "Иванов")([4 1 4 4 5 1] 6 "Геолог"))

Функции proc_record распаковывает строку запроса, помещая данные в следующие переменные:

term1,term2,term3 - поисковые термины;

field1,field2,field3 - номера поисковых полей в БД БЕН;

comb_out12,comb_out23 - логические связки между строками запроса.

Номера поисковых полей определяются из файла TABL.INI, имеющего следующую структуру:

<номер в строке запроса - aValue > <номер поля в БД БЕН>

Функция search_Z39 принимает приведенные выше переменные, осуществляет поиск в базе данных и возвращает количество найденных записей. Найденные в результате поиска записи помещаются в файл в формате GILS, из которого производится их выдача пользователю функцией dll_present.

Созданный провайдер данных, представляющий собой динамическую библиотеку функций, был реализован в среде Windows 2000 c использованием средств Microsoft Visual C++ 6.0 и включен в систему сервера ZooPARK. Данный провайдер обеспечивает поиск в каталоге книг и продолжающихся изданий по запросам, содержащим от одного до трех поисковых терминов (допускается правое усечение), связанных логическими "И", "ИЛИ", "НЕ".

В настоящее время на стадии реализации провайдер данных для каталога НАУКА РОССИИ.

Наряду с этим осуществлена разработка нового интерфейса и модификация исполнительной части GATEWAY Z39.50 (базовый вариант разработан ОИГГиМ СО РАН).

На текущий момент GATEWAY Z39.50 БЕН РАН обеспечивает доступ к следующим базам данных.

  • Каталог книг и продолжающихся изданий БЕН РАН.
  • Каталог журналов БЕН РАН.
  • Каталог ГПНТБ России.

Базы документов "Агрос" ЦНСХБ РАСХН.

  • База 1998-2001.
  • База 1996-1997.
  • База 1990-1995.
  • База 1985-1989.
  • База журналов.
  • Книги до 1995 года.

В настоящее время разрабатывается новая версия GATEWAY Z39.50, обладающая дополнительными функциональными возможностями.