Vous êtes sur la page 1sur 10

Aplicatii Web Mash-up

Definitie Mash-up

In aceasta prezentare, imi propun sa definesc ce inseamna termenul de aplicatie mashup, sa prezint succint cum functioneaza o aplicatie mash-up, sa prezint cateva exemple
de de mash-up-uri functionale, si la final, cate ceva din editorul de mash-up oferit de
Yahoo, si anume Yahoo Pipe.
In linii mari, putem spune ca un mash-up Web este o pagina sau o aplicatie Web care
combina date de la doua sau mai multe surse online externe, unindu-le intr-o aplicatie
integrata. Aceste surse externe sunt, de obicei, la randul lor Website-uri, utilizate
pentru a obtine un mash-up prin mijloace precum API-uri (Application Programming
Interface), feed-uri XML, si screen-scraping.
O definitie mai scurta ar fi: un mash-up este - Aplicaie web hibrid care combina servicii
oferite de diferite site-uri web intr-un singur site.
De asemenea, putem spune ca Mash-up implica usurinta, integrare rapida, de obicei
oferita de un API deschis si de anumite surse de date, pentru a produce rezultate in
scopuri diferite fata de scopul original.
Ideea de a combina api-uri multiple nu e noua, de exemplu sistemul de operare
Microsoft Windows este un foarte bun exemplu pentru un mash-up. In cadrul lui exista
"module" care se ocupa de operatii de retea, lucrul cu tastatura, cu display-ul, si cu
ajutorul unor interfete pot fi combinate pentru a oferi o aplicatie complexa.
Ca si Web 2.0. insusi, o aplicatie mash-up este rezultatul unei noi tendinte
constand in intarirea si amplificarea aplicatiilor prin combinarea continutului oferit,
intr-un mod dinamic si simplu. Atunci cand avem multe platforme a caror forta se
combina, ecosistemul mash-up explodeaza, efectele fiind uimitoare.
Datorita combinarii unor surse puternice de informatie, si a usurintei in realizarea
acesteia, aplicatiile mash-up sunt privite ca o perspectiva foarte tentanta, numarul lor
crescand foarte mult in ultimul timp. Insa, Unii specialisti vad conceptul de mash-up si
ca pe o noua metoda de marketing decat o binefacere sociala din partea marilor
companii de pe piata. Mashup-ul rezultat din aceasta ecuatie este de fapt produsul
unui mediu in care producatorii de aplicatii isi urmeaza propriile interese pentru a
facilita crearea unor aplicatii hibride, integrate de catre terte parti, aducand astfel
utilizatorii propriului API.
Cateva exemple de website-uri folosite consistent in crearea mashup-urilor sunt
Google, eBay, Amazon, AOL, Windows Live si API-uri Yahoo.

Cum functioneaza

O aplicatie tip mash-up este arhitectural formata din 3 parti parti: API-uri/provideri
de continut, site-ul mashup, si clientii web/browser.
De exemplu, in ChicagoCrime.org providerii sunt Google si Chicago Police
Department. Pentru a permite accesul la date, providerii expun continutul prin
protocoale Web ca REST, Web Services, si RSS/Atom. In multe cazuri surse de date
publice de interes nu expun API-uri (Wikipedia, TV Guide, si in principiu domenii
guvernamentale si publice). In acest caz continutul se preia prin tehnici ca screen
scraping.
- site-ul mashup - este partea de pe server unde este gazduita aplicatia mash-up.
Acesta este in general o aplicatie server-side care genereaza continut dinamic prin
tehnologii cunoscute Java, CGI, PHP or ASP.
- clientii web/browser - este partea grafica, unde userii interactioneaza cu aplicatia.

Un exemplu clasic de mash-up este combinarea adresei postale cu o harta online astfel
incat sa poti rapid sa vezi puncte de interes din vecinatate, ex. spitale, institutii. Sau
identificarea caselor de vanzare in jurul unui punct de pe o harta online. La un click pe
un punct de pe harta, se obtin casele care sunt de vanzare in jurul acestui punct.

Avantaje Mash-up

Principalul avantaj al mash-up-urilor este ca prin unificarea unor informatii se ofera o


viziune globala, mai bogata asupra scopului pe care si-l propune un site web. Totodata,
apare un nivel superior de interactivitate.
Unificarea unor informatii pentru a oferi o viziune globala asupra scopului pe care si-l
propune un site web.

Exemple de aplicatii mashup

Exista un numar foarte mare de API-uri care ofera acces la continut, ceea ce duce la un
numar din ce in ce mai mare de aplicatii mash-up. Informativ, siteul http://www.programmableweb.com prezinta 1139 de API-uri, si pest 3500 de
aplicatii mash-up.
Folosirea API-urilor in aplicatii este ilustrata in graficul de mai jos.

Un exemplu de site care foloseste multe API-uri este Havaria Information Services'
AlertMap, care foloseste peste 200 de surse care ofera informatii despre conditii meteo,
biohazard, si informatii seismice, si le afiseaza pe o harta a lumii.

Un alt exemplu de mash-up este http://www.musicmesh.net/, care permite cautarea


grafica a formatiilor de muzica, plecand de la un singur artist, si urmarirea
inregistrarilor video ale artistilor/formatiilor postate pe YouTube. Aceasta ofera in mod
categoric o cale incitanta de a descoperi noi genuri de muzica sau de a viziona
inregistrari video ale formatiei preferate. Tot ceea ce trebuie sa faci este sa introduci
numele artistului preferat si aplicatia iti ofera intr-un mod inteligent albume
asemanatoare, filme de pe YouTube, listingul pieselor de pe albume, review-uri ale
userilor, articole de pe Wikipedia. De asemenea iti sugereaza genuri de muzica
asemanatoare.

Kaboodle este o retea de social networking bazata pe cumparaturi. Kaboodle te pune in


legatura cu alti cumparatori care au preferinte asemanatoare. Utilizatorii descopera,
recomanda si isi arata produse. Sistemul permite utilizatorilor sa se organizeze

cumparaturile in liste transmisibile prietenilor, sa descopere noi lucruri de la alti


utilizatori, sa isi planifice vacantele, o varietate intreaga de alte lucruri in jurul
cumparaturilor. In 2005 avea deja 400.000 de utilizatori si 4 milioane de vizitatori
lunari.

http://www.doggdot.us Pentru cine foloseste frecvent digg, slashdot, si del.icio.us ,


site-ul combina aceste surse de informatie intr-un format unic, eliminand duplicatele.

Alte exemple:
Parkingcarma.com: un mash-up care localizeaza si arata pe harta locuri de

parcare din orasele principale din USA.


Weatherbonk.com: ofera in timp-real informatii despre vremea probabila,
afisandu-le pe o harta.
Pubwalk.com: descoperi puncte de vanzare non-stop si restaurante de noapte, in
jurul unor puncte alese pe o hartathis nifty mashup.
Google Transit: pentru Japonia si o parte din USA, poti sa iti planifici calatoriile
cu autocarul sau trenul utilizand aceasta aplicatie inteligenta.
Yelp: un serviciu de cautare a restaurantelor, combinate cu mii de pareri ale celor
care le-au vizitat.

Prezentare API-uri folosite pentru aplicatii mash-up

Un API sau o Interfata de Aplicatie pentru Programare, in traducere, este un set de


functii pe care computerul le pune la dispozitie pentru alte programe, astfel incat
acestea sa comunice direct.
Astfel amazon.com ofera un set de "API-uri de retail" ce permit producatorilor sa creeze
programe care sa utilizeze infrastructura sofisticata de retail online a Amazon.

Prezentare Yahoo Maps API

Yahoo! Maps ApPI este extrem de puternic si permite crearea de harti interactive de
mare calitate. Cu ajutorul API-ului putem vizualiza interactiv o anumita locatie, calcula
distanta intre 2 puncte geografice, crea rute, localiza utilizatori, jurnaliza harti, crea
puncte de interes. Ofera posibilitatea de a afisa continut relevant cu ajutorul unei harti,
ca informatii locale (Yahoo! Local listings), informatii privind traficul (Traffic), conditii
climaterice (Weather), evenimente (Upcoming events).

Prezentare Flickr API

Una dintre cele mai populare API-uri este Flickr, care ofera accesul prin servicii web la
fotografiile postate pe site-ul respectiv, meta data, tag-urile fotografiilor. Utilizarea
obisnuita este de al vizualiza pe harta locatia fotografiilor, galerii, postere si jocuri. Toate
acestea se gasesc demonstrate in exemple pe site-ul de servicii Flick, incluzand Retrievr,
,un motor de cautare a imaginilor pe baza unui desen de mana.

Yahoo Pipes - cum sa construim rapid un mash-up

Pipes este un serviciu online gratuit prin care poti sa mixezi tipurile de feed-uri
cunoscute pentru a creea un mash-up de date, folosind un editor vizual. Se poate folosi
sa rulezi propriul proiect web, sa publici propriile servicii web fara sa scrii cod.
O aplicatie Pipe se creaza prin drag&drop a unor module preconfigurate pe o
suprafata de lucru. Exista un modul Fetch care intoarce datele dintr-un feed pe baza
unui URL, un modul de sortare a lor Sort, de filtrare, de oferire a datelor geografice.
You make a Pipe by dragging pre-configured modules onto a canvas and wiring them
together in the Pipes Editor.
Each Pipe consists of two or more modules, each of which performs a single, specific
task. For example, the Fetch module will retrieve a feed URL, while the Sort module will
re-order a feed based on criteria you provide (you can find a complete list of available
modules in the documentation.)
Each module has one or more terminals, represented by small circles in the interface.
You can wire modules together by clicking on one module's output terminal and
dragging the wire to another module's input terminal. Once the terminals are wired
together the output from the first module will serve as input to the second module.
In addition to data feeds, Pipes also lets you add user input fields into your Pipe. These
show up at runtime as form fields that users of your Pipe can fill in.
The easiest way to understand Pipes is to build one yourself - try editing one of our
sample Pipes for a quick start.

Bibliografie:
http://www.pcworld.ro/?page=node&id=10357
http://www.sitepoint.com/article/yahoo-mashup-php/
http://www.sitepoint.com/print/microformats-meaning-markup/
http://blog.sherifmansour.com/?p=187
http://www.programmableweb.com/
http://pipes.yahoo.com/pipes/docs?doc=sources#GoogleBase

Termeni tehnici:
Screen scraping - e o tehnica prin care un program extrage date din outputul afisat de
alt program
API sau o Interfata de Aplicatie pentru Programare este un set de functii pe care
computerul le pune la dispozitie pentru alte programe, astfel incat acestea sa comunice
direct.
REST - Representational State Transfer.

Web Services - o cale de a integra sau de a comunica cu aplicatii web diferite folosind
standarde de comunicare XML, SOAP, WSDL.
RSS/Atom - Really Simple Syndication. Un format pentru notificarea continutului nou
dintr-un site web.