Java EE 8 Design Patterns and Best Practices
上QQ阅读APP看书,第一时间看更新

Understanding the business tier

Before talking about the business patterns and the use of these patterns from the perspective of JEE8 and its technologies, we must identify where the business logic of an application will be within the JEE framework. As we have already seen, JEE architecture basically has three tiers. Most JEE technologies, such as Enterprise Java Beans (EJB) and Java Persistence API (JPA), are related to the business tier. The EJB container is located in the business tier, but there are a few other technologies that navigate the entire JEE framework, such as CDI and Bean Validation. However, the most important thing to know is that the core business-logic application is executed in the business tier.

We will see three important patterns in the business tier. We will briefly explain the definition and goal of each pattern:

  • Business Delegate pattern: It is a proxy for the business service, hiding the service lookup and the remote invocation. 

  • Session Fa?ade pattern: Encapsulates business rules and exposes coarse-grained services to clients.

  • Business-object pattern: These are real-world objects with properties and methods for applications with a high level of complexity which help to separate business logic from the rest of the application, promoting a decoupling between business logic and the rest of the application.

Let's look at the following diagram:

We will see later in this chapter that, although the Business Delegate is a business-tier component, its physical location is on the web tier.