Вы находитесь на странице: 1из 11

RESTx: Rest for the rest of us

Ken Yagen Silicon Valley Code Camp, October, 2010

Agenda

The Programmable Web What is $emo %&ilding a simple component oadmap '&estions ( )ore in*ormation !ST"#

The Programmable Web

eso&rces
)&st ha+e a , -

.ddressability
/ / 0ame them &sing , -s 1i+e them str&ct&re 2 http3((4445rest"demo5org(reso&rce(sales(2006('6

epresentations
eso&rces s&pport di**erent representations 78)9, :SO0, ;T)9, SV1, <=

,ni*orm -nter*ace
/ ;TTP 71!T, ;!.$, P,T, $!9!T!, POST=

Statelessness, Connectedness %&ilding %loc>s 7;TTP, , -, 8)9, :SO0=

Examples of RESTful services

http3((4445*oo5com(sales(2010 http3((4445*oo5com(sales(2010(?@ http3((4445*oo5com(4eather(san*rancisco(c&rrent http3((4445*oo5com(4eather(san*rancisco(tomorro4 http3((4445*oo5com(ran>ings(college(*ootball(bcs http3((4445*oo5com(ran>ings(college(*ootball(bcs#schoolAstan*ord http3((4445*oo5com(search#?&eryArest"

.ll contents Copyright B 200C, )&leSo*t -nc5

What is RESTx?

The simplest 4ay to create


!ST*&l 4eb ser+ices

!nco&rages and enables !ST*&l concepts ;ides &nderlying implementation details !ST" reso&rces are sel* doc&menting and disco+erable

!ST" is a ser+er, not a *rame4or>


Create rich data ser+ices by integrating di**erent data so&rces C&stomiDed reso&rces *rom clo&d ser+ices and internal databases $ata 9ayer *or :a+aScript application Wrap legacy scripts into re&sable components

,se Cases

What is RESTx?

.ll contents Copyright B 200C, )&leSo*t -nc5

irst a !emo

.ll contents Copyright B 200C, )&leSo*t -nc5

"uilding a simple component

E Create Component
5(rest"ctl component create )yTestComponent F Ga+a H python H Ga+ascript I

E .nnotate -t
JComponent-n*o7name A KSomeSampleComponentK, description A KOne line description o* the componentK, doc A K9onger description te"t, possibly m&lti2line, goes hereL=

E -mplement ser+ice method E Compile it 7:a+a only=


5(rest"ctl component compile

E Start Ser+er
5(rest"ctl start

.ll contents Copyright B 200C, )&leSo*t -nc5

Roadmap

E http3((4445rest"5org(rest"2roadmap5html E ;ighlights
E E E E Pipelines &by, 1roo+y, P;P S&pport i%eans S&pport Version Control, Caching

.ll contents Copyright B 200C, )&leSo*t -nc5

Wh# RESTx?

E P&blishing $ata as
E E E

!ST*&l reso&rces

.ny piece o* interesting data can be a reso&rce ,sers can constr&ct their o4n reso&rces eso&rces are accessible *rom an 4eb , 9

E Sel*2doc&menting and bro4se2able .P-s are po4er*&l E .ccessible *or less2s>illed de+elopers, di**erent lang&age s>ills
E :a+a, Python, :a+aScript

E )a>es it easier to de+elop 4eb 250 and mobile apps that re?&ire access to e"ternal reso&rces

.ll contents Copyright B 200C, )&leSo*t -nc5

$%

&ore 'nformation

Website3 http3((4445rest"5org $o4nload3 http3((4445rest"5org(?&ic>2start2g&ide5html So&rce Code3 git clone git3((gith&b5com(m&leso*t( !ST"5git Online $emo3 http3((rest"demo5m&leso*t5org(static(demo(start5html %log3 http3((blogs5m&leso*t5org Mor&ms3 http3((4445rest"5org(comm&nity5html )y !mail3 >en5yagenJm&leso*t5com

(uestions?

.ll contents Copyright B 200C, )&leSo*t -nc5

Вам также может понравиться