ebook img

Push solutions for AJAX technology PDF

61 Pages·2007·1.19 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Push solutions for AJAX technology

Push solutions for AJAX technology Master’s thesis Research report Engin Bozdag Push solutions for AJAX technology THESIS submittedinpartialfulfillmentofthe requirementsforthedegreeof MASTEROFSCIENCE in SOFTWAREENGINEERING by EnginBozdag borninMalatya,Turkey SoftwareEngineeringResearchGroup DepartmentofSoftwareTechnology FacultyEEMCS,DelftUniversityofTechnol- BackbaseBV ogy Stephensonstraat19 Delft,theNetherlands Amsterdam,theNetherlands www.ewi.tudelft.nl www.backbase.com (cid:13)c 2007EnginBozdag. Push solutions for AJAX technology Author: EnginBozdag Studentid: 1119869 Email: [email protected] Abstract Anewbreedofwebapplication,dubbedAJAX,isemerginginresponsetoalimitedde- greeofinteractivityinlarge-grainstatelessWebinteractions.However,AJAXstillsuffersfrom thelimitationsoftheWeb’srequest/responsearchitecture. Thispreventsserversfrom”push- ing”real-timealertssuchasmarketdata,newsheadlinesorauctionupdates. Itispossibleto overcomethislimitationbyusingseveraltechniques. Thispaperfirstsummarizestwodiffer- ent types of architectures to accomplish a push solution. It later discusses several solutions andexamplesfromthesoftwareindustryandevaluatesthesesolutionsfromtheperspectiveof severalsoftwarequalityattributes. ThesisCommittee: Chair: Prof. Dr. A.vanDeursen,FacultyEEMCS,TUDelft Universitysupervisor: ir. AliMesbah,FacultyEEMCS,TUDelft Companysupervisor: MarkSchiefelbein,Backbase Contents Contents iii ListofFigures v 1 Introduction 1 2 ProblemStatement 3 3 AJAXArchitecture 5 3.1 Classicalwebvs. AJAX . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2 AnArchitecturalStyleforAJAX . . . . . . . . . . . . . . . . . . . . 6 4 ThePushTechnology 11 4.1 Push-basedmodel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.2 Event-basedmodel . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 5 PushandEventmodelsinpractice 19 6 WebBasedPushSolutions 21 6.1 HTTPPull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 6.2 COMET-HTTPBasedAJAXPush . . . . . . . . . . . . . . . . . . 21 6.3 FlashXMLSockets . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 6.4 JavaRMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 6.5 ServerSentProtocol . . . . . . . . . . . . . . . . . . . . . . . . . . 26 6.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 7 CurrentPushImplementations 29 7.1 JettyServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 7.2 Grizzly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 7.3 ICEfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 7.4 Pushlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 7.5 Lightstreamer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 7.6 Fjax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 iii Contents Contents 7.7 iPushServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 7.8 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 8 Discussion 39 8.1 Scalability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 8.2 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 8.3 Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 8.4 User-perceivedLatency . . . . . . . . . . . . . . . . . . . . . . . . . 40 8.5 Portability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 8.6 Simplicity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 8.7 NetworkPerformance . . . . . . . . . . . . . . . . . . . . . . . . . . 41 9 Conclusion 43 Bibliography 45 A Glossary 51 iv List of Figures 3.1 The traditional model for web applications compared to the AJAX ap- proach. Imagesaretakenfrom[31]. . . . . . . . . . . . . . . . . . . . . 6 3.2 The sequence of events in different web application models. Images are takenfrom[31]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3 ProcessingViewofaSPIAR-basedarchitecture. Takenfrom[48]. . . . . 8 4.1 Componentsofthepushmodel. Takenfrom[32] . . . . . . . . . . . . . 13 4.2 Twodifferentserverdesigns. Imageistakenfrom[71]. . . . . . . . . . . 16 4.3 ASEDAStage.Takenfrom[32] . . . . . . . . . . . . . . . . . . . . . . 17 4.4 Thecomparisonofserverperformances. Inthreadeddesign,thethrough- put begins to decrease substantially after the number of threads grows large. Inevent-drivendesign,thethroughputremainsconstant,astheload isincreasestoaverylargenumberoftasks. Imageistakenfrom[71]. . . 18 5.1 ReactorPattern. Takenfrom[41]. . . . . . . . . . . . . . . . . . . . . . 20 6.1 Cometwebapplicationmodel. Takenfrom[67]. . . . . . . . . . . . . . . 22 7.1 Jetty’sCometeventsubscriptionandeventdeliverybasedonBayeuxpro- tocol[56] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 7.2 PerformanceandrequirementsofaJettywebserverusingdifferentschemes. Takenfrom[21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 7.3 TwodifferenttypeofupdatesinGrizzly. Imagesaretakenfrom[8]. . . . 34 7.4 ICEfacesEPSDeploymentArchitecture. Takenfrom[35] . . . . . . . . . 35 7.5 SubscriptionmechanismofthePushlets,takenfrom[28] . . . . . . . . . 36 7.6 EventdispatchmechanismofthePushlets,takenfrom[28] . . . . . . . . 36 v

Description:
Push solutions for AJAX technology Master’s thesis Research report Engin Bozdag
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.