По оценкам аналитиков, к 2016 году число сетевых соединений составит около 20 млрд, удвоившись по сравнению с 2011 годом, однако общее число пользователей Сети к 2016 году будет составлять лишь 45% населения Земли. Рост количества сетевых соединений на одного человека означает появление новых способов доступа к ресурсам Интернета — интерфейсов мобильных устройств для управления, ввода и визуализации данных. Как следствие, разрабатываемые и используемые в ЦЕРН приложения постепенно адаптируются для работы в современной мобильной среде. Не стала исключением и система мониторинга инфраструктуры Большого адронного коллайдера (LHC) — LHC Dashboard, интерфейс которой был адаптирован для использования на мобильных устройствах.

Система мониторинга

Разработка системы LHC Dashboard ведется в инженерном департаменте ЦЕРН с 2009 года, и ее основная задача — получение в реальном времени информации о состоянии инфраструктуры LHC. Cистема обрабатывает данные из различных источников, фильтрует и визуализирует их с помощью инструментов LabVIEW (популярной среды разработки систем SCADA). Полученные таблицы и диаграммы экспортируются в виде файлов изображений на веб-сервер. Далее LHC Dashboard формирует интерактивную панель, на которой с помощью технологии OpenSocial отображается набор гаджетов. Гаджет — это мини-приложение, инкапсулирующее свои метаданные (параметры, подключаемые модули) и бизнес-логику, отвечающую за визуализацию компонента мониторинга (загрузку и отображение графического файла с веб-сервера, в зависимости от установленных параметров). В каталоге находится более 60 гаджетов, отображающих, к примеру, данные о воздействии радиации на электронику, охлаждении магнитов и т. д. Помимо набора заранее заданных панелей, пользователи могут создавать собственные, собирая на них необходимые им гаджеты, а также задавать временной интервал для автоматической ротации панелей.

OpenSocial — это набор спецификаций программных интерфейсов для интеграции в веб-приложение сторонних мини-приложений. OpenSocial изначально был предложен компаниями Google, MySpace и рядом других как платформа для приложений социальных сетей, однако со временем эта технология стала использоваться и для интеграции бизнес-решений. Основное ее достоинство в том, что однажды созданный гаджет может быть затем встроен в любое OpenSocial-совместимое приложение (рис. 1).

Рис. 1. Пример встраивания гаджета Beam Tune в разные приложения — LHC Dashboard и систему управления проектами JIRA
Рис. 1. Пример встраивания гаджета Beam Tune в разные приложения — LHC Dashboard и систему управления проектами JIRA

 

Встраивание одного компонента во множество разных приложений позволяет уменьшить общую кодовую базу и, как следствие, снижает затраты ресурсов на разработку и поддержку кода. Кроме того, появляется возможность построения персонализированных интерфейсов путем комбинации разнородных компонентов, соответствующих запросам и задачам конкретного пользователя, что в конечном итоге способствует повышению концентрации его внимания. Все это особенно важно для такой крупной организации, как ЦЕРН, в которой совместная работа в рамках масштабного проекта затрудняется из-за слабой связанности рабочих групп. Следствием этого является использование группами (а временами и одной группой) различных, иногда дублирующих друг друга информационных систем. Это приводит к тому, что увеличивается период обучения новых сотрудников (что особенно актуально для ЦЕРН, где обычно кадры обновляются весьма часто) и снижается эффективность взаимодействия различных групп. Решения на основе OpenSocial позволяют минимизировать дублирование функционала, предоставляя возможность интеграции в одном приложении компонентов из других систем. 

Мобильный клиент LHC Dashboard Mobile

Согласно данным системы учета сетевых устройств CERN LanDB на июнь 2012 года, в сети ЦЕРН зарегистрировано 9420 мобильных устройств, из них 55% работают на платформе iOS, 34% — на Android, 7% — на Symbian и 4% — на Blackberry, Windows Phone и др. Рост популярности планшетов и смартфонов у сотрудников организации заставил задуматься о необходимости поддержки новых вариантов использования системы мониторинга, например, оказать помощь эксперту во время совещания или в случае, когда оператор физически находится вне рабочего помещения. Была поставлена задача создания адаптивного, мобильного пользовательского интерфейса для LHC Dashboard.

