Бизнес сегодня уже не просто мирится с BYOD, а ищет возможности извлекать максимальную пользу от применения мобильных устройств и приложений. Возможность работать с бизнес-процессами компании без привязки к статичному рабочему месту важна для многих специальностей и поддерживается мобильным доступом к корпоративным системам ERP и BPM. Возможность персонификации (путем интеграции с корпоративной системой CRM и аналитическим инструментарием) обслуживания мобильных клиентов, с учетом их местоположения и предпочтений, помогает повышать лояльность сотрудников и заказчиков. Управление бизнесом и взаимодействие с контрагентами при любых перемещениях руководства делает процесс принятия решений более гибким и оперативным и обеспечивается мобильным доступом к ключевым корпоративным платформам. Однако для достижения всего этого компаниям, помимо политики поддержки мобильных платформ, необходимы инструменты интеграции мобильных программ и корпоративных бизнес-приложений с инфраструктурными системами, на которые опираются внутренние бизнес-процессы и решения для взаимодействия с клиентами и контрагентами бизнеса. Для корпоративной ИТ-инфраструктуры мобильные приложения — серьезный фактор нестабильности и непредсказуемости. Следование принципу BYOD в отношении сотрудников предполагает, что они смогут работать с корпоративными системами с помощью произвольных устройств, для которых только операционных систем существует как минимум три, а для подсчета различных форм-факторов пальцев обеих рук не хватит. Среда мобильных приложений не предполагает длительных циклов разработки и поддержки — разработчики должны оперативно реагировать на постоянные обновления мобильных ОС и появление новых типов устройств, обеспечивая не просто нормальную работу своих решений на новых платформах, но и максимально полное использование преимуществ от предлагаемых ими новшеств. В противном случае их решения могут потерять свою актуальность.

Несмотря на все эти факторы, традиционная ИТ-среда должна оставаться несокрушимым бастионом в океане перемен, обеспечивая надежность, надлежащую производительность и безопасность функционирования бизнес-приложений независимо от того, с каких конечных устройств к ним осуществляют доступ пользователи. Обеспечить сопряжение динамичной мобильной инфраструктуры бизнеса и стабильной платформы корпоративных информационных систем призваны решения нового типа — платформы связующего слоя для мобильных приложений .

Инфраструктура на связи

Как и традиционное связующее ПО, платформа связующего слоя для мобильных приложений — это дополнительный уровень, реализующий функции взаимодействия мобильных приложений друг с другом и с внутрикорпоративными прикладными и инфраструктурными системами. Из-за многообразия мобильных платформ, технических характеристик устройств, принципов построения мобильных приложений и частоты обновления аппаратных и программных компонентов мобильных решений большое значение приобретает инкапсуляция всех функций по интеграции мобильной среды со стационарной средой в специальной платформе промежуточного слоя. Такая платформа освобождает разработчиков от необходимости переписывать функции корпоративных систем для каждой очередной версии мобильного приложения. Вместо этого предлагается воспользоваться функциональностью платформы промежуточного слоя, предоставляющей набор стандартных сервисов и интерфейсов для обращения к корпоративным системам, управления доступом к данным, соблюдения политик безопасности в отношении мобильных устройств и др.

Платформа связующего слоя для мобильных приложений обеспечивает единую логику обращения к внутрикорпоративным системам и средствам контроля безопасности для разных типов мобильных приложений: нативных, использующих особенности определенных мобильных операционных платформ, мобильных веб-приложений, гибридных, реализующих оболочку для нативной функциональности и нового поколения приложений на базе HTML5. Унификация интеграционных механизмов [1] для всего многообразия мобильного доступа ускоряет разработку мобильных решений, делает корпоративную среду более безопасной и при этом обеспечивает эффективное вовлечение мобильных устройств в корпоративные бизнес-процессы. Для такой унификации платформа связующего слоя поддерживает идеологию сервисной архитектуры, обеспечивая преобразование между интерфейсом RESTful и форматом JSON, используемыми большинством мобильных платформ для доступа к данным других приложений, и традиционными для корпоративной сервис-ориентированной архитектуры (Service-Oriented Architecture, SOA) веб-сервисами.

