Научная статья на тему 'АВТОНОМНЫЕ ВЕБ-ПРИЛОЖЕНИЯ ДЛЯ СИСТЕМ ОБРАБОТКИ КОСМИЧЕСКОЙ ИНФОРМАЦИИ'

АВТОНОМНЫЕ ВЕБ-ПРИЛОЖЕНИЯ ДЛЯ СИСТЕМ ОБРАБОТКИ КОСМИЧЕСКОЙ ИНФОРМАЦИИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
29
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДИСТАНЦИОННОЕ ЗОНДИРОВАНИЕ ЗЕМЛИ / КОСМИЧЕСКАЯ ИНФОРМАЦИЯ / КЛИЕНТСКИЕ ПРИЛОЖЕНИЯ ДЛЯ СИСТЕМ ОБРАБОТКИ КОСМИЧЕСКОЙ ИНФОРМАЦИИ / МОБИЛЬНЫЕ ПРИЛОЖЕНИЯ / АВТОНОМНЫЕ ВЕБ-ПРИЛОЖЕНИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гинзбург Илья Борисович, Падалко Сергей Николаевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «АВТОНОМНЫЕ ВЕБ-ПРИЛОЖЕНИЯ ДЛЯ СИСТЕМ ОБРАБОТКИ КОСМИЧЕСКОЙ ИНФОРМАЦИИ»

«Труды МАИ». Выпуск № 82 www.mai.ru/science/trudy/

УДК 519.687.4

Автономные веб-приложения для систем обработки космической информации

Гинзбург И.Б.*, Падалко С.Н.**

Московский авиационный институт (национальный исследовательский университет), МАИ, Волоколамское шоссе, 4, Москва, A-80, ГСП-3, 125993, Россия

*e-mail: iliagi@mail.ru **e-mail: snp_609@mai.ru

Аннотация

В работе представлен новый класс кроссплатформенных веб-приложений как

компонент Единой территориально-распределенной информационной системы

дистанционного зондирования Земли (ЕТРИС ДЗЗ), расширяющий возможности

этой системы. При этом предлагается использовать набор клиентских и серверных

компонентов для управления автоматической актуализацией локального хранилища

кода веб-приложения и данных, полученных с сервера, что избавляет от

необходимости постоянного соединения с сервером и позволяет клиентским веб-

приложениям работать автономно с полученными данными при любых сбоях

соединения или в тех местах, где соединение с сервером недоступно. Одновременно

решаются задачи обеспечения кроссплатформенности, отказоустойчивости и

автономности клиентского приложения. В результате их решения в качестве

терминалов ЕТРИС ДЗЗ могут использоваться, в том числе, мобильные устройства,

1

в памяти которых накапливается и автоматически актуализируется необходимая тематическая информация.

Ключевые слова: дистанционное зондирование Земли, космическая информация, клиентские приложения для систем обработки космической информации, мобильные приложения, автономные веб-приложения.

В настоящее время в освоении космического пространства в России, так же

как и в других странах, наступил новый этап, характеризующийся переходом от

исследования космоса к активному использованию полученной информации в

различных областях экономики [1]. При этом зоной ответственности космической

инфраструктуры как отрасли является ответственность не только за создание

орбитальной группировки (ОГ), но и за ее эффективное применение. Это отражено,

в частности, в «Концепции развития российской космической системы

дистанционного зондирования Земли на период до 2025 года» [2]. В связи с этим в

настоящее время значительное внимание уделяется созданию современного

наземного комплекса приема, обработки и распространения космических данных от

космических аппаратов (КА) дистанционного зондирования Земли (ДЗЗ) (далее

НКПОР) как неотъемлемого компонента отечественной космической

инфраструктуры. Данный комплекс создается в виде Единой территориально-

распределенной информационной системы ДЗЗ (ЕТРИС ДЗЗ) [2]. Её главной целью

является обеспечение оптимального обслуживания потребителей c предоставлением

2

им различных способов формирования запросов и получения необходимой информации как по ведомственным или иным линиям связи, так и через сеть Интернет.

