Only component that can talk to DAOs
Can validate input
Can do only what it is told to do
Includes DAO(s)
Fast and stupid
Doesn't do any of the work itself
Indludes DTO(s)
Can coordinate interaction among multiple DAOs
Responsible for communicating with the user
Can contain presentation logic
Responsible for persisting, retrieving, and ferrying data around the application.
Can do calculations
Contains business logic for the application
Orchestrator of the application
Knows what needs to be done and when it needs to be done
Is smart, but lazy
Cannot contain any other application logic
Sits between controller(s) and DAOs