О журнале
Рекомендации
Состояние и перспективы использования протокола Z39.50 в информационном сообществе России
Жижимов О.Л., Мазов Н.А.
О.Л. Жижимов, Н.А. Мазов
Объединенный Институт геологии, геофизики и минералогии Сибирского отделения РАН
В настоящее время, наверное, ни у кого не вызывает сомнения утверждение, что наиболее эффективный способ работы с базами данных в сетевом окружении – работа в модели «клиент-сервер». Существует множество схем организации подобной модели с различным количеством промежуточных слоев, но суть их одна – жесткое разграничение ролей клиента и сервера данных при сетевой работе. Клиент – потребитель информации, он является инициатором запросов. Сервер – исполнитель, он обслуживает запросы клиента и не может быть их инициатором. Самый яркий пример реализации архитектуры «клиент-сервер» – служба WWW Интернета.
Широкое распространение локальных и глобальных сетей в России, в том числе и в библиотеках, уже сегодня ставит во главу угла необходимость использования правильной идеологии при построении конечных информационных систем. Более того, уже сегодня актуальным становится вопрос о взаимодействии различных информационных систем, т. е. о стандартизации сетевой работы.
Для разработки распределенных информационных систем сегодня используются различные технологии (RPC, DCOM, RMI, ODBC, JDBC, CORBA и др.) [1–5]. Большая часть этих технологий по своей сути ориентирована не на работу с базами данных, а на сетевое взаимодействие программ и распределенные вычисления в гетерогенных средах. Применяя эти технологии отдельно или в комплексе, несомненно, можно организовать сетевую работу с базами данных. Более того, для каждой конкретной СУБД можно подобрать технологию, обеспечивающую высокий уровень эффективности и функциональности. Однако ни одна из упомянутых технологий не обеспечивает универсальных способов работы с базами данных – необходимого уровня абстрагирования от конкретных систем и платформ при сохранении высокой степени функциональности и предоставления пользователю единого интерфейса доступа к различным СУБД. Тем не менее, такая технология существует, причем она гораздо старше, чем почти все из вышеперечисленных – это протокол ANSI Z39.50 [6]. Зрелость этой технологии подтверждается принятием ее в качестве стандарта ISO-23950 в ноябре 1998 года.
Технология сетевого доступа к базам данных по протоколу Z39.50 существенно отличается от других технологий. Отличие обусловлено самой сутью протокола: ориентация на работу с базами данных, абстрагирование от конкретных систем, жесткая регламентация структуры пересылаемых данных [7].
В основе Z39.50 (здесь и ниже см. описание стандарта [6]) лежит идея построения абстрактной модели работы с абстрактной базой данных. Каждый элемент этой абстрактной модели подробно описывается до однозначного толкования и стандартизуется с присвоением уникального идентификатора. Работа с каждой конкретной СУБД согласно Z39.50 должна быть организована только через эту абстрактную модель путем обмена прикладными пакетами данных, содержащими последовательности идентифицируемых по меткам объектов.
Применение протокола Z39.50 позволяет организовать распределенную информационную систему общего назначения с богатыми функциональными возможностями. Кратко охарактеризуем некоторые из этих возможностей.
- Аппаратно-программная независимость – протокол может быть реализован на любой аппаратно-программной платформе, допускающей работу в сети. Применяемые методы кодирования информации (BER) позволяют скрыть аппаратные различия в организации и архитектуре данных.
- Работа с распределенными данными – протокол позволяет совершенно прозрачно для пользователя работать с данными, расположенными на разных физических серверах, различных аппаратно-программных платформах и хранящихся в различных внутренних форматах.
- Единая система запросов – протокол стандартизирует систему запросов к базам данных как через синтаксис, например, RPN, так и через систему стандартных наборов поисковых атрибутов.
- Единые форматы представления данных – протокол подразумевает представление данных в стандартных форматах, определенных глобально.
- Метаинформация – возможность построить базу метаданных Explain, содержащую стандартное описание информационной системы.
- Открытость – протокол является открытым стандартом ISO-23950, в Интернете можно найти реализации компонент систем Z39.50 в открытых текстах.
- Связь с другими системами – возможность интегрировать ресурсы информационных систем, основанных на использовании этого протокола, с ресурсами других подобных информационных систем.
Наряду с положительными моментами, перечисленными выше, существует и негативный момент эксплуатации информационной системы, основанной на Z39.50 – доступность информационной системы только по этому протоколу. Это хорошо в случае построения специализированной системы, например, библиотечной, доступ к которой возможен только через специализированные рабочие места – клиенты Z39.50. Однако для широкого доступа необходима система шлюзов, позволяющая предоставлять информацию в WWW, как в наиболее демократичную и распространенную службу Интернета. Реализация подобных шлюзов требует дополнительных затрат.
Тем не менее, Z39.50 является, на наш взгляд, оптимальным протоколом для работы с базами данных в больших гетерогенных распределенных системах. Разрабатываемый изначально для доступа к библиографическим данным, этот протокол на сегодняшний день используется сотнями библиотек мира и крупнейшими информационными системами как для предоставления доступа к своим ресурсам, так и для технологического обмена данными. Область применения протокола Z39.50 в мировом информационном сообществе вышла за рамки своего изначального назначения. Сегодня протокол используется для доступа не только к библиографическим ресурсам, но и для доступа к различным научно-техническим и другим данным, например, к данным ГИС, к справочной информации и др. Также расширяются возможности самого протокола [8].
Следует заметить, что в России протокол Z39.50 пока не нашел такого широкого применения, как в развитых странах. Даже ведущие российские библиотеки сегодня не предоставляют доступ к своим информационным ресурсам по стандарту Z39.50. Этот факт, несомненно, ограничивает информационный обмен между Россией и Западом и ставит Россию в разряд информационно-недоразвитых стран. Тем не менее, в России уже существует ряд организаций и групп специалистов, профессионально занимающихся внедрением протокола Z39.50. Об этом свидетельствует тот факт, что на официальном Web-сервере агентства Z39.50 (http://lcweb.loc.gov/z3950/agency/register/entries.html) на ноябрь 1999 года были зарегистрированы три российских группы разработчиков программного обеспечения этого протокола при общем количестве действующих разработчиков – 77 (Группы разработчиков программного обеспечения в Z39.50 подлежат регистрации для присвоения идентификатора. Этот идентификатор используется для порождения локальных объектов). Это:
- (ID=148) Государственный технический университет (г. Санкт-Петербург);
- (ID=155) Объединенный Институт геологии, геофизики и минералогии СО РАН (г. Новосибирск);
- (ID=163) Сибирский технический центр (г. Томск).
Поэтому следует предполагать, что в России функционирует или в скором времени будет функционировать созданное ими программное обеспечение Z39.50. Действительно, в реестре мировых тестируемых серверов Z39.50, который ведет компания IndexData (http://bagel.indexdata.dk/targettest/targetstat.shtml), присутствуют ссылки:
Попытаемся кратко охарактеризовать каждый из этих серверов.
Санкт-Петербург. Сервер группы разработчиков Санкт-Петербургского политехнического университета реализован на различных аппаратно-программных платформах. Эта группа [7] первой в России приступила к внедрению Z39.50, причем не только на уровне информационного сервиса, но и на уровне обеспечения технологических библиотечных процессов. Сервер предоставляет информацию в форматах USMARC, UNIMARC, RUSMARC по каталогу библиотеки. Наиболее интересная черта – предоставление доступа по протоколу Z39.50 к полнотекстовой базе данных в формате HTML. Explain не поддерживается. Следует заметить, что указанный сервер является лишь одним из серверов Z39.50 Центра «Открытые Библиотечные Системы». Насколько известно авторам, сервер предоставляет доступ к данным, хранящимся в реляционных СУБД (Oracle и др.).
Новосибирск (ОИГГиМ СО РАН). Сервер, разработанный авторами настоящей статьи (ID=155), построен по модульному принципу с динамической загрузкой провайдеров данных (CDS/ISIS, MS SQL, Zebra, Remote Z39.50). Реализован на различных аппаратно-программных платформах [9] и является основным в кластере серверов Z39.50 СО РАН. Обеспечивает доступ к электронным реферативным журналам и другим базам данных. Форматы представления: SUTRS, GRS1, USMARC, UNIMARC, RUSMARC, HTML, XML, RTF. Суммарное количество записей в доступных БД превышает 2 млн. Поддерживается Explain в категориях: CategoryList, TargetInfo, Data-ba-se-Info, TagSetInfo, SchemaInfo, AttributeSetInfo. Сервер ориентирован на работу не только с библиографической информацией, но и с другими типами (ГИС, справочная и т. п.).
Новосибирск (ГПНТБ СО РАН). Сервер разработки ОИГГиМ СО РАН (ID=155) является составляющей кластера серверов Z39.50 СО РАН. Предоставляет доступ к электронному каталогу ГПНТБ СО РАН. Форматы: SUTRS, GRS1. Поддерживается Explain в категориях: CategoryList, TargetInfo, DatabaseInfo.
Москва (ГПНТБ России). Сервер разработки ОИГГиМ СО РАН (ID=155) предоставляет доступ к электронному каталогу ГПНТБ России. Форматы: SUTRS, GRS1, USMARC, UNIMARC, RUSMARC, HTML, XML, RTF. Поддерживается Explain в категориях: CategoryList, TargetInfo, Data-baseInfo, TagSetInfo, SchemaInfo, Attri-bu-te-Set-Info.
Москва (МГУ). Недавно появившийся сервер неизвестного производства. Индекс разработчика отсутствует. Форматы: только USMARC. Имеет очень ограниченные функциональные возможности. Explain не поддерживается. Авторы предполагают, что сервер является частью системы «Библиотека-2000».
Томск (Политехнический университет). Используется свободно распространяемый сервер от IndexData. Наверное, в будущем можно ожидать появления сервера собственной разработки (ID=163). Обеспечивает доступ к каталогу библиотеки. Форматы: USMARC, SUTRS, GRS1. Explain не поддерживается.
Это – весь список российских серверов Z39.50, известных авторам в настоящее время.
Очевидно, что для эффективного применения протокола Z39.50 недостаточно наличия только серверного программного обеспечения. Программное обеспечение клиента – необходимый атрибут информационных систем на базе протокола Z39.50. При этом клиентское программное обеспечение Z39.50 может существовать в двух вариантах:
- шлюз Z39.50-WWW на Web-сервере;
- специальные клиентские программы (АРМ) Z39.50, в том числе графические.
Если первый вариант обеспечивает широкий доступ к ресурсам Z39.50 через Web из обычного браузера, как правило, с минимальной функциональностью, то второй может предоставить полнофункциональный сервис Z39.50 для профессионалов и наиболее подготовленных пользователей. В мире развиваются оба направления: существуют как коммерческие, так и свободно распространяемые в исходных текстах программы-шлюзы Z39.50-WWW, например, ZAP (IndexData), и специализированные программы-клиенты Z39.50, как правило, коммерческие, например, BookWhere (Sea Change Corporation). В России следует ожидать развития этого программного обеспечения, так как зарубежные пакеты не удовлетворяют нашей национальной специфике, прежде всего, в части поддержки различных кодовых таблиц. В настоящее время авторам известны два шлюза Z39.50-WWW в Санкт-Петербурге (http://www.ruslan.ru:8001/z3950/gateway.html) и в Новосибирске (http://geolibr.uiggm.nsc.ru/zgw) (рис. 1), реально предоставляющие доступ к ресурсам Z39.50. Ниже приводятся их основные характеристики (табл. 1).
Гораздо хуже ситуация с автономными программами-клиентами Z39.50. На сегодняшний день авторам неизвестна ни одна российская готовая программа-клиент Z39.50, хотя работы ведутся в Новосибирске (ОИГГиМ СО РАН), Санкт-Петербурге (Открытые Библиотечные Системы) и в Москве (ГПНТБ России). На рис. 2 изображен фрагмент сеанса Z39.50 в специализированной программе-клиенте, разрабатываемой в ОИГГиМ СО РАН.
Таблица 1. Основные характеристики шлюзов Z39.50-WWW
Отметим одну из основных проблем, с которой приходится сталкиваться разработчикам программного обеспечения Z39.50 для России. Это – вечная проблема кодовых таблиц. Стандартом предусмотрена возможность оповещения сервера клиентом о предпочтительном языке и наборе символов при открытии сеанса. К сожалению, в стандарте эта возможность описана достаточно туманно, что затрудняет ее использование. Тем не менее, вопрос об оповещении нужно решать и добиться результата, на наш взгляд, можно.
Наконец, следует заметить, что в последнее время интерес к Z39.50 в библиотечном мире России существенно вырос. Толчком этому послужило объявление Институтом «Открытое Общество» конкурса по корпоративным библиотечным системам. В условиях этого конкурса обязательным атрибутом корпоративной библиотечной системы является поддержка протокола Z39.50 и RUSMARC. Как следует из статьи [10], протокол Z39.50 сегодня поддерживает система «Библиотека-2000» (Libsoft+) и система Aleph 500 (ExLibris), однако, действующие реализации сервера Z39.50 на базе этих систем авторам к настоящему моменту неизвестны.
Таким образом, общая картина применения протокола Z39.50 в России на настоящий момент оставляет желать лучшего. Можно предположить, что дальнейшее внедрение новейших информационных технологий в библиотечные технологические процессы, а также усилия отдельных энтузиастов и влиятельных организаций типа Института «Открытое Общество», РФФИ и LibWeb изменят эту ситуацию.
Литература
1. Джим Грей о сегодняшнем и завтрашнем дне баз данных // СУБД, 1998, № 3. С. 20–21.
2. Бернстайн Ф. Middleware: модель сервисов распределенной системы // СУБД, 1997, № 2. С. 41–60.
3. Microsoft Corporation. Справочник по Microsoft OLE DB 1.1 / Пер. с англ. // М., Издательский отдел «Русская Редакция» ТОО «Channel Trading Ltd.», 1997. 624 с. ISBN 5-7502-0054-X
4. Пуха Ю. CORBA/IIOP и Java RMI. Основные возможности в сравнении // СУБД, 1997, № 4. С. 24–36.
5. Галатенко В., Таранов А. Компонентная объектная модель JavaBeans // СУБД, 1997, № 4. С. 42–60.
6. ANSI/NISO Z39.50-1995. Information Retrieval (Z39.50): Application Service Definition and Protocol Specification. Z39.50 Maintenance Agency Offical Text for Z39.50 – 1995, July 1995.
7. Племнек А. И., Усманов Р. Т. Z39.50: открытый доступ к библиографической информации // Научные и технические библиотеки, 1998, № 8. С. 24–28.
8. Sonya Finnigan, Linda Bird, Andrew Goodchild. Z+SQL – Issue 2. 1. DSTC Pty Ltd, Australia.
http://archive.dstc.edu.au/DDU/projects/Z3950/Z+SQL/Z+SQL_Issue_2_1.htm
9. Жижимов О. Л., Мазов Н. А. Модель распределенной информационной системы Сибирского отделения РАН на базе протокола Z39.50 // Электронные библиотеки, 1999, т. 2, вып. 2. ISSN 1234-5678.
10. Рузайкин Г. И. От либерии к всемирной библиотеке // Мир ПК, 1999, № 10. С. 86–89.
© Информационное общество, 2000, вып. 2, с. 39 - 43.