Mashup (hybryda aplikacji internetowej)
Mashup ( żargon branży komputerowej ), w tworzeniu stron internetowych , to strona internetowa lub aplikacja internetowa , która wykorzystuje zawartość z więcej niż jednego źródła do stworzenia jednej nowej usługi wyświetlanej 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ć połączenie map. Termin ten oznacza łatwą, 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 nieprzetworzonych 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 mashupu to połączenie, 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 [ kiedy? ] coraz więcej aplikacji sieci Web publikuje interfejsy API, które umożliwiają programistom łatwe integrowanie danych i funkcji w oparciu o architekturę SOA , zamiast samodzielnego ich tworzenia. Można uznać, że mashupy odgrywają aktywną rolę w ewolucji oprogramowania społecznościowego i Web 2.0 . Narzędzia do tworzenia mashupów są zwykle wystarczająco proste, aby mogli z nich korzystać użytkownicy końcowi. Na ogół nie wymagają umiejętności programowania i raczej obsługują wizualne okablowanie widżetów GUI , usługi i komponenty razem. Dlatego narzędzia te przyczyniają się do nowej wizji sieci , w której użytkownicy mogą wnieść swój wkład. [ wymagane wyjaśnienie ]
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 Web 1.0 organizacje przechowywały dane konsumentów na portalach i regularnie je aktualizowały. Kontrolowali wszystkie dane konsumentów, a konsument musiał korzystać z ich produktów i usług, aby uzyskać informacje. [ potrzebne źródło ]
Pojawienie się Web 2.0 wprowadziło standardy sieciowe, które zostały powszechnie przyjęte przez 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 danymi wszelkiego rodzaju, a tym samym do tworzenia wizualizacji danych. [ nieudana weryfikacja ] Na początku większość mashupów opierała się na konsumentach, ale ostatnio [ kiedy? ] mashup ma być widoczny [ przez kogo? ] jako ciekawy koncept przydatny także dla przedsiębiorstw. Zespoły biznesowe mogą łączyć istniejące dane wewnętrzne z usługami zewnętrznymi w celu generowania nowych widoków danych. Był też darmowy Yahoo! Pipes do tworzenia mashupów za darmo przy użyciu Wieśniak! Język zapytań .
Rodzaje mashupów
Istnieje wiele rodzajów mashupów, takich jak mashupy biznesowe, mashupy konsumenckie i mashupy danych. Najpopularniejszym rodzajem mashupu jest mashup konsumencki, skierowany do ogółu społeczeństwa.
- Mashupy biznesowe (lub korporacyjne ) definiują aplikacje, które łączą własne zasoby, aplikacje i dane z innymi zewnętrznymi usługami internetowymi . Skupiają dane w jednej prezentacji i umożliwiają współpracę między firmami i programistami. Działa to dobrze w zwinnym projekcie programistycznym , który wymaga współpracy między programistami a klientem (lub pełnomocnikiem klienta, zwykle menedżerem produktu) w celu zdefiniowania i wdrożenia wymagań biznesowych. Korporacyjne mashupy to bezpieczne, bogate wizualnie aplikacje internetowe, które udostępniają przydatne informacje z różnych wewnętrznych i zewnętrznych źródeł informacji.
- Konsumenckie mashupy łączą dane z wielu publicznych źródeł w przeglądarce i organizują je za pomocą prostego interfejsu użytkownika przeglądarki. (np. Wikipediavision łączy Mapę Google i API Wikipedii)
- Mashupy danych , w przeciwieństwie do mashupów konsumenckich, łączą podobne rodzaje mediów i informacji z wielu źródeł w jedną reprezentację. Połączenie wszystkich tych zasobów tworzy nową i odrębną usługę internetową , która nie była pierwotnie dostarczana przez żadne źródło.
Według typu API
Mashupy można również podzielić na kategorie według podstawowego typu API, którego używają, ale każdy z nich można łączyć ze sobą lub osadzać w innych aplikacjach.
Typy danych
- Zindeksowane dane (dokumenty, blogi, obrazy, filmy, artykuły zakupowe, oferty pracy ...) używane przez silniki metasearch
- Dane kartograficzne i geograficzne: oprogramowanie geolokalizacyjne , geowizualizacja
- Kanały, podcasty: agregatory wiadomości
Funkcje
- Konwertery danych: tłumacze języków , przetwarzanie mowy , skracacze adresów URL ...
- Komunikacja: e-mail , komunikator , powiadomienie ...
- Wizualne renderowanie danych: wizualizacja informacji , diagramy
- Związane z bezpieczeństwem: systemy płatności elektronicznych , identyfikacja tożsamości ...
- Redaktorzy
Aktywator mashupów
W technologii mashup enabler to narzędzie do przekształcania niekompatybilnych zasobów IT w formę, która umożliwia ich łatwe łączenie w celu stworzenia mashupu. Mechanizmy mashup umożliwiają stosowanie zaawansowanych technik i narzędzi (takich jak platformy mashup) do łączenia danych i usług w odniesieniu do nowych rodzajów zasobów. Przykładem narzędzia mashup enabler jest narzędzie do tworzenia RSS z arkusza kalkulacyjnego (którego nie można łatwo użyć do stworzenia mashupu). Wiele edytorów mashup zawiera narzędzia umożliwiające mashup, na przykład Presto Mashup Connectors, Convertigo Web Integrator lub Caspio Bridge .
Osoby umożliwiające tworzenie mashupów są również opisywane jako „dostawcy usług i narzędzi, [sic], którzy umożliwiają tworzenie mashupów”. [ potrzebne źródło ]
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 tworzenia mashupów, które pozwalają projektantom wizualnie konstruować mashupy 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 udostępniając tworzenie mashupów użytkownikom końcowym i ekspertom spoza branży IT. Standardowe komponenty i złącza umożliwiają projektantom łatwe łączenie zasobów mashup na wszelkiego rodzaju złożone sposoby. Jednak platformy mashup niewiele zrobiły, aby poszerzyć zakres zasobów dostępnych dla mashupów i nie uwolniły mashupów od polegania na dobrze ustrukturyzowanych danych i otwartych bibliotekach ( RSS i publiczne interfejsy API ).
Narzędzia mashupowe 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 dla analityki biznesowej i wspomagania decyzji często znajdują się poza organizacją. Wraz z pojawieniem się bogatych aplikacji internetowych i portali internetowych, szeroki zakres procesów o krytycznym znaczeniu dla biznesu (takich jak zamawianie) staje się dostępny online. Niestety bardzo niewiele z tych źródeł danych syndykuje treści w formacie RSS, a bardzo niewiele z tych usług udostępnia publicznie dostępne interfejsy API. Dlatego redaktorzy mashupów rozwiązują ten problem, udostępniając narzędzia umożliwiające lub łączniki.
Mashup kontra portale
Zarówno mashupy, jak 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 oznakowane strony internetowe jest podzielony na dwie fazy: generowanie „fragmentów” znaczników i agregację fragmentów w strony. Każdy fragment znaczników jest generowany przez „ portlet ”, a portal łączy je w jedną stronę internetową. Portlety mogą być hostowane lokalnie na serwerze portalu lub zdalnie na osobnym serwerze.
Technologia portalu definiuje kompletny model zdarzeń obejmujący odczyty i aktualizacje. Żądanie zagregowanej strony w portalu jest tłumaczone na poszczególne operacje odczytu we wszystkich portletach tworzących stronę (operacje „ render
” na lokalnych portletach JSR 168 lub operacje „ getMarkup
” na zdalnych portletach WSRP ). Jeśli przycisk wysyłania zostanie naciśnięty w dowolnym portlecie na stronie portalu, zostanie to przetłumaczone na operację aktualizacji tylko w tym portlecie ( processAction
w portlecie lokalnym lub performBlockingInteraction
na zdalnym portlecie WSRP). Po aktualizacji natychmiast następuje odczyt wszystkich portletów na stronie.
na poziomie prezentacji po stronie serwera . 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 | Mieszanka | |
---|---|---|
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 | Podejście do agregacji poprzez podział roli serwera WWW na dwie fazy: generowanie znaczników i agregacja fragmentów znaczników | Korzysta z interfejsów API udostępnianych przez różne witryny z treścią w celu agregowania i ponownego wykorzystywania treści w inny sposób |
Zależności treści | Agreguje fragmenty znaczników zorientowane na prezentację (HTML, WML, VoiceXML itp.) | Może działać na czystej treści XML, a także na treści zorientowanej na prezentację (np. HTML) |
Zależności lokalizacyjne | Tradycyjnie agregacja treści odbywa się na serwerze | Agregacja treści może odbywać się zarówno na serwerze, jak i na kliencie |
Styl agregacji | „ Baton sałatkowy ”: zagregowana treść jest prezentowana „obok siebie” bez nakładania się | „ melting pot ” – poszczególne treści można łączyć w dowolny sposób, w wyniku czego powstają treści hybrydowe o dowolnej strukturze |
Model zdarzenia | Modele zdarzeń odczytu i aktualizacji są definiowane za pośrednictwem określonego interfejsu API portletu | Operacje CRUD są oparte na zasadach architektury REST , ale nie istnieje żaden formalny interfejs API |
Odpowiednie normy | Zachowanie portletu podlega standardom JSR 168 , JSR 286 i WSRP , chociaż układ strony portalu i funkcjonalność portalu są niezdefiniowane i zależą od dostawcy | Standardy bazowe to XML wymieniane jako REST lub Web Services. Powszechnie używane są RSS i Atom . Pojawiają się bardziej szczegółowe standardy mashupów, takie jak EMML . |
Model portalu istnieje dłużej i wymaga większych inwestycji i badań produktów. Technologia portali jest zatem bardziej ustandaryzowana i dojrzała. Z biegiem czasu rosnąca dojrzałość i standaryzacja technologii mashup prawdopodobnie sprawią, że stanie się ona bardziej popularna niż technologia portalowa, ponieważ jest ściślej związana z Web 2.0, a ostatnio architekturami zorientowanymi na usługi (SOA). Oczekuje się, że w nowych wersjach produktów portalowych zostanie dodana obsługa połączeń typu mashup, przy jednoczesnym zachowaniu obsługi starszych aplikacji portletowych. W przeciwieństwie do technologii mashup, nie oczekuje się obsługi standardów portali.
Biznesowe mashupy
Zastosowania mashupów rozwijają się w środowisku biznesowym. Łączenia biznesowe są przydatne do integrowania usług biznesowych i danych, ponieważ technologie połączeń biznesowych zapewniają możliwość szybkiego opracowywania nowych zintegrowanych usług, łączenia usług wewnętrznych z zewnętrznymi lub spersonalizowanymi informacjami 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.
Biznesowe mashupy różnią się od mashupów konsumenckich poziomem integracji z biznesowymi środowiskami komputerowymi, funkcjami bezpieczeństwa i kontroli dostępu, zarządzaniem i zaawansowaniem używanych narzędzi programistycznych (edytorów mashup). Inną 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 biznesowych mashupów dodało funkcje SOA .
Architektoniczne aspekty mashupów
Architektura mashupu jest podzielona na trzy warstwy:
- Prezentacja / interakcja użytkownika : to jest interfejs użytkownika mashupów. Stosowane technologie to HTML / XHTML , CSS , JavaScript , Asynchronous JavaScript i Xml (Ajax) .
- Usługi sieciowe: dostęp do funkcjonalności produktu można uzyskać za pomocą usług API. Stosowane technologie to XMLHTTPRequest , XML-RPC , JSON-RPC , SOAP , REST .
- Dane: obsługa danych, takich jak wysyłanie, przechowywanie i odbieranie. Stosowane technologie to XML , JSON , KML .
Architektonicznie istnieją dwa style mashupów: oparte na sieci Web i oparte na serwerze. Podczas gdy mashupy internetowe zazwyczaj wykorzystują przeglądarkę internetową użytkownika do łączenia i ponownego formatowania danych, mashupy oparte na serwerze analizują i ponownie formatują dane na zdalnym serwerze i przesyłają dane do przeglądarki użytkownika w ostatecznej formie.
Mashupy wydają się być odmianą wzoru fasady . To znaczy: wzorzec projektowy inżynierii oprogramowania, który zapewnia uproszczony interfejs do większej części kodu (w tym przypadku kodu do agregowania różnych kanałów z różnymi interfejsami API ) .
Mashup może być używany z oprogramowaniem dostarczanym jako usługa ( SaaS ).
Po kilku latach opracowywania standardów przedsiębiorstwa głównego nurtu zaczynają wdrażać architektury zorientowane na usługi (SOA) w celu integracji różnych danych poprzez udostępnianie ich jako odrębnych usług internetowych. Usługi sieciowe udostępniają otwarte, znormalizowane protokoły w celu zapewnienia ujednoliconych środków 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 całkowicie nowych usług i aplikacji w ramach organizacji i między nimi, co zapewnia elastyczność biznesową.
Zobacz też
- Mieszanka (kultura)
- Mieszanka (muzyka)
- Otwarty Sojusz Mashup
- Otwórz interfejs API
- Wieśniak! Rury
- Webhook
- portal internetowy
- Skrobanie sieci
Dalsza lektura
- Ahmet Soylu, Felix Mödritscher, Fridolin Wild, Patrick De Causmaecker, Piet Desmet. 2012 . „Mashupy według orkiestracji i środowisk osobistych opartych na widżetach: kluczowe wyzwania, strategie rozwiązań i aplikacja”. Program: Biblioteki elektroniczne i systemy informacyjne 46 (4): 383–428.
- Endres-Niggemeyer, Brigitte wyd. 2013. Semantyczne mashupy. Inteligentne ponowne wykorzystanie zasobów sieciowych. Skoczek. ISBN 978-3-642-36402-0 (druk)