Java EE 8 High Performance
上QQ阅读APP看书,第一时间看更新

The application architecture

Our application will import some stock quotations daily; it will then expose them and allow you to update them through a web service.

To implement it, we will use a standard Java EE architecture:

  • The persistence layer will use JPA 2.2 and store the data in a MySQL database.
  • A service layer will implement the business logic and orchestrate the persistence layer. It will rely on the following:
    • Java Transaction API (JTA) 1.2 for transactionality
    • Context and Dependency Injection 2.0 (CDI) for Inversion of Control (IoC)
    • Bean Validation 2.0 for validations
  • A front layer will expose a part of the service layer through HTTP. It will rely on the following:
    • JAX-RS 2.1 for stateless endpoints
    • WebSocket 1.1 for stateful communications
    • JSON-B 1.0 for marshalling/unmarshalling

Here is a picture summarizing this structure: