Tải bản đầy đủ (.pdf) (27 trang)

Chapter 8 web services

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (49.99 KB, 27 trang )

ServicesinPHP


WebServices
Webbasedapplications
HTTPistheinterface
DataistransmittedinXMLorJSON
Generallyintendedformachinetomachine
communication
• Requiredformashups(generally)






HTTP
• GET
– Requestsdatafromaserver

• POST
– Sendsdatatoaserver

• PUT
– Pushesafileontoaserver

• DELETE
– Asksservertodeletearesource

• HEAD
– Getshttpheaderbackfromserver,notwholeresource




HTTPResponses
• 2xx=thingsaregood
– 200:OK,201:created,204:returningnocontent

• 3xx=redirect
– Head(‘location…causes300classHTTPresponse
fromyourserver


HTTPResponses
• 4xx=clienterror
– 401:unauthorized,403:forbidden,404:not
found,411:lengthrequired

• 5xx=servererror
– 500:error,501:notimplemented,503:Service
Unavailable


WebServices…
ServiceA
HTTP
XML
HTTP
Client

HTML


Host
web
server

ServiceB

ServiceC
Database


AJAXWebServices…
ServiceA

HTTP
JSON/XML/TEXT

Client
SideJS
engine

ServiceB

DOM
Client

HTML

Host
web
server


Database

ServiceC


Anexample
• LoadupthisURLinyourbrowser(addan
address)
• Youcouldloadthiswithsimplexml_load_file()

addresshere>>&output=xml&sensor=false


WebServiceFlavors
• SOAP
– XMLwrapperforHTTPdatatransfer
– Candefineanymethod(beyondGet,Post&c)
– Lotsofoverhead

• REST
– LighterthanSOAP
– OnlysupportsHTTPmethods


REST
• ClientgetsaURLlike
example.com/products

• ServersendsbackXML


AChair</product>
ATable</product>
</products>


REST
• ClientgetsaURLlike
example.com/products/1234

• ServersendsbackXML
….

<costunits=‘usdollars’>45.00</cost>
<color>green</color>
</product>


REST
• ImaginethewholedatastructureisinXML
– (butreally,wearejustgettingdataoutofany
database)

• SubfoldersintheURLmoveinthecomplete
pretendXMLmodellikeXPATH
• SnippetsofXMLarereturned
• Examples:





GET/POSTExamples
• GenerateyourownHTTPrequestsfromPHP
tootherservers/services:
• EasytouseBasicHTTPauthbetweenservices



ListenforGETorPOST
• Apache/PHPAlreadydoesthat!
• Requestsdon’thavetocomefromweb
browsers
• Getdatavia$_GET[‘varname’]and
$_POST[‘varname’]
• OutputXMLorJSON(oranything…but
structuremakesiteasiestforthepeopleusing
yourwebservice)


JSON
JavaScriptObjectNotation


JSONis
Alightweightdatainterchangeformat
AreplacementforXML
Humanreadable
Supportsbothhierarchicalandunordered
data
• Supportedbymostprogramminglanguages

• Supportedbymanymodernwebservices





– Flickr,Blogger,&c


DeclaringaJSONobject
varmydata={};

varmydata=newobject{}


NameValuePairs(unorderd)
varjs=
{“runs”:“client”,
“released”:1995”,
“type”:“scripting”};


AddingDepth
varlang={
js:{“runs”:“client”,
“released”:1995”,
“type”:“scripting”},
php:{“runs”:“server”,
“released”:1994”,
“type”:“scripting”}

};


Arrays(ordereddata)
varemployers=
{
colleges:[“Sage”,“HVCC”,“RPI”]
};



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×