• Nebyly nalezeny žádné výsledky

Web mashup www.webmashup.com

N/A
N/A
Protected

Academic year: 2022

Podíl "Web mashup www.webmashup.com"

Copied!
6
0
0

Načítání.... (zobrazit plný text nyní)

Fulltext

(1)

Web mashup

www.webmashup.com

Miloˇs Kal´ ab

173388 – 1.roˇ cn´ık FI MU N-IN POS

4. prosince 2009

(2)

Uvod ´

Slovo

”Mashup“ znamen´a podle v´ykladov´eho slovn´ıku

”rozmaˇckat nˇeco, nejˇcastˇeji j´ıdlo, do kaˇsovit´e formy“. 1 Tato definice ˇc´asteˇcnˇe nastiˇnuje, co to vlastnˇe mashup (ˇcesk´y pˇreklad by mohl b´yt

”m´ıchanice“ nebo

”mix´aˇz“) je.

V kontextu sluˇzby internetu je mashup definov´an jako webov´a str´anka nebo aplikace, kter´a uˇz´ıv´a obsah z v´ıce zdroj˚u k vytvoˇren´ı nov´e sluˇzby. Obsah vyuˇz´ıvan´y v mashupu b´yv´a bˇeˇznˇe zprostˇredkov´an ze zdroj˚u tˇret´ı strany pomoc´ı veˇrejn´eho rozhran´ı. [1]

Obr´azek 1: Co je mashup?[2]

Web mashup je sv´ym pojet´ım podobn´y port´al˚um. Obˇe tyto technologie jsou zamˇeˇreny na prezentaci agregovan´eho obsahu. Jejich rysy se vˇsak z´asadnˇe liˇs´ı.

Port´aly, jeˇz jsou starˇs´ı technologi´ı, jsou navrˇzeny jako rozˇs´ıˇren´ı dynamick´ych webov´ych aplikac´ı. Prezentace obsahu ve formˇe webov´ych str´anek sest´av´a ze dvou f´az´ı. Nejprve je tˇreba vytvoˇrit jednotliv´e ˇc´asti a n´aslednˇe je agregovat do kompletn´ı webov´e str´anky. Port´alov´e technologie jasnˇe definuj´ı ud´alosti ˇ

cten´ı a aktualizace. Poˇzadavek na str´anku je pˇreloˇzen na operace ˇcten´ı nad jednotliv´ymi ˇc´astmi, kter´e str´anku tvoˇr´ı. Proveden´ı akce (napˇr. kliknut´ı na tlaˇc´ıtko) na str´ance port´alu je pˇreloˇzeno na aktualizaci t´e konkr´etn´ı ˇc´asti, ve kter´e se akce provedla, coˇz je ale spojeno s opˇetovn´ym zobrazen´ım cel´e str´anky.

Tato strategie je vcelku n´akladn´a. Nav´ıc, agregace dat u port´al˚u prob´ıh´a pˇr´ımo na stranˇe serveru. Na rozd´ıl od port´al˚u, mashup obvykle vyuˇz´ıv´a technologi´ı Webu 2.0. Kromˇe klasick´ych prezentaˇcn´ıch jazyku, jako je HTML je mashup schopen zpracov´avat ˇcistˇe XML dokumenty. Agregace dat prob´ıh´a bud’ na stranˇe

1Longman Dictionary Online –http://www.ldoceonline.com/dictionary/mash_1

(3)

serveru (jako u port´al˚u), nebo na stranˇe klienta. To umoˇzˇnuje moˇznost dynamick´e aktualizace obsahu jednotliv´ych ˇc´ast´ı str´anky bez nutnosti ˇcast´eho znovunaˇc´ıt´an´ı kompletn´ı webov´e prezentace.[3]

Jednou z nejvˇetˇs´ıch v´yhod mashup˚u je syst´em jejich vytv´aˇren´ı. Obecnˇe se d´a ˇr´ıct, ˇze velk´e firmy (jako jsou Google, Amazon atd.) provozuj´ı nˇejakou aplikaci.

Koncov´ı uˇzivatel´e maj´ı moˇznost vyuˇz´ıt API tˇechto aplikac´ı a zkombinovat je. T´ım vzniknaj´ı nov´e, ˇcasto velice specializovan´e sluˇzby. Ty by se velk´ym spoleˇcnostem nevyplatilo vyv´ıjet a provozovat, ale pr´avˇe t´ım, ˇze poskytnou svoje API, zviditelˇnuj´ı sv´e sluˇzby a zdarma z´ısk´av´aj´ı reklamu. Nav´ıc m˚uˇze jejich produkt natolik prosadit, ˇze se stane takˇrka standardem. Typick´ym pˇr´ıkladem mashupu je Weather Bonk2, kde jsou dohromady spojeny informace o poˇcas´ı, mapa, n´ahledy online kamer zab´ıraj´ıc´ıch v´yznamn´e m´ısta. To vˇse je samozˇrejmˇe propojen´e a interaktivn´ı.

Obr´azek 2: Nejpouˇz´ıvanˇejˇs´ı zdroje pro tvorbu mashup˚u[4]

Typy mashup˚ u

Zp˚usob vytv´aˇren´ı mashup˚u, jejich c´ılov´a skupina a filosofie, se kterou jsou tvoˇreny dˇel´ı mashupy do dvou skupin: uˇzivatelsk´e mashupy (angl.

”Consumer mashups“) a podnikov´e mashupy (angl.

”Enterprise (2.0) mashups“).

Uˇ zivatelsk´ e mashupy

Casto jde o amat´ˇ ersky vytv´aˇren´e aplikace. Amat´ersky v tomto pˇr´ıpadˇe nemus´ı pˇr´ımo znamenat, ˇze jde o nekvalitn´ı pr´aci. Mezi internetov´ymi uˇzivateli je spousta program´ator˚u, IT nadˇsenc˚u a ostatn´ıch, kteˇr´ı z vlastn´ı iniciativy spoj´ı nˇekolik pˇredpˇripraven´ych n´astroj˚u (widget˚u, gadget˚u atd.) a vytvoˇr´ı z nich novou aplikaci.

U tohoto typu mashup˚u je agregovan´y obsah obvykle zobrazen pr´avˇe pomoc´ı str´anek jednoho ze zakomponovan´ych n´astroj˚u - napˇr. mashupy vyuˇz´ıvaj´ıc´ı Google Maps API.

2Weather Bonk –www.weatherbonk.com

(4)

Podnikov´ e mashupy

Tento typ by se dal charakterizovat tak, ˇze v´ysledek spojen´ı nˇekolika n´astroj˚u vede k vytvoˇren´ı aplikace, kter´a soustˇred’uje firemn´ı (a i ostatn´ı) data do formy umoˇzˇnuj´ıc´ı kvalitn´ı spolupr´aci v´yvoje a obchodu. Bˇeˇznˇe jsou pouˇz´ıv´any u projekt˚u vyv´ıjen´ych pomoc´ı tzv. agiln´ıch metodik, kde je potˇreba ´uzk´e spolupr´ace mezi z´astupci z´akazn´ık˚u a v´yvoj´aˇr˚u kv˚uli definov´an´ı a implementaci obchodn´ıch poˇzadavk˚u projektu.

Podnikov´e mashupy by se daly zase jeˇstˇe rozdˇelit podle toho, jak´ym zp˚usobem jsou vytv´aˇreny. Prvn´ım zp˚usobem je vytvoˇren´ı koneˇcn´e podoby pˇr´ımo v IT oddˇelen´ı. Koneˇcn´emu uˇzivateli je pˇredstavena hotov´a aplikace vˇcetnˇe uˇzivatelsk´eho rozhran´ı. Nemoˇznost uˇzivatelsk´ych ´uprav je vyvaˇzov´ana faktem, ˇze IT oddˇelen´ı je schopno funkˇcn´ı mashup vytvoˇrit rychle.

Druhou metodou tvorby mashup˚u, je vytvoˇren´ı sady gadget˚u v IT oddˇelen´ı.

Narozd´ıl od prvn´ıho zp˚usobu dostane uˇzivatel

”pr´azdn´e“ aplikaˇcn´ı prostˇred´ı, do nˇehoˇz si m˚uˇze dle libosti poskl´adat pˇredpˇripraven´e gadgety. Ovˇsem, pokud uˇzivatel potˇrebuje jin´e gadgety neˇz jsou k dispozici, tak mus´ı poˇz´adat o jejich vytvoˇren´ı IT oddˇelen´ı.

Implementaˇcnˇe nejtˇeˇzˇs´ı metoda, jej´ıˇz realizace m´a v koneˇcn´em d˚usledku nejvˇetˇs´ı pˇrednosti, je nasazen´ı prostˇred´ı umoˇzˇnuj´ıc´ı komukoliv vytvoˇrit a zkom- binovat sv˚uj vlastn´ı mashup. Oproti pˇredeˇsl´e metodˇe jsou jasnˇe viditeln´e v´yhody.

Uˇzivatel´e jsou schopni sv´epomoc´ı vytv´aˇret ty prvky, kter´e jim v jejich mashupu chyb´ı. Nev´yhodu to vˇsak m´a. Stejnˇe tak, jak se rychle ˇs´ıˇr´ı dobr´a ˇreˇsen´ı, tak se rozˇsiˇruj´ı i ta ˇspatn´a.[5]

Rizika

T´ım jsem se dostal k zabezpeˇcen´ı mashup˚u. Vzhledem k povaze mashup˚u, je jasn´e, ˇze d´ıky jejich sloˇzitosti vznik´a v´ıce moˇznost´ı, jak takov´e aplikace napadnout.

D˚uvody jsou kombinov´an´ı r˚uzn´ych programovac´ıch jazyk˚u, technologi´ı nebo vˇetˇs´ı mnoˇzstv´ı skript˚u na stranˇe serveru v porovn´an´ı s bˇeˇznou webovou aplikac´ı.

Pouˇz´ıv´an´ı r˚uznorod´ych sluˇzeb, n´astroj˚u ˇci komponent je zkr´atka probl´em cel´eho prostˇred´ı Webu 2.0. Spojovan´e prvky nemus´ı b´yt ide´alnˇe specifikovan´e, jejich vnitˇrn´ı bezpeˇcnost m˚uˇze b´yt na r˚uzn´e ´urovni. To je n´aslednˇe probl´em, kdyˇz je m´a pouˇz´ıt mashup aplikace jako zdroj. Jako uk´azka rizika m˚uˇze slouˇzit napˇr´ıklad nutnost autentizace pro pˇr´ıstup k soukrom´emu nastaven´ı nˇejak´e sluˇzby.

V momentˇe, kdy aplikaci poskytnete sv´e pˇrihlaˇsovac´ı jm´eno a heslo je na jednu stranu zobrazen v´ami nakonfigurovan´y obsah aplikace, na druhou stranu byly vaˇse ´udaje poskytnuty tˇret´ı stranˇe a vy m˚uˇzete pouze doufat, ˇze nebudou zneuˇzity.

Probl´emem m˚uˇze b´yt tak´e vˇetˇs´ı mnoˇzstv´ı spojen´ı, kter´e mashup potˇrebuje pro prezentov´an´ı, aktualizov´an´ı dat nebo jejich z´ısk´av´an´ı.

V´yvoj´aˇri mashup˚u by mˇeli myslet na tyto aspekty a oˇsetˇrit k´od tak, aby byl v´ysledn´y produkt bezpeˇcn´y. V dneˇsn´ı dobˇe uˇz existuj´ı prostˇredky, jak tyto probl´emy ˇreˇsit. Napˇr. jiˇz zm´ınˇenou problematiku autentizace m˚uˇze vyˇreˇsit protokol OAuth. Lze jej pouˇz´ıt jako metodu ovˇeˇren´ı uˇzivatele k jak´emukoli typu API (SOAP, XML-RPC, REST atd.), a to nejen na webov´ych aplikac´ıch.[6]

O vytvoˇren´ı standard˚u t´ykaj´ıc´ıch se mashup˚u se snaˇz´ı i W3C 3. Naneˇstˇest´ı

3Widgets 1.0 –http://www.w3.org/TR/widgets-reqs/

(5)

takov´eto ˇr´ızen´ı je velice zdlouhav´e, a i za pˇredpokladu, ˇze bude standard vytvoˇren, je ot´azou, jestli uˇz nebude pˇr´ıliˇs pozdˇe pro jeho prosazov´an´ı.

Architektura

Z hlediska toho, jak mashup zpracov´av´a poˇzadavek, se daj´ı rozliˇsit

”Web based“ a

”Server based“ varianty. Web based prov´ad´ı kombinaci a pˇreform´atov´an´ı dat pˇr´ımo v prohl´ıˇzeˇci. U server based je kombinace a pˇreform´atov´an´ı provedeno na serveru. Na uˇzivatel˚um webov´y prohl´ıˇzeˇc se tud´ıˇz dostane aˇz fin´aln´ı podoba.