В интересах повышения качества обслуживания потребителей через сеть Интернет в рамках ЕТРИС создаются Интернет-порталы [3], которые состоят из банка данных космической информации (КИ) ДЗЗ, куда собирается информация с КА, и веб-интерфейса информационно-справочной системы. С его помощью осуществляется поиск необходимых данных, заказ отсутствующих данных, получение данных и дополнительной информации, а также контроль доступа пользователей к данным и администрирование всей системы.

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

Требование возможности автономной работы с данными ЕТРИС ДЗЗ связано, во-первых, с тем, что объемы запрашиваемых данных могут быть велики и достигать сотен мегабайт, а период их актуальности может быть достаточно продолжителен в зависимости от того, что в этих данных, и загружать их повторно при каждом обращении нерационально. Во-вторых, у многих конечных пользователей просто нет возможности каждый раз загружать большой объем данных из-за плохого соединения с сервером ЕТРИС, и требуется предоставить им

3

какой-то объем автономных данных с продолжительным периодом актуальности, а загружать только обновления. Помимо самих данных ДЗЗ большого объема с продолжительным периодом актуальности, текстовых и векторных аналитических слоев, которые меняются несколько чаще (но тоже имеют определенный период актуальности, допускающий кэширование) и имеют гораздо меньший объем - до десятка мегабайт, в обычных Интернет-порталах пользователю каждый раз загружаются неизменные служебные данные, которые служат для формирования клиентского интерфейса и управления загрузкой и отображением слоев КИ ДЗЗ, а также обеспечивают работоспособность различных сервисов портала на стороне клиента. На примере Геопортала Роскосмоса [3], являющегося частью ЕТРИС ДЗЗ, можно наблюдать следующую специфику системы: при открытии главной страницы портала загружается 23,60 МБ данных (что может происходить достаточно долго при плохом соединении) в результате 83 запросов, отправляемых веб-браузером клиента к веб-серверу.

Из общего указанного объема загружаемых данных подходят для долговременного кэширования на устройстве пользователя:

- файл описания каталога имеющихся в системе карт - 20,80 МБ (его для большей эффективности кэширования можно разделить на части: архивная -которая не меняется и несколько текущих - которые меняются с разной периодичностью);

- главный элемент интерфейса портала, созданный на базе технологии Adobe Flash (исключает поддержку большинства мобильных устройств) - 1,80 МБ;

- служебные программы на языке JavaScript в нескольких файлах общим объемом до 250 КБ;

- служебные изображения, являющиеся элементами интерфейса, общим объемом до 100 КБ.

Таким образом, примерно 22,95 МБ из загружаемых 23,60 МБ могут быть долговременно закэшированы локально, так как представляют собой интерфейс веб-приложения и каталог имеющихся карт, что позволит сэкономить этот трафик при повторных обращениях. По количеству запросов долговременное кэширование позволит сэкономить примерно 26 из 83 запросов.

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

Развивающаяся ЕТРИС ДЗЗ должна соответствовать этим требованиям. Для повышения эффективности использования КИ, находящейся в распоряжении центров сбора и обработки информации НКПОР, за счет обеспечения: оперативного отказоустойчивого доступа конечных пользователей к данной информации с различных клиентских устройств, включая мобильные; получения выборки данных, максимально соответствующих информационным запросам пользователей; возможности автономной работы пользователей с

5

полученными с сервера данными на их персональных устройствах - разработано подходящее для всех устройств клиентское программное обеспечение (ПО) [5].

Идея разработанного решения состоит в том, что для обеспечения доступности (за счет снижения общего трафика, уменьшения количества запросов к серверу и обеспечения кроссплатформенности) и актуальности информации из ЕТРИС ДЗЗ для пользователей, в том числе мобильных устройств, осуществляется локальное сохранение на устройстве пользователя определенного объема данных, необходимых конкретному пользователю в автономном режиме в случае отсутствия соединения с сервером, а также автоматическое обновление этой информации при восстановлении соединения. Возможность автономного использования ранее загруженных данных особенно важна при работе вдали от стационарного рабочего места, где связь может отсутствовать или работать с перебоями.

С разработкой стандарта HTML5 стало возможным создание кроссплатформенных автономных веб-приложений (АВП). Для обеспечения автономной работы клиентской части веб-приложения с полученными с сервера данными разработан набор клиентских и серверных компонентов [6].

