1 / 25

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

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

randy
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Подсистема лицензирования и проверки прав доступа • Назначение • Доработки, направленные на расширение интеграционных возможностей системы и облегчение использования серверного API в сторонних разработках • Устраняемая проблематика • Контроль прав доступа к системе в WEB-приложениях (и прочих сторонних приложениях, работающих с БД и использующих функции APIПП Парус 8) с использованием штатной оснастки модуля “Администратор” • Доступность • В полном объеме описанные ниже изменения доступны в версии 8.5.6.1 ПП Парус начиная с ноябрьского релиза 2012 года

  4. Подсистема лицензирования и проверки прав доступа • Обзор изменений • Универсальная лицензия (Anyone) Обеспечение подключения пользователей в условиях конкуренции на лицензии приложений системы • Анонимные пользователи Возможность настроить подключение от имени WEB-приложения, пользователи WEB-приложения могут использовать это подключение, но не обязательно должны являться пользователями БД • Фоновые пользователи Настройка процессов, исполняющихся в фоном режиме, фоновые пользователи имеют возможность исполнять процессы от имени других пользователей системы • Изменение серверного API контроля сессий и прав доступа

  5. Подсистема лицензирования и проверки прав доступа • Универсальная лицензия(Anyone) 3 подключения Приложение А (3 лицензии) Подключение А или Б Приложение Б (2 лицензии) 2 подключения без универсальной лицензии с универсальной лицензией 3 подключения Приложение А (3 лицензии) -1 подключение к универсальной лицензии Подключение А или Б Приложение Б (2 лицензии) 2 подключения Универсальная лицензия (2 лицензии) Остаток подключений = 1

  6. Подсистема лицензирования и проверки прав доступа • Анонимные пользователи WEB - приложения Сервер приложений Подключение от имени анонимного пользователя Подключение от имени пользователя приложения Клиент Клиенты WEB - приложений Парус 8

  7. Подсистема лицензирования и проверки прав доступа • Фоновые пользователи Внешние фоновые процессы Сервис отложенной печати Подключение от имени фонового пользователя Работа от имени пользователя, разместившего отчет в очереди Обработка записи очереди печати, сформированной от имени пользователя системы Процессы, инициируемые фоновым Парус 8

  8. Подсистема лицензирования и проверки прав доступа • Дополнительные функции серверного API • PKG_SESSION.LOGON_WEB – аутентификация и создание сеанса WEB-пользователя • PKG_SESSION.LOGON_BG – создание фонового сеанса от имени указанного пользователя системы • PKG_SESSION.LOGOFF_WEB – завершение сеанса WEB-приложения • PKG_SESSION.TIMEOUT_WEB – установка ограничения времени простоя для WEB-сеанса • PKG_SESSION.LOGON_STATE – получение сведений о текущем состоянии сеанса

  9. Подсистема лицензирования и проверки прав доступа • PKG_SESSION.LOGON_WEB sCONNECTin varchar2, -- уникальный идентификатор соединения sUTILIZERin varchar2, -- имя пользователя, выполняющего процесс sPASSWORDin varchar2, -- пароль пользователя, выполняющего процесс sIMPLEMENTATIONin varchar2, -- код приложения, выполняющего соединение sAPPLICATIONin varchar2, -- код приложения, выполняющего процесс sCOMPANYin varchar2-- наименование организации Проверка прав доступа Лицензия WEB-приложения Регистрация событий Регистрация ошибок Лицензия Приложения системы Регистрация бизнес-процессов

  10. Подсистема лицензирования и проверки прав доступа • PKG_SESSION.LOGON_BG sIMPLEMENTATIONin varchar2,-- код приложения, выполняющего соединение и процесс sUTILIZERin varchar2 := null-- имя пользователя, выполняющего процесс sCOMPANYin varchar2 := null-- наименование организации • PKG_SESSION.LOGOFF_WEB sCONNECTin varchar2-- уникальный идентификатор соединения • PKG_SESSION.TIMEOUT_WEB sCONNECTin varchar2, -- уникальный идентификатор соединения nTIMEOUTinnumber-- ограничение (мин.): null,0,<0 - снять ограничение, >0 - установить ограничение • PKG_SESSION.LOGON_STATE iDETAILinbinary_integer := null 0 -- (0 - основные состояния, 1 - детальные состояния) • основные состояния: • 0 - регистрация не выполнялась, регистрация не прошла или ошибка регистрации,регистрация прошла успешно и сеанс был отключён • 1 - регистрация не прошла: истёк срок эксплуатации, • 2 - регистрация прошла успешно, • детальные состояния: • -1 - регистрация не выполнялась, • 0 - регистрация не прошла или ошибка регистрации, • 1 - регистрация не прошла: истёк срок эксплуатации, • 2 - регистрация прошла успешно, • 3 - регистрация прошла успешно и сеанс был отключён

  11. Подсистема лицензирования и проверки прав доступа • Применение в WEB-приложениях – Oracle APEX :P101_COMPANY :P101_USERNAME :P101_PASSWORD • Нет необходимости регистрировать пользователей WEB-приложений в Oracle • Разграничение прав доступа с применением штатных средств модуля “Администратор”

  12. Подсистема лицензирования и проверки прав доступа • Применение в WEB-приложениях – “On-Line доступ” Сервис “On-Line доступ” ПП Парус 8 использует данный API для аутентификации и авторизации пользователей. Пользователи данного сервиса должны быть зарегистрированы в системе, но могут не являться пользователями БД.

  13. Сервер отложенной печати • Назначение • Формирование отчетов, расчет которых занимает длительное время • Инициализация отчета и получение результатов его исполнения из сторонних систем и приложений • Автоматизация обмена данными отчетов (например, отложенное формирование отчета с его последующей отправкой по E-Mail) • Устраняемая проблематика • Получение отчетности, разработанной в ПП Парус 8 из сторонних систем, с сохранением всех преимуществAPI ПП Парус 8, использованных при разработке выходных отчетных форм • Ограничения • В настоящее время поддерживаются только выходные отчетные формы на базе MS Excel и Open Office Calc • Лицензирование • Для работы сервиса отложенной печати отчетов требуется специальная лицензия • Доступность • Сервис отложенной печати доступен в версии 8.5.6.1 ПП Парус начиная с ноябрьского релиза 2012 года

  14. Сервер отложенной печати • Принцип работы Очередь сервиса отложенной печати (RPTPRTQUEUE) 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; Сервер/Рабочая станция (ОС семейства MS Windows + MS Excel и/или Open Office Calc) Сервис отложенной печати (p8application.exe /bБД /aPrintServer /uПользователь /cОрганизация) Готовые отчеты (RPTPRTQUEUE_RPT) begin P_RPTPRTQUEUE_GET_RPT( NRN => РН_ЗАПИСИ_ОЧЕРЕДИ ,NUR_TYPE => ТИП_ОТЧЕТА_ВЫХОДНОЙ ,BDATA => ФАЙЛ_ОТЧЕТА_ВЫХОДНОЙ); end;

  15. Сервер отложенной печати • Применение в WEB-приложениях – Oracle APEX

  16. Сервер отложенной печати • Применение в WEB-приложениях – Oracle APEX select * fromrptprtqueue 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; • Поставлено в очередь • Выполнение завершено (успешно) • Выполнение завершено (с ошибками) Текст ошибки Стэк вызова • Нет необходимости верстать отчет в XMLв режиме “Run-time” • Возможно использование всех преимуществ пакета PRSG_EXCEL • Публикация в WEB-интерфейсе ранее разработанных для WIN-клиента пользовательских отчетов MS IE 9.x Google Chrome

  17. Сервер отложенной печати • Применение в WEB-приложениях – “On-Line доступ” Формирование отчетов сервиса “On-Line доступ” ПП Парус 8 осуществляется через очередь сервиса отложенной печати Мониторинг очереди осуществляется встроенными средствами… Инструментарий сервиса отложенной печати интегрирован в “On-Line доступ” ПП Парус 8 …обеспечивающими возможность выгрузки подготовленного отчета или повторную печать, при необходимости

  18. Условия отбора на сервере • Назначение • Формирование условий отбора данных раздела на сервере • Устраняемая проблематика • Оптимизация запросов, формируемых клиентом системы в момент отбора данных по разделам • Решение проблем безопасности, связанных с доступностью некоторых таблиц схемы “PARUS”, обусловленной необходимостью формирования условий отбора на клиенте • Контроль данных, запрашиваемых пользователем из БД • Доступность • Формирование условий отбора на сервере доступно в версии 8.5.6.1 ПП Парус начиная с ноябрьского релиза 2012 года • Перспективы • Перевод механизмов отбора в штатных разделах на работу с пакетом формирования условий отбора на сервере

  19. Условия отбора на сервере • Текущая схема работы WIN-клиент ПП Парус 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 Формирование секции WHEREзапроса Готовый запрос Сервер БД ПП Парус 8 Исполнение запроса WEB-клиент ПП Парус 8 :P51_PRJTYPE :P51_INSDEPT :P51_STATE Готовый запрос

  20. Условия отбора на сервере • Новая схема работы Клиент БД ПП Парус 8 Сервер БД ПП Парус 8 Пользовательский интерфейс ввода параметров отбора Исполнение неименованного блока Сборка неименованного блока со значениями параметров отбора Отправка блока на исполнение серверуv Процедура 1 формирования условий отбора Процедура N формирования условий отбора 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; Формирование запроса на отбор данных раздела, и его исполнение (PKG_COND_BROCKER) Исполнение запроса по отобранным документам select T.*from COND_BROKER_IDLITE C,<ПРЕДСТАВЛЕНИЕ_РАЗДЕЛА> Twhere C.ID = T.NRNorder by C.ROWNUM#; Пользовательский интерфейс представления отобранных данных Хранение идентификаторов документов, попавших в отбор (COND_BROKER_ID*)

  21. Условия отбора на сервере • Применение в 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; createorreplaceprocedure UDO_P_PHONE_BOOK_COND as begin -- Установка главной таблицы - Сотрудники 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

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

  23. Условия отбора на сервере • Применение в WEB-приложениях– “On-Line доступ” В настоящий момент в приложении “On-Line доступ” ПП Парус 8доступен отбор по колонкам. С введением механизма формирования условий отбора на сервере, для приложений “On-Line доступа” будет доступен полноценный отбор. Кроме того, существенно расширяются возможности форм отбора в пользовательских разделах, разработанных с применением модуля “Конструктор отраслевых расширений”

  24. Условия отбора на сервере • Преимущества решения • Работа в 4-х режимах в зависимости от потребностей пользователя • LIGHT – сохранение результатов отбора в рамках транзакции • MULTI– сохранение результатов отбора по нескольким разделам в рамках транзакции • SMART –сохранение результатов отбора в рамках сессии • HARD – хранение результатов отбора для повторного использования • Многократное использование алгоритмов формирования запроса и отобранных данных • Возможность журналирования выборок пользователей • “Прозрачность” механизмов отбора и возможность их отладки • Применение средств, контролирующих синтаксис, при разработке (Oracle SQL Developer, PL/SQL Developer) • Возможность предварительного просмотра собранного запроса • Запуск в специальном режиме для исследования производительности сформированного запроса

  25. Спасибо за внимание Ваши вопросы…

More Related