Мэшап (веб)

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

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

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

Обзор[править | править вики-текст]

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

Другими методами получения содержимого могут быть веб-фиды (например 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, тон обратного звонка от компании Б, сервис голосовой почты от компании В, и т. д.

Обучающий-мэшап («Training»-мэшапы) это обучающий сервис в Wеb (интегрирующий) данные из различных обучающих источников в интернете. Мэшапы внутри мэшапов называются «мэшапами-монстрами».

Примеры[править | править вики-текст]

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

Карты[править | править вики-текст]

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

Видео и фото[править | править вики-текст]

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

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

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

Новости[править | править вики-текст]

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

Мэшапы против порталов[править | править вики-текст]

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

Технология порталов — это серверные приложения, где связывание данных происходит при представлении информации пользователю. Эта технология не может быть использована для создания более надёжных форм интеграции приложений, таких как обновление в две фазы.

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

Портал Мэшап
Классификация Старая технология, расширенная к традиционной веб-серверной технологии, использующая хорошо продуманный подход. Использует более новые принципы Веб 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 года развития и стандартизации мэшап-технологии, возможно, сделают её более популярной, чем технология порталов, поскольку машапы более тесно связаны с Веб 2.0 и в последнее время с SOA.[1] Могут появиться портальные продукты, поддерживающие одновременно и мэшап, и продолжающие поддерживать портлет-приложения. Однако не ожидается, что мэшап приложения будут поддерживать портлет-приложения.

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

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

Мэшапы создают новые потребительские сервисы, в свою очередь создающие для них множество новых возможностей. Конечным пользователям становится понятнее, как создавать мэшап-сайты вне зависимости от уровня их технических способностей, используя 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).

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

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

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

Примечания[править | править вики-текст]

Литература[править | править вики-текст]

  • Shu-Wai Chow Php Web 2.0 Mashup Projects: Practical Php Mashups with Google Maps, Flickr, Amazon, Youtube, Msn Search, Yahoo!. — Packt (англ.)русск. Publishing Ltd, 2007. — 304 p. — ISBN 1847190898, 9781847190895.
  • Jesse Feiler How to Do Everything with Web 2.0 Mashups. — McGraw Hill Professional, 2008. — 303 p. — (How to do everything with…). — ISBN 0071595686, 9780071595681.
  • Raymond Yee Pro Web 2.0 Mashups: Remixing Data and Web Services. — Apress, 2008. — 603 p. — (Books for professionals by professionals Expert's Voice in Web Development). — ISBN 1430202866, 9781430202868.
  • Michael Ogrinz Mashup Patterns: Designs and Examples for the Modern Enterprise. — Addison-Wesley Professional, 2009. — 432 p. — ISBN 0-321-57947-X, 978-0-321-57947-8, 0-321-59208-5, 978-0-321-59208-8.
  • Rachel Singer Gordon Point, Click and Save: Mashup Mom's Guide to Saving and Makiing Money Online. — CyberAge Books, 2010. — 288 p. — ISBN 0910965862, 9780910965866.

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