Universitatea Politehnica Bucuresti -Facultatea de Automatica si Calculatoare PPPPrrrrooooggggrrrraaaammmmaaaarrrreeee WWWWeeeebbbb ffffoooolllloooossssiiiinnnndddd AAAAPPPPIIII--uuuurrrriiiilllleeee AAmmaazzoonn,, GGooooggggllee şşşşii eeBBaayyyy CCiipprriiaann DDoobbrree [email protected] Curs Programare Web, anul 4 C5 –Curs 10 1 Universitatea Politehnica Bucuresti -Facultatea de Automatica si Calculatoare CCee eessttee uunn SSeerrvviicciiuu WWeebb?? • Serviciu Web: – Modalitate de refolosire/integrare de software • IInnddiiffeerreenntt uunnddee eessttee ssooffttwwaarree-uull,, ppee ccee ppllaattffoorrmmăă rreezziiddăă ssaauu în ce limbaj a fost el scris – Asiggură interopperabilitatea între applicațții pposibil distribuite – La bază XML şşi pprotocoale Internet ((HTTP,, SMTP…)) • Avantaje: – Uşurinţa de integrare – Dezvoltarea rapidă a aplicaţiilor Curs Programare Web, anul 4 C5 –Curs 10 2 Universitatea Politehnica Bucuresti -Facultatea de Automatica si Calculatoare AArrhhiitteeccttuurraa SSeerrvviicciiiilloorr WWeebb • Simpple Objject Access Protocol ((SOAP)) • Web Service Description Language ((WWSSDDLL)) • Universal Description, Discovery and Integration (UDDI) Curs Programare Web, anul 4 C5 –Curs 10 3 Universitatea Politehnica Bucuresti -Facultatea de Automatica si Calculatoare DDDDaaaarrrr îîîînnnnttttââââiiii ………… RRRREEEESSSSTTTT • REST (Representational State Transfer) este o paradigmă dde ddezvollttare. • Abordare în crearea Serviciilor Web. • Exemplu: Serviciu de rezervare zboruri • Să presupunem că o companie aeriană dorește crearea unui serviciu pentru rezervări telefonice. • CCompaniia ddoreștte ca aceii clliiențții premiium săă aiibbăă acces lla serviciu imediat, clienții fideli să primească servicii cu ddiivveerrssee bboonniiffiiccaațțiiii șșii ttooțții cceeiillaallțții cclliieennțții ssăă pprriimmeeaassccăă sseerrvviicciiiillee obișnuite. • EExxiissttăă ddoouuăă aabboorrddăărrii îînn pprrooiieeccttaarreeaa sseerrvviicciiuulluuii ddee rezervare... Curs Programare Web, anul 4 C5 –Curs 10 4 Universitatea Politehnica Bucuresti -Facultatea de Automatica si Calculatoare AAbboorrddaarreeaa 11 ""PPrreessss 11 ffoorr PPrreemmiieerr,, PPrreessss 22 ffoorr……"" CCompaniia poatte ffurniiza un siingur număăr dde ttelleffon. După intrarea în sistem utilizatorul întâlnește un mesaj aauuttoommaatt:: "PPrreessss 11 iiff yyoouu aarree aa pprreemmiieerr mmeemmbbeerr, pprreessss 22 iiff you are a frequent flyer, press 3 for all others." PPrreemmiieerr Customer Representative Premier Members F.F. Answering Airline Reservations Customer Machine Representative Frequent Flyer Members Regular Customer Representative Regular Members Curs Programare Web, anul 4 C5 –Curs 10 5 Universitatea Politehnica Bucuresti -Facultatea de Automatica si Calculatoare AAbboorrddaarreeaa 22 –– FFoolloossiirreeaa mmaaii mmuullttoorr nnuummeerree ddee tteelleeffoonn • CCompaniia poatte ffurniiza maii mulltte numere dde telefon – una pentru membrii premium, alta penttru clliiențțiiii ffiiddellii șii alltta penttru ceiillallțții clliiențții. Premier 11-880000-PPremiier CCustomer Representative Premier Members F.F. 1-800-Frequent Customer Representative FFrequentt FFllyer MMembbers Regular 1-800-Reservation Customer RRepresenttattiive Regular Members Curs Programare Web, anul 4 C5 –Curs 10 6 Universitatea Politehnica Bucuresti -Facultatea de Automatica si Calculatoare SSSSeerrvviiiicciiiiuu ddddee rreezzeerrvvaarree oonnlllliiiinnee • Să presupunem că dorim crearea unui serviciu WWeebb ppeennttrruu cclliieennțțiiii ccee ddoorreesscc ccrreeaarreeaa uunneeii rezervări online. • SSiittuațțiia estte oarecum siimiillarăă cu serviiciiull telefonic… Curs Programare Web, anul 4 C5 –Curs 10 7 Universitatea Politehnica Bucuresti -Facultatea de Automatica si Calculatoare SSSSoooolllluuuuțțțțiiiiaaaa 1111:::: ppppuuuunnnncccctttt uuuunnnniiiicccc ddddeeee aaaacccccccceeeessss • CCoommppaanniiaa aaeerriiaannăă ppooaattee ffuurrnniizzaa uunn ssiinngguurr UURRLL. Serviciul Web este responsabil cu verificarea cceerreerriiii șșii aappeellaarreeaa ffuunnccțțiieeii ccoorreeccttee. client Premier Premier Members Customer Web Determine F.F. client Reservation Priority Customer SSeerrvviiccee FFrequentt FFllyer MMembbers Regular Customer cclliieenntt Regular Members Curs Programare Web, anul 4 C5 –Curs 10 8 Universitatea Politehnica Bucuresti -Facultatea de Automatica si Calculatoare SSSSoooolllluuuuțțțțiiiiaaaa 1111:::: ddddeeeezzzzaaaavvvvaaaannnnttttaaaajjjjeeee………… • Clienții trebuie să înțeleagă pașii și regulile impuse pentru accesarea ffuncțțiieii confform rollulluii acesttora. • Serviciul Web: punct de defect; bottleneck; greu de asiigurat lloadd bballanciing. • Nu se potrivește Axiomei 0 formulată de Tim Berners-Lee cu priiviire lla WWebb DDesiign, AAxiiom 00. • Axioma 0: toate resursele pe Web trebuie să fie unic identificate printr-un URI. URL1 rreessoouurrccee11 URL2 resource2 Curs Programare Web, anul 4 C5 –Curs 10 9 Universitatea Politehnica Bucuresti -Facultatea de Automatica si Calculatoare AAAAbbbboooorrrrddddaaaarrrreeeeaaaa 2222:::: MMMMaaaaiiii mmmmuuuulllltttteeee UUUURRRRIIII • Compania aeriană poate furniza mai multe URL-uri: unul penttru clliiențțiiii premiium, allttull penttru clliiențțiiii ffrecvențții șii allttull pentru ceilalți clienți. Premier http://www.kings-air/reservations/premier Member client Reservation SServiice Premier Members Frequent http://www.kings-air/reservations/frequent-flyer Flyer client Reservation Service Frequent Flyer Members Regular http://www.kings-air/reservations/regular Member cclliieenntt RReesseerrvvaattiioonn Service Regular Members Curs Programare Web, anul 4 C5 –Curs 10 10
Description: