Мешап (веб)
Меша́п (інакше «меш-ап», від англ. mash-up — «змішувати») — концепція побудови вебзастосунків шляхом змішування функціональності різних програмних інтерфейсів та джерел даних. З технічної точки зору Mashup — це вебсайт, який об'єднує дані з кількох джерел в одному сайті; наприклад, використовує картографічні дані Google Maps та додає до них дані про нерухомість з Cragislist, у підсумку створюючи новий вебсервіс.
Саме поняття Mashup вперше використовувалося у популярній музиці та означало створення нової пісні за допомогою змішування декількох старих.
Дані, які використовуються в Mashup-ах, зазвичай отримуються через відкриті інтерфейси (API). Також можуть бути використані web-feed (наприклад, RSS, Atom). Також використовуються API Amazon, eBay, Flickr, Google, Microsoft, Yahoo та YouTube.
Архітектура Mashup складається з трьох частин:
- Провайдера (постачальника) вмісту: це джерело даних;
- Mashup-сайту: вебпрограма, що виконує всю роботу;
- Інтерфейс Mashup — власне вебсторінки.
Основними категоріями є: карти, відео, фото, пошук, шопінг та новини.
Карти: Chicago Crime (У Поліцейського департаменту Чикаго є сайт [1] [Архівовано 12 жовтня 2007 у Wayback Machine.], який інтегрує базу даних департаменту про злочини з Google Maps).
Відео та фото: Flickr (Це архів зображень. Використовуючи API Flickr, зображення можуть бути використані для створення Mashup).
Пошук та шопінг: Travature (Це портал про подорожі, який інтегрує пошук авіарейсів, оповідання про подорожі та огляди готелів. Портал дозволяє користувачам обмінюватися фотографіями та розповідями про подорожі).
Новини: (Прикладом є сайт Digg, який являє собою Mashup різних сайтів новин).
Mashup порівняно з порталами:
Портал | Mashup | |
---|---|---|
Класифікація | Стара технологія, використовує розширення до вебсерверної технології | Використовує технологію Веб 2.0 |
Філософія/Підхід | Агрегація фрагментів вебсторінок | Використовує API тощо для агрегації |
Вхідні типи даних | Агрегує презентаційні фрагменти (HTML, WML, VoiceXML и т.д.) | Може обробляти також XML |
Місце агрегації | На сервері. | Як на сервері, так і на клієнті |
Стиль агрегації | Стиль «салатного бару» — накопичений вміст виводиться «один за одним» без накладок | Стиль «плавильного котла» — дані можуть бути об'єднані в будь-який спосіб |
Модель подій | Модель подій читання та оновлення визначається в API конкретного портлету | CRUD(Create, read, update and delete)-операції базуються на REST (Representational state transfer) принципах |
Стандарти | Поведінка портлетів визначається стандартами JSR 168, JSR 286 та WSRP | Обмін XML-даними. Часто використовуються RSS та Atom. Стандарти ще не створені. |
- Персоналізація
- Лаконізація інформації
- MashupAwards — best mashups on the web [Архівовано 14 травня 2008 у Wayback Machine.]
- Mashups: The new breed of Web app [Архівовано 25 квітня 2008 у Wayback Machine.]
- ProgrammableWeb.com — Directory of mashups and Web 2.0 APIs [Архівовано 1 травня 2008 у Wayback Machine.]
- Webmashup.com — Open Directory for Mashups and Web 2.0 APIs
- Serena Business Mashups — Free Business Composer and access to Mashup Exchange [Архівовано 6 квітня 2008 у Wayback Machine.]
- Why Mashups = (REST + 'Traditional SOA'): Web 2.0: Overview & background on Mashups, Mashup Editors and trends
- Enterprise Mashups in the Architecture Journal [Архівовано 17 квітня 2008 у Wayback Machine.]