Chapter 10. Application Architecture

The architecture of a large web application has many facets, and we’ve already touched on many of these in previous chapters. In this chapter, we’ll focus on one of the most prominent reflections of application architecture: organizing classes and files on the server so they reinforce the modularity established in your large-scale HTML, CSS, JavaScript, and server-side scripts. We’ll also look at how this structure in a large web application helps with its maintenance down the road; you’ll see how important it is to make sure the organization you choose reflects the scope in which you expect each class or file to be used. Tenet 10 (from Chapter 1) addresses this issue:

Tenet 10: The organization of files on the server for a large web application reflects the architecture of the application itself, including clearly demarcated scopes in which each file will be used.

We’ll begin by examining the design of a sample web page in terms of the modules it contains, because thinking modularly about web pages is a key part of envisioning the architecture for a large web application overall. We’ll then go into more detail about how to organize the classes we presented in earlier chapters into files. Finally, we’ll explore how the architectural discussion in this chapter, coupled with the techniques discussed earlier in the book, help you manage certain common situations that are likely to arise while maintaining a large web application. This will demonstrate ...

Get Developing Large Web Applications now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.