PHP Web 2 0 Tworzenie aplikacji typu mashup phpw2m


PHP Web 2.0.
Tworzenie aplikacji
typu mashup
Autor: Shu-Wai Chow
Tłumaczenie: Maciej Jezierski, Radosław Meryk
ISBN: 978-83-246-1609-1
Tytuł oryginału: PHP Web 2.0 Mashup Projects
Format: 170x230, stron: 240
" Jak stosować mechanizmy dostarczane przez gigantów Web 2.0?
" Jak stworzyć swoją własną, prostą wyszukiwarkę?
" Jak zintegrować treSci z Flickr i Google Maps?
Serwisy takie, jak Google Maps, Flickr, YouTube, MySpace, to symbole nurtu Web 2.0.
Nie da się ukryć, że dorównać takim gigantom będzie Ci trudno. Ważne jednak jest to,
że treSci i mechanizmów dostarczanych przez nich możesz używać również i Ty.
Wykorzystując ich API oraz dostępne usługi sieciowe, możesz stworzyć całkowicie nowy
serwis, oferujący takie możliwoSci, o których nikomu wczeSniej się nawet nie Sniło!
WłaSnie dzięki tej książce dowiesz się, w jaki sposób połączyć treSci i możliwoSci wielu
serwisów w ramach nowej  Twojej  aplikacji WWW, korzystając z języka PHP.
Poznasz zasady działania stron agregujących treSci, a używanie technologii XML-RPC
nie będzie stanowiło dla Ciebie problemu. Lektura książki  PHP Web 2.0 Mashup
pozwoli Ci poznać zasady pracy z żądaniami typu REST. Poznasz metody GET i POST
oraz nauczysz się przetwarzać odpowiedzi w formacie XML, korzystając z biblioteki
SAX. Już wkrótce będziesz mógł sam stworzyć prostą wyszukiwarkę czy też własną
"szafę grającą", korzystającą z danych YouTube i Last.fm. Dodatkowo będziesz miał
możliwoSć poznania API dostępnego między innymi w Google Maps, internetowej bazie
danych UPC oraz księgarni Amazon. Jeżeli chcesz stworzyć nowy serwis agregujący
treSci, jest to obowiązkowa pozycja dla Ciebie!
" Funkcjonowanie stron agregujących treSci
" Wykorzystanie techniki XML-RPC
" Przetwarzanie odpowiedzi przy użyciu SAX
" Żądania REST
" Działanie metod POST i GET
" Język WSDL
" Zastosowanie kanałów RSS
" Interfejs API Amazon
" Interfejs API Google Maps
" Interfejs API internetowej bazy danych UPC
" Interfejs API Flickr
" Zastosowanie obiektu XMLHttpRequest i jego rola w technologii AJAX
Stwórz nowy projekt, korzystający z możliwoSci gigantów Web 2.0!
Spis tre ci
Spis tre ci
O autorze 9
O recenzencie 11
Wst p 13
Rozdzia 1. Wprowadzenie do aplikacji typu mashup 17
Web 2.0 i mashup 19
Znaczenie danych 19
Spo eczno ci u ytkowników 20
Jak b dziemy tworzy aplikacje typu mashup 21
Wi cej aplikacji typu mashup 22
Rozdzia 2. Zrób zakupy w Amazon 23
Podsumowanie projektu 23
XML-RPC 24
Struktura XML-RPC 24
Odpowied XML-RPC 29
Obs uga XML-RPC w PHP 31
Wykonywanie dania XML-RPC 31
Przetwarzanie odpowiedzi XML-RPC 40
Tworzenie klasy parsuj cej XML-RPC 41
Wykorzystanie PEAR do obs ugi XML-RPC 44
REST 46
Praca z REST w PHP 48
Wykonywanie dania REST 48
Przetwarzanie odpowiedzi REST 55
Interfejs API internetowej bazy danych UPC 65
Interfejs API Amazon 67
Przegl d ECS 68
Budowa dania REST ECS 69
Tworzenie aplikacji typu mashup 71
Wyszukiwanie produktów 71
Podsumowanie 84
5
Spis tre ci
Rozdzia 3. Stwórz w asn wyszukiwark 85
Podsumowanie projektu 85
SOAP 86
Web Services Descriptor Language (WSDL) i XML Schema Data (XSD) 87
Podstawowa struktura WSDL 87
Komunikat SOAP 99
Klasa SoapClient w PHP 103
Tworzenie parametrów 104
Tworzenie instancji SoapClient 105
Wykonywanie wywo ania za pomoc metod SoapClient 107
Obs uga odpowiedzi SOAP 110
Us uga sieciowa Microsoft Live Search 113
Korzystanie z wyszukiwania 113
Us uga Yahoo! Search 117
Korzystanie z wyszukiwania stron internetowych 117
Tworzenie strony agreguj cej 119
Podsumowanie 124
Rozdzia 4. W asna szafa graj ca z teledyskami 125
Podsumowanie projektu 125
XSPF 126
RSS 129
Przegl d YouTube 136
Interfejs programistyczny YouTube 137
Przegl d Last.fm 139
Us ugi internetowe Audioscrobbler 140
Parsowanie za pomoc PEAR 141
Instalacja i korzystanie z pakietów 142
File_XSPF 143
Services_YouTube 144
XML_RSS 147
Tworzenie aplikacji typu mashup 150
Architektura aplikacji typu mashup 150
Strona g ówna 151
Strona nawigacyjna 152
Strona z zawarto ci 153
Korzystanie z aplikacji typu mashup 155
Podsumowanie 158
Rozdzia 5. Zdj cia londy skiego metra 159
Podsumowanie projektu 159
Wst pne planowanie 160
Znalezienie informacji o stacjach metra 161
Integracja serwisów Google Maps i Flickr 162
Kolejno operacji w aplikacji 163
RDF (Resource Description Framework) 164
6
Spis tre ci
SPARQL 166
Analiza przedmiotu zapytania 167
Anatomia zapytania SPARQL 168
Klauzule WHERE w j zyku SPARQL 169
Dodatkowe w asno ci j zyka SPARQL 177
RDF API for PHP (RAP) 177
Obiekt XMLHttpRequest 180
Przegl d informacji na temat obiektu XMLHttpRequest 181
Korzystanie z obiektu 182
Notacja JSON (JavaScript Object Notation) 186
Przegl d obiektów JavaScript 187
Struktura JSON 187
Korzystanie z w a ciwo ci JSON 188
Serializacja odpowiedzi JSON 189
Interfejs API Google Maps 190
Tworzenie mapy 191
Geokodowanie 192
Znaczniki 194
Zdarzenia 195
Obiekty InfoWindow 195
Interfejs API Flickr Services 198
Wykonywanie operacji wyszukiwania 199
Interpretacja wyników zwróconych przez us ug 200
Pobieranie fotografii lub strony z fotografiami 202
Tworzenie aplikacji typu mashup 203
Tworzenie bazy danych i wype nianie jej danymi 204
Klasa interfejsu z baz danych  TubeSource 214
G ówny interfejs u ytkownika 216
Wykorzystanie us ug Flickr i technologii AJAX 220
Podsumowanie 230
Skorowidz 231
7
1
Wprowadzenie
do aplikacji typu
mashup
Strony agreguj ce (mashup), okre lane równie przez Wikipedi jako hybrydowe aplikacje in-
ternetowe, staj si w ostatnich latach coraz popularniejszym kierunkiem rozwoju sieci. S
one dok adnie tym, na co wskazuje ich nazwa  aplikacjami internetowymi, które pobieraj da-
ne z jednego lub kilku róde i prezentuj je w nowy sposób. W a ciciele danych ch tnie udost p-
niaj swoje zasoby zewn trznym u ytkownikom. W wielu przypadkach oferuj interfejsy progra-
mistyczne (API) oparte na standardowych protoko ach us ug internetowych, które z atwo ci
mog by zaimplementowane w ró nych j zykach programowania, w czaj c w to PHP. Ka dego
dnia pojawiaj si strony agreguj ce tworzone przez ludzi, którzy w innowacyjny sposób cz
dane.
Jednym z przyk adów jest witryna Wii Seeker. Kiedy w listopadzie 2006 roku pojawi a si na
rynku konsola Nintendo Wii, wiadomo by o, e zrodz si problemy z jej zakupem. Zadaniem
witryny Wii Seeker by a pomoc w odnalezieniu sklepu, w którym dost pne s konsole, poprzez
po czenie informacji o dostawach z danymi Google Maps. Znacznik na mapie Google Maps
wskazywa sklep. Kiedy u ytkownik klikn znacznik, wy wietlane by y informacje o sklepie,
m.in. adres. Oprócz tego pojawia a si równie informacja o liczbie konsol oferowanych do sprze-
da y w sklepie w dniu premiery. Dzi ki temu, e na mapie wy wietlane by y dane na temat wiel-
ko ci dostawy, u ytkownik móg odszuka sklep po o ony najbli ej swojego domu i tak zapla-
nowa zakupy, aby mie jak najwi ksze szanse nabycia Wii.
Po wypuszczeniu konsoli na rynek strona zosta a uzupe niona o informacje o aukcjach w ser-
wisie eBay i produktach dost pnych w Amazon. Dodano tak e sklepy sieciowe takie jak Circuit
PHP Web 2.0. Tworzenie aplikacji typu mashup
City i Wal-Mart. Zamiast pokazywa informacje o zapasach konsol Nintendo Wii w ka dym
sklepie, witryna umo liwia u ytkownikom wymian informacji na temat dost pno ci konsol
w poszczególnych sklepach.
Innym przyk adem witryny mashup jest Astrolicio.us. Pobiera ona dane z takich witryn jak Di-
gg.com, Google News oraz Google Videos i prezentuje je na jednej stronie. W ten sposób
powsta portal z bie cymi informacjami o astronomii.
Na stronie g ównej u ytkownik mo e szybko przejrze tematy i wybra te, które go interesuj .
Wiadomo ci prezentowane s w postaci wypunktowanej listy zawieraj cej nag ówki i skrócon
18
Rozdzia 1. " Wprowadzenie do aplikacji typu mashup
tre . Zamiast filmów widniej ich miniaturki. Po klikni ciu cza u ytkownik zostanie przenie-
siony na stron ród ow artyku u lub filmu. Strona jest czytelna, prosta i zawiera du o infor-
macji. Bardzo atwo j stworzy za pomoc interfejsów API róde danych. Prawdopodobnie jej
zrobienie nie zaj o autorowi wi cej ni jeden wieczór.
Web 2.0 i mashup
Dlaczego w ci gu zaledwie kilku lat aplikacje typu mashup znalaz y tak powszechne zastoso-
wanie? Ich historia zacz a si kilka lat temu. Po p kni ciu ba ki internetowej w 2001 roku fir-
my internetowe przekszta ci y si . Musia y zmieni podej cie biznesowe, podda technologie
ponownej ocenie i wzi pod uwag sposób, w jaki u ytkownicy korzystaj z internetu. W po owie
dekady ujawni y si kluczowe trendy. Pojawi o si okre lenie Web 2.0, pozwalaj ce oddzieli
nowe witryny od witryn, które zdoby y popularno pod koniec lat 90. Okre lenie to by o
ma o precyzyjne i na pierwszy rzut oka wydawa o si podejrzanie efekciarskie. Jednak ró nice
mi dzy nowymi i starymi witrynami s rzeczywiste. Nie chodzi tylko o zasz o ci historyczne czy
zmiany wynikaj ce z up ywu czasu. Witryny takie jak Google, YouTube czy Flickr zademonstro-
wa y nowe podej cie do biznesu internetowego. Mia y one cz sto proste interfejsy, w pe ni
rozwini te us ugi internetowe i dawa y u ytkownikowi du o swobody. Wiele z nich bazowa o na
zawarto ci dostarczanej przez u ytkowników. We wrze niu 2005 roku wydawca ksi ek tech-
nicznych Tim O Reilly napisa artyku zatytu owany Czym jest Web 2.0, w którym zwi le opisa
cechy odró niaj ce witryny Web 2.0 od witryn poprzedniej generacji. Uwzgl dni w swoim
wykazie dwie cechy, które bezpo rednio wp yn y na rozwój stron mashup:
znaczenie danych,
spo eczno u ytkowników.
Znaczenie danych
Pierwsz cech jest znaczenie danych. Kwestia tego, kto jest w a cicielem danych i co zamierza
z nimi zrobi , sta a si powa nym problemem. Dlaczego firmy mia yby inwestowa miliony
dolarów, eby gromadzi dane w systemach bazodanowych, a nast pnie za darmo udost pnia
je innym? Dlatego, e dzi ki temu twórcy stron agreguj cych u atwiaj dotarcie do w a cicieli
danych.
eby to pokaza , O Reilly pos u y si przyk adem firmy MapQuest, która by a liderem na rynku
map w drugiej po owie lat 90. Jednak jej system by zamkni ty i nie umo liwia zewn trznym
u ytkownikom wykorzystywania jej danych. W pierwszych latach XXI wieku strony z mapami
zacz y walczy z tymi s abo ciami. Na rynek wesz y Yahoo! Maps, Microsoft Virtual Earth
i Google Maps, udost pniaj c interfejsy API. Pomimo ogromnego udzia u w rynku, MapQuest
szybko zacz traci przewag na rzecz firm udost pniaj cych dane. Jest wiele podobnych przy-
k adów. Amazon udost pni dane poprzez Amazon E-Commerce Service (ECS). Wiele witryn
agreguj cych wykorzysta o t us ug do stworzenia w asnych sklepów. Amazon organizuje
19
PHP Web 2.0. Tworzenie aplikacji typu mashup
sprzeda , p ac c prowizj twórcom i w a cicielom witryn mashup. Dzi ki temu firma urucho-
mi a nowe kana y sprzeda y produktów, cho oczywi cie www.amazon.com nadal dzia a. Z kolei
firma BarnesAndNoble.com nie udost pni a swoich danych. Jedynym kana em ich sprzeda y jest
g ówna witryna. Spowodowa o to nie tylko utrat mo liwo ci sprzeda y, ale równie mniejsz
lojalno u ytkowników ni w przypadku Amazon.
We wcze niejszych przyk adach przedstawili my witryn Wii Seeker, która pomaga a sprze-
dawcom poprzez kierowanie nabywców do sklepów. W zamian za to pobierana jest op ata za
reklam i cz onkostwo. Google Videos, Google News i Digg.com zdobywaj u ytkowników, kiedy
kto kliknie cze na witrynie Astrolicious.us. Z kolei Astrolicious.us otrzymuje op at za reklamy,
wk adaj c niewielki wysi ek w ich stworzenie.
Spo eczno ci u ytkowników
Drug cech jest to, e dane wprowadzone przez u ytkowników s o wiele cenniejsze, ni dot d
s dzili my. Recenzje produktów pisane przez u ytkowników na stronach komercyjnych nie s
jak nowo ci . Nie s ni równie fora internetowe. Jednak wa ne sta o si to, w jaki sposób
witryny korzystaj z tych informacji i kto jest ich w a cicielem. Witryna wypo yczaj ca filmy,
Netflix, od zawsze umo liwia a u ytkownikom ocenianie filmów, które ogl dali. Na podstawie
tych ocen Netflix sugeruje inne filmy, które mog yby si im podoba . Niedawno dodano now
funkcjonalno spo eczno ciow o nazwie  Przyjaciele , która umo liwia obejrzenie ocen przy-
znanych filmom przez Twoich przyjació oraz zdobycie informacji o tym, jakie filmy ogl daj .
Jedn z opcji jest ocena podobie stwa. Dzi ki porównaniu Twoich rekomendacji z rekomen-
dacjami przyjació Netflix wylicza procentowy wska nik zgodno ci gustów.
Niektóre witryny s ca kowicie zale ne od danych u ytkowników. YouTube i Flickr udost pniaj
za darmo miejsce na filmy i zdj cia. Ich popularno nie wzi a si jednak po prostu z tego, e
us ugi s darmowe. Nie ma w tym niczego nowego. Ró nica ponownie polega a na tym, co obie
witryny robi z danymi dodawanymi przez u ytkowników. Obie udost pniaj funkcjonalno ci
spo eczno ciowe. Mo esz oceni i skomentowa zdj cia i filmy innych u ytkowników, a tak e
ledzi zmiany w ich profilach. Za ka dym razem, kiedy kto doda jakie dane, zostaniesz o tym
poinformowany. Obydwie witryny umo liwiaj tak e swobodne oznaczanie tre ci, dzi ki czemu
u ytkownik mo e opisa dodany element za pomoc w asnych s ów kluczowych. Odwiedzaj cy
mog u y tych s ów podczas wyszukiwania zawarto ci. Oznaczanie tre ci okaza o si dosko-
na pomoc przy tworzeniu algorytmów wyszukiwania.
Te dwie cechy nowych witryn umo liwiaj ma ym firmom internetowym sprawianie wra enia,
e s o wiele wi ksze. Korzystaj c z danych udost pnianych przez wi ksze firmy, twórcy witryn
agreguj cych znajduj zastosowania, o których nie pomy leliby w a ciciele danych lub których
nie mogliby wprowadzi z powodu ogranicze biznesowych.
20
Rozdzia 1. " Wprowadzenie do aplikacji typu mashup
Jak b dziemy tworzy aplikacje
typu mashup
Z technologicznego punktu widzenia zjawisko agregacji danych nie narodzi oby si , gdyby w a ci-
ciele witryn internetowych nie oddzielili wyra nie danych, które s wykorzystywane na witry-
nach, od w a ciwej ich prezentacji. To zawsze by o celem podczas tworzenia aplikacji inter-
netowych, dlatego te nie powinien dziwi kierunek rozwoju ich architektury. Dzi ki temu
podzia owi sie przekszta ca si w co , co jest znane jako semantyczna sie stron interneto-
wych  zawarto internetowa jest prezentowana nie tylko w celu czytania przez ludzi, ale
równie mo e by atwo przetwarzana przez komputery. Przeszli my od stron statycznych do
stron opartych na bazach danych, od prezentacyjnych znaczników FONT do kaskadowych arkuszy
stylów. Prawdopodobnie nieuniknione by o to, e internet stanie si rodowiskiem, w którym
rozwin si witryny mashup.
ród a danych dla witryn agreguj cych s zró nicowane. Cz sto w a ciciele udost pniaj dane
poprzez oficjalne interfejsy API. Interfejsy te u ywaj us ug sieciowych, które korzystaj z wielu
protoko ów. Innym powszechnie stosowanym ród em danych, które pomog o w rozwoju witryn
agreguj cych, jest rodzina formatów RSS. Kiedy niedost pne s oficjalne metody, programi ci
bardzo kreatywnie poszukuj rozwi za umo liwiaj cych pobieranie danych. Przetwarzanie
ca ych stron jest cz sto stosowan metod . Bez wzgl du na metod , witryny agreguj ce korzy-
staj z ró nych formatów danych i zasadniczo s do proste w tworzeniu. Mimo to ich twórcy
musz by elastyczni i dobrze zna u ywane narz dzia.
Oprogramowanie o otwartym kodzie szczególnie dobrze zaspokaja potrzeby twórców witryn
agreguj cych. Po czenie serwera Apache i j zyka PHP umo liwia szybkie tworzenie oprogra-
mowania. Dzi ki otwarciu kodu, programi ci bez przerwy i szybko dodaj nowe funkcjonal-
no ci zapewniaj ce spójno z us ugami internetowymi.
W tej ksi ce przedstawi , w jaki sposób korzysta z popularnych róde danych w PHP. Wi k-
szo oficjalnych interfejsów API oparta jest na jednym z trzech protoko ów internetowych 
XML-RPC, REST lub SOAP. Oczywi cie przyjrzymy si tym protoko om. Interfejsy API i bez-
po rednie r czne odwo ywanie si do us ug internetowych to nie jedyne sposoby pobierania
danych. Poka równie , jak korzysta z zewn trznych bibliotek w celu komunikacji z popu-
larnymi witrynami. Innym wa nym ród em danych s kana y informacyjne. Poznanie szerokiego
zestawu narz dzi wykorzystywanych do tworzenia stron agreguj cych pozwoli Ci na szybkie
rozpocz cie pracy nad w asn witryn .
21
PHP Web 2.0. Tworzenie aplikacji typu mashup
Wi cej aplikacji typu mashup
Poni ej znajduj si przyk ady aplikacji typu mashup, z których mo na czerpa inspiracj :
Popurls (popurls.com)  kolekcja adresów URL z popularnych witryn,
Housingmaps.com (www.housingmaps.com)  wy wietla na mapie pozycje domów
z witryny Craiglist,
Keggy (us.keggy.com)  witryna agreguj ca wiadomo ci z ró nych róde
i personalizuj ca j pod k tem okre lonego czytelnika,
Alkemis (local.alkemis.com)  agreguje i umieszcza na mapie wszystkie rodzaje
danych, na przyk ad zdj cia i obrazy z kamer w wybranych miastach,
Gametripping.com (www.gametripping.com)  kolekcja zdj satelitarnych i zdj
z serwisu Flickr ze stadionami baseballowymi.
22


Wyszukiwarka

Podobne podstrony:
informatyka php web 2 0 tworzenie aplikacji typu mashup shu wai chow ebook
PHP i Oracle Tworzenie aplikacji webowych od przetwarzania danych po Ajaksa
PHP i MySQL Tworzenie aplikacji WWW phmsap
Oracle Database Tworzenie aplikacji internetowych w AJAX i PHP(1)
Oracle?tabaseg Express?ition Tworzenie aplikacji internetowych w PHP or10tw
tworzenie aplikacji w jezyku java na platforme android
Tworzenie aplikacji okienkowych (programowanie)
Facebook tworzenie aplikacji zaproszenie
tworzenie aplikacji na?cebook
C Tworzenie aplikacji graficznych w NET 30
helion php i mysql tworzenie sklepów internetowych

więcej podobnych podstron