Vnitˇrnˇe vypad´a mashup jako n´avhrov´y vzor fas´ada, kter´a poskytuje zjed- noduˇsen´a rozhran´ı pro pr´aci s vˇetˇs´ım mnoˇzstv´ım k´odu. V pˇr´ıpadˇe mashupu jde o API, kter´e je rozhran´ım, a datov´e zdroje, kter´e jsou k´odem. Velkou v´yhodou mashup˚u pramen´ıc´ı z Web 2.0 je znouvupouˇzitelnost zdroj˚u a API. Webov´e sluˇzby funguj´ıc´ı jako zdroje nebo API pro mashup jsou ˇcasto zaloˇzen´e na SOA.

Poskytuj´ı otevˇren´e standardizovan´e protokoly zaruˇcuj´ıc´ı unifikovan´y zp˚usob jak pˇristupovat k informac´ım zaloˇzen´ych na r˚uzn´ych platform´ach (OS, programovac´ı jazyky, aplikace).

Na podporu v´yvoje mashup˚u vznik´a spousta prostˇredk˚u, jak zdarma, tak placen´ych. Z´akladem jsou GUI editory – Google Web Toolkit, XAP nebo Net- beans a jin´e. Do nich existuje ˇrada knihoven, napˇr. pro pr´aci s Ajaxem. Pro v´ymˇenu dat se pouˇz´ıvaj´ı tzv. mikroform´aty. Jde o XML str´anky s konkr´etn´ım dohodnut´ym form´atem. Obl´ıben´e je tak´e pouˇzit´ı RSS nebo Atom form´at˚u pro agregaci zpr´av. Pro v´ymˇenu dat se zase pouˇz´ıv´a JSON. U podnikov´ych mashup˚u je moˇzn´e vyuˇz´ıt i bin´arn´ıch form´at˚u jako.xlsnebo.pdfa dalˇs´ıch. Kaˇzdop´adnˇe se vˇsak d´a oˇcek´avat, ˇze v oblasti podnikov´ych mashup˚u bude snaha o vyuˇzit´ı co nejv´ıce zdroj˚u z cel´eho internetu.

Pro tvorbu mashup˚u existuj´ı i tzv. konstrukt´eˇri, programy, jeˇz uˇzivatel˚um umoˇzˇnuj´ı jednoduch´ym

”drag and drop“ stylem utvoˇrit sv˚uj vlastn´ı mashup za pomoc´ı knihovny jiˇz existuj´ıc´ıch gadget˚u. Mezi nejzn´amˇejˇs´ı patˇr´ı Google Gadgets, Yahoo Pipes, Teqlo nebo Dapper.[7] Ve sf´eˇre podnikov´ych mashup˚u je to napˇr.

IBM Mashup Center.

Aktu´ aln´ı stav

Je zˇrejm´e, ˇze mashup zaˇz´ıv´a masivn´ı n´astup. Ilustrovat to lze na poˇctu funguj´ıc´ıch mashup˚u. V roce 2007 jich bylo kolem 2000, zat´ımco dnes uˇz zhruba 4500. Poˇcet pouˇziteln´ych API uˇz pˇreviˇsuje 1500. [4] Tento prudk´y n´ar˚ust svˇedˇc´ı o ˇc´ım d´al vˇetˇs´ı obl´ıbenosti mashup˚u. Bohuˇzel, zvl´aˇstˇe v ˇCesk´e republice se jim zat´ım moc nedaˇr´ı.

Z´ avˇ er

Mashupy jsou ze sv´e filosofie zcela univerz´aln´ı. Jejich jednoduchost nav´ıc zrychluje rychlost jejich ˇrozˇsiˇrov´an´ı. Nav´ıc je mashup velice zaj´ımav´ym ˇreˇsen´ım situace, kdy uˇzivatel poˇzaduje sluˇzby, kter´e zat´ım neexistuj´ı. V pˇr´ıpadˇe pouˇzit´ı mashupov´ych konstruktor˚u je vytvoˇren´ı str´anky, na kter´e bude vˇse co uˇzivatel poˇrebuje, snadn´e. Bohuˇzel, dle m´eho n´azoru, je na internetu v dneˇsn´ı dobˇe pˇr´ılˇs mnoho lehkomysln´ych uˇzivatel˚u. Probl´emy, kter´e jsem nast´ınil v kapitole rizika,

(6)

je netr´ap´ı. Dokud mashup˚u nezaˇcne nˇekdo zneuˇz´ıvat, tak bude situace v poˇr´adku.

Co nastane potom se d´a odhadnout – bud’ dojde k profesionalizaci jejich tvoˇren´ı, coˇz s sebou ponese netrivi´aln´ı n´aklady, nebo jejich obliba rychle poklesne. Na druhou stranu, bezpeˇcnost je jedn´ım z hlavn´ıch probl´em˚u Webu 2.0 jako celku.

Reference

[1] Webmashup.com. www.webmashup.com.

[2] Dion Hinchcliffe. Mashups: The next major new software development model?

ZDNet.com, 14.5.2007. blog –http://blogs.zdnet.com/Hinchcliffe/?p=

106.

[3] Mashup – web application hybrid. http://en.wikipedia.org/wiki/

Mashup_%28web_application_hybrid%29.

[4] Programmableweb.com. http://www.programmableweb.com/.

[5] Michael Ogrinz. Mashup Patterns: Designs and Examples for the Modern Enterprise. 2009. extrakt –http://www.informit.com/articles/article.

aspx?p=1337592&seqNum=5.

[6] Oauth – nov´y protokol pro autentizaci k vaˇsemu api. http://zdrojak.root.

cz/clanky/oauth-novy-protokol-pro-autentizaci-k-vasemu-api/.

[7] Patrick Zandl. Mashup aneb m´ıchanice pro web 2.0. Certodˇˇ ej.cz, 21.5.2007.

http://www.certodej.cz/view/mashup-aneb-m.

Metadata v DC

<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"/>

<meta name="DC.Title" content="Web mashup" />

<meta name="DC.Creator" content="Bc. Miloˇs Kal´ab"/>

<meta name="DC.Subject" content="Web mashup"/>

<meta name="DC.Description" content="Web mashup -- webov´a str´anka nebo aplikace, kter´a uˇz´ıv´a obsah z v´ıce zdroj˚u k vytvoˇren´ı nov´e sluˇzby"/>

<meta name="DC.Date" content="4.12.2008"/>

<meta name="DC.Type" content="Text"/>

<meta name="DC.Type" content="Esej"/>

<meta name="DC.Format" content="application/pdf"/>

<meta name="DC.Format" content="computerFile"/>

<meta name="DC.Identifier" content="http://mildaontheweb.ic.cz/PV 070/esej.pdf"/>

<meta name="DC.Source" content="http://en.wikipedia.org/wiki/Mash up_%28web_application_hybrid%29"/>

<meta name="DC.Source" content="http://www.webmashup.com"/>

<meta name="DC.Language" content="cs"/>

Odkazy

Související dokumenty

Informaˇ cn´ı syst´ em je implementov´ an jako webov´ a aplikace a je pˇ ripraven na dalˇ s´ı implementaci, at’ uˇ z v podobˇ e implementov´ an´ı m´ enˇ e podstatn´

S JavaScriptem jsem byl sezn´amen v pˇredmˇetu V ´yvoj internetov ´ych aplikac´ı, ˇc´ımˇz jsem rozˇs´ıˇril sv´e znalosti o tvorbˇe n´aroˇcnˇejˇs´ıch webov

Web mining je technika, kter´a vyuˇz´ıv´a metod Data Miningu, pro objevov´an´ı vzor ˚u na webov ´ych str´ank´ach (hled´a a analyzuje uˇziteˇcn´e informace).. Na Web Mining

Pr´ ace se tedy bude zab´ yvat t´ım, jak, proˇ c a k ˇ cemu lze zkouman´ e frameworky vyuˇ z´ıt pˇri v´ yvoji webov´ ych aplikac´ı, a to jak z pohledu samostatn´ eho

Pro zajiˇstˇ en´ı lepˇs´ı stability lze vyuˇ z´ıt i syst´ em vzpˇ er, doˇ casn´ ych podpor (obr.. Kromˇ e moˇ znost´ı v´ ystavby v obt´ıˇ zn´ ych podm´ınk´ ach

H1 Importance vˇsech parametr˚ u navrˇ zen´ ych a vyuˇ zit´ ych metod pro zpracov´ an´ı sign´ al˚ u EKG v ˇ casov´ e a frekvenˇ cn´ı oblasti a pomoc´ı rekurentn´ı

Napˇ r´ıklad by bylo vhodn´ e rozˇ s´ıˇ rit knihovnu o dalˇ s´ı form´ aty ukl´ ad´ an´ı ˇ r´ıdk´ ych matic, pˇ ridat dalˇ s´ı funkcionalitu pr´ ace s ˇ r´ıdk´

Ana- logicky jako v pˇr´ıpadˇe identifikace webov´ych str´anek jsem v pˇr´ıpadˇe odhadu poˇctu obr´azk˚ u na webov´e str´ance pouˇzil pro normalizaci pˇr´ıznak˚