A practical example
Let's now take a look at the concrete example we will be working on for the remainder of the book. In our example, we work for an organization called Matangle. This organization is a software as a service (SaaS) provider that sells access to educational games for school children.
As with any such provider, we will, with all likelihood, have a database containing customer information. It is this database that we will start out with.
The organization's other systems will be fleshed out as we go along, but this initial system serves well for our purposes.
Three-tier systems
The Matangle customer database is a very typical three-tier, CRUD (create, read, update, and delete) type of system. This software architecture pattern has been in use for decades and continues to be popular. These types of systems are very common, and it is quite likely that you will encounter them, either as legacy systems or as new designs.
In the following diagram, we can see the separation of concerns...