Patterns for Web Applications

This paper contains work in progress on a pattern language for “small” web A conceptual framework for “small” web applications applications. Its goal is to outline a conceptual framework for developing web applications. The pattern language has reached a certain stage where I would like to get the feedback of the pattern community. Why a conceptual framework? Many web applications may not need a comprehensive application server framework, only micro-frameworks for specific tasks such as template processing. The main application can be developed on top of a standard open-source platform such as LAMP (Linux, Apache, MySQL, and Perl/PHP/Python) [11]. There is a trade-off between the complexity of a comprehensive framework, and the needs of your application. Frameworks often have a large feature set, and thus a steep learning curve, and can be difficult to deploy. For example, while some web applications may warrant a content management system, a template processor may be all that is required for most. A conceptual framework, on the other hand, gives you a model for how to build a custom application server, and and tells you when to use task-specific micro-frameworks. The conceptual framework introduced in this paper is documented as a pattern language. These patterns are geared towards non-trivial, small to medium sized web applications. Our goal is to document common practices for typical design issues encountered. ∗Copyright c © 2003, Michael Weiss. Permission is granted to copy for PLoP 2003.