Разработка шлюза WWW-Z39.50
Рассматривается разработка Web-ориентированного шлюза доступа к локальным и распределенным информационным ресурсам посредством протокола Z39.50 (стандарт ISO-23950).
Для разработки распределенных информационных систем сегодня используются различные технологии. Большая часть этих технологий по своей сути ориентирована не на работу с базами данных, а на сетевое взаимодействие программ и распределенные вычисления в гетерогенных средах. Применяя эти технологии отдельно или в комплексе, несомненно можно организовать сетевую работу с базами данных. Более того, для каждой конкретной СУБД можно подобрать технологию, обеспечивающую высокий уровень эффективности и функциональности. Однако ни одна из упомянутых технологий не обеспечивает универсальных способов работы с базами данных - необходимого уровня абстрагирования от конкретных систем и платформ при сохранении высокой степени функциональности и предоставления пользователю единого интерфейса доступа к различным СУБД.
Исходя из вышесказанного, в качестве базового средства для обеспечения доступа к распределенным корпоративным библиотечным ресурсам выбрана поддержка Z39.50 - современного эффективного протокола с богатыми функциональными возможностями, специально предназначенного для работы с базами данных. Технология сетевого доступа к БД здесь существенно отличается от других технологий, что обусловлено самой сутью протокола: ориентация на работу с базами данных, абстрагирование от конкретных систем, жесткая
регламентация структуры пересылаемых данных. Одним из основных достоинств применения протокола Z39.50 является возможность организовать распределенную информационную систему общего назначения с богатыми функциональными возможностями. В этом случае обеспечивается одновременный прозрачный доступ к электронным каталогам и базам данных, находящимся на различных серверах, в разных городах и странах. Специализация технологии для доступа к базам данных и её жесткая стандартизация представляют разработчику многообразные возможности, многие из которых уникальны и очень ценны, а их самостоятельная проработка за рамками стандарта затруднена; разобщенность же разработчиков делает её просто невозможной. Таким образом, применение этого протокола при реализации идеи распределенной корпоративной библиотечной системы очевидна.В основе Z39.50 лежит идея построения абстрактной модели работы с абстрактной базой данных. Каждый элемент этой абстрактной модели подробно описывается до однозначного толкования и стандартизуется с присвоением уникального идентификатора - OID. Работа с каждой конкретной СУБД согласно Z39.50 должна быть организована только через эту абстрактную модель, что позволяет, с одной стороны, однозначно отобразить логику запроса, абстрагируясь от синтаксиса запроса конкретной СУБД, а с другой - абстрагироваться от поисковых полей конкретной базы данных. Структурированные форматы внешнего представления позволяют после передачи по сети полностью сохранить первоначальную структуру записи, что является немаловажным в
распределенных системах.Применение протокола Z39.50 позволяет организовать распределенную многоцелевую информационную систему с богатыми функциональными возможностями, которая в совершенном состоянии должна и может удовлетворять следующим требованиям:
Однако основная задача любой информационной системы - предоставление информации конечным пользователям. С этой точки зрения важным компонентом любой, даже очень сложной распределенной системы является рабочее место клиента - набор программных и визуальных интерфейсов для доступа к информации. Распределенные информационные системы на основе протокола Z39.50 не являются исключением. Более того, специфический характер Z39.50 как универсального протокола доступа к базам данных усиливает значимость, повышает требования к архитектуре и функциональности программного обеспечения на стороне клиента, т.к. одно и то же рабочее место может быть использовано для доступа к совершенно разнородным системам - источникам совершенно различной информации. При этом на передний план выходят такие качества клиентского программного обеспечения, как максимально полное соответствие стандарту Z39.50 и максимально полное использование возможностей протокола без привязки к конкретной информационной системе. В этом случае клиентское рабочее место становится отдельным независимым слоем информационного комплекса.
Для систем на базе Z39.50 также существуют специализированные клиентские рабочие места. В качестве примера приведем характеристики двух известных коммерческих клиентов для работы с библиографическими базами данных. BookWhere2000 (Sea Change Corporation) - наиболее развитый настраиваемый клиент для работы по протоколу Z39.50, обеспечивающий множество возможностей: работа с несколькими сессиями одновременно, вывод результатов в различных форматах, сканирование базы индексов по атрибутам, тестирование доступности серверов и поддерживаемых ими возможностей, пакетный поиск и т.д. Однако развитая система конфигурирования и обилие информации часто превращается в главный недостаток этого клиента, запутывая неискушенного пользователя. Автоматическое получение метаинформации от сервера через "Explain" не поддерживается, и пользователь вынужден самостоятельно получать эту информацию с сервера поддержки Sea Change Corporation, либо непосредственно от администрации интересующего сервера.
Схожими возможностями обладает Znavigator, производства EnWare, также поддерживающий одновременную работу с несколькими серверами. Запросы можно строить простые или сложные, с использованием древообразного построителя запросов, при этом можно запускать один и тот же запрос в нескольких сессиях одновременно. Запросы, списки записей или сами записи могут быть экспортированы в другое приложение или в файл. Особенностью Znavigator является возможность функционирования в качестве DDE-сервера, позволяя внешним приложениям обращаться к нему и встраивать результаты поиска в свои структуры данных. Возможности настройки значительно ниже, чем в BookWhere2000, набор атрибутов поиска неизменен для всех серверов, отсутствует проверка возможности соединения и выборка информации из Explain.
Однако отрицательной чертой вышеупомянутых и других клиентов Z39.50 является некорректная работа с данными на русском языке, отсутствие поддержки различных кириллических кодовых таблиц и, естественно, англоязычный пользовательский интерфейс. Также для обеспечения клиентского места пользователю необходимо устанавливать у себя специализированное программное обеспечение, что неудобно при отсутствии собственного компьютера.
В последнее время появилась тенденция использовать в качестве универсального клиента информационной системы WEB-браузер. В своем самом простом варианте такой клиент работает с WEB-сервером по протоколу HTTP. Ответственность за адекватность отображения информации из баз данных при этом лежит на WEB-сервере, который для этой цели должен иметь специальные программы доступа к соответствующим базам данных, в нашем случае шлюз WWW-Z39.50.
В ГПНТБ СО РАН разрабатывается шлюз для работы как с локальными базами данных формата ISIS, так и поддерживающий протокол Z39.50.
Данная система доступа к библиографическим базам данных обладает развитыми средствами поиска, предлагает в зависимости от степени подготовленности пользователя несколько режимов составления поискового запроса: ПРОСТОЙ, СТАНДАРТ, ЭКСПЕРТ, МУЛЬТИ. Для проведения одновременного поиска в нескольких однотипных по поисковым терминам базах данных используется режим мультипоиска. При составлении поискового запроса можно воспользоваться средством работы со словарем базы данных. В процессе просмотра словаря требуемые поисковые термины могут быть выбраны для включения в текущий поисковый запрос, причем для режимов ЭКСПЕРТ и МУЛЬТИ возможен групповой выбор сразу нескольких близлежащих поисковых терминов. Формой выдачи результатов поиска можно управлять через установку таких параметров как формат и порция выдачи записей. Если количество найденных записей превышает порцию выдачи, то пользователь имеет возможность последовательно или произвольно перемещаться в их диапазоне и изменять формат выдачи. При просмотре результатов поиска возможно проведение уточняющего поиска по некоторым, определенным для этого, полям с возможностью отката к основному поиску. Найденные в результате поиска записи могут быть выборочно или все полностью сохранены пользователем в текстовый файл на его локальном компьютере. Также в рамках данной системы в ГПНТБ СО РАН реализована работа с полнотекстовыми базами данных. После проведения поиска в этих базах полные тексты, хранящиеся в различных форматах, могут быть загружены пользователем на его собственный компьютер.
Важной составной частью системы доступа является ведение базы данных статистики обращений пользователей к выставленным информационным ресурсам. Это позволяет оперативно выявлять степень использования предлагаемых сервисных возможностей системы, определять степень актуальности выставленных информационных ресурсов и, в конечном итоге, способствовать выработке дальнейшего направления развития функциональных возможностей данной системы.
Система доступа имеет своей целью обеспечить оперативный доступ к выставленным информационно-библиотечным ресурсам из любой точки мира. Поэтому важным моментом является наличие возможности работы с ней любому пользователю, как знающему русский язык, так и не знакомого с ним. Система ориентирована на работу с основными, используемыми
в Internet, кириллическими кодировками (Windows-1251, KOI-8, ISO-8859-5, IBM-866/DOS, Mac). Это позволяет отечественному пользователю работать с системой практически с любого типа компьютеров и в любой из существующих операционных систем. Также система имеет англоязычный вариант интерфейса.Одной из актуальных потребностей стала необходимость обеспечить возможность работы с отечественными библиографическими базами данных для иностранных пользователей системы. Суть проблемы заключается в отсутствии установленных кириллических кодировок на компьютере иностранного пользователя, что не позволяет правильно формировать поисковые запросы и отображать результаты поиска в русскоязычных базах данных. Говорить о создании, по крайней мере, английского варианта для каждой базы данных лишено смысла в рамках существующей технологии обработки документов и отсутствия требуемых для этого ресурсов. Единственным решением в данной ситуации является использование транслитерации русских символов. Причем существовало два варианта реализации транслитерации: либо выставлять для каждой базы данных её транслитерированный вариант, либо проводить транслитерацию "на лету", используя единственный, оригинальный экземпляр базы данных. В первом случае пришлось бы сопровождать два варианта базы
данных (две её копии), что потребовало еще более значительных технических ресурсов (дискового пространства для хранения, вычислительных мощностей для проведения транслитерации базы данных при каждом её обновлении), а для случая распределенных баз данных вообще невозможность работы. Во втором случае дублирование исключается и транслитерация происходит "на лету" - когда происходит отработка поискового запроса и выдача результатов поиска.Для однозначного соответствия конвертирования символов был выбран немецкий вариант транслитерации русских символов. Ознакомиться с правилами транслитерации пользователь может, воспользовавшись on-line подсказкой, где приведены таблица соответствия русских и латинских символов, а также простые примеры. Транслитерация реализована как в клиентской части системы доступа при работе со словарем базы данных, формировании и выполнении поискового запроса, так и в серверной части при выдаче результатов поиска. Пользователю при составлении запросов следует явно указывать, что вводимые им
отдельные символы или целые слова являются транслитерированной формой соответствующих кириллических символов. Это связано с тем, что при выполнении поискового запроса системе необходимо провести обратное конвертирование транслитерированных символов в соответствующие кириллические символы. Поэтому для однозначного определения являются ли текущие, введенные пользователем, символы или слова транслитерированными их следует заключать в фигурные скобки. Если пользователь введет термин, не заключая его в фигурные скобки, то система при выполнении поискового выражения оставит его без изменения, считая его обычным иностранным словом. Важно отметить то, что транслитерация является составной частью пользовательского интерфейса системы (его англоязычного варианта) и не привязана к конкретной базе данных. Это позволяет легко и гибко в дальнейшем вносить изменения в программную логику текущей реализации транслитерации. Использование в рассматриваемой системе динамической транслитерации дало возможность, не нарушая традиционной технологии обработки баз данных, предоставить доступ к выставленным русскоязычным библиографическим базам данных для любого пользователя Интернет.В связи с наличием широкого спектра выставленных информационно-библиотечных ресурсов в рамках данной системы была создана подсистема регистрации и управления правами доступа пользователей к этим ресурсам.
Говорить о создании Web-ориентированной системы управления библиографическими базами данных можно в том случае, когда она помимо наличия развитого поискового инструментария будет включать в себя механизм ведения данных. Это предполагает добавление, изменение и удаление записей. Поэтому следующим шагом в развитии системы доступа стала разработка программного модуля on-line ведения библиографических баз данных. Закономерно, что в качестве инструмента реализации ввода данных был выбран обычный Web-навигатор. Это связано с тем, что, во-первых, Web-навигатор, имеет стандартный, унифицированный пользовательский интерфейс, состоящий из ограниченного набора элементов, что позволяет пользователю быстро освоиться с интерфейсом; во-вторых, отпадает необходимость сопровождения клиентской части системы при внесении изменений в программный код, который загружается Web-навигатор с сервера; в-третьих, не имеет значения, где расположен компьютер пользователя - он может находиться как во внутренней Интранет сети организации, так и в любом другом месте глобальной сети Интернет. Обеспечение возможности изменения данных в on-line режиме особенно остро ставит вопрос, связанный с правами доступа пользователей на редактирование содержимого выставленных баз данных. Поэтому при реализации системы on-line ведения была решена задача аутентификации пользователей с предоставлением им возможности, в соответствии с их правами, производить редактирование в выставленных базах данных. Созданная система on-line ведения представляет собой удобный для пользователя инструмент ввода, который обладает максимально возможной функциональностью и, в то же время, легок для понимания. Интеграция данной системы ведения с уже существующей информационно-поисковой системой позволяет говорить о появления полнофункциональной Web ориентированной системы управления библиографическими базами данных.
Это является законченным решением для ведения библиографических баз данных в Интернет характерными чертами которого являются:
В заключении следует отметить, что описанная система уже находится в эксплуатации более трех лет и за это время показала свою жизнеспособность. Тем не менее, она постоянно находится в развитии, что естественно для системы такого класса. Более подробно ознакомиться с работой системы можно по адресу http://www.spsl.nsc.ru.