[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

Server-centric Web frameworks: An overview

Published: 08 May 2008 Publication History

Abstract

Most contemporary Web frameworks may be classified as server-centric. An overview of such Web frameworks is presented. It is based on information gleaned from surveying 80 server-centric Web frameworks, as well as from popular related specifications. Requirements typically expected of a server-centric Web framework are discussed. Two Web framework taxonomies are proposed, reflecting two orthogonal ways of characterizing a framework: the way in which the markup language content of a browser-destined document is specified in the framework (presentation concerns); and the framework's facilities for the user to control the flow of events between browser and server (control concerns).

References

[1]
Adobe Systems, Inc. 2006. Adobe---Flash player. http://www.macromedia.com/software/flash/about/ (last accessed August 2006).
[2]
BarracudaMVC. 2006. Barracuda mvc. http://barracuda.enhydra.org (last accessed July 2006).
[3]
Belapurkar, A. 2004. Use continuations to develop complex Web applications: A programming paradigm to simplify MVC for the Web. http://www-128.ibm.com/developerworks/library/j-contin.html (last accessed August 2005).
[4]
Ceri, S., Fraternali, P., and Bongio, A. 2000. Web modeling language (WebML): A modeling language for designing Web sites. In Proceedings of the 9th International World Wide Web Conference on Computer Networks. Int. J. Comput. Telecommun. Netw. North-Holland Publishing, Amsterdam, The Netherlands, 137--157.
[5]
CherryPy Team. 2005a. CherryFlow. http://subway.python-hosting.com/wiki/CherryFlow (last accessed August 2005).
[6]
CherryPy Team. 2005b. CherryPy---A pythonic, object-oriented Web development framework. http://cherrypy.org (last accessed August 2005).
[7]
Copeland, D., Corbo, R., Falkenthal, S., Fisher, J., and Sandler, M. 2000. Which Web development tool is right for you? IT Profession. 2, 2 (Mar./Apr.), 20--27.
[8]
Corporation for National Research Initiatives. 2005. Quixote 2.1. http://www.mems-exchange.org/software/quixote (last accessed August 2005).
[9]
Coward, D. and Yoshida, Y. 2003. Java#8482; Servlet 2.4 Specification. Sun Microsystems.
[10]
Crespo, A., Chang, B.-W., and Bier, E. A. 1997. Responsive interaction for a large Web application: The meteor shower architecture in the Webwriter II editor. In Selected Papers from the 6th International Conference on World Wide Web. Elsevier Science, Essex, UK, 1507--1517.
[11]
DeMichiel, L. G. 2003. Enterprise JavaBeans#8482; Specification, Version 1.2. Sun Microsystems.
[12]
Dijkstra, E. W. 1968. Letters to the editor: Go to statement considered harmful. Commun. ACM 11, 3, 147--148.
[13]
Draheim, D. and Weber, G. 2002. An overview of state-of-the-art architectures for active Web sites. Tech. Rep. Institute of Computer Science, Free University Berlin.
[14]
Draheim, D. and Weber, G. 2005. Modeling form-based interfaces with bipartite state machines. Interact. Comput. 17, 2 (Mar.), 207--228.
[15]
Dürst, M. J. 2005. The HTTP charset parameter. http://www.w3.org/International/O-HTTP-charset.html (last accessed August 2005).
[16]
ECMA General Assembly. 1999. ECMAScript Language Specification, 3rd ed. European Computer Manufacturers Association.
[17]
Ervacon. 2004. Spring Web flow. http://www.ervacon.com/products/springWebflow (last accessed August 2005).
[18]
Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and Berners-Lee, T. 1999. Hypertext transfer protocol -- HTTP/1.1. Internet Engineering Task Force. RFC2616.
[19]
Fielding, R. T. 2000. Architectural styles and the design of network-based software architectures. Ph.D. thesis, University of California, Irvine.
[20]
Fraternali, P. 1999. Tools and approaches for developing data-intensive Web applications: A survey. ACM Comput. Surv. 31, 3 (Sept.), 227--263.
[21]
Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA.
[22]
Ginige, A. and Murugesan, S. 2001. Web engineering: An introduction. IEEE Multimed. 8, 1 (Jan./Mar.), 14--18.
[23]
Güell, N., Schwabe, D., and Vilain, P. 2000. Modeling interactions and navigation in Web applications. In Proceedings of the Workshops on Conceptual Modeling Approaches for E-Business and The World Wide Web and Conceptual Modeling (ER). Springer-Verlag, London, UK, 115--127.
[24]
Helman, T. and Fertalj, K. 2003. A critique of Web application generators. In Proceeding of the 25th International Conference on Information Technology Interfaces (ITI). IEEE Computer Society, Washington, DC, 639--644.
[25]
Jcorporate Ltd. 2005. Expresso framework project. http://jcorporate.com/expresso.html (last accessed August 2005).
[26]
Jouravlev, M. 2004. Redirect after post. http://www.theserverside.com/articles/article.tss?l=RedirectAfterPost (last accessed August 2005).
[27]
Knapp, A., Koch, N., Moser, F., and Zhang, G. 2003. ArgoUWE: A CASE tool for Web applications. In Proceedings of the 1st International Workshop on Engineering Methods to Support Information Systems Evolution (EMSISE).
[28]
Koch, N. and Kraus, A. 2002. The expressive power of UML-based Web engineering. In Proceedings of the 2nd International Workshop on Web-Oriented Software Technology (IWWOST), D. Schwabe et al., Eds. 105--119.
[29]
Korpela, J. 2002. Augmentative authoring---A different look at “graceful degradation” in Web authoring. http://www.cs.tut.fi/~jkorpela/html/augm.html (last accessed August 2005).
[30]
Krasner, G. and Pope, S. 1988. A description of the model-view-controller user interface paradigm in the smalltalk-80 system. J. Obj. Orient. Program. 1, 3, 26--49.
[31]
Lane, D. 2007. Scalable vector graphics. J. Online Math. Appl. 7, Article ID 1381 (Feb.).
[32]
Lycos, Inc. 2006. Webmonkey: Javascript_code_library. http://www.Webmonkey.com/Webmonkey/reference/javascript_code_library (last accessed August 2006).
[33]
McClanahan, C., Burns, E., and Roger Kitain, E. 2004. JavaServer#8482; Faces Specification, v1.1. Sun Microsystems.
[34]
McCool, R., Fielding, R., and Behlendorf, B. 1999. How the Web was won. Linux Mag.
[35]
Mellor, S., Clark, A., and Futagami, T. 2003. Model-Driven development---Guest editor's introduction. Softw., IEEE 20, 5 (Sept./Oct.), 14--18.
[36]
Microsoft Corporation. 2005. ASP.NET Web: The official microsoft ASP.NET site. http://www.asp.net (last accessed September 2005).
[37]
Mochi Media, LLC. 2006. Mochikit---A lightweight javascript library. http://www.mochikit.com (last accessed August 2006).
[38]
NextApp Inc. 2005. NextApp. Echo. http://www.nextapp.com/products/echo (last accessed August 2005).
[39]
Object Craft P/L. 2005. Albatross---A toolkit for stateful Web applications. http://www.object-craft.com.au/projects/albatross (last accessed August 2005).
[40]
Pierre Delisle, E. 2002. JavaServer Pages#8482; Standard Tag Library. Sun Microsystems.
[41]
Python Software Foundation. 2005. Python programming language. http://www.python.org (last accessed August 2005).
[42]
Qin, S. F., Harrison, R., West, A. A., Jordanov, I. N., and Wright, D. K. 2003. A framework of Web-based conceptual design. Comput. Ind. 50, 2, 153--164.
[43]
Radke, A. 1999a. Http digest authentication. http://static.userland.com/userLandDiscussArchive/msg012483.html (last accessed September 2005).
[44]
Radke, A. 1999b. Re: Http digest authentication. http://static.userland.com/userLand DiscussArchive/msg012533.html (last accessed September 2005).
[45]
Raggett, D., Hors, A. L., and Jacobs, I. 1999. HML 4.01 Specification. W3C. W3C Recommendation.
[46]
Rode, J., Rosson, M. B., and Perez-Quinones, M. A. 2004. End-Users' mental models of concepts critical to Web application development. In Proceedings of the IEEE Symposium on Visual Languages---Human Centric Computing (VLHCC). IEEE Computer Society, Washington, DC, 215--222.
[47]
Roth, M. and Pelegrí-Lopart, E. 2003. JavaServer Pages#8482; 2.0 Specification. Sun Microsystems.
[48]
Rudd, T. 2001--2005. Cheetah---The python-powered template engine. http://www.cheetahtemplate.org (last accessed August 2005).
[49]
Rushing, S. 2005. Medusa: A high-performance internet server architecture. http://www.nightmare.com/medusa/medusa.html (last accessed August 2005).
[50]
Schranz, M. W., Weidl, J., Gschka, K. M., and Zechmeister, S. 2000. Engineering complex world wide Web services with JESSICA and UML. In HICSS '00: Proceedings of the 33rd Hawaii International Conference on System Sciences (HICSS), vol. 6. IEEE Computer Society, Washington, DC, 6068.
[51]
Seshadri, G. 1999. Understanding JavaServer Pages model 2 architecture: Exploring the MVC design pattern. http://www.javaworld.com/javaworld/jw-12-1999/jw-12-ssj-jspmvc.html (last accessed August 2005).
[52]
Spolsky, J. 2003. The absolute minimum every software developer absolutely, positively must know about unicode and character sets (no excuses!). http://www.joelonsoftware.com/articles/Unicode.html (last accessed August 2005).
[53]
Strachey, C. and Wadsworth, C. P. 2000. Continuations: A mathematical semantics for handling fulljumps. Higher Order Symbol. Comput. 13, 1-2, 135--152.
[54]
The Apache Software Foundation. 2000--2005a. Struts. http://jakarta.apache.org/struts (last accessed August 2005).
[55]
The Apache Software Foundation. 2003--2005b. The Apache Cocoon project. http://cocoon.apache.org (last accessed August 2005).
[56]
The PHP Group. 2001--2005. PHP: Hypertext processor. http://www.php.net (last accessed August 2005).
[57]
Thomas, D. 2004. MDA: Revenge of the modelers or UML utopia? Softw., IEEE 21, 3 (May-Jun.), 15--17.
[58]
Tobias, D. R. 2004. Dan's Web tips: Graceful degradation. http://Webtips.dan.info/graceful.html (last accessed August 2005).
[59]
Vosloo, I. 2005. A Web application user interface specification language based on statecharts. M.S. thesis, University of Pretoria, Pretoria, South Africa.
[60]
W3C HTML Working Group. 2002. XHTML#8482; 1.0 The Extensible HyperText Markup Language: A reformulation of HTML in XML 1.0, 2nd ed.W3C. W3C Recommendation.
[61]
W3C SVG Working Group. 2003. Scalable vector graphics (SVG) 1.1 specification. http://www.w3.org/TR/2003/REC-SVG11-20030114/. W3C Recommendation.
[62]
W3C SYMM Working Group. 2005. Synchronized multimedia integration language (SMIL 2.1). http://www.w3.org/TR/2005/REC-SMIL2-20051213. W3C Recommendation.
[63]
Westkämper, T. 2004. Architectural models of J2EE Web tier frameworks. M.S. thesis, University of Tampere.
[64]
Wicket Developers. 2004--2005. Wicket. http://wicket.sourceforge.net (last accessed September 2005).
[65]
Winckler, M. and Palanque, P. 2003. StateWebCharts: A formal description technique dedicated to navigation modeling of Web applications. In Proceedings of the 10th annual International Workshop on Interactive Systems Design, Specification, and Verification (DSV-IS), Funchal, Madeira Island, Portugal, Revised Papers. Lecture Notes in Computer Science, vol. 2844/2003. Springer-Verlag, GmbH, 61--76.
[66]
Yahoo!, Inc. 2006. Yahoo! UI library. http://developer.yahoo.com/yui (last accessed August 2006).
[67]
Yergeau, F., Cowan, J., Bray, T., Paoli, J., Sperberg-McQueen, C. M., and Maler, E. 2004. XML 1.1. W3C. W3C Recommendation.
[68]
Zope Corporation. 2003. Zope.org. http://www.zope.org (last accessed August 2005).

Cited By

View all
  • (2016)MVC architecture driven restructuring to achieve client-side web page composition2016 7th IEEE International Conference on Software Engineering and Service Science (ICSESS)10.1109/ICSESS.2016.7883013(45-53)Online publication date: Aug-2016
  • (2015)Collaborative penetration-testing and analysis toolkit (CPAT)2015 IEEE Aerospace Conference10.1109/AERO.2015.7119262(1-9)Online publication date: Mar-2015
  • (2014)Technological Variability by Means of a Framework Metamodel2014 IIAI 3rd International Conference on Advanced Applied Informatics10.1109/IIAI-AAI.2014.137(656-661)Online publication date: Aug-2014
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Computing Surveys
ACM Computing Surveys  Volume 40, Issue 2
April 2008
130 pages
ISSN:0360-0300
EISSN:1557-7341
DOI:10.1145/1348246
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 08 May 2008
Accepted: 01 May 2007
Revised: 01 April 2007
Received: 01 September 2005
Published in CSUR Volume 40, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Architecture
  2. specification techniques
  3. user interfaces
  4. web frameworks

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)32
  • Downloads (Last 6 weeks)1
Reflects downloads up to 13 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2016)MVC architecture driven restructuring to achieve client-side web page composition2016 7th IEEE International Conference on Software Engineering and Service Science (ICSESS)10.1109/ICSESS.2016.7883013(45-53)Online publication date: Aug-2016
  • (2015)Collaborative penetration-testing and analysis toolkit (CPAT)2015 IEEE Aerospace Conference10.1109/AERO.2015.7119262(1-9)Online publication date: Mar-2015
  • (2014)Technological Variability by Means of a Framework Metamodel2014 IIAI 3rd International Conference on Advanced Applied Informatics10.1109/IIAI-AAI.2014.137(656-661)Online publication date: Aug-2014
  • (2013)Analyzing PHP frameworks for use in a project-based software engineering courseProceeding of the 44th ACM technical symposium on Computer science education10.1145/2445196.2445350(519-524)Online publication date: 6-Mar-2013
  • (2013)Using Lightweight Activity Diagrams for Modeling and Generation of Web Information SystemsInformation Systems: Methods, Models, and Applications10.1007/978-3-642-38370-0_6(61-72)Online publication date: 2013
  • (2013)ANDROMEDAProceedings of the 16th international conference on Fundamental Approaches to Software Engineering10.1007/978-3-642-37057-1_15(210-225)Online publication date: 16-Mar-2013
  • (2012)A cloud-based solution for the performance improvement of IT support organizations2012 IEEE Network Operations and Management Symposium10.1109/NOMS.2012.6212014(953-960)Online publication date: Apr-2012
  • (2012)The design and development of intelligent university program ranking system using JEE frameworks2012 IEEE Conference on Open Systems10.1109/ICOS.2012.6417618(1-6)Online publication date: Oct-2012
  • (2012)OrcaProceedings of the 2012 10th International Conference on Creating, Connecting and Collaborating through Computing10.1109/C5.2012.9(45-52)Online publication date: 18-Jan-2012
  • (2011)A web-based what-if scenario analysis tool for performance improvement of IT support organizationsProceedings of the 7th International Conference on Network and Services Management10.5555/2147671.2147742(394-398)Online publication date: 24-Oct-2011
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media