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

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

Четыре способа доставки

В настоящее время принято выделять четыре способа доставки мобильных приложений бизнес-пользователям. Надо сказать, что не все они «ортогональны» друг другу — иными словами, способы эти не являются взаимоисключающими. К тому же далеко не все они уникальны для мира носимых устройств, но тем не менее такая классификация стала уже хрестоматийной. Итак, в этом смысле существуют корпоративные хранилища приложений (app stores); приложения, опирающиеся на веб-технологии (Web-based); приложения, предлагаемые на базе облачных технологий; приложения, основанные на технологии виртуализации рабочего места.

Корпоративные хранилища изначально рассчитаны на нативные мобильные приложения, создаваемые под конкретную платформу. По сути подобный механизм распространения приложений практически полностью наследует идеологию Apple Store/Google Play, хорошо известную еще со времен, когда мобильность ассоциировалась в основном с потребительским рынком. Если говорить о бизнес-системах, то требуемый для развертывания подобных хранилищ функционал, как правило, реализуется в составе программных инструментов класса Enterprise Mobility Management, применение которых уже вполне развито. Новые тенденции, судя по многочисленным источникам, состоят здесь в том числе и в неких сервисных возможностях мобильной автоматизации, которые вслед за самими хранилищами также приходят с потребительского рынка. Речь, разумеется, идет об автоматических апгрейдах и о контроле версий, что в несколько иной форме присутствует и в мире классического корпоративного ПО. Форумы обратной связи с пользователями мобильных приложений, которые раньше организовывались для индивидуальных потребителей, а теперь переносятся и в корпоративный мир, для классических бизнес-систем были и остаются не слишком характерными. И наконец, еще одним свойством, уже, пожалуй, полностью касающимся мобильных систем, является детальная автоматизация отслеживания профиля работы с приложением на стороне конечного пользователя.

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

В случае In-App Analytics уже вполне сложившейся практикой является предельно детальный учет буквально всех касаний экрана, совершаемых пользователем, голосовых команд, которые он подаёт, изменений индивидуальных настроек устройства, фиксация географического местоположения и т. д. Направление In-App Analytics начинало свое развитие с задач оптимизации контекстной рекламы, которая должна показываться пользователю непосредственно из мобильного приложения. А уже затем, будучи перенесенным в корпоративную среду, это направление катализировало в последней ряд смежных тенденций.

Сейчас уже всеми признано, что разработка приложений для планшетов и смартфонов — процесс по определению интерактивный и для традиционных бизнес-систем совершенно не характерный. Приложение запускается в некоем варианте, предполагающем корректное выполнение заранее запланированных ключевых функций, но совершенствование его логики и интерфейса (не в последнюю очередь на базе In-App Analytics и соответственно на анализе пользовательского опыта) предполагается по умолчанию. Поэтому куда более живой интерес корпоративные разработчики, равно как и бизнес в целом, начинают проявлять к таким методикам разработки софта, как Agile, Continuous Integrations или DevOps.

В отличие от нативных программ, требующих механизмов их распространения и контроля версий, мобильные системы на базе Web в качестве клиентской платформы используют браузер, что делает их более универсальными с точки зрения совместимости с различными платформами смартфонов и планшетов. Недостатки их вполне очевидны: они в большей степени зависят от качества и бесперебойности беспроводной связи и имеют ограниченные возможности в случае задействования внутренних аппаратных ресурсов персонального устройства (например, видеокамеры). Что касается пользовательского интерфейса, то и здесь ресурсы у них не столь богаты, как у нативных, но для выполнения производственных задач в подавляющем большинстве случаев их хватает.

Перспективы такого рода систем в основном связывают с совершенствованием их базовых платформ — браузеров. Наиболее важное из того, что здесь имеется в виду, — это синхронизация информации при работе в браузерах (по крайней мере одного производителя) на различных устройствах. По сути это дает толчок очередному этапу развития корпоративной мобильности, когда приложение в качестве клиентской платформы предполагает использование как мобильных девайсов, так и классических стационарных компьютеров. И одной из основных задач при этом становится не столько создание мобильного приложения как такового, сколько формирование такой «безбарьерной» среды, в которой пользователь эффективно переключается с мобильного устройства на стационарное рабочее место и наоборот.

