Мэшап (веб)

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск

Технически мэша́п — это веб-приложение, объединяющее данные из нескольких источников в один интегрированный инструмент; например использует картографические данные Google Maps для добавления к ним данных о недвижимости с Craigslist, в результате создавая новый уникальный веб-сервис, изначально не предлагаемый ни одним из источников.

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

Содержание

[править] Обзор

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

Другими методами получения содержимого могут быть веб-фиды (например RSS и Atom) или парсинг HTML-страниц. Многие экспериментируют с мэшапами, используя API сразу с нескольких сайтов — Amazon, eBay, Flickr, Google, Microsoft, Yahoo, YouTube и т.п., что привело к созданию редакторов мэшапов.

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

  1. Провайдер содержимого — это источник данных. Данные доступны через API и различные веб-протоколы, такие как RSS, REST и веб-сервисы.
  2. Мэшап-сайт — это веб-приложение, предлагающее новый сервис, использующий не принадлежащие ему источники данных.
  3. Браузер клиента — собственно пользовательский интерфейс мэшапа. В веб-приложениях, содержимое может быть «замэшаплено» клиентским браузером с использованием клиентского языка программирования, например JavaScript.

[править] Типы мэшапов

Сейчас мэшапы идут по трём направлениям: пользовательские мэшапы, мэшапы данных и бизнес-мэшапы.

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

Другой, часто встречающийся тип мэшапов, это мэшапы данных или «enterprise»-мэшапы. Мэшап данных смешивает данные близкие по типу из разных источников (см. Yahoo! Pipes), например объединяя данные из нескольких RSS-фидов в один фид с графическим фронтэндом. «Enterprise»-мэшап (см. Denodo Technologies и JackBe) обычно интегрирует данные из внешних и внутренних источников. Такой мэшап может, например, создавать отчёт о занятой части рынка, объединяя внешний список всех проданных за прошедшую неделю домов с внутренними данными о том, какие дома были проданы отдельным агентством.

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

Телеком-мэшап — это телекоммуникационный сервис, в котором его элементы собраны из нескольких источников. Например, некто может получать базовый сервис от компании A, тон обратного звонка от компании Б, сервис голосовой почты от компании В, и т. д.

Мэшапы внутри мэшапов называются «мэшапами-монстрами».

[править] Примеры

Мэшапы могут быть разделены на четыре главные категории: карты, видео и фото, поиск и шоппинг, новости.

[править] Карты

Chicago Crime. У Полицейского департамента Чикаго есть мэшап, который интегрирует базу данных департамента о преступлениях с Google Maps для того, чтобы остановить преступность в областях и предупредить жителей о том, где часто совершаются преступления.

[править] Видео и фото

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

[править] Поиск и шоппинг

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

[править] Новости

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

[править] Мэшапы против порталов

Мэшапы и порталы являются технологиями агрегации содержимого. Порталы — это более старая технология, созданая как расширение традиционных веб-приложений, в которой процесс конвертирования данных в свёрcтанные страницы разделён на две фазы — генерацию свёрстанных «фрагментов» и их агрегацию в страницы. Каждый из этих фрагментов генерируется «портлетом», а затем портал объединяет их в одну веб-страницу. Портлеты могут храниться локально на сервере портала или удалённо на другом сервере.

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

Технология порталов — серверно- и презентативно-ориентированная агрегация. Она не может быть использована для создания более совершенных форм интеграции приложений таких как обновление в две фазы.

Отличия мэшапов от порталов приведены в таблице.

