Let's start with reviewing the n-tier architecture, where we have some clients, a network, a business model, some business logic, some data storage, and so on. This is a basic model, which you will find as part of any architectural design. It looks something like the following diagram:
As you can see in this architecture, we have these different models that come into action:
- View Model: This is basically for client-side interaction
- DTO Model: This is for communication between the client and the REST Endpoints
- Business Model: This is a combination of DAO (Data Access Object) and business service, which interprets the user requests, and communicates with the storage service
- E-R Model: This defines the relationship between entities (that is, DTO and RDMS/NDMS)
Now that you have some idea about the architecture, let's understand its characteristics, which...