Special Topics:

Software Architectures with Java EE

339.357 1KV Pavlič Block Begin: 15.1.2020

The course offers an introduction to the Java EE platform. It gives insights into challenges, that distributed business environments put in front of the modern IT solutions. Java EE, a standard-based development platform, is presented as a solution. During the course, in addition to standard set of specifications, the concepts such as application servers, containers, standard development packages, common dependency injection, stateless execution and others, are explained. Wildfly, an example of production-ready application server, will be presented in details. Standard-based technologies for persistent data storage, on-demand business logic, web-based user interfaces, will be presented and demonstrated using JPA, EJB, JSF, JAX-RS and JMS technologies. Students will be required to do a project using presented technologies.

Lecturer

Dr. Luka Pavlič
Faculty of Electrical Engineering and Computer Science
University of Maribor
luka.pavlic@gmail.com

Dates

Date Time Room
We 15.1.2020 15:30-18:00 S2 046
Th 16.1.2020 15:30-18:00 BA9909
Fr 17.1.2020 13:45-16:15 S2 046
Fr 08:30-09:30 (exam)

Contents

  1. Java EE overview (application servers, containers, deployment packages etc.)
  2. Sample IT solution architecture: JPA + EJB + JSF + JAX-RS; deployment on Docker
  3. Wildfly server
  4. MVC framework: JSF web user interfaces
  5. EJB session beans
  6. JPA entities
  7. Rest services - JAX-RS web services
  8. MOM - Message Driven Beans

Exam

Students will have to do a project and send it to the lecturer. The marks for this course will be based on the project and a written test.

Downloads

Lecture slides, examples, JavaEE development platform, install instructions - will be made available just before/during the lectures

Recommended Literature

  • Java Platform, Enterprise Edition (Java EE) 8
  • Java Platform, Enterprise Edition, The Java EE Tutorial, Release 7; PDF version
  • Daschner S.; Architecting Modern Java EE Applications: Designing lightweight, business-oriented enterprise applications in the age of cloud, containers, and Java EE 8; Packt Publishing; 2017.
  • David R. Heffelfinger D. R.; Java EE 8 Application Development: Develop Enterprise applications using the latest versions of CDI, JAX-RS, JSON-B, JPA, Security, and more; Packt Publishing; 2017.
  • Rocha R., Purificação J.; Java EE 8 Design Patterns and Best Practices: Build enterprise-ready scalable applications with architectural design patterns; Packt Publishing; 2018.