В последнее время в нашу жизнь прочно вошли мобильные устройства, которые используются не только для выполнения звонков, но и для обработки больших данных и выполнения вычислений. Для доступа к информационным ресурсам и системам мобильные приложения используют различные схемы взаимодействия, которые будут рассмотрены в статье.
Ключевые слова: мобильное приложение, мобильные устройства, клиент-сервер, облачные технологии, кроссплатформенность
В последнее время каждый человек должен оставаться в курсе последних событий. Ввиду неудобства использования стационарных компьютеров и ноутбуков на первый план все чаще выходят мобильные телефоны и планшеты. С учетом развития информационных технологий, из года в год появляются все более мощные мобильные устройства. Следовательно, существенно повышаются требования к приложениям, предназначенным для этих устройств. Существуют различные мобильные платформы, и для каждой имеется свой инструментарий разработки. Могут быть разработаны приложения, которые будут работать на нескольких платформах, то есть кроссплатформенные.
Возможности мобильных приложений
Современные мобильные устройства — смартфоны и планшеты — становятся все более производительными и универсальными, что позволяет им обрабатывать большие объемы данных. С помощью мобильных устройств появилась возможность получать информацию в любое удобное время и любым доступным и удобным для пользователя способом. С развитием мобильных сетей 4 поколения мобильные приложения получили новую жизнь. Не секрет, что у большинства людей на мобильных устройствах постоянно включен мобильный интернет, который превращает смартфон в почти что в персональный компьютер. Такую возможность обеспечивают облачные технологии, позволяющие использовать, обрабатывать и передавать данные, расположенные в удаленном дата-центре, вне зависимости от местонахождения пользователя, и мобильные устройства, представляющие собой удобный инструмент для доступа к информации [1].
Крупные разработчики информационных ресурсов адаптируют свои приложения под мобильные устройства. Например, фирма 1С разработала мобильные приложения под свои информационные продукты. Мобильная версия 1С обладает свойством кроссплатформенности, т. е. отлично работает вне зависимости от того, какое мобильное устройство у пользователя под управлением Android или iOS. Основным назначением мобильных приложений является организация удаленных рабочих мест для прикладных решений, функционирующих на стационарных компьютерах [2]. С такими приложениями стандартными средствами платформы организуется постоянный обмен данными в режиме off-line (рис. 1).
Рис. 1. Обмен данными между мобильным приложением 1С и информационным продуктом
Структура взаимодействия мобильных приложений и информационных ресурсов
Для оптимального взаимодействия мобильных приложений и информационных ресурсов разработчиками предлагается использовать клиент-серверную архитектуру, где в качестве клиентов выступают мобильные устройства (смартфоны, планшеты), персональные компьютеры, ноутбуки и т.д, причем мобильные устройства выступают полноценными клиентами с полным использованием функционала. Рассмотрим схему взаимодействия мобильных приложений и информационных ресурсов (информационных систем), которую предлагает фирма 1С (рис.2) [3].
Взаимодействие компонент информационного продукта с информационной базой 1С:Предприятия 8 выполняется по следующему алгоритму:
- В редакторе мобильных приложений, расположенном на стационарном компьютере, создается приложение на основе метаданных и конкретной конфигурации 1С:Предприятия. Приложение хранится в информационной базе 1С:Предприятия.
- Сервер мобильных приложений осуществляет передачу к мобильному устройству и обратно, также осуществляется проверка версий мобильного приложения и происходит передача платформе исполнения мобильных приложений.
- На платформе исполнения происходит запуск мобильного приложения.
Рис. 2. Схема взаимодействия мобильных приложений и информационных ресурсов
В работе [4] предлагается переместить клиентскую часть информационной системы на мобильное устройство, при этом серверная часть приложения будет по-прежнему храниться на стационарном компьютере. Недостатком предлагаемого решения является невозможность получения актуальных данных при отсутствии доступа к Интернету.
Перенос клиентской части корпоративного приложения на мобильное устройство осложняется ограниченностью вычислительных ресурсов и возможной нестабильностью или низкой производительностью средств беспроводной связи при удалении от источника сигнала. Решить проблему нестабильности связи можно путем понижения трафика между устройствами или создания дополнительного хранилища информации непосредственно на мобильном устройстве. Для этих целей предлагается использовать шаблон Command and query responsibility segregation (CQRS). Концепция шаблона состоит в разделении всех внешних действий клиентского приложения на запросы к данным (query) и команды на изменение данных (command). Для проверки корректности данных и оценки возможности исполнения команд в шаблоне используется модель области определения. Все коммуникации осуществляются через систему сообщений, имеющих определенную структуру (contract). Схема работы шаблона CQRS приведена на рис. 3 (Cache — база данных, представ-ленная в терминах клиентской части приложения и адаптированная для чтения; Domain model (модель области определения) — «сеть взаимосвязанных объектов, в которой каждый объект представляет собой отдельную значащую сущность, может быть, настолько большую, как корпорация, или настолько малую, как строка из формы заказа» [5]; Denormalization — процесс синхронизации Cache и Event store путем интерпретации опубликованных событий сервера как изменения Cache; Event store — база данных, адаптированная для записи ин-формации в формате сервера). Весь процесс взаимодействия клиентской и серверной частей приложения укладывается в следующий алгоритм:
- Для получения набора данных клиент отправляет публичной части сервера запрос, на основании которого формируется выборка объектов из Cache, описанных в терминах клиента, после чего она возвращается клиенту как результат работы сервера.
- Для создания, удаления или изменения существующего объекта клиент отправляет на сервер запрос-команду. Запрос проверяется на корректность и возможность исполнения и ставится в очередь. При достижении вершины очереди команда передается в сервис, в результате работы которого формируется публичное сообщение, сохраняемое сначала в Event store, а после процедуры денормализации — в Cache. Подобное разделение позволяет избежать лишних преобразований и снизить сетевой трафик [4].
Рис. 3. Схема взаимодействия мобильного приложения с сервером, реализованного с использованием шаблона CQRS
Самой оптимальной на наш взгляд является схема взаимодействия, предложенная в работе [6] (рис.4). Авторы рекомендуют использовать частное облако. Частное облако — это инфраструктура вычислительных мощностей компании, потребителями ресурсов частного облака является корпоративная информационная система (КИС) и сами мобильные приложения [6].
Рис. 4. Схема взаимодействия мобильного приложения с корпоративной информационной системой
Основным достоинством, предлагаемой схемы является легкое изменение функционала КИС для работы с мобильными приложениями, даже при условии успешного функционирования на протяжении длительного времени. Данная схема также учитывает современные и актуальные облачные технологии, которые позволяют достигнуть высокого уровня безопасности, конфиденциальности хранения данных и неограниченные вычислительные ресурсы.
Заключение
В статье были рассмотрены основные схемы взаимодействия мобильных приложения с информационными ресурсами. В качестве оптимального предлагается использование схемы с облачными технологиями, так как будет достигнут высокий уровень безопасности, конфиденциальности хранения данных и неограниченные вычислительные ресурсы.
Литература:
- Мобильность и облачные сервисы — новая парадигма развития рынка информационных технологий. Режим доступа: http://ric-systems.ru/2012/10/mobilnost-i-oblachnye-servisy-novaya-paradigmarazvitiya-rynka-informacionnyx-texnologij.
- Работа на мобильных устройствах. Режим доступа: http://v8.1c.ru/overview/Term_000000804.htm.
- Расширение для карманных компьютеров. Режим доступа: http://v8.1c.ru/overview/Term_000000401.htm?printversion=1.
- Платонов Ю. Г. Разработка мобильных приложений для работы с корпоративными информационными системами // Проблемы информатики. — 2011. — № 3. — С. 15–32.
- Фаулер М.Архитектура корпоративных программных приложений. М.: Вильямс, 2006.
- Копытов В. В., Шульгин А. О., Федоров С. А. Разработка архитектуры интеграционной среды кроссплатформенных мобильных приложений с корпоративной информационной системой // Международный научно-исследовательский журнал. — 2015. — № 7–1 (38). С. 51–54.