Мэшап (веб-приложение)
Мэша́п — веб-приложение, объединяющее данные из нескольких источников в один интегрированный инструмент; например, при объединении картографических данных Google Maps с данными о недвижимости с Craigslist получается новый уникальный веб-сервис, изначально не предлагаемый ни одним из источников данных.
Понятие мэшап изначально относится к популярной музыке (чаще хип-хопу) и означает производство новой песни, смешивающей две или больше части других песен.
Обзор
[править | править код]Содержимое, используемое в мэшапах, обычно получено от третьих лиц через открытый интерфейс или API.
Другими методами получения содержимого могут быть веб-фиды (например RSS и Atom) или парсинг HTML-страниц. Многие экспериментируют с мэшапами, используя API сразу с нескольких сайтов — Amazon, eBay, Flickr, проектов Google, Microsoft, Yahoo, YouTube и т. п., что привело к созданию редакторов мэшапов.
Архитектура веб-мэшапов всегда состоит из трёх частей.
- Провайдер содержимого — это источник данных. Данные доступны через API и различные веб-протоколы, такие как RSS, REST и веб-сервисы.
- Мэшап-сайт — это веб-приложение, предлагающее новый сервис, использующий не принадлежащие ему источники данных.
- Браузер клиента — собственно пользовательский интерфейс мэшапа. В веб-приложениях содержимое может быть «замэшаплено» клиентским браузером с использованием клиентского языка программирования, например JavaScript.
Типы мэшапов
[править | править код]Существует три типа мешапов: пользовательские мэшапы, мэшапы данных и бизнес-мэшапы.
Наиболее известный — это пользовательский тип мэшапа, примером которого служат большинство приложений 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.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, создающим новый инновационный веб-сервис. Другие, более крупные мэшапы, которые являются первейшей целью соответствующих веб-сайтов, используют технологию таких сервисов, как 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).
Редакторы мэшапов
[править | править код]Уже сейчас есть несколько мэшап-платформ, которые помогают пользователю создавать мэшапы. Примеры в алфавитном порядке:
- Google Mashup Editor — не работает с 2009 г.
- Microsoft Popfly — поддержка прекращена в 2009 г.
- Yahoo! Pipes — закрыт 30 сентября 2015 г..
См. также
[править | править код]Примечания
[править | править код]- ↑ Digna, Larry Gartner: The future of portals is mashups, SOA, more aggregation . ZDNET (2007). Дата обращения: 19 февраля 2011. Архивировано 27 февраля 2012 года.
Литература
[править | править код]- 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.
Ссылки
[править | править код]- MashupAwards — best mashups on the web
- Mashups: The new breed of Web app
- ProgrammableWeb.com — Directory of mashups and Web 2.0 APIs
- Webmashup.com — Open Directory for Mashups and Web 2.0 APIs
- Serena Business Mashups — Free Business Composer and access to Mashup Exchange
- Why Mashups = (REST + 'Traditional SOA'): Web 2.0: Overview & background on Mashups, Mashup Editors and trends
- Enterprise Mashups in the Architecture Journal
- Нужен контент? Делайте мэшап! Нужны ссылки? Делайте мэшап! — статья, рассказывающая о практических сторонах создания мэшапов