Mashup (hybryda aplikacji internetowej) - Mashup (web application hybrid)

Mashup (przemysł komputerowy żargon ), w tworzeniu stron internetowych , to strona internetowa lub aplikacja internetowa , która używa treści z więcej niż jednego źródła, aby utworzyć jeden nowy serwis wyświetlane w jednym interfejsie graficznym. Na przykład użytkownik może połączyć adresy i zdjęcia swoich oddziałów bibliotecznych z mapą Google, aby utworzyć mashup mapy. Termin ten oznacza łatwą i szybką integrację, często wykorzystującą otwarte interfejsy programowania aplikacji ( otwarte API ) i źródła danych w celu uzyskania wzbogaconych wyników, które niekoniecznie były pierwotnym powodem tworzenia surowych danych źródłowych. Termin mashup pierwotnie pochodzi od tworzenia czegoś poprzez łączenie elementów z dwóch lub więcej źródeł.

Główne cechy mashup to kombinacja, wizualizacja i agregacja. Ważne jest, aby istniejące dane były bardziej przydatne do użytku osobistego i zawodowego. Aby mieć stały dostęp do danych innych usług, mashupy to zazwyczaj aplikacje klienckie lub hostowane online.

W ostatnich latach coraz więcej aplikacji internetowych publikowało interfejsy API, które umożliwiają programistom łatwe integrowanie danych i funkcji w sposób SOA , zamiast samodzielnego ich budowania. Można uznać, że mashupy odgrywają aktywną rolę w ewolucji oprogramowania społecznościowego i Web 2.0 . Narzędzia do komponowania mashupów są zwykle na tyle proste, że mogą z nich korzystać użytkownicy końcowi. Generalnie nie wymagają one umiejętności programowania i raczej obsługują wizualne okablowanie widżetów GUI , usług i komponentów razem. Dlatego narzędzia te przyczyniają się do nowej wizji sieci , w której użytkownicy mogą wnieść swój wkład.

Termin „mashup” nie jest formalnie zdefiniowany przez żaden organ ustanawiający standardy.

Historia

Szerszy kontekst historii sieci stanowi tło dla rozwoju mashupów. W modelu Web 1.0 organizacje przechowywały dane konsumentów na portalach i regularnie je aktualizowały. Kontrolowali wszystkie dane konsumentów, a konsumenci musieli korzystać ze swoich produktów i usług, aby uzyskać informacje.

Pojawienie się Web 2.0 wprowadziło standardy sieciowe, które były powszechnie i szeroko stosowane wśród tradycyjnych konkurentów i które odblokowały dane konsumentów. W tym samym czasie pojawiły się mashupy, umożliwiające mieszanie i dopasowywanie interfejsów API konkurencji w celu opracowywania nowych usług.

Pierwsze mashupy wykorzystywały usługi mapowania lub usługi fotograficzne do łączenia tych usług z dowolnymi danymi, a tym samym do tworzenia wizualizacji danych. Na początku większość mashupów miała charakter konsumencki, ale ostatnio mashup ma być postrzegany jako ciekawa koncepcja przydatna również dla przedsiębiorstw. Mashupy biznesowe mogą łączyć istniejące dane wewnętrzne z usługami zewnętrznymi w celu generowania nowych widoków danych.

Rodzaje mashupów

Istnieje wiele rodzajów mashupów, takich jak mashupy biznesowe, mashupy konsumenckie i mashupy danych. Najpopularniejszym rodzajem mashupów jest mashup konsumencki, skierowany do ogółu społeczeństwa.

  • Aplikacje typu mashup biznesowe (lub korporacyjne ) definiują aplikacje, które łączą własne zasoby, aplikacje i dane z innymi zewnętrznymi usługami sieciowymi . Skupiają dane w jednej prezentacji i umożliwiają współpracę między firmami i programistami. Działa to dobrze w przypadku zwinnego projektu programistycznego , który wymaga współpracy między programistami a klientem (lub klientem proxy, zwykle menedżerem produktu) w celu zdefiniowania i wdrożenia wymagań biznesowych. Korporacyjne aplikacje typu mashup to bezpieczne, bogate wizualnie aplikacje internetowe, które udostępniają przydatne informacje z różnych wewnętrznych i zewnętrznych źródeł informacji.
  • Mashupy konsumenckie łączą w przeglądarce dane z wielu źródeł publicznych i organizują je za pomocą prostego interfejsu użytkownika przeglądarki. (np. Wikipediavision łączy Google Map i Wikipedia API)
  • Mashupy danych , w przeciwieństwie do mashupów konsumenckich, łączą podobne typy mediów i informacji z wielu źródeł w jedną reprezentację. Połączenie wszystkich tych zasobów tworzy nową i odrębną usługę sieci Web, która nie była pierwotnie świadczona przez żadne ze źródeł.

Według typu API

Mashupy można również podzielić na kategorie według podstawowego typu interfejsu API, którego używają, ale każdy z nich można łączyć ze sobą lub osadzać w innych aplikacjach.

Typy danych

Funkcje

Włącznik mashup

W technologii, mashup enabler to narzędzie do przekształcania niekompatybilnych zasobów IT w formę, która pozwala na ich łatwe łączenie w celu stworzenia mashupu. Aktywatory mashup umożliwiają zastosowanie potężnych technik i narzędzi (takich jak platformy mashup) do łączenia danych i usług w celu zastosowania ich do nowych rodzajów zasobów. Przykładem narzędzia mashup jest narzędzie do tworzenia kanału RSS z arkusza kalkulacyjnego (którego nie można łatwo wykorzystać do utworzenia mashupu). Wiele edytorów mashup zawiera moduły umożliwiające mashup, na przykład Presto Mashup Connectors, Convertigo Web Integrator lub Caspio Bridge .

Podmioty umożliwiające tworzenie mashupów zostały również opisane jako „dostawcy usług i narzędzi, [sic], którzy umożliwiają tworzenie mashupów”.

Historia

Wczesne mashupy były tworzone ręcznie przez entuzjastycznych programistów. Jednak wraz ze wzrostem popularności mashupów firmy zaczęły tworzyć platformy do budowania mashupów, które pozwalają projektantom na wizualne tworzenie mashupów poprzez łączenie ze sobą komponentów mashupów.

Edytory mashupów znacznie uprościły tworzenie mashupów, znacznie zwiększając produktywność programistów mashupów, a nawet otwierając tworzenie mashupów dla użytkowników końcowych i ekspertów spoza IT. Standardowe komponenty i złącza umożliwiają projektantom łatwe łączenie zasobów mashup na różne złożone sposoby. Platformy mashup jednak niewiele zrobiły, aby poszerzyć zakres zasobów dostępnych przez mashupy i nie uwolniły mashupów od polegania na dobrze ustrukturyzowanych danych i otwartych bibliotekach ( kanały RSS i publiczne interfejsy API ).

Aktywatory mashup ewoluowały, aby rozwiązać ten problem, zapewniając możliwość przekształcania innych rodzajów danych i usług w zasoby, które można łączyć.

Zasoby internetowe

Oczywiście nie wszystkie cenne dane znajdują się w organizacjach. W rzeczywistości najcenniejsze informacje do analizy biznesowej i wspomagania decyzji często znajdują się poza organizacją. Wraz z pojawieniem się bogatych aplikacji internetowych i portali internetowych online, szeroki zakres krytycznych procesów biznesowych (takich jak składanie zamówień) staje się dostępny online. Niestety bardzo niewiele z tych źródeł danych udostępnia treści w formacie RSS, a bardzo niewiele z tych usług udostępnia publicznie dostępne interfejsy API. Edytory mashup rozwiązują zatem ten problem, udostępniając aktywatory lub łączniki.

Mashupy kontra portale

Mashupy i portale to technologie agregacji treści . Portale to starsza technologia zaprojektowana jako rozszerzenie tradycyjnych dynamicznych aplikacji internetowych , w których proces przekształcania zawartości danych w oznaczone strony WWW dzieli się na dwie fazy: generowanie „fragmentów” znaczników oraz agregację fragmentów w strony. Każdy fragment znacznika jest generowany przez „ portlet ”, a portal łączy je w jedną stronę WWW. Portlety mogą być hostowane lokalnie na serwerze portalu lub zdalnie na osobnym serwerze.

Technologia portalowa definiuje kompletny model zdarzeń obejmujący odczyty i aktualizacje. Żądanie zagregowanej strony w portalu jest tłumaczone na pojedyncze operacje odczytu we wszystkich portletach tworzących stronę ( renderoperacje „ ” na lokalnych portletach JSR 168 lub getMarkupoperacje „ ” na zdalnych portletach WSRP ). Jeśli przycisk przesyłania zostanie naciśnięty w dowolnym portlecie na stronie portalu, zostanie on przetłumaczony na operację aktualizacji tylko w tym portlecie ( processActionw portlecie lokalnym lub performBlockingInteractionzdalnym portlecie WSRP). Po aktualizacji natychmiast następuje odczyt wszystkich portletów na stronie.

Technologia portalowa dotyczy agregacji po stronie serwera w warstwie prezentacji . Nie można go używać do napędzania bardziej niezawodnych form integracji aplikacji, takich jak zatwierdzanie dwufazowe .

Mashupy różnią się od portali pod następującymi względami:

Portal Mashup
Klasyfikacja Starsza technologia, rozszerzenie tradycyjnego modelu serwera WWW przy użyciu dobrze zdefiniowanego podejścia Wykorzystuje nowsze, luźno zdefiniowane techniki „Web 2.0”
Filozofia/podejście Podchodzi do agregacji, dzieląc rolę serwera WWW na dwie fazy: generowanie znaczników i agregację fragmentów znaczników Wykorzystuje interfejsy API udostępniane przez różne witryny z treścią do agregowania i ponownego wykorzystywania treści w inny sposób
Zależności treści Agreguje fragmenty znaczników zorientowanych na prezentację (HTML, WML, VoiceXML itp.) Może operować na czystej treści XML, a także na treści zorientowanej na prezentację (np. HTML)
Zależności lokalizacji Tradycyjnie agregacja treści odbywa się na serwerze Agregacja treści może odbywać się na serwerze lub na kliencie
Styl agregacji Bar sałatkowy ” styl: Zagregowane treść jest przedstawiona „side-by-side” bez nakładania Styl „ Melting pot ” – Poszczególne treści można łączyć w dowolny sposób, co skutkuje arbitralną strukturą treści hybrydowych
Model wydarzenia Modele zdarzeń odczytu i aktualizacji są definiowane za pomocą określonego interfejsu API portletu Operacje CRUD są oparte na zasadach architektury REST , ale nie istnieje żadne formalne API API
Odpowiednie normy Zachowanie portletu jest regulowane przez standardy JSR 168 , JSR 286 i WSRP , chociaż układ strony portalu i funkcjonalność portalu są niezdefiniowane i specyficzne dla dostawcy Standardami podstawowymi są XML zamieniane jako REST lub Web Services. RSS i Atom są powszechnie używane. Pojawiają się bardziej szczegółowe standardy mashupów, takie jak EMML .

Model portalu istnieje dłużej i miał większe inwestycje i badania produktów. Technologia portalowa jest zatem bardziej ustandaryzowana i dojrzała. Z biegiem czasu rosnąca dojrzałość i standaryzacja technologii mashup prawdopodobnie sprawi, że będzie ona bardziej popularna niż technologia portalowa, ponieważ jest ona ściślej powiązana z Web 2.0, a ostatnio architekturami zorientowanymi na usługi (SOA). Oczekuje się, że nowe wersje produktów portalowych dodadzą obsługę mashupów, a jednocześnie będą obsługiwać starsze aplikacje portletowe. Z kolei technologie mashup nie powinny zapewniać obsługi standardów portali.

Mashupy biznesowe

Zastosowania mashupów rozwijają się w środowisku biznesowym. Business mashupy są przydatne do integracji usług biznesowych i usług danych, ponieważ technologie mashupów biznesowych zapewniają możliwość szybkiego opracowywania nowych zintegrowanych usług, łączenia usług wewnętrznych z informacjami zewnętrznymi lub spersonalizowanymi oraz sprawiają, że usługi te stają się namacalne dla użytkownika biznesowego za pośrednictwem przyjaznej dla użytkownika sieci Web interfejsy przeglądarki.

Mashupy biznesowe różnią się od mashupów konsumenckich poziomem integracji z biznesowymi środowiskami komputerowymi, funkcjami bezpieczeństwa i kontroli dostępu, zarządzaniem oraz wyrafinowaniem używanych narzędzi programistycznych (edytorów mashupów). Kolejną różnicą między mashupami biznesowymi a mashupami konsumenckimi jest rosnący trend wykorzystywania mashupów biznesowych w ofercie komercyjnego oprogramowania jako usługi (SaaS).

Wielu dostawców technologii mashupów biznesowych dodało funkcje SOA .

Architektoniczne aspekty mashupów

Architektura mashupu podzielona jest na trzy warstwy:

Architektonicznie istnieją dwa style mashupów: oparty na sieci Web i na serwerze. Podczas gdy aplikacje typu mashup oparte na sieci Web zazwyczaj wykorzystują przeglądarkę internetową użytkownika do łączenia i formatowania danych, mashupy oparte na serwerze analizują i ponownie formatują dane na zdalnym serwerze oraz przesyłają dane do przeglądarki użytkownika w ich ostatecznej formie.

Mashupy wydają się być odmianą wzoru elewacji . To znaczy: wzorzec projektowy inżynierii oprogramowania, który zapewnia uproszczony interfejs do większej części kodu (w tym przypadku kod agregujący różne kanały z różnymi interfejsami API ).

Mashupy mogą być używane z oprogramowaniem dostarczanym jako usługa ( SaaS ).

Po kilku latach opracowywania standardów przedsiębiorstwa z głównego nurtu zaczynają stosować architektury zorientowane na usługi (SOA), aby integrować różne dane, udostępniając je jako oddzielne usługi internetowe. Usługi sieciowe zapewniają otwarte, ustandaryzowane protokoły zapewniające ujednolicony sposób dostępu do informacji z różnych zestawów platform ( systemy operacyjne , języki programowania , aplikacje ). Te usługi sieci Web mogą być ponownie wykorzystywane do dostarczania zupełnie nowych usług i aplikacji w ramach organizacji i między nimi, zapewniając elastyczność biznesową.

Zobacz też

Bibliografia

Dalsza lektura