Figure 1-7. Layered multitier Java EE application architecture based on MVC
Layers in a Java EE Application
It is evident from Figure 1-7 that layered architecture is an extension of the MVC archi-
tecture. In the traditional MVC architecture, the data access or integration layer was
assumed to be part of the business layer. However, in Java EE, it has been reclaimed as a
separate layer. This is because enterprise Java applications integrate and communicate
with a variety of external information system for business data—relational database
management systems (RDBMSs), mainframes, SAP ERP, or Oracle e-business suites, to
name just a few. Therefore, positioning integration services as a separate layer helps the
business layer concentrate on its core function of executing business rules.
The benefits of the loosely coupled layered Java EE architecture are similar to those
of MVC. Since implementation details are encapsulated within individual layers, they can
be easily modified without deep impact on neighboring layers. This makes the applica-
tion flexible and easy to maintain. Since each layer has its own defined roles and
responsibilities, it is simpler to manage, while still providing important services.