Мэшап (веб-приложение)

Мэша́п—веб-приложение, объединяющее данные из нескольких источников в один интегрированный инструмент; например, при объединениикартографическихданныхGoogle Mapsс данными онедвижимостисCraigslistполучается новый уникальный веб-сервис, изначально не предлагаемый ни одним из источников данных.
Понятиемэшапизначально относится к популярноймузыке(чащехип-хопу) и означает производство новой песни, смешивающей две или больше части других песен.
Содержимое, используемое в мэшапах, обычно получено от третьих лиц через открытый интерфейс илиAPI.
Другими методами получения содержимого могут бытьвеб-фиды(напримерRSSиAtom) илипарсингHTML-страниц. Многие экспериментируют с мэшапами, используя API сразу с нескольких сайтов —Amazon,eBay,Flickr, проектовGoogle,Microsoft,Yahoo,YouTubeи т. п., что привело к созданию редакторов мэшапов.
Архитектура веб-мэшапов всегда состоит из трёх частей.
Существует три типа мешапов: пользовательские мэшапы, мэшапы данных и бизнес-мэшапы.
Наиболее известный — этопользовательский тип мэшапа, примером которого служат большинство приложенийGoogle Maps. Пользовательские мэшапы объединяют элементы данных из нескольких источников, скрывая это за простым унифицированным графическим интерфейсом.
Мэшапы данных(«enterprise»-мэшапы) смешивают (интегрируют) данные близкие по типу из разных источников (см.Yahoo! Pipes), например, объединяя данные из нескольких RSS-фидов в один фид с графическим интерфейсом. «Enterprise»-мэшап (см.Denodo TechnologiesиJackBe) обычно интегрирует данные из внешних и внутренних источников. Такой мэшап может, например, создавать отчёт о занятой части рынка, объединяя внешний список всех проданных за прошедшую неделю домов с внутренними данными о том, какие дома были проданы отдельным агентством.
Бизнес-мэшап— это комбинация всего вышеупомянутого, фокусирующаяся на агрегации и представлении данных, при этом добавляется возможность управления данными (редактирование, добавление), что позволяет использовать конечный результат в качестве бизнес-приложения.
Телеком-мэшап— это телекоммуникационный сервис, элементы которого собраны из нескольких источников. Например, некто может получать базовый сервис от компании A, тон обратного звонка от компании Б, сервис голосовой почты от компании В, и т. д.
Обучающий-мэшап(«Training»-мэшапы) это обучающий сервис в Web (интегрирующий) данные из различных обучающих источников в интернете.
Мэшапы внутри мэшапов называются «мэшапами-монстрами».
Мэшапы могут быть разделены на четыре главные категории:карты,видеоифото,поискишоппинг,новости.
Chicago Crime. У Полицейского департаментаЧикагоестьмэшапАрхивная копияот 12 октября 2007 наWayback Machine, который интегрирует базу данных департамента о преступлениях с Google Maps для того, чтобы остановить преступность в областях и предупредить жителей о том, где часто совершаются преступления.
Flickr— этохранилище данныхизображений, позволяющее пользователям организовывать свою коллекцию изображений и обмениваться ими. Используя API Flickr, данные могут быть использованы для создания мэшапов.
Travature— это портал о путешествиях, интегрирующийдвижокметапоискаавиаперелётов, гиды о путешествиях и обзоры отелей. Портал позволяет пользователю обмениваться фотографиями и обсуждать свой опыт с другими пользователями.
Digg. Мэшап различных новостных веб-сайтов, практически полностью контролируемый пользователями ресурса.
Мэшапы ипорталыявляются технологиями агрегации содержимого. Порталы — это более старая технология, созданная как расширение традиционных веб-приложений, в которой процесс конвертирования данных в свёрстанные страницы разделён на две фазы — генерацию свёрстанных «фрагментов» и их агрегацию в страницы. Каждый из этих фрагментов генерируется «портлетом», а затем портал объединяет их в одну веб-страницу. Портлеты могут храниться локально насерверепортала или удалённо на другом сервере.
Технология порталов — это серверные приложения, гдесвязывание данныхпроисходит при представлении информации пользователю. Эта технология не может быть использована для создания более надёжных форм интеграции приложений, таких какобновление в две фазы.
Отличия мэшапов от порталов приведены в таблице.
Модель порталов уже давно существует и получила больше вложений и исследований, поэтому эта технология более стандартизированная и зрелая. Ближайшие 2—3 года развития и стандартизации мэшап-технологии, возможно, сделают её более популярной, чем технология порталов, поскольку машапы более тесно связаны с Веб 2.0 и в последнее время сSOA.Могут появиться портальные продукты, поддерживающие одновременно и мэшап, и продолжающие поддерживать портлет-приложения. Однако не ожидается, что мэшап приложения будут поддерживать портлет-приложения.
Мэшапы могут играть большую роль в бизнес-среде. Этот раздел обсуждает несколько способов практического использования этих технологий; с отдельными ссылками на желание конечного пользователя работать с персонализированными информационными сервисами, проблемы перегрузки адресованной информации и необходимость интеграции технологий.
Мэшапы создают новые потребительские сервисы, в свою очередь создающие для них множество новых возможностей. Конечным пользователям становится понятнее, как создавать мэшап-сайты вне зависимости от уровня их технических способностей, используя API сайтов. Это делает реализацию мэшапов простой и новые потребители могут легко создавать мэшапы. Со всеми доступными API производители могут легче и дешевле строить повторно используемые и поддерживаемые приложения. Весь Веб 2.0 — в персонализации информации. В этом контексте мэшапы будут появляться всё чаще после того, как каждый мэшап сможет предложить новую функциональность с существующих веб-сайтов. Фактически, Эмори М. Крэйг (2007) указывает, что каждый день на Programmableweb.com добавляется в среднем три новых мэшап-сайта. Легко представить, как создать персонализированный информационный сервис, когда у вас есть возможность добавлять фишечки с помощью мэшапов. Поскольку мэшапы являются частью Веб 2.0, они увеличивают уровень персонализации информации. Многие люди убеждены в мощи мэшапов и видят в них будущее веба.
Информационная перегрузка— это проблема, с которой сталкиваются многие компании, как внутри компании, так и предлагая информацию пользователям. Мэшапы помогают решить эту проблему, позволяя одной компании предоставлять детальную лаконичную информацию из нескольких источников. Например, до появления мэшап-сайтов, пользователи, которые хотели найти изображения определённого типа (например, животных) сначала должны были найти ресурсы, а затем пройти по ним, пытаясь найти подходящие изображения. Очевидно, что существует огромное количество сайтов, которые потенциально могут содержать подходящие изображения; в результате пользователь будет перегружен информацией. Чтобы помочь решить эту проблему, может быть создан мэшап-сайт, который собирает изображения с других сайтов и категоризирует их. Это позволит пользоватателям легко искать в одном месте то, что им нужно, и даже позволит им видеть все возможные изображения в отдельной категории после пары кликов мышью.
Мэшапы — это форма интеграции технологий, которая адаптирует их для объединения многих технологий и языков реализации вместе. Некоторые мэшапы могут быть просто смешением JavaScript-кода с XML, создающим новый инновационный веб-сервис. Другие, более крупные мэшапы, которые являются первейшей целью соответствующих веб-сайтов, используют технологию таких сервисов, как Google 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).
Уже сейчас есть несколькомэшап-платформ, которые помогают пользователю создавать мэшапы. Примеры в алфавитном порядке: