Chapter 9. Service Layer
What was that middle thing?
Otto West, A Fish Called Wanda
Preview
This chapter expands on the Service layer—the middle thing. A leaky roof can cost a lot of money. Leaky software isn’t as obvious but can cost a lot of time and effort. How can you structure your application so that the layers don’t leak? In particular, what should and should not go into the Service layer in the middle?
Defining a Service
The Service layer is the heart of the website, its reason for being. It takes requests from multiple sources, accesses the data that is the DNA of the site, and returns responses.
Common service patterns include a combination of the following:
-
Create / retrieve / change (partially or completely) / delete
-
One thing / multiple things
At the RESTful router layer, the nouns are resources. In this book, our resources will initially include cryptids (imaginary creatures) and people (cryptid explorers).
Later, it will be possible to define related resources like these:
-
Places
-
Events (e.g., expeditions, sightings)
Layout
Here’s the current file and directory layout:
main.py web ├── __init__.py ├── creature.py ├── explorer.py service ├── __init__.py ├── creature.py ├── explorer.py data ├── __init__.py ├── creature.py ├── explorer.py model ├── __init__.py ├── creature.py ├── explorer.py fake ├── __init__.py ├── creature.py ├── explorer.py └── test
In this chapter, you’ll fiddle with files in the service directory.
Protection
One nice thing about ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access