Mashup (компьютерная индустрия жаргоне ), в вебе - разработке , является веб - страница или веб - приложения , которые используют контент из более чем одного источника , чтобы создать единый новый сервис отображается в одном графическом интерфейсе. Например, пользователь может объединить адреса и фотографии филиалов своей библиотеки с картой Google для создания гибридного приложения. [1] Термин подразумевает простую и быструю интеграцию, часто используя открытые интерфейсы прикладного программирования ( open API) и источники данных для получения расширенных результатов, которые не обязательно явились первоначальной причиной создания исходных исходных данных. Термин «мэшап» изначально означает создание чего-либо путем объединения элементов из двух или более источников. [2] В недавнем английском языке это может относиться к музыке, где люди плавно сочетают звук одной песни с вокальной дорожкой другой, тем самым объединяя их вместе, чтобы создать что-то новое.
Основными характеристиками мэшапа являются комбинирование, визуализация и агрегирование. Важно сделать существующие данные более полезными для личного и профессионального использования. Чтобы иметь возможность постоянного доступа к данным других сервисов, гибридные приложения обычно представляют собой клиентские приложения или размещаются в Интернете.
В прошлые годы [ когда? ] , все больше и больше веб-приложений публикуют API-интерфейсы, которые позволяют разработчикам программного обеспечения легко интегрировать данные и функции в стиле SOA , вместо того, чтобы создавать их самостоятельно. Можно считать, что гибридные приложения играют активную роль в развитии социального программного обеспечения и Web 2.0 . Инструменты составления мэшапов обычно достаточно просты для использования конечными пользователями. Обычно они не требуют навыков программирования и скорее поддерживают визуальное соединение виджетов , сервисов и компонентов графического интерфейса пользователя . Таким образом, эти инструменты вносят вклад в новое видение Интернета , в котором пользователи могут вносить свой вклад. [ требуется разъяснение ]
Термин «мэшап» формально не определяется ни одним органом по стандартизации. [3]
История
Более широкий контекст истории Интернета обеспечивает основу для разработки гибридных приложений. В рамках модели Web 1.0 организации хранят данные о потребителях на порталах и регулярно их обновляют. Они контролировали все данные о потребителях, и потребитель должен был использовать их продукты и услуги для получения информации. [ необходима цитата ]
С появлением Web 2.0 были введены веб-стандарты, которые были широко приняты традиционными конкурентами и открыли доступ к данным о потребителях. В то же время появились гибридные приложения, позволяющие смешивать и сопоставлять API конкурентов для разработки новых сервисов.
Первые гибридные приложения использовали картографические или фото-сервисы для объединения этих сервисов с данными любого типа и, следовательно, для визуализации данных. [4] [ неудачная проверка ] Вначале большинство гибридных приложений были ориентированы на потребителей, но в последнее время [ когда? ] мэшап должен быть виден [ кем? ] как интересное понятие, полезное также для предприятий. Гибридные бизнес-приложения могут объединять существующие внутренние данные с внешними службами для создания новых представлений о данных.
Типы мэшапов
Существует много типов гибридных приложений, таких как гибридные бизнес-приложения, клиентские гибридные приложения и гибридные веб-приложения. [5] Самый распространенный тип гибридных приложений - это потребительские гибридные веб-приложения, ориентированные на широкую публику.
- Гибридные приложения для бизнеса (или предприятия ) определяют приложения, которые объединяют свои собственные ресурсы, приложение и данные с другими внешними веб-службами . [4] Они объединяют данные в единую презентацию и позволяют сотрудничать предприятиям и разработчикам. Это хорошо работает для проекта гибкой разработки , который требует сотрудничества между разработчиками и заказчиком (или доверенным лицом клиента, обычно менеджером по продукту) для определения и реализации бизнес-требований. Корпоративные гибридные веб-приложения - это безопасные, визуально насыщенные веб-приложения, которые предоставляют полезную информацию из различных внутренних и внешних источников информации.
- Потребительские гибридные приложения объединяют данные из нескольких общедоступных источников в браузере и организуют их с помощью простого пользовательского интерфейса браузера. [6] (например: Wikipediavision объединяет Google Map и Wikipedia API)
- Мэшапы данных, в отличие от клиентских гибридных приложений, объединяют похожие типы носителей и информацию из нескольких источников в единое представление. Комбинация всех этих ресурсов создает новую и отличную веб-службу, которая изначально не была предоставлена ни одним из источников.
По типу API
Мэшапы также можно классифицировать по базовому типу API, который они используют, но любой из них можно комбинировать друг с другом или встраивать в другие приложения.
Типы данных
- Проиндексированные данные (документы, блоги, изображения, видео, статьи о покупках, вакансии ...), используемые метапоисковыми системами.
- Картографические и географические данные: программное обеспечение для определения местоположения , геовизуализация.
- Ленты, подкасты: агрегаторы новостей
Функции
- Конвертеры данных: языковые переводчики , обработка речи , сокращатели URL ...
- Связь: электронная почта , обмен мгновенными сообщениями , уведомление ...
- Визуальная визуализация данных: визуализация информации , диаграммы
- Связанные с безопасностью: электронные платежные системы , идентификация личности ...
- Редакторы
Активатор мэшапов
В технологиях активатор гибридных приложений - это инструмент для преобразования несовместимых ИТ-ресурсов в форму, позволяющую их легко комбинировать для создания гибридного веб-приложения. Средства поддержки Mashup позволяют применять мощные методы и инструменты (такие как платформы mashup) для комбинирования данных и сервисов с новыми видами ресурсов. Примером активатора гибридного веб-приложения является инструмент для создания RSS- канала из электронной таблицы (который нелегко использовать для создания гибридного веб-сайта). Многие редакторы mashup включают средства поддержки mashup, например, Presto Mashup Connectors, Convertigo Web Integrator или Caspio Bridge .
Возможности создания гибридных приложений также называются «поставщиками услуг и инструментов, [sic] которые делают возможными гибридные приложения». [ необходима цитата ]
История
Ранние гибридные приложения разрабатывались энтузиастами-программистами вручную. Однако по мере того, как гибридные веб-приложения стали более популярными, компании начали создавать платформы для создания гибридных веб-приложений, которые позволяют дизайнерам визуально создавать гибридные веб-приложения, соединяя вместе компоненты гибридных веб-приложений.
Редакторы гибридных веб-приложений значительно упростили создание гибридных веб-приложений, значительно повысив продуктивность разработчиков гибридных веб-приложений и даже открыв разработку гибридных веб-приложений для конечных пользователей и экспертов, не являющихся ИТ-специалистами. Стандартные компоненты и соединители позволяют дизайнерам легко комбинировать ресурсы гибридных приложений всевозможными сложными способами. Однако гибридные платформы мало что сделали для расширения объема ресурсов, доступных для гибридных веб-приложений, и не освободили гибридные веб-приложения от их зависимости от хорошо структурированных данных и открытых библиотек ( RSS- каналы и общедоступные API-интерфейсы ).
Для решения этой проблемы были разработаны инструменты создания гибридных приложений, обеспечивающие возможность преобразования других видов данных и служб в объединяемые ресурсы.
Интернет-ресурсы
Конечно, не все ценные данные находятся внутри организаций. Фактически, наиболее ценная информация для бизнес-аналитики и поддержки принятия решений часто находится вне организации. С появлением полноценных веб-приложений и сетевых веб-порталов широкий спектр критически важных для бизнеса процессов (таких как заказы) становится доступным в Интернете. К сожалению, очень немногие из этих источников данных распространяют контент в формате RSS, и очень немногие из этих сервисов предоставляют общедоступные API. Поэтому редакторы гибридных приложений решают эту проблему, предоставляя средства поддержки или соединители.
Проблемы интеграции данных
При интеграции данных из разных источников необходимо решить ряд проблем. Проблемы можно разделить на четыре группы: несоответствие текста и данных, несоответствие идентификаторов объектов и схемы, несоответствие уровня абстракции, точность данных. [7]
Несоответствие текста и данных
Большая часть данных описана в тексте. Человеческий язык часто неоднозначен - одна и та же компания может упоминаться в нескольких вариантах (например, IBM, International Business Machines и Big Blue). Неоднозначность затрудняет создание перекрестных ссылок со структурированными данными. Кроме того, данные, выраженные на человеческом языке, трудно обрабатывать с помощью программного обеспечения. Одна из функций системы интеграции данных - преодолеть несоответствие между документами и данными. [7]
Идентичность объекта и отдельные схемы
Структурированные данные доступны во множестве форматов. Таким образом, перевод данных в общий формат данных является первым шагом. Но даже если все данные доступны в едином формате, на практике источники различаются тем, как они констатируют, по сути, один и тот же факт. Различия существуют как на уровне отдельных объектов, так и на уровне схемы. В качестве примера несоответствия на уровне объекта рассмотрим следующее: SEC использует так называемый центральный индексный ключ (CIK) для идентификации людей (генеральных директоров, финансовых директоров), компаний и финансовых инструментов, в то время как другие источники, такие как DBpedia ( версия Википедии со структурированными данными), используйте URI для идентификации сущностей. Вдобавок каждый источник обычно использует свою собственную схему и особенности для констатации одного и того же факта. Таким образом, должны существовать методы для согласования различных представлений объектов и схем.
Уровни абстракции
Источники данных предоставляют данные на несовместимых уровнях абстракции или классифицируют их согласно таксономии, относящейся к определенному сектору. Поскольку данные публикуются на разных уровнях абстракции (например, человек, компания, страна или сектор), данные, агрегированные для индивидуальной точки зрения, могут не совпадать с данными, например, из статистических управлений. Кроме того, существуют различия в географической агрегации (например, данные по регионам из одного источника и данные на уровне страны из другого). С этим связана проблема использования местных валют (доллар США и евро), которые необходимо согласовывать, чтобы данные из разрозненных источников были сопоставимы и поддались анализу.
Качество данных
Качество данных является общей проблемой при автоматической интеграции данных из автономных источников. В открытой среде агрегатор данных практически не влияет на издателя данных. Данные часто ошибочны, и их объединение часто усугубляет проблему. Ошибочные данные, особенно при выполнении рассуждений (автоматического вывода новых данных из существующих), могут иметь разрушительное влияние на общее качество результирующего набора данных. Следовательно, проблема заключается в том, как издатели данных могут координировать свои действия, чтобы исправить проблемы на сайтах данных или в черных списках, которые не предоставляют надежные данные. Методы и приемы необходимы для: проверки целостности и точности; выделять, идентифицировать и подтверждать доказательства; оценить вероятность того, что данное утверждение верно; уравнять весовые различия между секторами рынка или компаниями; создать клиринговые центры для возбуждения и урегулирования споров между конкурирующими (и, возможно, конфликтующими) поставщиками данных; и взаимодействовать с беспорядочными ошибочными веб-данными потенциально сомнительного происхождения и качества. Таким образом, ошибки в обозначениях, количестве, маркировке и классификации могут серьезно затруднить использование систем, работающих с такими данными.
Мэшапы против порталов
Мэшапы и порталы - это технологии агрегирования контента . Порталы - это более старая технология, разработанная как расширение традиционных динамических веб-приложений , в которых процесс преобразования содержимого данных в размеченные веб-страницы делится на две фазы: создание «фрагментов» разметки и объединение фрагментов в страницы. Каждый фрагмент разметки создается « портлетом », и портал объединяет их в одну веб-страницу. Портлеты могут размещаться локально на сервере портала или удаленно на отдельном сервере.
Технология портала определяет полную модель событий, охватывающую операции чтения и обновления. Запрос на объединенную страницу на портале преобразуется в отдельные операции чтения для всех портлетов, образующих страницу (« render
» операции на локальных портлетах JSR 168 или « getMarkup
» удаленных операциях на портлетах WSRP ). Если кнопка отправки нажата на любом портлете на странице портала, она преобразуется в операцию обновления только для этого портлета ( processAction
на локальном портлете или performBlockingInteraction
на удаленном портлете WSRP). После обновления сразу же следует чтение всех портлетов на странице.
Технология портала - это агрегирование на стороне сервера на уровне представления . Его нельзя использовать для управления более надежными формами интеграции приложений, такими как двухфазная фиксация .
Мэшапы отличаются от порталов следующим образом:
Портал | Пюре | |
---|---|---|
Классификация | Старая технология, расширение традиционной модели веб-сервера с использованием четко определенного подхода | Использует новые, нечетко определенные методы "Web 2.0". |
Философия / подход | Подходит к агрегированию, разделяя роль веб-сервера на два этапа: создание разметки и агрегирование фрагментов разметки. | Использует API-интерфейсы, предоставляемые разными информационными сайтами, для агрегирования и повторного использования содержимого другим способом. |
Зависимости контента | Агрегирует фрагменты разметки, ориентированные на представление (HTML, WML, VoiceXML и т. Д.) | Может работать с чистым XML-контентом, а также с презентационно-ориентированным контентом (например, HTML) |
Зависимости от местоположения | Традиционно агрегация контента происходит на сервере. | Агрегация контента может происходить как на сервере, так и на клиенте. |
Стиль агрегации | Стиль " салат-бар ": агрегированный контент отображается "бок о бок" без дублирования. | Стиль « плавильный котел » - индивидуальный контент можно комбинировать любым способом, в результате чего получается произвольно структурированный гибридный контент. |
Модель событий | Модели событий чтения и обновления определяются с помощью специального API портлета. | Операции CRUD основаны на архитектурных принципах REST , но формального API не существует. |
Соответствующие стандарты | Поведение портлета регулируется стандартами JSR 168 , JSR 286 и WSRP , хотя макет страницы портала и функциональность портала не определены и зависят от поставщика. | Базовые стандарты - это XML, заменяемые на REST или веб-службы. Обычно используются RSS и Atom . Появляются более конкретные стандарты гибридных приложений, такие как EMML . |
Модель портала существует дольше и требует больших инвестиций и исследований продукта. Таким образом, портальная технология является более стандартизированной и зрелой. Со временем возрастающая зрелость и стандартизация гибридных технологий, вероятно, сделают их более популярными, чем портальные технологии, поскольку они более тесно связаны с Web 2.0 и, в последнее время, с сервис-ориентированными архитектурами (SOA). [8] Ожидается, что в новых версиях продуктов портала в конечном итоге будет добавлена поддержка гибридных приложений, но при этом будут поддерживаться устаревшие приложения с портлетами. Напротив, гибридные технологии не должны обеспечивать поддержку стандартов порталов.
Мэшапы для бизнеса
Использование гибридных приложений в деловой среде расширяется. Бизнес-гибридные приложения полезны для интеграции бизнес-сервисов и сервисов данных, поскольку технологии бизнес-гибридных приложений дают возможность быстро разрабатывать новые интегрированные сервисы, комбинировать внутренние сервисы с внешней или персонализированной информацией и делать эти сервисы осязаемыми для бизнес-пользователей через удобный для пользователя Интернет. браузерные интерфейсы. [9]
Бизнес-гибридные приложения отличаются от потребительских гибридных приложений уровнем интеграции со средами бизнес-вычислений, функциями безопасности и контроля доступа, управлением и сложностью используемых инструментов программирования (редакторов гибридных приложений). Еще одно различие между бизнес-гибридными приложениями и потребительскими гибридными приложениями - это растущая тенденция использования бизнес-гибридных приложений в коммерческом программном обеспечении как сервисе (SaaS).
Многие поставщики технологий гибридных приложений для бизнеса добавили функции SOA .
Архитектурные аспекты гибридных приложений
Архитектура мэшапа разделена на три уровня:
- Презентация / взаимодействие с пользователем : это пользовательский интерфейс гибридных приложений. Используемые технологии: HTML / XHTML , CSS , JavaScript , асинхронный JavaScript и Xml (Ajax) .
- Веб-службы: доступ к функциям продукта можно получить с помощью служб API. Используемые технологии: XMLHTTPRequest , XML-RPC , JSON-RPC , SOAP , REST .
- Данные: обработка данных, такая как отправка, хранение и получение. Используемые технологии: XML , JSON , KML .
Архитектурно существует два стиля гибридных приложений: веб-интерфейс и серверный. В то время как гибридные веб-приложения обычно используют веб-браузер пользователя для объединения и переформатирования данных, гибридные веб-приложения на сервере анализируют и переформатируют данные на удаленном сервере и передают данные в браузер пользователя в его окончательной форме. [10]
Мэшапы кажутся разновидностью рисунка фасада . [11] То есть: шаблон проектирования программной инженерии, который обеспечивает упрощенный интерфейс для большей части кода (в данном случае кода для агрегирования различных каналов с разными API ).
Мэшапы можно использовать с программным обеспечением, предоставляемым как услуга ( SaaS ).
После нескольких лет разработки стандартов основные предприятия начинают принимать сервис-ориентированные архитектуры (SOA) для интеграции разрозненных данных, делая их доступными в виде отдельных веб-сервисов. Веб-службы предоставляют открытые стандартизованные протоколы для обеспечения унифицированных средств доступа к информации с разнообразного набора платформ ( операционных систем , языков программирования , приложений ). Эти веб-службы можно повторно использовать для предоставления совершенно новых служб и приложений внутри и между организациями, обеспечивая гибкость бизнеса.
Смотрите также
- Мэшап (культура)
- Mashup (музыка)
- Открытый Mashup Alliance
- Открытый API
- Webhook
- Веб-портал
- Веб-скрапинг
Рекомендации
- ^ Фихтер Дарлин, Что такое мэшап? http://books.infotoday.com/books/Engard/Engard-Sample-Chapter.pdf (получено 12 августа 2013 г.)
- ^ "месиво" . merriam-webster.com .
- ^ «Корпоративные гибридные приложения: новое лицо вашей SOA» . http://soa.sys-con.com/ : МИРОВОЙ ЖУРНАЛ SOA . Проверено 3 марта 2010 .
Термин mashup не подлежит формальному определению ни одним органом по стандартизации.
- ^ а б Кларкин, Ларри; Холмс, Джош. «Корпоративные мэшапы» . Журнал архитектуры MSDN . Центр архитектуры MSDN.
- ^ Сунилкумар Пеникал (2009). «Мэшапы и предприятие» (PDF) . MphasiS - HP. Архивировано из оригинального (PDF) 02.06.2013 . Проверено 27 февраля 2010 .
- ^ «Корпоративные гибридные приложения: новое лицо вашей SOA» . http://soa.sys-con.com/ : МИРОВОЙ ЖУРНАЛ SOA . Проверено 3 марта 2010 .
Мэшап для потребителей - это приложение, которое объединяет данные из нескольких общедоступных источников в браузере и организует их с помощью простого пользовательского интерфейса браузера.
- ^ a b Э. Карри, А. Харт и С. О'Райен, «Проблемы, стоящие перед конвергенцией финансовых данных». Архивировано 18 июля 2012 г. на сайте archive.today в материалах семинара XBRL / W3C по улучшению доступа к финансовым данным. Данные в сети, 2009 г.
- ^ Дигна, Ларри (2007). «Gartner: будущее порталов - за гибридными приложениями, SOA, агрегацией» . ZDNET.
- ^ Холт, Адамс (2009). «Исполнительный ИТ-архитектор, бизнес-сценарии и шаблоны Mashup» . IBM DeveloperWorks.
- ^ Болим, Майкл (2005). "Программирование для конечных пользователей в Интернете, диссертация MIT MS, 2,91 МБ PDF" (PDF) . С. 22–23.
- ^ Шаблоны проектирования: элементы многоразового объектно-ориентированного программного обеспечения ( ISBN 0-201-63361-2 ) Эрихом Гаммой, Ричардом Хелмом, Ральфом Джонсоном и Джоном Влиссидесом
дальнейшее чтение
- Ахмет Сойлу, Феликс Мёдритшер, Фридолин Вильд, Патрик Де Каусмакер, Пит Десмет. 2012 г. «Мэшапы по оркестровке и личные среды на основе виджетов: ключевые проблемы, стратегии решения и приложение». Программа: Электронная библиотека и информационные системы 46 (4): 383–428.
- Эндрес-Ниггемейер, Бриджит изд. 2013. Семантические гибридные приложения. Интеллектуальное повторное использование веб-ресурсов. Springer. ISBN 978-3-642-36402-0 (Печатный)