Открыть сервис

Протокол Z39.50

Z39.50 — это международный стандарт протокола прикладного уровня для поиска и извлечения информации из удалённых баз данных, преимущественно библиотечных каталогов и библиографических систем. Протокол определяет формат запросов и ответов, позволяя клиентскому приложению (например, программе-клиенту или веб-шлюзу) обращаться к серверу, поддерживающему Z39.50, и получать результаты поиска в структурированном виде, независимо от внутреннего устройства и программного обеспечения сервера. Стандарт разработан для обеспечения интероперабельности между различными информационными системами, в первую очередь — в сфере библиотечного дела.

История

Разработка протокола началась в 1970-х годах в США в рамках проекта Linked Systems Project (LSP) при участии Библиотеки Конгресса, OCLC и других организаций. Первая версия стандарта была опубликована в 1984 году под названием Z39.50-1984. В 1988 году вышла вторая версия (Z39.50-1988), которая получила более широкое распространение. В 1992 году была принята третья версия (Z39.50-1992), ставшая основой для большинства современных реализаций. В 1995 году стандарт был обновлён (Z39.50-1995), а в 2003 году — принята последняя версия (Z39.50-2003), которая является действующей на текущий момент.

В 1998 году протокол был принят в качестве международного стандарта ISO 23950:1998 «Information and documentation — Information retrieval (Z39.50) — Application service definition and protocol specification». В России стандарт действует как ГОСТ Р ИСО 23950-2007 «Информация и документация. Поиск информации (Z39.50). Определение услуг прикладного уровня и протокол».

Архитектура и принцип работы

Протокол Z39.50 работает по модели «клиент-сервер». Клиент (инициатор) отправляет запрос на сервер (цель), который выполняет поиск в своей базе данных и возвращает результат. Протокол использует TCP/IP в качестве транспортного уровня, обычно порт 210. Взаимодействие строится вокруг набора услуг (services), каждая из которых имеет определённый формат запроса и ответа.

Основные услуги (Service Definitions)

  • Init (Инициализация): Установление соединения, согласование версии протокола, параметров сессии (например, максимальный размер возвращаемых записей).
  • Search (Поиск): Отправка поискового запроса. Запрос формулируется на специальном языке (Type-1 query, CQL — Contextual Query Language, или другие). Сервер выполняет поиск по своей базе данных и возвращает набор идентификаторов записей (Record IDs), соответствующих запросу.
  • Present (Представление): Извлечение конкретных записей из набора результатов, полученного на этапе Search. Клиент указывает, какие записи (по номеру в наборе) и в каком формате (например, MARC, Dublin Core, XML) он хочет получить.
  • Delete (Удаление): Удаление набора результатов на сервере (если это поддерживается).
  • Scan (Сканирование): Поиск по индексу (например, для автодополнения или просмотра алфавитного списка). Позволяет получить список терминов, близких к заданному.
  • Sort (Сортировка): Сортировка набора результатов по заданным критериям (например, по дате, автору).
  • Explain (Объяснение): Получение информации о возможностях сервера (какие базы данных доступны, какие форматы записей, какие индексы).

Поисковые запросы

Наиболее распространённый формат запроса — Type-1 query, который представляет собой булево выражение с использованием операторов AND, OR, AND-NOT. Запрос состоит из атрибутов (Attributes), которые определяют, по какому полю (например, автор, заглавие, год) и с каким типом соответствия (например, точное совпадение, фраза, слово) ищется значение. Атрибуты группируются в наборы (Attribute Sets), например, Bib-1 (библиографический) или GILS (Government Information Locator Service).

Реализации и использование

Протокол Z39.50 широко применяется в библиотечных системах для обеспечения доступа к электронным каталогам (OPAC — Online Public Access Catalog). Основные области использования:

  • Сводные каталоги (Union Catalogs): Системы, объединяющие данные из множества библиотек (например, WorldCat, Российский сводный каталог по науке и технике).
  • Межбиблиотечный абонемент (МБА): Поиск и заказ книг из других библиотек.
  • Интеграция библиотечных систем: Взаимодействие между разными автоматизированными библиотечными системами (АБИС), такими как Aleph, Voyager, Evergreen, Koha, ИРБИС, OPAC-Global.
  • Поисковые системы: Некоторые поисковые системы (например, Copac, Library of Congress Online Catalog) используют Z39.50 для доступа к удалённым каталогам.

Популярные клиенты и серверы

Критика и ограничения

Несмотря на широкое распространение, протокол Z39.50 имеет ряд недостатков:

  • Сложность: Реализация полной спецификации требует значительных усилий, что приводит к неполной совместимости между различными реализациями.
  • Устаревшая архитектура: Протокол разрабатывался в эпоху до массового распространения веба и не учитывает многие современные требования (например, RESTful API, JSON, поддержка семантики).
  • Производительность: Для больших наборов результатов (десятки тысяч записей) протокол может быть неэффективен.
  • Отсутствие стандартизации поисковых языков: Хотя Type-1 query является стандартом, многие серверы поддерживают его не полностью, что приводит к различиям в поведении.

В 2010-х годах началось активное внедрение альтернативных протоколов, таких как SRU (Search/Retrieve via URL) и SRW (Search/Retrieve Web Service), которые основаны на HTTP и XML и являются более простыми и современными. Тем не менее, Z39.50 остаётся широко используемым стандартом, особенно в legacy-системах и крупных библиотечных консорциумах.

Интересные факты

  • Номер Z39.50 происходит от классификации стандартов Национального института стандартов и технологий США (NIST), где Z39 — это категория для библиотечных и информационных стандартов.
  • Протокол поддерживает не только поиск по тексту, но и по графическим объектам, звуковым файлам и другим мультимедийным данным (через расширения).
  • В России Z39.50 активно используется в системе «Сводный каталог библиотек России» (СКБР) и в проекте «Национальная электронная библиотека» (НЭБ).

Источники

  1. ГОСТ Р ИСО 23950-2007 «Информация и документация. Поиск информации (Z39.50). Определение услуг прикладного уровня и протокол».
  2. ISO 23950:1998 «Information and documentation — Information retrieval (Z39.50) — Application service definition and protocol specification».
  3. ANSI/NISO Z39.50-2003 (R2014) «Information Retrieval: Application Service Definition and Protocol Specification».
  4. Библиотека Конгресса США. Z39.50 Maintenance Agency.
  5. OCLC. Z39.50 Gateway.
  6. Российская государственная библиотека. Z39.50-доступ.
  7. ГПНТБ России. Z39.50-сервер.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →