1 / 36

Oracle Application Express

Oracle Application Express. Некоторые приемы работы при реализации WEB- доступа к Парус 8. Oracle Application Express – некоторые приемы работы при реализации WEB -доступа к Парус 8. Интерфейс пользователя Перехват сообщений об ошибках Настройка графиков AnyChart Сервисные функции

edita
Download Presentation

Oracle Application Express

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. Oracle Application Express Некоторые приемы работы при реализации WEB-доступа к Парус 8

  2. Oracle Application Express – некоторые приемы работы при реализации WEB-доступа к Парус 8 • Интерфейс пользователя • Перехват сообщений об ошибках • Настройка графиков AnyChart • Сервисные функции • Контроль прав доступа • Работа с файлами (Upload/Download) • Работа с расширениями APEX (Plugins) • Работа с серверным API Парус 8 (8.5.6) • Изменения в механизме лицензирования • Аутентификация и использование API Парус 8

  3. Oracle Application Express – некоторые приемы работы при реализации WEB-доступа к Парус 8 Перехват сообщений об ошибках Интерфейс пользователя

  4. Интефейс пользователя – перехват сообщений об ошибках create or replace procedure UDO_P_PRJ_INFO/*Сбор информации по проектам */( NIDENT number–идентификатор процесса ,NCOMPANY number–рег. номер организации) asbegin … P_EXCEPTION(0, ‘Ошибка формирования данных проекта!'); …end;

  5. Интефейс пользователя – перехват сообщений об ошибках 1 2 3 3.1 2.1 2.2

  6. Интефейс пользователя – перехват сообщений об ошибках

  7. Интефейс пользователя – перехват сообщений об ошибках apex_application.g_print_success_message:= '<span style="color:red">'||serr||'</span>';

  8. Oracle Application Express – некоторые приемы работы при реализации WEB-доступа к Парус 8 Настройка графиков AnyChart Интерфейс пользователя

  9. Интерфейс пользователя – настройка графиков AnyChart

  10. Интерфейс пользователя – настройка графиков AnyChart http://www.anychart.com/products/anychart/docs/xmlReference/index.html

  11. Интерфейс пользователя – настройка графиков AnyChart

  12. Интерфейс пользователя – настройка графиков AnyChart 12,26 12

  13. Интерфейс пользователя – настройка графиков AnyChart numDecimals: 0 > numDecimals: 2

  14. Oracle Application Express – некоторые приемы работы при реализации WEB-доступа к Парус 8 Контроль прав доступа Сервисные функции

  15. Сервисные функции – контроль прав доступа

  16. Сервисные функции – контроль прав доступа createorreplacefunctionUDO_F_SYSW0001_GET_USER ( PNCOMPANY number := GET_SESSION_COMPANY --рег. номер организации ) returnvarchar2as/*Получение имени пользователя */ SWWWUSER CONSTLST.STRVALUE%type; SRES USERLIST.AUTHID%type := null;begin--считаем имя интернет-пользователя SWWWUSER := UDO_F_SYS0006_GET_CONST_VAL( NCOMPANY => PNCOMPANY ,SCONST => 'WEB_ПОЛЬЗОВАТЕЛЬ');--если текущее подключение от имени интернет-пользователяif (user = SWWWUSER)then--то вернем реальное имя авторизованного пользователя функциями APEX SRES := WWV_FLOW_CUSTOM_AUTH_STD.GET_USERNAME;else--иначе это обычный пользователь, вернем его имя SRES := user;endif;return SRES;end;/* create public synonym UDO_F_SYSW0001_GET_USER for UDO_F_SYSW0001_GET_USER; grant execute on UDO_F_SYSW0001_GET_USER to public;*/ 1. Получение имени аутентифицированного пользователя WWV_FLOW_CUSTOM_AUTH_STD.GET_USERNAME

  17. Сервисные функции – контроль прав доступа createorreplacefunction UDO_F_SYSW0001_CHECK_PRIVS( PNCOMPANY number := GET_SESSION_COMPANY --рег. номер организации ,PSUNIT varchar2--код раздела WEB-интерфейса) returnbooleanasbegin select...fromUSERROLES T,ROLES RwhereT.AUTHID = UDO_F_SYSW0001_GET_USER(PNCOMPANY)and T.ROLEID = R.RNand R.ROLENAME = … if()then return true; else return false; end if’ …end; /*create public synonym UDO_F_SYSW0001_CHECK_PRIVS forUDO_F_SYSW0001_CHECK_PRIVS;grantexecute on UDO_F_SYSW0001_CHECK_PRIVS topublic; */ 2. Проверка назначения роли пользователю BOOLEAN

  18. Сервисные функции – контроль прав доступа

  19. Oracle Application Express – некоторые приемы работы при реализации WEB-доступа к Парус 8 Работа с файлами (Upload/Download) Сервисные функции

  20. Сервисные функции – работа с файлами (Upload)

  21. Сервисные функции – работа с файлами (Upload) ----загрузка данных в БД через WEB-интерфейс--procedurewww_upload_file (nusrnumber, --рег. номер пользователяsftypevarchar2, --тип файлаsfilepathvarchar2--файл )isstmpblob;begin--ищем данный файл в буфереbeginselectt.blob_contentintostmpfromapex_application_filestwheret.name=sfilepath;exceptionwhenno_data_foundthenexcept(0, 'Файл не загружен!');end;--обрабатываем … end;

  22. Сервисные функции – работа с файлами (Download) ----выгрузка данных из БД через WEB-интерфейс-- procedurewww_downlod_file (nusrnumber, --рег. номер пользователяsftypevarchar2--тип файла )isstmpblob;begin--создадим буферыdbms_lob.createtemporary(lob_loc => stmp, cache => false); --подготовим данныеstmp:=... --формируем HTTP-ответ на скачиваниеowa_util.mime_header('application/octet', false);htp.p('Content-length: '||dbms_lob.getlength(stmp));htp.p('Content-Disposition: attachment; filename="'||sfilename|| '"');owa_util.http_header_close;wpg_docload.download_file(stmp); end;

  23. Oracle Application Express – некоторые приемы работы при реализации WEB-доступа к Парус 8 Работа с расширениями APEX (Plugins) Сервисные функции

  24. Сервисные функции – работа с расширениями APEX (Plugins) Multi File Upload • Поддержка AJAX • Настраиваемый интерфейс • Массовая загрузка файлов • ПоддержкаDrag-and-Drop http://www.theapexfreelancer.com/

  25. Сервисные функции – работа с расширениями APEX (Plugins)

  26. Сервисные функции – работа с расширениями APEX (Plugins)

  27. Сервисные функции – работа с расширениями APEX (Plugins)

  28. Сервисные функции – работа с расширениями APEX (Plugins)

  29. Сервисные функции – работа с расширениями APEX (Plugins) Настраиваемый пользовательский интерфейс Поддержка Drag-and-Drop Поддержка массовой загрузки

  30. Oracle Application Express – некоторые приемы работы при реализации WEB-доступа к Парус 8 Изменения в механизме лицензирования Работа с серверным API парус 8 (8.5.6)

  31. Работа с серверным API Парус 8 (8.5.6) – изменения в механизме лицензирования • Отдельные процедуры аутентификации для WEB и WIN • Разделение пользователей на WIN и WEB • Возможность явного указания имени пользователя, создающего сеанс • Возможность явного указания приложения, создающего сеанс и приложения, от имени которого будет использоваться серверный API • Возможность мгновенного восстановления завершенной сессии по её идентификатору из кэша

  32. Работа с серверным API Парус 8 (8.5.6) – изменения в механизме лицензирования • Начало сенасаWEB /* начало WEB-сеанса */procedureLOGON_WEB (sCONNECTinvarchar2, -- уникальный идентификатор соединенияsUTILIZERinvarchar2, -- имя пользователя, выполняющего процессsPASSWORDinvarchar2, -- пароль пользователя, выполняющего процессsIMPLEMENTATIONinvarchar2, -- код приложения, выполняющего соединениеsAPPLICATIONinvarchar2, -- код приложения, выполняющего процессsCOMPANYinvarchar2-- наименование организацииdefaultnull ); • Восстановление сенасаWEB /* проверка доступности лицензии WEB-сеанса */procedureVALIDATE_WEB (sCONNECTinvarchar2-- уникальный идентификатор соединения );

  33. Oracle Application Express – некоторые приемы работы при реализации WEB-доступа к Парус 8 Аутентификация и использование API Парус 8 Работа с серверным API парус 8 (8.5.6)

  34. Работа с серверным API Парус 8 (8.5.6) – аутентификация и использование API Парус 8 declareserrvarchar2(2000);scompvarchar2(200);beginselectNAMEinto SCOMP from COMPANIES where RN=:P101_COMPANY;pkg_session.LOGON_WEB (sWEBSID => v('APP_SESSION'), sIMPLEMENTATION => 'Others', sUTILIZER=> :P101_USERNAME, sAPPLICATION => :P101_MODULE, sCOMPANY => SCOMP);wwv_flow_custom_auth_std.login( P_UNAME => :P101_USERNAME, P_PASSWORD => :P101_PASSWORD, P_SESSION_ID => v('APP_SESSION'), P_FLOW_PAGE => :APP_ID||':1' );exceptionwhenothersthenserr:=sqlerrm; :P101_MSG:=serr;end;

  35. Работа с серверным API Парус 8 (8.5.6) – аутентификация и использование API Парус 8 • Не требуется реализовывать свои или переписывать штатные хранимые функции и процедуры для работы с данными штатных разделов • Полная интеграция с системой разграничения прав доступа без дополнительных усилий • Корретная работа жураналов регистрации для WEB-приложений

  36. Спасибо Ваши вопросы…

More Related