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: