Введение в OpenEdge Mobile: RUN-TIME АРХИТЕКТУРА
Доступ к мобильным сервисам с пользовательским подключением
На рисунке 3 представлен JSDO каталог для сервиса OrderEntry, который предоставляет возможность JavaScript-методам Customers JSDO выполнять ABL-методы класса Customers для реализации операций Customers- ресурса. Прежде чем создать и использовать JSDO для доступа к мобильному ресурсу, мобильное приложение OpenEdge должно подключиться к соответствующему мобильному веб-приложению и загрузить файл каталога для мобильного сервиса, который предоставляет ресурс.
В зависимости от настроек безопасности Web-сервера и мобильного веб- приложения, мобильное приложение может подключиться к веб-приложению с указанием на Web-сервер, родной контейнер устройства, или браузер, или используя метод login() класса OpenEdge JavaScript – progress.data.Session. Если мобильное приложение успешно подключилось до вызова метода login(), мобильному приложению по-прежнему необходимо вызвать метод для того, чтобы установить сеанс подключения с мобильным веб- приложением и загрузить свои файлы JSDO- каталога.
Чтобы использовать объект Session для установления пользовательского подключения, мобильное приложение создает экземпляр класса и вызывает метод login() на этом экземпляре, передавая URI мобильного веб-приложения и дополнительные данные пользователя в качестве параметров. Точная последовательность подключения пользователя зависит от конфигурации безопасности веб-сервера, типа мобильного приложения, дизайна и платформы, а также о того, как ресурсы мобильного веб-приложения защищены на веб-сервере. Например, если необходимые учетные данные пользователя уже прошли проверку подлинности перед вызовом этого метода, любые учетные данные пользователя, передаваемые в метод, игнорируются.
Загрузка JSDO-каталога
Как только метод login() для объекта Session успешно вызван для мобильного веб-приложения OpenEdge, мобильное приложение может вызвать метод addCatalog() объекта Session, чтобы загрузить JSDO-каталог для каждого мобильного сервиса в мобильном веб-приложении, к которому оно должно получить доступ. Каждый JSDO-каталог имеет URI, который вы передаёте в этот метод наряду с дополнительными учётными данными пользователя в случае, если каталог требует отдельной аутентификации пользователя. Обратите внимание на то, что по умолчанию имя файла JSDO-каталога это имя мобильного сервиса для которого был создан каталог. В силу вышесказанного, имя файла и его расширение имеют следующий формат – service-name.json. После того, как пользовательское подключение успешно установлено, и все необходимые JSDO-каталоги загружены, мобильное приложение может вызывать операции для всех авторизованных мобильных сервисов и ресурсов.
Обратите внимание, мобильные сервисы и ресурсы в мобильном веб-приложении защищены с помощью Spring Security framework, который устанавливается вместе с OpenEdge для защиты мобильных и REST Web приложений. Для получения дополнительной информации об использовании Spring Security для защиты мобильных и REST Web приложений, см. раздел управления безопасностью REST-приложений в документации, книга «OpenEdge Application Server: Administration».
Single Sign-On в AppServer
В OpenEdge AppServer для подключения пользовательской сессии поддерживается Single Sign-On (SSO), настройка которого зависит от конфигурации безопасности мобильного веб-приложения OpenEdge. При правильной настройке и после проверки мобильным веб-приложением подлинности пользовательского подключения, приложение создает объект SSO Client-principal, который передается в AppServer с каждым AppServer-запросом генерируемым JSDO. Этот объект (client-principal) содержит пользовательский идентификатор, используемый для входа в мобильное приложение, и уникальный идентификатор сессии. В свою очередь, AppServer получает доступ к client-principal-атрибуту CURRENT-REQUEST-INFO системного дескриптора SESSION и использует его для установления SSO-подключения для текущего запроса.
Сведения о настройке мобильного веб-приложения с поддержкой SSO Client-principal в AppServer для каждого запроса, см. в разделе поддержки SSO для REST-приложений в документации по OpenEdge, книга «OpenEdge Application Server: Administration». Для получения дополнительной информации о доступе к SSO Client-principal на AppServer`е, см. описание атрибута CURRENT-REQUEST-INFO в документации по OpenEdge, книга «OpenEdge Development: ABL Reference», и в разделе, посвященному созданию подключения для сессии и пользовательского контекста, в книге «OpenEdge Application Server: Developing AppServer Applications».
В следующей статье мы рассмотрим тему “OpenEdge Mobile: Архитектура разработки и инструменты”
Есть вопрос? Спросите...
Для отправки комментария вам необходимо авторизоваться.
1 Комментарий