Среди других важных функций связующего ПО надо упомянуть средства идентификации и единого входа, обеспечивающие связь между механизмами аутентификации мобильных приложений разных типов и корпоративной службой каталогов, например LDAP. Поддержка на платформе связующего слоя централизованных механизмов защиты позволяет отказаться от встраивания специального кода обеспечения безопасности непосредственно в устройства, что сегодня часто делают компании при создании мобильного предприятия. Последний подход создает дополнительную нагрузку на приложения и устройства, усложняет разработку и поддержку мобильных приложений и ограничивает гибкость инструментов защиты, которые должны быть приспособлены к специфике различных устройств. Защита на базе платформы связующего слоя подразумевает использование единого протокола авторизации мобильных пользователей (например, Oauth — протокол интеграции социальных сервисов [2] и предоставления безопасного способа обмена персональной информацией) и механизмов защиты данных, включая шифрование и средства защиты от утечек при пересылке данных на потенциально ненадежные устройства. В результате безопасность обеспечивается не за счет встраивания защитного кода непосредственно в устройства, а путем создания периметра защиты вокруг данных и приложений, что более гибко и экономически выгоднее.

Функциональность связующего ПО для мобильных приложений сегодня наиболее полно представлена в таких комплексных мобильных платформах, как IBM Worklight, SAP Mobile Platform, Oracle Mobile Platform, а также в интеграционных решениях компании Tibco и ряда других.

Интеграция через облако

Ключевая идея связующего ПО для мобильных приложений состоит в том, чтобы освободить разработчиков от повторяющихся задач по созданию поддерживающих функций и функций корпоративных информационных систем, унифицировать их решения для разных мобильных платформ и типов устройств, позволив разработчикам сосредоточиться на функциональных задачах мобильных приложений и совершенствовании их пользовательских компонентов, а также избавить их от необходимости овладевать навыками интеграции с различными базами данных [3], серверной инфраструктурой и бизнес-приложениями.

Следующим шагом в развитии этой идеи стала связь через облака мобильных приложений с корпоративными информационными системами — Backend as a Service. Решения категории BaaS появились на волне интереса к разработкам в облаках, и, в отличие от универсальных платформ PaaS, которые могут предоставить разработчикам окружение, необходимое для создания разных типов приложений от начала и до конца, BaaS реализуют только функции инфраструктурной поддержки и связи мобильных приложений с корпоративными информационными системами. Представленные сегодня на рынке решения этого типа обслуживают как создателей потребительских мобильных сервисов, так и разработчиков корпоративных мобильных решений.

Будучи облачной платформой, BaaS обещает более экономичную, масштабируемую, надежную и безопасную альтернативу связующему ПО для мобильных приложений, размещаемому на локальных серверах. BaaS называют инфраструктурой под ключ для мобильных приложений, которая позволяет свести к минимуму усилия разработчиков по программированию логики взаимодействия с разнородными корпоративными системами. Платформы BaaS предлагают ряд общих для мобильных приложений сервисов (управление идентификацией, безопасностью, хранением данных, push-уведомлениями и др.), средства интеграции мобильных приложений с системами на локальных серверах и в облачных платформах с внешними сервисами, например с социальными сетями. Для реализации этого BaaS представляет все компоненты корпоративной информационной системы в виде сервисов с унифицированными интерфейсами RESTful, к которым могут обращаться мобильные приложения. Для настройки платформы на определенные задачи и расширения возможностей интеграции в BaaS имеются инструментальные средства.

Основные компоненты платформы BaaS:

  • средства управления пользователями и веб-контентом с учетом специфики его представления в мобильных форматах;
  • базовые возможности просмотра данных из различных источников (коннекторы к СУБД, табличные средства хранения данных для работы с текстами и т. п.);
  • средства хранения и обработки мультимедиа;
  • поддержка различных способов коммуникаций;
  • аналитические инструменты;
  • средства защиты данных;
  • средства интеграции с популярными социальными сетями, облачными платформами (IaaS, PaaS) и специализированными облачными сервисами;
  • средства интеграции с различными типами корпоративного инфраструктурного ПО и бизнес-приложениями.

Рынок BaaS пока находится на ранней стадии развития, но быстро растет и, по данным аналитиков из MarketsandMarkets, к 2017 году может достичь 7,7 млрд долл. Стартапы в этой сфере начали появляться в 2011 году, и сегодня, по оценкам аналитиков Forrester, число поставщиков решений класса BaaS приблизилось к 40. Среди них наиболее заметны такие компании, как Appcelerator, Buddy, Kinvey, Parse, StackMob. Разработчики Kinvey, например, особое внимание уделяют API для интеграции данных, которые позволят мобильным приложениям общаться с любыми внутрикорпоративными и внешними сервисами. Такое взаимодействие осуществляется в рамках предлагаемой компанией архитектуры мобильного предприятия, в которой особое место отведено BaaS (см. рисунок).

Архитектура мобильного предприятия
Архитектура мобильного предприятия

 

Четыре вместо трех

Платформы BaaS представляют собой первый шаг на пути к новой архитектуре корпоративных приложений, которая неизбежно должна появиться, учитывая тот факт, что большинство этих приложений уже не смогут обойтись хотя бы без мобильного интерфейса. Такую точку зрения высказывают аналитики Forrester Research, представившие осенью 2013 года свой взгляд на новый подход к созданию и развертыванию приложений в корпоративной среде. По их мнению, сложившаяся в последние 15 лет трехзвенная архитектура приложений, включающая в себя презентационный уровень на базе браузера, сервер приложений и уровень работы с данными, уже не отвечает потребностям современных компаний, которые рассматривают мобильность как обязательное условие своей деятельности. Мобильные приложения для бизнеса, как и любые другие мобильные решения, неизбежно часто модифицируются, обязаны учитывать непредсказуемость быстродействия «последней мили» и предоставлять расширенные средства персонализации, имея при этом мощный тыл из корпоративных транзакционных систем, аналитических средств, решений по управлению контентом и разнообразных облачных сервисов. Традиционная трехзвенная архитектура с монолитными связями между разными уровнями неспособна динамично перестраиваться в ответ на обновления мобильных средств доступа, недостаточно гибка, чтобы обеспечить интеграцию новых партнерских сервисов или полезных для бизнеса общедоступных решений типа Google Maps, плохо поддается масштабированию до того уровня, который может потребоваться при развертывании мобильного предприятия.

Справиться с этими проблемами поможет изменение подходов к разработке и предоставлению приложений в корпоративной среде, считают в Forrester. Ключевые возможности, которыми должны обладать платформы мобильных решений: модульный дизайн; способность динамически собирать функции корпоративных информационных систем и внешние сервисы в зависимости от потребности приложений; представление функциональности внутренних систем и данных как атомарных компонентов, которые собираются по требованию и не тормозят выполнение пользовательских задач на мобильном устройстве, даже в условиях ограниченности его возможностей сетевого доступа; широкая поддержка открытых API для агрегирования различных внешних ресурсов; использование облачных платформ, в том числе для решения задач масштабируемости.

Для реализации всех этих принципов аналитики предлагают заменить традиционную трехзвенную архитектуру модульной из приложений нового типа, в которой вместо одного монолитного среднего уровня, представленного сервером приложений, будет два слабосвязанных звена, и в совокупности она будет состоять из четырех уровней.

  1. На клиентском уровне осуществляется поддержка уникальных устройств пользователя. Все особенности представления логики приложения пользователю изолируются от поддерживающей инфраструктуры, благодаря чему разработка клиентской части приложения может происходить независимо от разработки компонентов корпоративной информационной системы.
  2. Уровень доставки отвечает за поддержку «последней мили» доставки приложений. Здесь используются данные об атрибутах клиентского уровня, на основе которых принимается решение об оптимальном способе предоставления контента пользователю с применением необходимых преобразований и кэширования. В качестве средств реализации этого уровня можно привести сети доставки контента (Content Distribution Network, CDN) (например, Akamai), в совокупности с инструментами оптимизации доставки (например, Insart Logic), контроллерами доставки приложений (например, Riverbed Stingrey), и кэшами баз данных с обработкой в памяти.
  3. На уровне агрегации выполняется интеграция внутренних и внешних сервисов, а также преобразование данных. Этот уровень интерфейсов является ключевым для реализации принципов новой архитектуры, и в его функции входит оркестровка необходимых компонентов корпоративных информационных систем и внешних сервисов, а также преобразование данных в ответ на запрос клиентской части приложения. Для обеспечения динамичности и эффективности композиции сервисов этот уровень должен оснащаться аналитическими функциями и средствами ролевого доступа.
  4. Уровень сервисов обеспечивает динамическую композицию данных и функций бизнес-приложений и инфраструктурных систем в сервисы, которые наряду с внешними сервисами предоставляются уровню агрегации.

Наибольшей активности производителей можно ожидать в отношении реализации уровня агрегации, на котором сосредоточен максимум возможностей по созданию среды динамической поддержки всех особенностей мобильных приложений, с одной стороны, и их эффективной интеграции с функциями корпоративных систем и внешних сервисов — с другой. Именно здесь проявляют себя разработчики BaaS, которые с нуля создавали платформы, фактически соответствующие требованиям уровня агрегации. В этом же направлении двигаются и некоторые поставщики SaaS — например, Saleforce.com, предлагающая мобильным приложениям набор API и библиотек для доступа к своей системе CRM. С этими разработчиками будут конкурировать ведущие поставщики платформ связующего слоя, такие как IBM и SAP, которые сосредоточились сегодня на создании полномасштабных мобильных платформ, объединив свой опыт на интеграционном поле и инновации в области связующего ПО для мобильных решений. Стоит отметить, что на прошедшей в феврале 2014 года конференции Pulse корпорация IBM анонсировала облачную платформу для мобильных разработчиков Codename: Bluemix, что свидетельствует об интересе компании к рынку BaaS. В Forrester также обращают внимание на предложения компаний CA (Layer 7), Intel (Mashery) и Mulesoft, предлагающих API для доступа к данным транзакционных систем.

По мнению аналитиков, появление таких решений в последние три-четыре года указывает на начало процесса перехода к четырехзвенной архитектуре, до полного завершения которого пройдет еще около десяти лет. В ближайшие годы производители будут более четко определять роли своих продуктов в реализации новой архитектуры, развивать их в этом направлении и искать точки сопряжения с поставщиками решений для других уровней. Например, IBM продолжит развивать платформы WebSphere и Worklight для уровней сервисов и агрегации соответственно и планирует их интеграцию с предложениями Akamai или Amazon.com, которые займут нишу поставщиков решений для уровня доставки. В пятилетие после 2017 года аналитики ожидают объединения усилий ведущих производителей для создания экосистем решений, которые обеспечат построение полноценной четырехзвенной архитектуры.

***

Мобильность открывает перед предприятиями множество новых возможностей, но одновременно требует модернизации корпоративных ИТ. Прежде всего придется серьезно задуматься о способах контролировать работу сотрудников с мобильными устройствами, а также о том, как оптимально встроить мобильные приложения в корпоративную бизнес-среду. Новые подходы к интеграции конечных устройств и внутренней инфраструктуры на базе связующего ПО для мобильных приложений и средств связи через облака с корпоративными информационными системами помогут в решении этой задачи.

Литература

  1. Артак Оганесян. Новые задачи интеграции // Открытые системы.СУБД. — 2013. — № 10. — С. 32–34. URL: http://www.osp.ru/os/2013/10/13039068 (дата обращения: 11.03.2014).
  2. Наталья Дубова. Интеграция по-русски // Открытые системы.СУБД. — 2013. — № 9. — С. 27–29. URL: http://www.osp.ru/os/2013/09/13038282 (дата обращения: 11.03.2014).
  3. Наталья Дубова. Как победить конкурента в самом себе // Открытые системы.СУБД. — 2013. — № 8. — С. 54–57. URL: http://www.osp.ru/os/2013/08/13037365 (дата обращения: 11.03.2014).

Наталья Дубова (osmag@osp.ru) — научный редактор, «Открытые системы.СУБД» (Москва).