Портал Мэшап
Классификация Старая технология, расширенная к традиционной веб-серверной технологии, использующая хорошо продуманный подход. Использует более новые принципы Веб 2.0.
Философия/Подход Подходит к агрегации, разделяя роль веб-сервера на две фазы — генерацию вёрстки и агрегацию фрагментов вёрстки. Использует API, предлагаемые различными ресурсами, для агрегации и повторного использования данных другим способом.
Зависимости данных Агрегирует презентационно-ориентированные фрагменты вёрстки(HTML, WML, VoiceXML и т. д.). Может оперировать чистым XML-содержимым, а также презентационно-ориентированными данными (например HTML).
Зависимости расположения Традиционно агрегация содержимого происходит на сервере. Агрегация содержимого может происходить как на сервере, так и на клиенте.
Стиль агрегации Стиль «салат-бара» — агрегированное содержимое выводится «друг за другом» без наложения. Стиль «плавильного котла» — некоторые данные могут быть объединены в любой манере, в результате чего получаются произвольно структурированные гибридные данные.
Модель событий Модель событий чтения и обновления определена через API конкретного портлета. CRUD-операции (en), базирующиеся на архитектурных принципах REST (en). Не существует никакого формального API.
Связанные стандарты Поведение портлетов определяется стандартами JSR 168, JSR 286 и WSRP, тем не менее внешний вид страницы и функционал портала неопределён и специфичен для каждого провайдера. Базовый стандарт — это обмен XML-данными с семантикой REST. Часто используются RSS и Atom. Более специфические для мэшапов стандарты предположительно скоро будут созданы.

Модель порталов существует дольше и видела больше инвестиций и исследований, поэтому эта технология более стандартизированная и зрелая. Через 2—3 года улучшенная стандартизация технологии мэшапов может поднять её популярность выше популярности технологии порталов. Также эти две технологии могут «накладываться». Например, появятся портальные продукты, поддерживающие мэшап, или мэшап продукты, поддерживающие предыдущее поколение портлет-приложений.

[править] Мэшапы в бизнес-среде

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

Мэшапы создают новые потребительские сервисы в свою очередь создающие для них много новых возможностей. Конечным пользователям становится понятнее как создавать мэшап-сайты в независимости от уровня их технических способностей, используя API сайтов. Это делает простой реализацию мэшапов и новые потребители могут легко создавать мэшапы. Со всеми доступными API производители могут легче и дешевле строить повторно используемые и поддерживаемые приложения. Весь Веб 2.0 в персонализации информации. В этом контексте мэшапы будут появляться всё чаще после того, как каждый мэшап может предложить новый функционал с существующих вебсайтов, фактически Эмори М. Крэйг (2007) указывает, что каждый день на Programmableweb.com добавляется в среднем три новых мэшап-сайта. Легко представить как создать персонализированный информационный сервис, когда у вас есть возможность добавлять фишечки с помощью мэшапов. Поскольку мэшапы являются частью Веб 2.0, они увеличивают уровень персонализации информации. Многие люди убеждены в мощи мэшапов и видят в них будущее веба.

Информационная перегрузка — это проблема с которой сталкиваются многие компании, как внутри компании так и предлагая информацию пользователям. Мэшапы помогают решить эту проблему позволяя одной компании предоставлять детальную лаконичную информацию из нескольких источников. Например, до появления мэшап-сайтов, пользователи, которые хотели найти изображения определённого типа (например животных) сначала должны были найти ресурсы, а затем пройти по ним, пытаясь найти подходящие изображения. Очевидно, что существует огромное количество сайтов, которые потенциально могут содержать подходящие изображения; в результате пользователь будет перегружен информацией. Чтобы помочь решить эту проблему, может быть создан мэшап-сайт, который собирает изображения с других сайтов и категоризирует их. Это разрешит пользоватателям легко искать в одном месте то что им нужно, и даже позволит им видеть все возможные изображения в отдельной категории после пары кликов мышью.

Мэшапы это форма интеграции технологий, которая адаптирует их для объединения многих технологий и языков реализации вместе. Некоторые мэшапы могут быть просто смешением JavaScript-кода с XML, создающим новый инновационный веб-сервис. Другие более крупные мэшапы, которые являются первейшей целью соответствующих вебсайтов, используют технологию таких сервисов как Gooogle Maps и базу данных адресов, связывая их вместе и показывая информацию о проекте на карте.

[править] Архитектурные аспекты мэшапов

Со всех точек зрения похоже, что мэшап — это пример шаблона проектирования "Фасад" (анг. Facade) (см. "Design Patterns: Elements of Reusable Object-Oriented Software" (ISBN 0-201-63361-2) by the Gang of Four (Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides)). Это шаблон проектирования, который предлагает упрощённый интерфейс для большего количества кода (в случае мэшапов - код для агрегации разных фидов с различными API).

[править] Редакторы мэшапов

Уже сейчас есть несколько мэшап-платформ, которые помогают пользователю создавать мэшапы. Примеры в алфавитном порядке:

[править] См. также

[править] Ссылки