liveBook · Manning

Multi-tier application

As explained in Java Persistence with Spring Data and Hibernate epub

A layered architecture organizes an application into separate layers with distinct responsibilities and controlled dependencies.

A multi-tier application organizes classes by concern, separating persistence, presentation, workflow, and business logic. Layer interfaces allow one concern to change without significantly disrupting another. section 3.1.1

A typical three-layer arrangement assigns distinct responsibilities:

  • Presentation layer: handles user-interface logic, page or screen navigation, rendering, and user actions. section 3.1.1
  • Business layer: contains business rules and coordinates application behavior. section 3.1.1
  • Persistence layer: isolates persistence as a distinct application concern and supports the storage of domain information. section 3.1.1
  • Cross-cutting concerns such as logging, authorization, and transaction demarcation can be implemented generically by framework code. section 3.1.1

Layers communicate from top to bottom: each layer depends only on the interface of the layer directly below it. This constrains inter-layer dependencies and limits the effect of implementation changes. section 3.1.1

Online auction application

CaveatEmptor uses a layered application architecture to organize a complex domain model, persistent Java classes, Bean Validation, and mapping metadata for JPA and Hibernate. section 3.0

How Java Persistence with Spring Data and Hibernate epub covers it

How deep it goes
Defines three layers, dependency direction, and cross-cutting concerns, but stops short of concrete implementation configuration.
Examples
Uses an online auction application, browser interaction, persistent Java classes, and a persistence-layer architecture figure.
What you can do after
Evaluate application structure by assigning concerns to layers and checking dependencies against adjacent-layer interfaces.
How it connects
Connects persistence, presentation, business logic, domain models, cross-cutting concerns, and REST layered systems.

Also explained in

Compare how 7 books explain multi-tier application →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Java Persistence with Spring Data and Hibernate epub. The section links point to the parts of the book it draws on.