ebook img

Push solutions for AJAX technology - swerl - TU Delft 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 - swerl - TU Delft

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:
Abstract. A new breed of web application, dubbed AJAX, is emerging in response to a limited de- cluding Jetty [20] and IBM Websphere [33]. Both these
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.