Технология Веб-ИРБИС — различия между версиями
Sokv (обсуждение | вклад) |
Sokv (обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
==Порядок формирования веб-страницы== | ==Порядок формирования веб-страницы== | ||
− | В общем случае, | + | ===Фреймы=== |
+ | |||
+ | В общем случае, веб-страница формируется путём объединения (''склеивания'') следующих частей: | ||
* ''заголовочной'' и ''подвальной'' частей, формируемых при помощи ''фреймов'' и | * ''заголовочной'' и ''подвальной'' частей, формируемых при помощи ''фреймов'' и | ||
− | * ''тела'' страницы, формируемого при помощи формата, который отрабатывает на наборе записей (соответствующих запросу пользователя) | + | * ''тела'' страницы, формируемого при помощи [[Язык форматирования системы ИРБИС#Понятие формата|''формата'']], который отрабатывает на наборе записей базы данных (соответствующих запросу пользователя). |
− | |||
− | |||
− | |||
− | |||
− | + | ===Система команд Веб-шлюза ИРБИС=== | |
− | + | Система ''команд'' Веб-шлюза ИРБИС позволяет задать собственный набор фреймов и порядок их объединения для каждой задачи. Для разных задач предусмотрены разные команды, например: для страницы приглашения к поиску, результата поиска, отбора записей в корзину заказов и т.д. | |
− | + | Набор команд задаётся в [[Конфигурационный файл веб-шлюза ИРБИС irbis server.ini|файле irbis_server.ini]] в контексте базы данных. | |
− | + | То есть, для разных баз данных могут быть настроены разные наборы команд и фреймы. | |
− | + | Имена фреймов веб-шлюз ИРБИС считывает из файла <tt>irbis_server.ini</tt>. Каждой команде веб-шлюза ИРБИС соответствует имя параметра в файле <tt>irbis_server.ini</tt> (см. таблицу ''Команды веб-шлюза ИРБИС''). | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
'''Таблица.''' Команды веб-шлюза ИРБИС. | '''Таблица.''' Команды веб-шлюза ИРБИС. | ||
Строка 54: | Строка 43: | ||
|} | |} | ||
− | + | При составлении ответа на команды '''E''', '''2''', '''4''' шлюз не использует фреймы. Поэтому в таблице ''Команды веб-шлюза ИРБИС'' отсутствует соответствующий параметр в <tt>irbis_server.ini</tt>. В случае этих команд ответ шлюза клиенту не является HTML-страницей. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | При составлении ответа на команды '''E''', '''2''', '''4''' шлюз не использует фреймы | ||
'''Пример команды показа терминов словаря''' | '''Пример команды показа терминов словаря''' | ||
Строка 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 (см. таблицу Команды веб-шлюза ИРБИС).
Таблица. Команды веб-шлюза ИРБИС.
|
При составлении ответа на команды 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
- Необходимо добавить описание нового пользовательского параметра в настроечный файл 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-страницы гиперссылку, содержащую все переданные веб-шлюзу параметры.