25
Инструментальные средства организации работы с системой через WEB-интерфейс Обзор технологий

Инструментальные средства организации работы с системой через WEB- интерфейс

  • Upload
    randy

  • View
    70

  • Download
    2

Embed Size (px)

DESCRIPTION

Инструментальные средства организации работы с системой через WEB- интерфейс. Обзор технологий. Дополнительные инструментальные средства. Подсистема лицензирования и проверки прав доступа Обзор изменений в подсистеме лицензирования Дополнительные функции серверного API системы - PowerPoint PPT Presentation

Citation preview

Page 1: Инструментальные средства организации работы с системой через  WEB- интерфейс

Инструментальные средства организации работы с системой через

WEB-интерфейс

Обзор технологий

Page 2: Инструментальные средства организации работы с системой через  WEB- интерфейс

Дополнительные инструментальные средства

Подсистема лицензирования и проверки прав доступа Обзор изменений в подсистеме лицензирования Дополнительные функции серверного API системы Применение в WEB-приложениях

Сервер отложенной печати Принцип работы Применение в WEB-приложениях

Условия отбора на сервере Текущая схема работы Перспективная схема работы Применение в WEB-приложениях

Page 3: Инструментальные средства организации работы с системой через  WEB- интерфейс

Назначение Доработки, направленные на расширение

интеграционных возможностей системы и облегчение использования серверного API в сторонних разработках

Устраняемая проблематика Контроль прав доступа к системе в WEB-приложениях

(и прочих сторонних приложениях, работающих с БД и использующих функции API ПП Парус 8) с использованием штатной оснастки модуля “Администратор”

Доступность В полном объеме описанные ниже изменения

доступны в версии 8.5.6.1 ПП Парус начиная с ноябрьского релиза 2012 года

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

Page 4: Инструментальные средства организации работы с системой через  WEB- интерфейс

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

Обзор изменений Универсальная лицензия (Anyone)

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

Анонимные пользователиВозможность настроить подключение от имени WEB-приложения,

пользователи WEB-приложения могут использовать это подключение, но не обязательно должны являться пользователями БД

Фоновые пользователиНастройка процессов, исполняющихся в фоном режиме, фоновые

пользователи имеют возможность исполнять процессы от имени других пользователей системы

Изменение серверного API контроля сессий и прав доступа

Page 5: Инструментальные средства организации работы с системой через  WEB- интерфейс

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

Универсальная лицензия (Anyone)

Приложение А(3 лицензии)

Приложение Б(2 лицензии)

Приложение А(3 лицензии)

Приложение Б(2 лицензии)

Универсальная лицензия

(2 лицензии)

без универсальной лицензиис универсальной лицензией

3 подключения

2 подключения

Подключение А или Б

3 подключения

2 подключения

Подключение А или Б

-1 подключение

к универсальной лицензии

Остаток подключений =

1

Page 6: Инструментальные средства организации работы с системой через  WEB- интерфейс

Подключение от имени

пользователя приложения

Подключение от имени

анонимного пользователя

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

Анонимные пользователи

Парус 8

WEB - приложения

Клиенты WEB - приложений

Клиент

Сервер приложен

ий

Page 7: Инструментальные средства организации работы с системой через  WEB- интерфейс

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

Фоновые пользователи

Парус 8

Подключение от имени фонового

пользователя

Внешние фоновые процессы

Сервис отложенной печати

Процессы, инициируемые фоновым

Обработка записи очереди печати,

сформированной от имени пользователя

системы

Работа от имени пользователя, разместившего отчет в очереди

Page 8: Инструментальные средства организации работы с системой через  WEB- интерфейс

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

Дополнительные функции серверного API PKG_SESSION.LOGON_WEB – аутентификация и создание сеанса

WEB-пользователя

PKG_SESSION.LOGON_BG – создание фонового сеанса от имени указанного пользователя системы

PKG_SESSION.LOGOFF_WEB – завершение сеанса WEB-приложения

PKG_SESSION.TIMEOUT_WEB – установка ограничения времени простоя для WEB-сеанса

PKG_SESSION.LOGON_STATE – получение сведений о текущем состоянии сеанса

Page 9: Инструментальные средства организации работы с системой через  WEB- интерфейс

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

PKG_SESSION.LOGON_WEBsCONNECT in varchar2, -- уникальный идентификатор соединенияsUTILIZER in varchar2, -- имя пользователя, выполняющего процессsPASSWORD in varchar2, -- пароль пользователя, выполняющего процессsIMPLEMENTATION in varchar2, -- код приложения, выполняющего соединениеsAPPLICATION in varchar2, -- код приложения, выполняющего процессsCOMPANY in varchar2 -- наименование организации

Проверка прав доступа

Регистрация событий

Регистрация ошибок

Регистрация бизнес-процессов

Лицензия WEB-

приложения

Лицензия Приложения

системы

Page 10: Инструментальные средства организации работы с системой через  WEB- интерфейс

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

PKG_SESSION.LOGON_BGsIMPLEMENTATION in varchar2, -- код приложения, выполняющего соединение и процесс

sUTILIZER in varchar2 := null -- имя пользователя, выполняющего процесс

sCOMPANY in varchar2 := null -- наименование организации

PKG_SESSION.LOGOFF_WEBsCONNECT in varchar2 -- уникальный идентификатор соединения

PKG_SESSION.TIMEOUT_WEBsCONNECT in varchar2, -- уникальный идентификатор соединения

nTIMEOUT in number -- ограничение (мин.): null,0,<0 - снять ограничение, >0 - установить ограничение

PKG_SESSION.LOGON_STATEiDETAIL in binary_integer := null 0 -- (0 - основные состояния, 1 - детальные состояния) основные состояния:

0 - регистрация не выполнялась, регистрация не прошла или ошибка регистрации, регистрация прошла успешно и сеанс был отключён 1 - регистрация не прошла: истёк срок эксплуатации, 2 - регистрация прошла успешно,

детальные состояния: -1 - регистрация не выполнялась, 0 - регистрация не прошла или ошибка регистрации, 1 - регистрация не прошла: истёк срок эксплуатации, 2 - регистрация прошла успешно, 3 - регистрация прошла успешно и сеанс был отключён

Page 11: Инструментальные средства организации работы с системой через  WEB- интерфейс

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

Применение в WEB-приложениях – Oracle APEX

:P101_COMPANY

:P101_USERNAME

:P101_PASSWORD

• Нет необходимости регистрировать пользователей WEB-приложений в Oracle

• Разграничение прав доступа с применением штатных средств модуля “Администратор”

Page 12: Инструментальные средства организации работы с системой через  WEB- интерфейс

Сервис “On-Line доступ”ПП Парус 8 используетданный API для аутентификациии авторизации пользователей.

Пользователи данного сервиса должны быть зарегистрированы в системе, но могут не являться пользователями БД.

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

Применение в WEB-приложениях – “On-Line доступ”

Page 13: Инструментальные средства организации работы с системой через  WEB- интерфейс

Назначение Формирование отчетов, расчет которых занимает длительное время Инициализация отчета и получение результатов его исполнения из

сторонних систем и приложений Автоматизация обмена данными отчетов (например, отложенное

формирование отчета с его последующей отправкой по E-Mail) Устраняемая проблематика

Получение отчетности, разработанной в ПП Парус 8 из сторонних систем, с сохранением всех преимуществ API ПП Парус 8, использованных при разработке выходных отчетных форм

Ограничения В настоящее время поддерживаются только выходные отчетные формы

на базе MS Excel и Open Office Calc Лицензирование

Для работы сервиса отложенной печати отчетов требуется специальная лицензия

Доступность Сервис отложенной печати доступен в версии 8.5.6.1 ПП Парус начиная

с ноябрьского релиза 2012 года

Сервер отложенной печати

Page 14: Инструментальные средства организации работы с системой через  WEB- интерфейс

Сервер отложенной печати

Принцип работыОчередь сервиса

отложенной печати

(RPTPRTQUEUE)

Готовые отчеты(RPTPRTQUEUE_RPT

)

begin P_RPTPRTQUEUE_BASE_INSERT(

IREPORT_TYPE => ТИП_ОТЧЕТА ,NCOMPANY => ОРГАНИЗАЦИЯ ,NIDENT => ИДЕНТИФИКАТОР_ПРОЦЕССА ,NUSER_REPORT => РЕГ_НОМЕР_ПОЛЬЗ_ОТЧЕТА ,NRN => РН_ЗАПИСИ_ОЧЕРЕДИ); P_RPTPRTQUEUE_PRM_BASE_INSERT( NPRN => РН_ЗАПИСИ_ОЧЕРЕДИ ,SNAME => ИМЯ_ПАРАМЕТРА ,IDATA_TYPE => ТИП_ДАННЫХ ,SSTR_VALUE => ЗНАЧЕНИЕ_СТРОКА ,NNUM_VALUE => ЗНАЧЕНИЕ_ЧИСЛО ,DDATE_VALUE => ЗНАЧЕНИЕ_ДАТА ,NRN => РН_ЗАПИСИ_ПАРАМЕТРА);end;

