Введение в OpenEdge Mobile: RUN-TIME АРХИТЕКТУРА
Поддерживаемые типы мобильных приложений
На рисунке 1 представлена основная сквозная run-time архитектура для двух типов мобильных приложений, поддерживаемых в OpenEdge Mobile:
- Mobile Native App – работающие непосредственно под управлением OS мобильного устройства
- Mobile Web App – работающие в Web-браузере на любой аппаратной платформе
Различие между этими типами заключается в том, как HTML и JavaScript разворачиваются и исполняются на стороне клиента. Для приложений типа Mobile Native App, файлы HTML и JavaScript размещаются в онлайн-магазинах Apple iOS и Android, т.е. они должны быть загружены и установлены непосредственно на мобильное устройство, где они будут исполняться в рамках «родного» контейнера конкретного устройства. Для приложений типа Mobile Web App, файлы HTML и JavaScript размещаются на Web-сервере (A) для загрузки и исполнения в Web-браузере (B) так же, как и любое иное HTML Web-приложение. Тем не менее, интерфейс приложения может быть разработан с возможностью адаптации к работе в Web-браузерах на мобильных устройствах.
Как видно на рисунке 1, оба типа мобильных приложений используют те же самые мобильные сервисы (Mobile Service) для доступа к серверу приложений (AppServer). Мобильный сервис поддерживает набор мобильных ресурсов, которые предоставляют Web-доступ к сервисам ABL-приложения на сервере приложений.
Мобильный интерфейс (Mobile Interface) представляет собой ABL API для единственного Мобильного ресурса, который может быть реализован либо в виде singleton-процедуры, либо в виде singleton-класса. Мобильный ресурс предоставляет доступ к одной временной таблице (temp-table) или к одному набору ProDataSet состоящему из одной или нескольких временных таблиц, при этом используется стандартный набор встроенных операций, которые вы реализуете на сервере приложений для чтения и изменения данных. Мобильный ресурс также может обеспечить доступ к дополнительным AppServer-процедурам для работы с прочими данными сервера приложений, или для работы с теми же данными временной таблицы или набора ProDataSet в качестве встроенных операций, но с использованием других путей.
OpenEdge JavaScript Data Object (JSDO) – представляет собой экземпляр класса OpenEdge JavaScript (progress.data.JSDO), который обеспечивает доступ к данным и операциям единственного мобильного ресурса. Мобильное приложение вызывает методы JavaScript из JSDO для выполнения мобильных операций на сервере приложений. Данные для этих операций сериализированы между мобильным приложением и веб-сервером в виде JSON (JavaScript Object Notation).
Приложение OpenEdge Mobile Web предоставляет транспорт (REST через HTTP) для связи между работающим JSDO в мобильном приложении и мобильным ресурсом, который поддерживает приложение. Развернутое мобильное веб-приложение и REST-транспорт, включая безопасность приложения, могут управляться с помощью тех же инструментов OpenEdge, которые используются для управления любым OpenEdge REST Web-приложением. Обратите внимание, что одно мобильное веб-приложение обеспечивает доступ к мобильным ресурсам, реализованным одним OpenEdge AppServer (или одним сервисом приложения с балансировкой нагрузки).
Есть вопрос? Спросите...
Для отправки комментария вам необходимо авторизоваться.
1 Комментарий