В.А.Капустин, В.М.Смирнов
Санкт-Петербургский государственный университет
Тел.: (812) 217-54-22, факс: (812) 213-71-75, e-mail: vak@mail.nw.ru, vms@bnc.usr.pu.ru
Изобретение протокола передачи гипертекста (HTTP) в 1989 г. оказало колоссальное влияние на развитие Интернет - возникла гипертекстовая сеть, получившая название "Всемирная паутина" (WWW - World Wide Web). Одним из основных достоинств HTTP является его простота: протокол не имеет "памяти" (stateless). Это достоинство протокола позволило создать множество серверов и клиентов. Но это достоинство явилось и существенным недостатком протокола при попытке применения его для решения сколько-нибудь сложных задач поиска и обработки информации, отличающихся от простого перемещения по гипертекстовым связям.
Этот недостаток HTTP проявляется в отсутствии каких-либо средств сохранения уже найденой информации (или, хотя бы, сведений об уже найденной информации) - в протоколе отсутствует понятие о сеансе ("session"). Уже ранние программы навигации в WWW (browsers) стали пытаться преодолеть этот недостаток, фиксируя историю навигации в отдельном сеансе работы с программой. Все современные программы навигации в WWW содержат и другое средство сохранения сессионной информации - закладки. Существует и множество отдельных дополнительных средств работы с закладками. Несколько позже стали развиваться средства поддержания сеансов со стороны серверов - cookies - и различного рода сценарии, включаемые в гипертекст (Java, JavaScript, PerlScript, ActiveX).
Дело в том, что при работе с достаточно сложной информацией, содержание которой не может быть быстро оценено пользователем, необходимо многократное возвращение к тем или иным опорным точкам с тем, чтобы исследовать многие возможные варианты навигации от той точки, оценка которой как относительно полезной уже сложилась.
В то же время уже в 80-е годы сложился стандарт на языки поиска вторичной информации - типа библиографической и реферативной - на базе языка информационно-поисковой системы STAIRS разработки IBM, получивший статус стандарта ISO. Этот стандарт, помимо собственно языка запросов, включает сессионную информацию (результаты прежних поисков, на которые можно ссылаться в дальнейшем) и средства управления объемом получаемой информации (легко представить себе, что при поиске в полнотекстовой базе данных объем результата может быть столь велик, что время на передачу результата может оказаться чрезмерно большим). Обеспечение доступа через Интернет к серверам, поддерживающим STAIRS-подобные языки запросов, потребовало создания специального протокола, содержащего средства поддержания сеанса. Такой протокол был создан группой организаций США во главе с Библиотекой Конгресса США, и стандартизован ANSI. Он получил название Z39.50.
Нами опробовано несколько бесплатных серверов Z39.50 для Windows NT. Все они имеют те или иные проблемы при работе с кириллическими текстами. Мы планируем пересобрать сервер Zebra датской фирмы Index Data для корректной работы с кириллицей под Windows NT, однако это требует большой предварительной работы по подготовке соответствующих библиотек.
Временно нами было принято решение по нестандартной кодировке кириллицы с использованием специальных Esc-последовательностей. Такая кодировка требует специальной обработки в клиенте протокола Z39.50. Поскольку ни один из известных нам бесплатных клиентов Z39.50 не обрабатывает кириллицу вообще, мы решили создать собственный клиент, который, к тому же, имел бы визуальные средства, облегчающие написание сложных запросов на языке STAIRS.
Имя в виду необходимость обеспечения переносимости, было принято решение писать программу-клиент Z39.50 в виде Java-приложения, исполняемого в броузере. При реализации такого подхода оказалось, что достаточно нетривиальные Java-конструкции в Netscape Navigator и MS IE ведут себя по-разному (вплоть до неработоспособности), поэтому было принято решение ограничиться (пока) Netscape Navigator.
К настоящему времени создан клиент Z39.50 в виде Java-приложения, исполняемый в Netscape Navigator. Этот клиент реализует основные службы Z39.50 уровня 3 и имеет визуальный построитель запросов STAIRS, позволяющий пользователю подгружать метаинформацию о базе данных, в которой будет производиться поиск, выбирать из этой метаинформации имена полей для связывания их с локальными поисковыми критериями и контролировать расстановку скобок по автоматическому смещению соответствующей части запроса, наблюдаемому в специальном окне программы-клиента.
Информацию по текущему состоянию работы можно найти по адресам http://www.nic.nw.ru/Z39.50/ и http://www.hpc.nw.ru. Настоящая работа частично финансируется проектом Программы "Интеграция академической науки и высшей школы".