Постановка задачи Целью данной работы является разработка программного интерфейса для создания мэшап-приложений на платформе Ubiq Mobile. Мэшап-приложением, в терминах платформы, будет являться клиент-серверное приложение, в котором на серверной стороне будут совершаться все действия по получению, компоновке и фильтрации данных, а на клиентской стороне будет осуществляться только отображение данных и обеспечение возможности обратной связи. При создании подобных приложений программист сталкивается с рядом типичных задач, например с проблемой получения изображения карты, которое будет передано мобильному устройству. Целью данной работы является создание программного комплекса, который решает типичные задачи, возникающие при создании мэшап-приложений.
Для достижения цели дипломной работы планируется выполнение следующих этапов:
Изучить теоретические основы создания мэшапов
Провести анализ существующих решений по созданию мэшапов
Разработать архитектурный подход к созданию мэшап-приложений, выделить типичные проблемы, возникающие при создании мэшапов
Разработать интерфейсы, необходимые для построения мэшапов на базе платформы Ubiq Mobile
Создать прототип приложения, реализующий данные интерфейсы
Практическое значение работы заключается в том, что разработанные подходы предоставят разработчикам Ubiq Mobile сервисов эффективные инструментальные средства для разработки целого класса приложений, которые вызывают сложности при реализации традиционными методами.
Глава 2 Типы мэшап-приложений К сожалению, общепринятая классификация мэшап-приложений отсутствует. Поскольку одной из наиболее важных задач при создании мэшапов является получение данных, то разумно будет провести классификацию по типу данных, с которыми работает мэшап. Существуют четыре главные категории:
карты
медийный контент, видео и фото
новости
поиск и покупки
Приложение не обязано принадлежать какой-то одной категории. Например, приложение, которое получает ленты новостей из разных источников, извлекает из них информацию о месте происшествия и делает пометку на карте, очевидно, будет принадлежать и к первому и к последнему типу.
Но, как будет далее показано, такое разделение удобно с архитектурной точки зрения.
Картографические мэшапы В апреле 2005 года был создан картографический сервис Google Maps[4]. С тех пор идёт непрерывное улучшение, модификация сервиса. Появилось множество других картографических сервисов, например Яндекс Карты или Bing Maps, и они создали отдельную нишу интернет-приложений. Популярность картографических сервисов непрерывно растет, и их использование вошло в привычку у многих пользователей интернета.
Типичными задачами картографических сервисов являются:
Отображение фрагмента карты по заданным географическим координатам
Поиск и отображение объектов по каким либо параметрам. Это может быть полный или частичный адрес, название объекта или определённая позиция объекта относительно других объектов
Поиск оптимального маршрута из точки A в точку B, с различными дополнительными параметрами. Например, с учётом данных о состоянии дорог, пробок, односторонних движений и прочих особенностей конкретной местности
Довольно типичная задача: необходимо купить какой-либо предмет. Будет удобно из магазинов города выбрать только те, в которых продаётся этот предмет, расположить на карте и сделать пометки о стоимости предмета в каждом из этих магазинов.
К сожалению, возможности картографических сервисов не позволят сделать такой запрос. Решение подобных задач переходит на мэшапы, использующие картографические сервисы для отображения информации. В описанном примере сервису будет необходимо получать данные о товарах из нескольких магазинов, после чего, при помощи запросов к картографическому сервису отобразить полученные результаты, используя данные о ценах и адреса магазинов.
Мэшапы мультимедийного контента В интернете постоянно растёт число сервисов, предоставляющих те или иные услуги по хранению, управлению, редактированию фото-, аудио- и видеоинформации. Примерами могут служить сайты, схожие по функциональности с Flickr[5], дающие возможность хранить фотоизображения и связанную с ними информацию, YouTube[6], на котором пользователи могут размещать видеоролики, Harmony[7], который представляет собой online редактор для изображений. Всё это лишь примеры из множества существующих сервисов.
На данный момент одна из основных проблем при работе с медийным контентом – это информационная перегрузка. Информация, при помощи которой описывается медийный контент, часто является неполной, а иногда и недостоверной. Из-за этого при поиске и фильтрации возникают две проблемы:
Отсеиваются данные высокой важности
Данные низкой важности попадают в выборку
Попытка решить первую задачу при помощи более общих запросов порождает вторую проблему, в то время, как конкретизация запроса с целью уменьшения шума порождает первую проблему. До сих пор не существует в достаточной степени развитых систем, которые предоставляли бы удобный интерфейс для работы с типизированным контентом. Мэшапы – первый шаг к созданию такой системы.
Примером аудио мэшапа может служить сервис, который из нескольких источников получает аудиоматериалы какого-либо вида, например, инструментальную музыку и сопутствующую ей информацию, в частности, даты записи, названия произведений и имена композиторов, и предоставляет возможности навигации и поиска по этим данным.
Новостные мэшапы Новость — это оперативное информационное сообщение о событиях, произошедших недавно или происходящих в данный момент. Частными примерами новостей могут быть новости о мире и политике, информация о гастролях известного исполнителя, премьера нового фильма или просто информация о том, что в блоге школьного друга появилась новая запись.
У новостного мэшапа всего две основных задачи: это предоставление актуальной информации об интересующих человека событиях и уменьшение информационного шума, поскольку событий происходит намного больше, чем человек в состоянии осознать.
Примером новостного мэшапа может служить Google Reader[8], который собирает информацию из указанных ему RSS и Atom рассылок. Такой подход позволяет пользователю самому выбрать ту информацию, которую он хочет получать.
Поисковые мэшапы Проекты, осуществляющие поиск информации в интернете, являются на данный момент наиболее востребованными. Существует масса поисковых систем: Яндекс[9], Рамблер[10], Google[11], Microsoft Bing[12]. Все они используют свои собственные алгоритмы поиска информации в интернете, свою версию подсчёта ссылок, персонализации найденной информации, и на одинаковые запросы выдают разные результаты. Часто интересующий пользователя результат в одной системе будет находиться среди первых результатов выдачи, а в другую не попадёт совсем. Часто пользователю приходится искать информацию сначала в одной системе, после чего в другой, потом в третьей, чтобы, наконец, узнать, что в четвёртой системе необходимая информация находилась в числе первых результатов выдачи.
Очевидно, что при использовании сразу нескольких поисковых сервисов можно выдавать более релевантную запросу информацию. Именно эту задачу и решают поисковые мэшапы. В качестве примера можно взять поисковый сервис Nigma[13], который, используя другие сервисы поиска, позволяет уточнить вопрос, отсортировать по релевантности результаты других поисковых систем.
|