Разработанные компоненты осуществляют управление постоянным локальным хранилищем HTML5 Application Cache [7] кода веб-приложения и данных, полученных с сервера для обеспечения штатной автономной работы, и своевременными их обновлениями. Набор включает в себя контроллер обновления манифеста кэша, актуализатор манифеста кэша и файл манифеста кэша.

Хранилище Application Cache используется для хранения программного кода клиентской части АВП, кэширования просматриваемых пользователем веб-страниц информационной системы и для обеспечения доступности загруженных данных в режиме офлайн.

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

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

Технология Application Cache с недавнего времени поддерживается всеми современными браузерами [8] для ПК (таблица 1) и мобильных устройств (таблица 2) без необходимости установки дополнительных плагинов.

Таблица 1. Браузеры для ПК c поддержкой Application Cache

Название Chrome Firefox Safari Opera Internet Explorer

Версия 4+ 3.5+ 4+ 10.6+ 10+

Таблица 2. Браузеры для мобильных устройств с поддержкой Application Cache

Название iOS Safari Android Browser Opera Mobile Internet Explorer Mobile

Версия 3.2+ 2.1+ 11+ 10+

Предлагаемое автономное веб-приложение представляет собой набор файлов с HTML-кодом, каскадных таблиц стилей CSS, программного кода на языке JavaScript, изображений и других файлов, встраиваемых на страницы веб-приложения. Для работы без подключения к серверу все эти файлы должны быть доступны автономно на устройстве пользователя. Этим управляет манифест кэша приложения на веб-сервере, содержащий список файлов, необходимых для работы веб-приложения в автономном режиме. Файл манифеста подключается к каждой веб-странице веб-приложения посредством указания атрибута manifest в теге <html> и состоит из трех разделов:

- CACHE - содержит относительные пути к файлам, которые должны быть закэшированы браузером и доступны в режиме офлайн;

- NETWORK - содержит указание ресурсов, требующих обязательного подключения к серверу;

- FALLBACK - содержит адреса автономных замен, недоступных в режиме офлайн ресурсов.

При первом заходе на страницу с подключенным файлом манифеста кэша браузер скачивает файл манифеста кэша и все указанные в нем файлы, подлежащие кэшированию (рисунок 1). При переходе между страницами, куда подключен такой же манифест кэша, браузер автоматически сохраняет их в то же хранилище в Application Cache.

Рис. 1. Инициализация локального хранилища приложений Application Cache При необходимости разные разделы сайта могут иметь разные манифесты кэша, что позволит создавать на одном сайте несколько независимых офлайновых кэшей приложений для одного сайта, то есть, другими словами, позволит загружать с одного сайта несколько автономных веб-приложений.

Также для разных авторизованных пользователей могут использоваться

разные манифесты кэша, позволяя подавать на устройство авторизованного

пользователя автономные веб-приложения, специфичные для данного конкретного

пользователя.

При запуске веб-приложения без подключения к сети (в автономном режиме) пользователю будут доступны все посещенные им страницы ЕТРИС и файлы из манифеста кэша (рисунок 2).

Рис. 2. Работа АВП из локального хранилища приложений Application Cache при

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

Если файл манифеста кэша cache.manifest изменился (рисунок 3), то ресурсы, отсутствующие в новом cache.manifest, удаляются из локального хранилища; ресурсы, перечисленные в файле cache.manifest, которые не загружались ранее, загружаются с сервера; для загружавшихся ранее и хранящихся локально ресурсов выполняется проверка их изменения с помощью запросов с заголовками If-Modified-Since, что позволяет загружать только измененные ресурсы.

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

Рис. 3. Обновление АВП в локальном хранилище приложений Application Cache Изменение файла cache.manifest на сервере может быть инициировано

разработчиками, программами синхронизации на сервере или действиями

11

пользователей по отправке на сервер вводимых данных. Это позволяет всем пользователям ЕТРИС своевременно получать обновления данных ЕТРИС в автоматическом режиме (рисунок 4).

Рис. 4. Обновление АВП в локальном хранилище приложений Application Cache

при изменении манифеста кэша После отправки на сервер данных, введенных пользователем, клиентский контроллер обновления файла манифеста кэша cache.manifest делает запрос к серверному актуализатору файла манифеста кэша, который обновляет запись о времени последнего изменения в файле манифеста кэша cache.manifest.

Обновленный файл cache.manifest загружается с сервера и начинается