Собственно сценарий работы с целым спектром персональных устройств (не обязательно в контексте использования браузера) тоже скорее зарождался на потребительском рынке, когда, например, ставилась задача формирования «бесшовного» перехода пользователя с одного устройства на другое при просмотре фильма в домашнем online-кинотеатре. Начиная смотреть его, скажем, на рабочем ПК, человек продолжает делать это на смартфоне в общественном транспорте, а придя домой досматривает картину на домашнем ноутбуке.

В целом отметим, что использование Web­браузера как платформы клиентского доступа с мобильных устройств является чисто корпоративным подходом. То же самое можно сказать и о так называемой гибридной технологии, когда непосредственно в нативное приложение для тех или иных целей встраивается функциональность браузера.

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

Каков инструмент, таково и приложение

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

Приложения для розничного рынка делали и продолжают делать с помощью SDK и сред разработки, каждая из которых тесно ассоциирована с определенной платформой, будь то Android, iOS или Windows Phone. Активно применяются они и в создании клиенткой части корпоративных мобильных систем. Альтернативные же базирующиеся на Web­технологиях (в основном на базе HTML5, JavaScript и CSS) методы, о которых мы уже говорили, в значительно большей мере характерны именно для бизнеса.

Что касается чисто корпоративного инструментария, то после некоего начального «периода неопределенности», в течение которого разные поставщики предлагали свой вариант реализации довольно размытой концепции middleware, стали формироваться несравнимо более мощные и многофункциональные инструменты.

В последние год-два окончательно сформировался по сути новый класс ПО под названием MBaaS (Mobile Backend as a Service), который все более прочно ассоциируется с обслуживанием всего жизненного цикла (от разработки и тестирования до мониторинга эксплуатации и управления изменениями) мобильных приложений корпоративного уровня. Формально он может включать в себя не только большинство уже упомянутых нативных SDK, но и такие чисто корпоративные сервисы, как обеспечение безопасности, доступ к базам данных, интеграция с популярными бизнес-системами, тестирование и последующий мониторинг создаваемых приложений и т. д. Иными словами, ключевой идеей MBaaS является выделение типичных для всех мобильных приложений смежных сервисов и реализация их в виде готовых решений, снабженных к тому же собственным API.

Большинство специалистов классифицируют MBaaS как некий подкласс инструментов категории Platform as a Service (PaaS), что явно намекает на их прямую связь с облачными технологиями.

Еще одна довольно своеобразная, тесно связанная с разработкой мобильных систем в бизнесе концепция, тоже пока не получившая русскоязычного эквивалента, носит название Application Refractoring. Она предполагает преобразование ориентированных на определенную платформу унаследованных систем, а также Web­приложений в приложения с аналогичной логикой, но ориентированных уже на интерфейс мобильных устройств. Пусть предлагаемое решение проблемы в данном случае оказывается не самым гибким, зато работа по такому преобразованию, зачастую вовсе не предполагающая написания кода, становится под силу не специализирующемуся в мобильности программисту, администратору или даже конечному пользователю.

Надо сказать, что сама идея Refractoring не нова, она известна с начала 2000-х и раньше могла применяться для преобразования унаследованных приложений в более современные их формы. Но именно в эпоху мобильности идея эта стала приобретать действительно широкую популярность. По крайней мере существует целый пул фирм (Reddo, Capriza, Framehawk и др.), которые целенаправленно занимаются проблемой преобразования приложений именно в контексте перехода на мобильные технологии.

В целом же представляется, что при создании мобильных систем корпоративного уровня традиционные подходы к разработке приложений, принятые в бизнесе, вытесняют методы, унаследованные от потребительского рынка. В этом смысле характерно, что в публикациях сегодняшнего дня куда реже, чем еще год-два назад, встречается термин BYOD. А если и встречается, то зачастую в весьма критическом контексте. Создается такое впечатление, что это была временная технология, которая в определенный период позволяла внедрить в бизнес-среду большое количество мобильных устройств c того самого потребительского рынка. Тогда спрос на них в бизнесе рос динамично, а чисто корпоративные мобильные технологии за этой динамикой просто не поспевали. Теперь же ситуация начинает выравниваться.