При этом нужно было учесть следующее:

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

Разработка мобильного приложения обычно начинается с выбора целевой платформы — в случае с ЦЕРН нацелиться на одну аппаратную платформу нельзя ввиду высокой диверсификации мобильных устройств потенциальных пользователей, и в этой ситуации возможны три подхода:

  • Определить конечное множество целевых платформ и для каждой из них разработать «родное» (native) приложение, что означает высокую стоимость разработки и необходимость поддержки множества вариантов приложений. Однако взамен мы получаем полную интеграцию с программными интерфейсами мобильной операционной системы, что обеспечивает высокую скорость выполнения приложений и доступ средствами мобильной ОС к любой специфической периферии устройства.
  • Создать веб-приложение, используя стандартные технологии (JS, HTML5 и CSS3), работающие на любых устройствах с установленным браузером, что априори делает его кросс-платформным и, следовательно, менее затратным в части разработки и поддержки. Однако с учетом ограничений технологий (например, однопоточное выполнение кода JavaScript) производительность снижается и существенно ограничивается доступ к операционной системе.
  • Создать гибридное приложение с помощью инструментальных сред (например PhoneGap), представляющее собой «родное» приложение, содержащее специальный визуальный компонент интерфейса WebView (встроенный браузер), который занимается рендерингом HTML-страниц. WebView использует движок с расширенным набором JS API к различным компонентам мобильной операционной системы (список контактов, файловая система, уведомления, камера и др.).

В случае LHC Dashboard Mobile надо было учитывать, что OpenSocial позволяет повторно использовать уже существующие компоненты (в каталоге LHC Dashboard уже имелось 62 гаджета) в любых OpenSocial-совместимых приложениях. Поскольку некоторые гаджеты для LHC Dashboard на сегодняшний день интегрированы в ряд других приложений, используемых инженерным департаментом ЦЕРН (JIRA — система отслеживания ошибок, Confluence — система управления контентом), было решено интегрировать контейнер OpenSocial в мобильный клиент, а это, в свою очередь, подразумевает использование стека веб-технологий. При этом требования к системе таковы, что необходимость получения доступа к платформно-зависимому функционалу мобильных устройств отсутствует. Поэтому, чтобы максимально упростить архитектуру приложения, минимизировать количество программного кода и технологий реализации, решение было принято в пользу веб-приложения.

При разработке использовались следующие библиотеки: jQuery — фреймворк для взаимодействия с DOM-элементами HTML-страниц (де-факто стандартный компонент практически любого JS-приложения) и jQueryMobile (JQM) — основанный на jQuery фреймворк для создания веб-приложений, адаптированных для мобильной платформы. JQM предоставляет набор визуальных компонентов (виджетов), функционирующих так, чтобы максимально полно повторить «родные» мобильные приложения: крупные элементы интерфейса, сенсорное управление и т. д.

При проектировании интерфейса LHC Dashboard Mobile использовался набор шаблонных заготовок Outline с изображением различных мобильных устройств в масштабе 1:1. Результатом работы стало создание макетов трех возможных состояний интерфейса мобильного клиента (рис. 2).

Рис. 2. Прототип пользовательского интерфейса LHC Dashboard Mobile
Рис. 2. Прототип пользовательского интерфейса LHC Dashboard Mobile

 

Проблемы

Основной недостаток системы LHC Dashboard заключается в том, что все  компоненты мониторинга (диаграммы, таблицы) хранятся в виде растровых изображений, поэтому при работе с приложением на смартфоне, изображения необходимо масштабировать, чтобы поместить всю информацию на небольшом экране, а это приводит к снижению качества изображения и, как следствие, ухудшению восприятия информации. На данный момент исследуются способы передачи на сторону клиента структурированных текстовых данных вместо монолитных изображений (например, с помощью технологии Web Sockets) с целью их последующей визуализации с помощью HTML5/JS/CSS3.

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

***

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

Владимир Васильев (vladimir.vasilyev@cern.ch) — инженер-программист, ОИЯИ (Дубна).