Введение
Протокол связи прикладного уровня Z39.50 — это международный стандарт клиент-серверного протокола связи прикладного уровня для поиска и извлечения информации из баз данных по компьютерной сети TCP/IP, разработанный и поддерживаемый Библиотекой Конгресса. Он соответствует стандартам ANSI/NISO Z39.50 и ISO 23950. Z39.50 широко используется в библиотечной сфере для поиска и заказа ресурсов между библиотеками, часто интегрируется в комплексные библиотечные системы и персональное библиографическое программное обеспечение, а также социальные сети, такие как LibraryThing. Разработка протокола Z39.50 началась в 1970-х годах и привела к выпуску последовательных версий в 1988, 1992, 1995 и 2003 годах. Язык контекстных запросов (ранее известный как язык общих запросов) основан на семантике Z39.50.
Z39.50 is an international standard client–server, application layer communications protocol for searching and retrieving information from a database over a TCP/IP computer network, developed and maintained by the Library of Congress. It is covered by ANSI/NISO standard Z39.50, and ISO standard 23950. Z39.50 is widely used in library environments, for interlibrary catalogue search and loan, often incorporated into integrated library systems and personal bibliographic reference software, and social media such as LibraryThing. Work on the Z39.50 protocol began in the 1970s, and led to successive versions in 1988, 1992, 1995 and 2003. The Contextual Query Language (formerly called the Common Query Language) is based on Z39.50 semantics.
Синтаксис поиска
Протокол поддерживает поиск, извлечение, сортировку и просмотр. Поисковые запросы содержат атрибуты, как правило, из набора атрибутов bib 1, который определяет шесть атрибутов для указания поиска информации на серверном компьютере: назначение, отношение, позиция, структура, усечение, полнота. Синтаксис Z39.50 позволяет создавать очень сложные запросы. На практике функциональная сложность ограничена неоднородностью реализаций, выполненных разработчиками и коммерческими поставщиками. Синтаксис Z39.50 абстрагирован от базовой структуры базы данных. Например, если клиент указывает поиск автора с использованием атрибута 1003, сервер должен определить, как сопоставить этот поиск со своими индексами. Это позволяет формулировать запросы Z39.50, не зная ничего о целевой базе данных, но также означает, что результаты одного и того же запроса могут существенно различаться на разных серверах. Один сервер может иметь индекс авторов, а другой может использовать свой индекс личных имен, независимо от того, являются ли они авторами или нет. Третий сервер может не иметь индекса имен и использовать индекс ключевых слов, а четвертый может не иметь подходящего индекса и вернуть ошибку. Попытка устранить эту непоследовательность – Bath Profile (названный в честь города Бат, Англия, где рабочая группа впервые встретилась в 1999 году). Этот документ строго определяет синтаксис поиска, который следует использовать для распространенных библиографических запросов, и ожидаемый ответ серверов, соответствующих требованиям Bath Profile. Внедрение Bath Profile происходит медленно, но постепенно улучшает ситуацию с Z39.50. Поддержка Bath Profile осуществляется Библиотекой и Архивами Канады.
Информация о брандмауэре
Регистрированный номер сетевого порта для Z39.50 — 210. Хотя большинство серверов используют именно этот порт, во всем мире существует несколько десятков других портов, используемых для Z39.50 (например, 2100, 2200, 2210, 2213, 3520, или в одном случае порты 2101 и выше для разных баз данных).