Кафедра системного программирования Разработка программного интерфейса для мэшап-приложений на базе платформы Ubiq Mobile





Скачать 434.88 Kb.
НазваниеКафедра системного программирования Разработка программного интерфейса для мэшап-приложений на базе платформы Ubiq Mobile
страница5/7
Дата публикации21.02.2015
Размер434.88 Kb.
ТипДипломная работа
100-bal.ru > Информатика > Дипломная работа
1   2   3   4   5   6   7

Глава 3

Устройство мэшапа


Архитектура мэшапов всегда состоит из трёх частей.

  1. Сборщик содержимого — это источник данных. Данные доступны через API и различные веб-протоколы, такие как RSS, REST, веб-сервисы

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

  3. Отображение — собственно пользовательский интерфейс мэшапа. В некоторых веб-приложениях вся логика может быть реализована клиентским браузером с использованием клиентского языка программирования, например, JavaScript

Сборщик содержимого


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

На данные, получаемые от веб-сервиса, не накладывается никаких ограничений. Чаще всего это географические координаты объектов, фотографии, видеоролики, текстовая или гипертекстовая информация.

По сути, любой сборщик является примером паттерна «Фасад»[23] (Англ. Facade). Это шаблон проектирования, который предлагает упрощённый интерфейс для большого количества кода (в случае мэшапов — код для агрегации разных источников данных с различными API).

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

Стоит заметить, что любое обращение к подобной модели является запросом. Соответственно, удобно представлять сборщик в качестве базы данных и использовать SQL подобный язык для извлечения данных. В частности, для языка C# удобно будет использовать Linq запросы для операций с наборами данных.

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

На рисунке 1, представлена общая схема сборщика данных.

Service

Harvester

Cache

Xml, Json,

Harvester API

Рисунок 1

Архитектура картографических мэшапов


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

Data Harvester

 

Data Harvester

 

Harvester

 

Service

Logic

Map View

Рисунок 2

Service

Рассмотрим конкретный пример: есть веб-страница, отображаемая в браузере, на ней необходимо поместить область с картой; кроме того имеется сервис, данные которого нужно отображать на карте. В этом случае логично будет использовать видоизменённый паттерн Model-View-Controller[15].

Сборщик содержимого порождает объектную базу данных и модель данных, используемую логикой мэшапа. Именно объектная база данных соответствует части Model. Кроме того, на базу ложится задача по предоставлению возможности изменения данных и хранению изменённых данных.

Чаще всего, интерфейсы картографических сервисов, будь то Яндекс Карты или Google Maps, предоставляют возможности для выполнения пользователями типовых операций на карте, будь то перемещение карты, изменение масштаба, выбор конкретного места на карте и обеспечивает возможность обработки реакций пользователя посредством механизма событий. Именно при помощи событий будет осуществляться обратная связь с контроллером, а при помощи функций ввода информации, модель сможет отображаться непосредственно на карте.

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

Рассматриваемый пример можно изобразить на рисунке 3:

Service

Harvester

Mapper

View

Controller
Business logic

Controller
Business logic

Рисунок 3

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

View

Рисунок 4

Service

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

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

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

Service

View

Service

Service

Service

Рисунок 5

В рамках практической части данной работы построено мэшап-приложение в соответсвии с данной архитектурой. Единственное его отличие будет заключатся в том, что верхним слоем будет сервис, отвечающий за передачу контента на телефон и осуществление обратной связли.
1   2   3   4   5   6   7

Похожие:

Кафедра системного программирования Разработка программного интерфейса для мэшап-приложений на базе платформы Ubiq Mobile iconКурсовая работа На тему: «Разработка системного проекта типовой платформы...
На тему: «Разработка системного проекта типовой платформы для web порталов муниципальных образований Пермского края»
Кафедра системного программирования Разработка программного интерфейса для мэшап-приложений на базе платформы Ubiq Mobile iconПрограмма по формированию навыков безопасного поведения на дорогах...
Чем Windows ce отличается от программного обеспечения смартфонов и карманных пк на базе Windows Mobile?
Кафедра системного программирования Разработка программного интерфейса для мэшап-приложений на базе платформы Ubiq Mobile iconМолдавский Государственный Университет Факультет Математики и Информатики....
За последние 9 лет (c 1993) в мире персональных компьютеров появился новый участник – персональный карманный компьютер (кпк). Большую...
Кафедра системного программирования Разработка программного интерфейса для мэшап-приложений на базе платформы Ubiq Mobile iconОтчет по преддипломной практике На тему: «Проектирование программного...
Целью работы является проектирование программного человеко-машинного интерфейса для социально-ориентированной системы поддержки очного...
Кафедра системного программирования Разработка программного интерфейса для мэшап-приложений на базе платформы Ubiq Mobile iconКафедра системного программирования
Построение риторических деревьев текста на основе машинного обучения в рамках задачи автоматического реферирования
Кафедра системного программирования Разработка программного интерфейса для мэшап-приложений на базе платформы Ubiq Mobile iconЭтот курс посвящен среде разработки Delphi фирмы Borland (известной...
Концепция Delphi1 была реализована в конце 1994 года, когда вышла первая версия среды разработки. В основу этого программного продукта...
Кафедра системного программирования Разработка программного интерфейса для мэшап-приложений на базе платформы Ubiq Mobile iconРефератов (ргр) по дисциплине «Разработка приложений в среде Oracle»
Разработка Delphi-приложений для Oracle. Визуальные компоненты для работы с набором данных
Кафедра системного программирования Разработка программного интерфейса для мэшап-приложений на базе платформы Ubiq Mobile iconПроекта: Разработка Web-приложений
Разработка web-приложений, бизнес процесс разработки web-приложения, cms drupal, создание сайта кафедры
Кафедра системного программирования Разработка программного интерфейса для мэшап-приложений на базе платформы Ubiq Mobile iconТема: Программное обеспечение компьютера
Цель: будут уметь различать программное обеспечение компьютера, знать о назначении прикладного по, системного по, Систем программирования,...
Кафедра системного программирования Разработка программного интерфейса для мэшап-приложений на базе платформы Ubiq Mobile iconРабочая программа дисциплины «Системное и прикладное программное обеспечение»
Целью дисциплины является ознакомление студентов с основными технологиями, принципами и методами разработки системного и прикладного...
Кафедра системного программирования Разработка программного интерфейса для мэшап-приложений на базе платформы Ubiq Mobile iconПояснительная записка На тему: «Проектирование программного пользовательского...
На тему: «Проектирование программного пользовательского интерфейса для электронной социально-ориентированной системы поддержки очного...
Кафедра системного программирования Разработка программного интерфейса для мэшап-приложений на базе платформы Ubiq Mobile iconРабочая программа учебной дисциплины системное программное обеспечение
Ос вычислительных процессов в современных ЭВМ. При изучении дисциплины основное внимание уделяется анализу структуры и характеристик...
Кафедра системного программирования Разработка программного интерфейса для мэшап-приложений на базе платформы Ubiq Mobile icon80455 a расширение платформы Microsoft Dynamics crm 2011
Кроме того, в курсе описано использование подключаемых модулей, событий приложений, клиентских расширений и веб-ресурсов. Наконец,...
Кафедра системного программирования Разработка программного интерфейса для мэшап-приложений на базе платформы Ubiq Mobile iconПрезентация «Разработка веб-приложений»
В ходе работы, в течении данного семестра мы изучали технологии веб-программирования и верстки позволяющие делать стабильные, удобные...
Кафедра системного программирования Разработка программного интерфейса для мэшап-приложений на базе платформы Ubiq Mobile iconМетодические рекомендации по организации внеаудиторной самостоятельной...
Пм 01 Разработка программных модулей программного обеспечения для компьютерных систем
Кафедра системного программирования Разработка программного интерфейса для мэшап-приложений на базе платформы Ubiq Mobile iconРабочая программа по дисциплине с 3 «Технологии и методы программирования»
Цель преподавания дисциплины: Целью изучения дисциплины «Технологии и методы программирования» является изучение современных технологий...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск