A Double-Model Approach to Achieve Effective Model-View Separation in Template Based Web Applications

  • Francisco J. García
  • Raúl Izquierdo Castanedo
  • Aquilino A. Juan Fuente
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4607)

Abstract

Several works [20,22] have tried to enforce strict isolation between the model and the view in template based web applications by restricting the computing possibilities of the used templates. From the point of view of graphic designers this is a limitation that may make their work difficult. Besides, in this paper we state that this claimed strict isolation is impossible to achieve in practice for HTML template systems. We propose another approach to study and to attain an effective separation between model and view that does not necessarily restrict the expressive power of the template: the double-model approach. Finally we present an implementation of this approach in a renewed template system called JST2.

Keywords

template systems Web applications software architectures MVC 

References

  1. 1.
    Al-Darwish, N.: PageGen: An Effective Scheme for Dynamic Generation of Web Pages. Information and Software Technology 45(10), 651–662 (2003)CrossRefGoogle Scholar
  2. 2.
    Apache: Tapestry, http://tapestry.apache.org/
  3. 3.
    Apache: Velocity, http://velocity.apache.org/
  4. 4.
    Betz, K., Leff, A., Rayfield, J.T.: Developing Highly-Responsive User Interfaces with DHTML and Servlets. In: Proceedings of the 19th IEEE International Performance, Computing, and Communications Conference – IPCCC-2000, pp. 437–443. IEEE Computer Society Press, Los Alamitos (2000)CrossRefGoogle Scholar
  5. 5.
    Brabrand, C., Møller, A., Olesen, S., Schwartzbach, M.I.: Language-Based Caching of Dynamically Generated HTML. World Wide Web: Internet and Web Information Systems 5, 305–323 (2002)CrossRefGoogle Scholar
  6. 6.
    Brabrand, C., Møller, A., Schwartzbach, M.I.: The bigwig Project. ACM Transactions on Internet Technology 2(2), 79–114 (2002)CrossRefGoogle Scholar
  7. 7.
    Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture. In: A System of Patterns, vol. 1, John Wiley & Son, New York (1996)Google Scholar
  8. 8.
  9. 9.
    Fernández, M., Florescu, D., Levy, A., Suciu, D.: Declarative Specification of Web Sites with STRUDEL. VLDB Journal 9(1), 38–55 (2000)CrossRefGoogle Scholar
  10. 10.
    Ford, N.: Art of Java Web Development. Manning Publications Co. (2004)Google Scholar
  11. 11.
  12. 12.
    Garrett, J.J.: Ajax: A New Approach to Web Applications (February 18, 2005), http://adaptivepath.com/publications/essays/archives/000385.php
  13. 13.
    Google: Google Web Toolkit, http://code.google.com/webtoolkit/
  14. 14.
    Halasz, S.J.: An Improved Method for Creating Dynamic Web Forms Using APL. In: Proceedings of the international conference on APL-Berlin-2000 conference, Berlin, Germany, pp. 104–111 (2000)Google Scholar
  15. 15.
    Hunter, J.: The Problems with JSP (2000), http://www.servlets.com/soapbox/problems-jsp.html
  16. 16.
    Izquierdo, R., García, F.J., Andrés, M., Juan, A., Manrubia, P.: JST: Towards a Usable Web Site Development Method. In: Proceedings of the IADIS International Conference WWW/Internet 2003, vol. 1, pp. 515–522. IADIS Press (2003)Google Scholar
  17. 17.
    Izquierdo, R., Juan, A., López, B., Devis, R., Cueva, J.M., Acebal, C.F.: Experiences in Web Site Development with Multidisciplinary Teams. In: Lovelle, J.M.C., Rodríguez, B.M.G., Gayo, J.E.L., Ruiz, M.d.P.P., Aguilar, L.J. (eds.) ICWE 2003. LNCS, vol. 2722, pp. 459–462. Springer, Heidelberg (2003)Google Scholar
  18. 18.
  19. 19.
    Kristensen, A.: Template Resolution in XML/HTML. Computer Networks and ISDN Systems 30, 139–249 (1998)CrossRefGoogle Scholar
  20. 20.
    Parr, T.J.: Enforcing Strict Model-View Separation in Template Engines. In: Proceedings of the 13th International Conference on World Wide Web, WWW 2004, May 17-20, pp. 224–233. ACM Press, New York (2004)CrossRefGoogle Scholar
  21. 21.
    Parr, T.J.: StringTemplates. http://www.stringtemplate.org/
  22. 22.
    Parr, T.J.: Web Application Internationalization and Localization in Action. In: Proceedings of the 6th International Conference on Web Engineering, ICWE 2006, ACM Press, New York (2006)Google Scholar
  23. 23.
  24. 24.
    Seshadri, G.: Understanding JavaServer Pages Model 2 architecture. Exploring the MVC design pattern. JavaWorld.com (December 1999), http://www.javaworld.com/javaworld/jw-12-1999/jw-12-ssj-jspmvc.html
  25. 25.
  26. 26.
    Sun Microsystems: Java Server PagesTM Specification, Version 2.1. Sun Microsystems, Palo Alto, USA (2006), http://java.sun.com/products/jsp/
  27. 27.
    Tregar, S.: HTML: Template, http://html-template.sourceforge.net
  28. 28.
    W3C: XHTMLTM 1.0 The Extensible HyperText Markup Language (2nd Edition), http://www.w3.org/TR/xhtml1/
  29. 29.
    W3C: XHTMLTM Modularization 1.1. http://www.w3.org/TR/xhtml-modularization/
  30. 30.
    W3C: XSL Transformations (XSLT) Version 2.0 (2007), http://www.w3.org/TR/xslt20/
  31. 31.
  32. 32.
    Wijkman, P., Dissanaike, S., Wijkman, M.: Mixer, Supporting the Model-View-Controller Design Pattern in Servlets. In: Proceedingds of the IASTED International Conference on Software Engineering SE 2004, Innsbruck, Austria, February 16-18, pp. 658–661 (2004)Google Scholar
  33. 33.
    Zhang, J., Chung, J-Y.: Mockup-Driven Fast-Prototyping Methodology for Web Application Development. Software-Practice and Experience 33(13), 1251–1272 (2003)CrossRefGoogle Scholar
  34. 34.
    Zope: Zope Page Templates, ZPT, http://zpt.sourceforge.net/

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Francisco J. García
    • 1
  • Raúl Izquierdo Castanedo
    • 2
  • Aquilino A. Juan Fuente
    • 2
  1. 1.Departamento de Matemáticas y Computación (Universidad de La Rioja), C/ Luis de Ulloa s/n, 26004, Logroño (La Rioja)Spain
  2. 2.OOTLab: Laboratory of Object Oriented Technology (Universidad de Oviedo), C/ Calvo Sotelo s/n, 33005, Oviedo (Asturias)Spain

Personalised recommendations