begin P_RPTPRTQUEUE_GET_RPT(

NRN => РН_ЗАПИСИ_ОЧЕРЕДИ ,NUR_TYPE => ТИП_ОТЧЕТА_ВЫХОДНОЙ

,BDATA => ФАЙЛ_ОТЧЕТА_ВЫХОДНОЙ);end;

Сервер/Рабочая станция (ОС семейства MS Windows + MS Excel и/или Open Office Calc)

Сервис отложенной печати(p8application.exe /bБД /aPrintServer /uПользователь

/cОрганизация)

Page 15: Инструментальные средства организации работы с системой через  WEB- интерфейс

Сервер отложенной печати

Применение в WEB-приложениях – Oracle APEX

Page 16: Инструментальные средства организации работы с системой через  WEB- интерфейс

Сервер отложенной печати

Применение в WEB-приложениях – Oracle APEXselect * from rptprtqueue t

• Поставлено в очередь• Выполнение завершено (успешно)• Выполнение завершено (с ошибками)

Текст ошибки

Стэк вызова

begin --считываем данные отчета из очереди P_RPTPRTQUEUE_GET_RPT( NRN => :REPORT_RN ,NUR_TYPE => NREPORT_TYPE ,BDATA => BREPORT_DATA); --открываем заголовок HTTP OWA_UTIL.MIME_HEADER('application/excel' ,false ,'utf-8'); --указываем браузеру размер скачиваемого файла HTP.P('Content-length: ' || NLENGTH); HTP.P('Content-Disposition: attachment; filename="' || SFILE_NAME || '"'); --закрываем заголовок OWA_UTIL.HTTP_HEADER_CLOSE; --загрузка из BLOB WPG_DOCLOAD.DOWNLOAD_FILE(BREPORT_DATA);end;

MS IE 9.x

Google Chrome

• Нет необходимости верстать отчет в XML в режиме “Run-time”• Возможно использование всех преимуществ пакета PRSG_EXCEL• Публикация в WEB-интерфейсе ранее разработанных для WIN-клиента пользовательских отчетов

Page 17: Инструментальные средства организации работы с системой через  WEB- интерфейс

…обеспечивающими возможностьвыгрузки подготовленного отчета или повторную печать, при необходимости

Мониторинг очереди осуществляется встроенными средствами…

Формирование отчетов сервиса “On-Line доступ” ПП Парус 8

осуществляется через очередь сервиса отложенной печати

Сервер отложенной печати

Применение в WEB-приложениях – “On-Line доступ”

Инструментарий сервиса отложенной печати интегрирован в “On-Line доступ” ПП Парус 8

Page 18: Инструментальные средства организации работы с системой через  WEB- интерфейс

Назначение Формирование условий отбора данных раздела на сервере

Устраняемая проблематика Оптимизация запросов, формируемых клиентом системы в

момент отбора данных по разделам Решение проблем безопасности, связанных с доступностью

некоторых таблиц схемы “PARUS”, обусловленной необходимостью формирования условий отбора на клиенте

Контроль данных, запрашиваемых пользователем из БД Доступность

Формирование условий отбора на сервере доступно в версии 8.5.6.1 ПП Парус начиная с ноябрьского релиза 2012 года

Перспективы Перевод механизмов отбора в штатных разделах на работу с

пакетом формирования условий отбора на сервере

Условия отбора на сервере

Page 19: Инструментальные средства организации работы с системой через  WEB- интерфейс

Готовый запрос

Готовый запрос

WIN-клиент ПП Парус 8

Условия отбора на сервере

Текущая схема работы

Формирование

секции WHERE

запроса

Сервер БД ПП Парус 8

Исполнение

запроса

select M.* from V_FCCOSTNOTES M where NCOMPANY = 43667 and SCOST_PREF >= ' AAA' and SCOST_NUMB >= ' 123' and SCOST_PREF <= ' AAA' and SCOST_NUMB <= ' 321' and DCOST_DATE >= TO_DATE('01/01/2012' ,'dd/mm/yyyy') and DCOST_DATE <= TO_DATE('31/12/2012' ,'dd/mm/yyyy') order by SCALC_PERIOD

WEB-клиент ПП Парус 8

:P51_STATE:P51_PRJTYPE :P51_INSDEPT

Page 20: Инструментальные средства организации работы с системой через  WEB- интерфейс

Условия отбора на сервере

Новая схема работы

Сервер БД ПП Парус 8

Формирование запроса на отбор данных раздела, и его исполнение

(PKG_COND_BROCKER)

Клиент БД ПП Парус 8

Пользовательский интерфейс

ввода параметров

отбора

