Технология Веб-ИРБИС — различия между версиями

Материал из Wikipedia
Перейти к: навигация, поиск
Строка 3: Строка 3:
 
==Порядок формирования веб-страницы==
 
==Порядок формирования веб-страницы==
  
В общем случае, обычно веб-страница формируется путём ''склеивания'':
+
===Фреймы===
 +
 
 +
В общем случае, веб-страница формируется путём объединения (''склеивания'') следующих частей:
 
* ''заголовочной'' и ''подвальной'' частей, формируемых при помощи ''фреймов'' и
 
* ''заголовочной'' и ''подвальной'' частей, формируемых при помощи ''фреймов'' и
* ''тела'' страницы, формируемого при помощи формата, который отрабатывает на наборе записей (соответствующих запросу пользователя).
+
* ''тела'' страницы, формируемого при помощи [[Язык форматирования системы ИРБИС#Понятие формата|''формата'']], который отрабатывает на наборе записей базы данных (соответствующих запросу пользователя).
 
 
==Параметры Веб-шлюза ИРБИС==
 
 
 
Параметры поступают к веб-шлюзу ИРБИС 64 в форме параметров HTTP-запроса. Поступившие параметры определяют действия, которые должен выполнить шлюз.
 
  
Параметры могут приходить в шлюз по методу POST или GET.
+
===Система команд Веб-шлюза ИРБИС===
  
Параметры делятся на ''предустановленные'' и ''пользовательские''.
+
Система ''команд'' Веб-шлюза ИРБИС позволяет задать собственный набор фреймов и порядок их объединения для каждой задачи. Для разных задач предусмотрены разные команды, например: для страницы приглашения к поиску, результата поиска, отбора записей в корзину заказов и т.д.
  
===Предустановленные параметры шлюза===
+
Набор команд задаётся в [[Конфигурационный файл веб-шлюза ИРБИС irbis server.ini|файле irbis_server.ini]] в контексте базы данных.
  
Предустановленные параметры могут использоваться для взаимодействия с шлюзом только по оговоренной методике. Набор предустановленных параметров, а также методика их использования предопределяются в процессе разработки системы ИРБИС. Параметры перечислены в таблице, там же описана методика их использования.
+
То есть, для разных баз данных могут быть настроены разные наборы команд и фреймы.
  
====Основные параметры шлюза====
+
Имена фреймов веб-шлюз ИРБИС считывает из файла <tt>irbis_server.ini</tt>. Каждой команде веб-шлюза ИРБИС соответствует имя параметра в файле <tt>irbis_server.ini</tt> (см. таблицу ''Команды веб-шлюза ИРБИС'').
 
 
* <tt>C21COM</tt> – команда, которую должен выполнить веб-шлюз.
 
* <tt>I21DBN</tt> – имя [[Профили|профиля]]. Веб-шлюз ИРБИС в соответствии с именем профиля определяет набор [[Фреймы|фреймов]], из которых составит ответ клиенту. Веб-шлюз ИРБИС ищет названия фреймов в [[Конфигурационный файл веб-шлюза ИРБИС irbis server.ini|файле irbis_server.ini]] в секции, название которой соответствует значению параметра <tt>I21DBN</tt> (подробнее в разделе [[#Роль фреймов в работе веб-шлюза ИРБИС|Роль фреймов в работе веб-шлюза ИРБИС]]).
 
* <tt>P21DBN</tt> – имя базы данных.
 
* <tt>Z21ID</tt> – значение параметра авторизации.
 
 
 
====Команды шлюза====
 
 
 
Значение параметра <tt>C21COM</tt> определяет команду, которую должен выполнить веб-шлюз ИРБИС.
 
  
 
'''Таблица.''' Команды веб-шлюза ИРБИС.
 
'''Таблица.''' Команды веб-шлюза ИРБИС.
Строка 54: Строка 43:
 
|}
 
|}
  
Механизм составления веб-шлюзом ИРБИС ответа клиенту отличается в зависимости от формы ответа. В веб-ИРБИС принята практика, в соответствии с которой веб-шлюз ИРБИС генерирует HTML-страницу с помощью фреймов. При составлении ответа, не являющегося HTML-страницей, веб-шлюз ИРБИС фреймы не использует.
+
При составлении ответа на команды '''E''', '''2''', '''4''' шлюз не использует фреймы. Поэтому в таблице ''Команды веб-шлюза ИРБИС'' отсутствует соответствующий параметр в <tt>irbis_server.ini</tt>. В случае этих команд ответ шлюза клиенту не является HTML-страницей.
 
 
Фреймы являются файлами в особом формате и могут включать в себя элементы языка форматирования.
 
 
 
В ответ на команды '''F''', '''S''', '''T''', '''Z''', '''R''' веб-шлюз ИРБИС генерирует (при помощи фреймов) и отправляет в качестве ответа клиенту HTML-страницу. Имена фреймов веб-шлюз ИРБИС считывает из файла <tt>irbis_server.ini</tt>. Каждой команде веб-шлюза ИРБИС соответствует имя параметра в файле <tt>irbis_server.ini</tt> (см. таблицу ''Команды веб-шлюза ИРБИС'').
 
 
 
При составлении ответа на команды '''E''', '''2''', '''4''' шлюз не использует фреймы. Ответ шлюза клиенту не является HTML-страницей. Поэтому в таблице ''Команды веб-шлюза ИРБИС'' отсутствует соответствующий параметр в <tt>irbis_server.ini</tt>.
 
  
 
'''Пример команды показа терминов словаря'''
 
'''Пример команды показа терминов словаря'''
Строка 79: Строка 62:
 
  AASL|2
 
  AASL|2
 
  AASLPUBSANDJOURNALS|2
 
  AASLPUBSANDJOURNALS|2
 +
 +
==Параметры Веб-шлюза ИРБИС==
 +
 +
Параметры поступают к веб-шлюзу ИРБИС 64 в форме параметров HTTP-запроса. Поступившие параметры определяют действия, которые должен выполнить шлюз.
 +
 +
Параметры могут приходить в шлюз по методу POST или GET.
 +
 +
Параметры делятся на ''предустановленные'' и ''пользовательские''.
 +
 +
===Предустановленные параметры шлюза===
 +
 +
Предустановленные параметры могут использоваться для взаимодействия с шлюзом только по оговоренной методике. Набор предустановленных параметров, а также методика их использования предопределяются в процессе разработки системы ИРБИС. Параметры перечислены в таблице, там же описана методика их использования.
 +
 +
====Основные параметры шлюза====
 +
 +
* <tt>C21COM</tt> – команда, которую должен выполнить веб-шлюз.
 +
* <tt>I21DBN</tt> – имя [[Профили|профиля]]. Веб-шлюз ИРБИС в соответствии с именем профиля определяет набор [[Фреймы|фреймов]], из которых составит ответ клиенту. Веб-шлюз ИРБИС ищет названия фреймов в [[Конфигурационный файл веб-шлюза ИРБИС irbis server.ini|файле irbis_server.ini]] в секции, название которой соответствует значению параметра <tt>I21DBN</tt> (подробнее в разделе [[#Роль фреймов в работе веб-шлюза ИРБИС|Роль фреймов в работе веб-шлюза ИРБИС]]).
 +
* <tt>P21DBN</tt> – имя базы данных.
 +
* <tt>Z21ID</tt> – значение параметра авторизации.
 +
 +
====Команды шлюза====
 +
 +
Значение параметра <tt>C21COM</tt> определяет команду, которую должен выполнить веб-шлюз ИРБИС.
  
 
====Роль фреймов в работе веб-шлюза ИРБИС====
 
====Роль фреймов в работе веб-шлюза ИРБИС====

Версия 15:28, 30 апреля 2015

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

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

Фреймы

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

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

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

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

Набор команд задаётся в файле 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-страницы гиперссылку, содержащую все переданные веб-шлюзу параметры.