En mashup er en webapplikation, der kombinerer data fra flere kilder til ét integreret værktøj; f.eks. resulterer en kombination af Google Maps med ejendomsdata fra Craigslist i en unik ny webservice, som ikke oprindeligt blev tilbudt af nogen af datakilderne.
Begrebet mashup refererer oprindeligt til populærmusik ( oftest hip-hop ) og betyder produktionen af en ny sang, der blander to eller flere dele af andre sange.
Indholdet, der bruges i mashups, opnås normalt fra tredjeparter gennem en offentlig grænseflade eller API . Der er en opfattelse af, at tilfælde, hvor private grænseflader anvendes, ikke kan betragtes som mashups .
Andre metoder til at hente indhold kan være webfeeds (f.eks . RSS og Atom ) eller parsing af HTML - sider. Mange eksperimenterer med mashups ved hjælp af API'er fra flere websteder på én gang - Amazon , eBay , Flickr , Google projects , Microsoft , Yahoo , YouTube osv., hvilket førte til oprettelsen af mashup-editorer.
Arkitekturen af web mashups består altid af tre dele.
Der er tre typer mashups: brugermashups, data mashups og business mashups.
Den mest kendte er den tilpassede mashup-type , som eksemplificeres af de fleste Google Maps -applikationer . Brugerdefinerede mashups kombinerer dataelementer fra flere kilder bag en enkel, samlet grafisk grænseflade.
Data mashups ("enterprise" mashups) blander (integrerer) data af lignende typer fra forskellige kilder (se Yahoo! Pipes ), for eksempel ved at kombinere data fra flere RSS-feeds i ét feed med en grafisk grænseflade. En "Enterprise" mashup (se Denodo Technologies og JackBe ) integrerer typisk data fra eksterne og interne kilder. En sådan mashup kunne for eksempel generere en markedsindflytningsrapport ved at kombinere en ekstern liste over alle solgte boliger i den seneste uge med interne data om, hvilke boliger der blev solgt af et bestemt bureau.
En business mashup er en kombination af alle ovenstående, med fokus på aggregering og præsentation af data, samtidig med at der tilføjes muligheden for at administrere data (redigere, tilføje), hvilket gør det muligt at bruge slutresultatet som en forretningsapplikation.
En telecom mashup er en telekommunikationstjeneste, hvis elementer er indsamlet fra flere kilder. For eksempel kan nogen modtage en grundlæggende tjeneste fra virksomhed A, en tilbagekaldstone fra virksomhed B, en telefonsvarertjeneste fra virksomhed C og så videre.
En træningsmashup er en træningstjeneste på nettet (der integrerer) data fra forskellige træningskilder på nettet. Mashups indenfor mashups kaldes "monster mashups".
Mashups kan opdeles i fire hovedkategorier: kort , videoer og billeder , søgning og shopping og nyheder .
Chicago kriminalitet . Chicago Police Departmenthar en mashup Arkiveret 12. oktober 2007 på Wayback Machine , der integrerer afdelingens kriminalitetsdatabase med Google Maps for at stoppe kriminalitet i områder og advare beboere om, hvor kriminalitet ofte forekommer.
Flickr er et billeddatalager, der giver brugerne mulighed for at organisere og dele deres samling af billeder. Ved hjælp af Flickr API kan dataene bruges til at lave mashups.
Travature er en rejseportal, der integrerer en flyrejse -metasøgemaskine , rejseguider og hotelanmeldelser. Portalen giver brugeren mulighed for at dele billeder og diskutere deres oplevelse med andre brugere.
Digg . En mashup af forskellige nyhedshjemmesider, næsten fuldstændig styret af ressourcens brugere.
Mashups og portaler er indholdsaggregeringsteknologier. Portaler er en ældre teknologi skabt i forlængelse af traditionelle webapplikationer, hvor processen med at konvertere data til layoutsider er opdelt i to faser – generering af layout-"fragmenter" og aggregering af dem til sider. Hvert af disse fragmenter genereres af en " portlet ", og derefter kombinerer portalen dem til en enkelt webside. Portlets kan gemmes lokalt på portalserveren eller eksternt på en anden server.
Portalteknologi er en applikation på serversiden, hvor databinding sker, når information præsenteres for brugeren. Denne teknologi kan ikke bruges til at skabe mere robuste former for applikationsintegration, såsom en to-faset opgradering .
Forskellene mellem mashups og portaler er vist i tabellen.
Portal | Mashup | |
---|---|---|
Klassifikation | Gammel teknologi udvidet til traditionel webserverteknologi ved hjælp af en gennemtænkt tilgang. | Bruger nyere Web 2.0- principper . |
Filosofi/tilgang | Det nærmer sig aggregering ved at opdele webserverens rolle i to faser - layoutgenerering og aggregering af layoutfragmenter. | Bruger API'er, der tilbydes af forskellige ressourcer, til at samle og genbruge data på en anden måde. |
Dataafhængigheder | Aggregerer præsentationsorienterede layoutfragmenter (HTML, WML, VoiceXML osv.). | Kan operere på rent XML-indhold samt præsentationsorienterede data (såsom HTML). |
Placeringsafhængigheder | Traditionelt foregår indholdsaggregering på serveren. | Indholdsaggregering kan ske både på serveren og på klienten. |
Aggregationsstil | Salatbar-stil - Aggregeret indhold vises "den ene efter den anden" uden at overlappe. | Melting pot style - nogle data kan kombineres på enhver måde, hvilket resulterer i vilkårligt strukturerede hybriddata. |
Event Model | Læse- og opdateringshændelsesmodellen er defineret gennem den portlet-specifikke API. | CRUD- operationer ( en ) baseret på REST- arkitektoniske principper ( en ). Der er ingen formel API. |
Relaterede standarder | Portlets adfærd er defineret af JSR 168 , JSR 286 og WSRP standarderne , men sidens udseende og funktionaliteten af portalen er udefineret og er specifik for hver udbyder. | Grundstandarden er udveksling af XML-data med REST-semantik. RSS og Atom bruges ofte. Flere mashup-specifikke standarder forventes at blive oprettet snart. |
Portalmodellen har eksisteret i lang tid og har fået flere investeringer og forskning, så teknologien er mere standardiseret og moden. De næste 2-3 års udvikling og standardisering af mashup-teknologi vil formentlig gøre den mere populær end portalteknologi, da mashups er tættere relateret til Web 2.0 og på det seneste til SOA . [1] Der kan forekomme portalprodukter, der understøtter både mashups og fortsat understøtter portlet-applikationer. Det forventes dog ikke, at applikations-mashups understøtter portlet-applikationer.
Mashups kan spille en stor rolle i et forretningsmiljø. Dette afsnit diskuterer flere praktiske anvendelser af disse teknologier; med separate referencer til slutbrugerens ønske om at arbejde med personaliserede informationstjenester, problemerne med overbelastning af adresseret information og behovet for teknologiintegration.
Mashups skaber nye forbrugertjenester, som igen skaber mange nye muligheder for dem. Det gør det nemmere for slutbrugere at bygge mashup-websteder, uanset deres tekniske formåen, ved hjælp af Sites API. Dette gør implementeringen af mashups enkel, og nye forbrugere kan nemt lave mashups. Med alle tilgængelige API'er kan producenter bygge genbrugelige og vedligeholdelige applikationer nemmere og billigere. Hele Web 2.0 er i personalisering af information. I denne sammenhæng vil mashups dukke op hyppigere, da hver mashup er i stand til at tilbyde ny funktionalitet fra eksisterende hjemmesider. Faktisk angiver Emory M. Craig (2007), at der i gennemsnit tilføjes tre nye mashup-sider til Programmableweb.com hver dag. Det er nemt at forestille sig, hvordan man opretter en personlig informationstjeneste, når du har mulighed for at tilføje funktioner ved hjælp af mashups. Da mashups er en del af Web 2.0, øger de niveauet af personalisering af information. Mange mennesker er overbeviste om magten ved mashups og ser dem som nettets fremtid.
Informationsoverbelastning er et problem, som mange virksomheder står over for, både i virksomheden og når de tilbyder information til brugerne. Mashups hjælper med at løse dette problem ved at give én virksomhed mulighed for at levere detaljerede, kortfattede oplysninger fra flere kilder. For eksempel, før fremkomsten af mashup-websteder, skulle brugere, der ønskede at finde billeder af en bestemt type (såsom dyr), først finde ressourcer og derefter navigere gennem dem og forsøge at finde passende billeder. Det er klart, at der er et stort antal websteder, der potentielt kan indeholde passende billeder; som et resultat, vil brugeren blive overbelastet med information. For at hjælpe med at løse dette problem kan der oprettes et mashup-websted, der samler billeder fra andre websteder og kategoriserer dem. Dette vil give brugerne mulighed for nemt at søge ét sted efter det, de har brug for, og endda give dem mulighed for at se alle mulige billeder i en bestemt kategori med et par museklik.
Mashups er en form for teknologiintegration, der tilpasser dem til at kombinere mange teknologier og implementeringssprog sammen. Nogle mashups kan simpelthen være en blanding af JavaScript og XML for at skabe en innovativ ny webservice. Andre større mashups, som er det primære mål for deres respektive hjemmesider, bruger teknologi fra tjenester som Google Maps og adressedatabasen, kæder dem sammen og viser projektinformation på et kort.
Fra ethvert synspunkt[ hvad? ] ligner en mashup er et eksempel på facadedesignmønsteret (se Design Patterns : Elements of Reusable Object-Oriented Software ( ISBN 0-201-63361-2 ) af Gang of Four (Erich Gamma, Richard Helm, Ralph Johnson og John Vlissides)). Dette er et designmønster, der tilbyder en forenklet grænseflade til mere kode (i tilfælde af mashups, kode til at aggregere forskellige feeds med forskellige API'er).
I forvejen er der flere mashup-platforme , der hjælper brugeren med at skabe mashups. Eksempler i alfabetisk rækkefølge: