Технология Веб-ИРБИС

Материал из Wikipedia
Перейти к: навигация, поиск

Веб-приложение ИРБИС состоит из веб-страниц, формируемых в ответ на запрос пользователя.

Порядок формирования веб-страницы

Фреймы

В общем случае, веб-страница формируется путём объединения (склеивания) следующих частей:

  • заголовочной и подвальной частей, формируемых при помощи фреймов и
  • тела страницы, формируемого при помощи формата, который отрабатывает на наборе записей базы данных (соответствующих запросу пользователя).

Система команд Веб-шлюза ИРБИС

Система команд Веб-шлюза ИРБИС позволяет задать собственный набор фреймов и порядок их объединения для каждой задачи. Для разных задач предусмотрены разные команды, например: для страницы приглашения к поиску, результата поиска, отбора записей в корзину заказов и т.д.

Набор команд задаётся в файле irbis_server.ini в контексте базы данных.

То есть, для разных баз данных могут быть настроены разные наборы команд и фреймы.

Имена фреймов веб-шлюз ИРБИС считывает из файла irbis_server.ini. Каждой команде веб-шлюза ИРБИС соответствует имя параметра в файле irbis_server.ini (см. таблицу Команды веб-шлюза ИРБИС).

Таблица. Команды веб-шлюза ИРБИС.

Значение параметра C21COM Описание команды Соответствующий параметр в irbis_server.ini
F показ – команда показа страницы ShowFrames
S поиск – команда выполнения и показа результатов поиска SearchFrames
T словарь – команда показа терминов словаря DictionryFrames
Z заказ – команда отбора записей в корзину заказов ZakazFrames
R запись – команда редактуры записей RecUpdateFrames
E экспорт – команда выгрузки записей
2 файл – команда чтения внешнего объекта
4 скачать – команда заимствования записи

При составлении ответа на команды E, 2, 4 шлюз не использует фреймы. Поэтому в таблице Команды веб-шлюза ИРБИС отсутствует соответствующий параметр в irbis_server.ini. В случае этих команд ответ шлюза клиенту не является HTML-страницей.

Пример команды показа терминов словаря

http://localhost:8080/cgi-bin/irbis64r_15_plus/cgiirbis_64_ft.exe?Z21ID=1500323880383212&SEARCH_IN_FULL_TEXT=1&T21CNR=10&C21COM=T&T21PRF=KT=&I21DBN=IBIS&T21TRM=a&

где при помощи параметра T21TRM=a указывается требование терминов словаря, начинающихся на a.

Пример возврата:

A20040830ARUSY|1
A20041017ABELY|1
A20041118ARUSY|1
A2H|2
A540|9
A54001|7
A550UTILIZATION|1
AACDEMY|1
AASL|2
AASLPUBSANDJOURNALS|2

Параметры Веб-шлюза ИРБИС

Параметры поступают к веб-шлюзу ИРБИС 64 в форме параметров HTTP-запроса. Поступившие параметры определяют действия, которые должен выполнить шлюз.

Параметры могут приходить в шлюз по методу POST или GET.

Параметры делятся на предустановленные и пользовательские.

Предустановленные параметры шлюза

Предустановленные параметры могут использоваться для взаимодействия с шлюзом только по оговоренной методике. Набор предустановленных параметров, а также методика их использования предопределяются в процессе разработки системы ИРБИС. Параметры перечислены в таблице, там же описана методика их использования.

Основные параметры шлюза

  • C21COM – команда, которую должен выполнить веб-шлюз.
  • I21DBN – имя профиля. Веб-шлюз ИРБИС в соответствии с именем профиля определяет набор фреймов, из которых составит ответ клиенту. Веб-шлюз ИРБИС ищет названия фреймов в файле irbis_server.ini в секции, название которой соответствует значению параметра I21DBN (подробнее в разделе Роль фреймов в работе веб-шлюза ИРБИС).
  • P21DBN – имя базы данных.
  • Z21ID – значение параметра авторизации.

Команды шлюза

Значение параметра C21COM определяет команду, которую должен выполнить веб-шлюз ИРБИС.

Роль фреймов в работе веб-шлюза ИРБИС

Веб-шлюз ИРБИС при получении команд F, S, T, Z, R выполняет следующую последовательность действий:

  • Веб-шлюз получил запрос. Запрос содержит параметры C21COM, I21DBN и другие.
  • В файле irbis_server.ini веб-шлюз находит секцию, имя которой соответствует значению параметра I21DBN. Иными словами: с одной стороны, в качестве значения параметра I21DBN указывается имя профиля, с другой стороны, для каждого профиля в файле irbis_server.ini должна содержаться секция, имя которой совпадает с именем профиля.
  • В указанной секции файла irbis_server.ini веб-шлюз находит значение параметра, соответствующего указанной в параметре C21COM команде (см. таблицу Команды веб-шлюза ИРБИС). Полученное значение должно представлять собой список фреймов.
  • Фреймы обрабатываются, и результат, представляющий собой HTML-страницу, отправляется клиенту в качестве ответа.

Все предустановленные параметры

Пользовательские параметры

Пользовательские параметры отличаются тем, что веб-шлюз ИРБИС может выполнять с ними следующие действия:

  • при получении HTTP-запроса шлюз принимает данные, переданные ему с помощью пользовательских параметров;
  • в свой ответ на HTTP-запрос клиента (обычно – в генерируемую html-страницу, передаваемую клиенту) может включить набор пользовательских параметров вместе с их значениями, полученными в запросе.

Количество пользовательских параметров и их назначение может определяться в процессе внедрения и конфигурирования ИРБИС 64.

Применение пользовательских параметров для передачи данных между веб-страницами

Пользовательские параметры позволяют передавать данные при переходе между веб-страницами, сгенерированными Веб-шлюзом ИРБИС 64. Процесс передачи данных происходит в два этапа: 1) данные передаются на веб-шлюз в виде параметров запроса; 2) веб-шлюз передаёт данные вместе со сформированной страницей в скрытых полях форм HTML.

Добавление пользовательского параметра

Добавление пользовательского параметра осуществляется в несколько шагов:

Необходимо добавить описание нового пользовательского параметра в настроечный файл irbis_server.ini, задав имя и метку параметра. Для этого в секции [PARAMETRS] используются параметры ini файла PARNAME_ и PARTAG_ (не стоит путать термины пользовательские параметры веб-шлюза и параметры ini файла), где вместо знака подчёркивания ставится номер пользовательского параметра по порядку, например:
PARNAME2=C21COM
PARTAG2=2222
В этом примере мы видим описание второго по порядку из определённых в секции [PARAMETRS] параметров: имя параметра C21COM, метка параметра 2222. Имя и метка параметров должны быть уникальными. После того как описание пользовательского параметра добавлено необходимо изменить значение параметра PARCOUNT в секции [PARAMETRS], его значение должно быть равно порядковому номеру последнего описания пользовательского параметра.
Примечание: обратите внимание, что в файле irbis_server.ini хранятся описания не только пользовательских параметров, а присутствует также описания предустановленных параметров.
  • использование в файлах .frm команд <!FORMAT=INSERT_ALL_PARAMETERS> и <!FORMAT=INSERT_ALL_PARAMETERS_IN_QUERY>
Команда <!FORMAT=INSERT_ALL_PARAMETERS> обеспечивает вставку в код HTML-страницы всех непустых переданных веб-шлюзу параметров в виде скрытых элементов формы, например:
<input type="hidden" name="PARAM_NAME" value="PARAM_VALUE">
Команда <!FORMAT=INSERT_ALL_PARAMETERS_IN_QUERY> вставляет в код HTML-страницы гиперссылку, содержащую все переданные веб-шлюзу параметры.