Chapter 3. Deconstructing Play application architecture

 

This chapter covers

  • Learning the key concepts of a Play application’s architecture
  • Understanding the relationships between Play application components
  • Configuring a Play application and its HTTP interface
  • Play’s model-view-controller and asynchronous process APIs
  • Modularizing a Play application

This chapter explains Play at an architectural level. We’ll be covering the main parts of a Play application in this chapter, and you’ll learn which components make up a Play application and how they work together. This will help you gain a broad understanding of how to use Play to build a web application, without going into detail at the code level. This will also allow you to learn which concepts and terms Play uses, so you can recognize its similarities to other web frameworks and discover the differences.

3.1. Drawing the architectural big picture

Play’s API and architecture are based on HTTP and the model-view-controller (MVC) architectural pattern. These are familiar to many web developers, but if we’re being honest, no one remembers how all of the concepts fit together without looking them up. That’s why this section starts with a recap of the main ideas and terms.

3.2. Application configuration—enabling features and changing defaults

3.3. The model—adding data structures and business logic

3.4. Controllers—handling HTTP requests and responses

3.5. View templates—formatting output

3.6. Static and compiled assets

3.7. Jobs—starting processes

3.8. Modules—structuring your application

3.9. Summary