стандартная процедура обновления данных локального хранилища Application

Cache, которая происходит, если новый файл манифеста кэша cache.manifest отличается от имеющегося на устройстве пользователя.

Схема работы контроллера обновления манифеста кэша на стороне клиента и серверного актуализатора манифеста кэша показана на рисунке 5.

^ Начало ^

1 г

Отправка запроса на изменение cache.manifest

1 Г

Изменение cache.manifest на сервере

1 Г

Обновление страницы в браузере

1 Г

Загрузка данных с сервера

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1 Г

Сохранение обновления в локальное хранилище

1 г

^ Конец ^

Рис. 5. Схема работа контроллера обновления манифеста кэша на стороне клиента

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

манифеста кэша, в котором больше не будет указаний на необходимость локального сохранения каких-либо ресурсов.

Удаление командой с сервера клиентской части веб-приложения и полученных с сервера данных из локального хранилища Application Cache никак не влияет на другие (например, введенные пользователем и сохраненные локально) данные, что является защитой от ошибочных действий.

Выводы

В статье предложен набор кроссплатформенных компонентов на основе HTML5 для ЕТРИС ДЗЗ, обеспечивающих: пользователей различных типов клиентских устройств, включая мобильные, возможностью автономной работы с загруженными с сервера данными и автоматическим обновлением локально сохраненных данных при появлении обновления на сервере; снижение трафика и количества обращений к серверу ЕТРИС.

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

В результате в качестве терминалов ЕТРИС ДЗЗ могут использоваться, в том числе, мобильные устройства, в памяти которых накапливается и автоматически актуализируется необходимая тематическая информация.

Использование предлагаемого набора клиентских и серверных компонентов

для управления актуализацией локального хранилища кода веб-приложения и

14

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

Разработанные компоненты позволяют эффективно решить ряд задач по созданию, дистрибуции и конфигурированию приложений ЕТРИС ДЗЗ, а именно, обеспечить:

- единый подход к реализации автономных клиентских приложений на JavaScript и HTML5;

- кроссплатформенность АВП (из системных требований приложения остается только наличие веб-браузера с поддержкой HTML5);

- возможность реализации единого адаптивного интерфейса для любых устройств с различными размерами экрана и способами ввода данных пользователями благодаря связке HTML5 и CSS3, с возможностью расширения даже на будущие устройства;

- возможность наделения клиентского приложения большим набором автономных функций благодаря использованию локального хранилища кода веб-приложения;

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

Предлагаемая реализация в виде набора разработанных компонентов позволяет создать кроссплатформенные клиентские АВП и для других

15

существующих клиент-серверных информационных систем с веб-интерфейсом с минимумом трудозатрат.

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

Это обеспечивает возможность использования КИ ДЗЗ вдали от стационарных рабочих мест и без подключения к серверу ЕТРИС.

Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта №14-08-01028а.

Библиографический список

1. Коптев Ю.Н., Алавердов В.В., Бодин Б.В. Исследования по истории и теории развития авиационной и ракетно-космической науки и техники. URL: http://epizodsspace.airbase.ru/bibl/issled-po-istor/issl8-10/01.html

2. Концепция развития российской космической системы дистанционного зондирования Земли на период до 2025 года. URL: http://www.gisa.ru/file/file766.doc

3. Сервис космических снимков - Режим доступа: http://gptl.ru/

4. Gartner Says Tablet Sales Continue to Be Slow in 2015. URL: http://www.gartner.com/newsroom/id/2954317

5. Гинзбург И.Б. Концепция построения распределенных систем информационной поддержки технического обслуживания аэрокосмической техники с использованием функционально насыщенных веб-клиентов // Научно-технический вестник Поволжья. 2014. №5. С. 159-161.

6. Гинзбург И.Б. Состав и архитектура взаимодействия модулей функционально насыщенного автономного веб-приложения для распределенных систем информационной поддержки различных этапов жизненного цикла аэрокосмической техники // Научно-технический вестник Поволжья. 2014. №6. С. 130-133.

7. Offline Web applications - HTML5. URL: http://www.w3.org/TR/2011/WD-html5-20110525/offline.html

8. Can I use offline web applications? URL: http://caniuse.com/offline-apps

i Надоели баннеры? Вы всегда можете отключить рекламу.