begin PKG_COND_BROKER.PROLOGUE; PKG_COND_BROKER.SET_COMPANY(:NCOMPANY); PKG_COND_BROKER.SET_PROCEDURE('<ХП_ОТБОРА>' ); PKG_COND_BROKER.SET_CONDITION_DATE('DateCond', :DDATE); PKG_COND_BROKER.SET_CONDITION_STR ('StrCond', :SSTR); PKG_COND_BROKER.SET_CONDITION_NUM ('NumbCond', :NNUMBER); PKG_COND_BROKER.EPILOGUE;end;

Сборка неименованного блока со значениями параметров отбора

Исполнение неименованного

блокаОтправка блока на исполнение

серверуv

Процедура 1 формирования условий отбора

Процедура N формирования условий отбора

Хранение идентификаторов документов, попавших в

отбор(COND_BROKER_ID*)

Пользовательский интерфейс представления

отобранных данных

select T.*from COND_BROKER_IDLITE C ,<ПРЕДСТАВЛЕНИЕ_РАЗДЕЛА> Twhere C.ID = T.NRNorder by C.ROWNUM#;

Исполнение запроса по

отобранным документам

Page 21: Инструментальные средства организации работы с системой через  WEB- интерфейс

Условия отбора на сервере

Применение в WEB-приложениях – Oracle APEX

begin PKG_COND_BROKER.PROLOGUE; PKG_COND_BROKER.SET_COMPANY(GET_SESSION_COMPANY); PKG_COND_BROKER.SET_PROCEDURE('UDO_P_PHONE_BOOK_COND'); PKG_COND_BROKER.SET_CONDITION_STR('Subdiv', :P57_SUBDIV); PKG_COND_BROKER.SET_CONDITION_STR('Post', :P57_POST); PKG_COND_BROKER.SET_CONDITION_STR('Name', :P57_NAME); PKG_COND_BROKER.SET_CONDITION_STR('Lastname', :P57_LASTNAME); PKG_COND_BROKER.EPILOGUE;end;

create or replace procedure UDO_P_PHONE_BOOK_COND asbegin -- Установка главной таблицы - Сотрудники PKG_COND_BROKER.SET_TABLE('CLNPERSONS'); -- Мнемокод сотрудника - поле CODE основной таблицы раздела PKG_COND_BROKER.ADD_CONDITION_CODE('CODE', 'PersonCode'); ... -- Имя - поле AGNLASTNAME таблицы AGNLIST, связанной с CLNPERSONS чере поле PERS_AGENT PKG_COND_BROKER.ADD_CONDITION_CODE('AGNFIRSTNAME', 'Name', 'PERS_AGENT <- RN;AGNLIST'); -- Отчество - поле AGNLASTNAME таблицы AGNLIST, связанной с CLNPERSONS чере поле PERS_AGENT PKG_COND_BROKER.ADD_CONDITION_CODE('AGNLASTNAME', 'Lastname', 'PERS_AGENT <- RN;AGNLIST'); ...end;

Регистрационные номера отобранных документов в

COND_BROKER_IDLIGHT

Page 22: Инструментальные средства организации работы с системой через  WEB- интерфейс

Условия отбора на сервере

Применение в WEB-приложениях – Oracle APEX

• Лаконичные запросы для областей типа “Report”• Простота отладки условий отбора• Легкость добавления новых условий отбора• Возможность повторного использования отобранных документов

Page 23: Инструментальные средства организации работы с системой через  WEB- интерфейс

Условия отбора на сервере

Применение в WEB-приложениях – “On-Line доступ”

В настоящий момент в приложении “On-Line доступ” ПП Парус 8 доступен отбор по колонкам.

С введением механизма формирования условий отбора на сервере, для приложений “On-Line доступа” будет доступен полноценный отбор.

Кроме того, существенно расширяются возможности форм отбора в пользовательских разделах, разработанных с применением модуля “Конструктор отраслевых расширений”

Page 24: Инструментальные средства организации работы с системой через  WEB- интерфейс

Условия отбора на сервере

Преимущества решения Работа в 4-х режимах в зависимости от потребностей

пользователя LIGHT – сохранение результатов отбора в рамках транзакции MULTI – сохранение результатов отбора по нескольким разделам в

рамках транзакции SMART – сохранение результатов отбора в рамках сессии HARD – хранение результатов отбора для повторного использования

Многократное использование алгоритмов формирования запроса и отобранных данных

Возможность журналирования выборок пользователей “Прозрачность” механизмов отбора и возможность их

отладки Применение средств, контролирующих синтаксис, при разработке

(Oracle SQL Developer, PL/SQL Developer) Возможность предварительного просмотра собранного запроса Запуск в специальном режиме для исследования

производительности сформированного запроса

Page 25: Инструментальные средства организации работы с системой через  WEB- интерфейс

Спасибо за внимание

Ваши вопросы…