Enterprise Architectures

Semestr: Winter

Range: 2P+2C+2D

Completion:

Credits: 5

Programme type: Bachelor

Study form: Fulltime

Course language:

Time table at FEE

Summary:

The course offers an overview of enterprise system architectures, focusing on Spring and Java EE. Students will become familiar with the most common enterprise architectures and related design patterns. In particular, the focus will be put on the principles of inversion control, dependency injection and Java Bean lifecycle. Pairs of students will prepare a simple enterprise application as their semestral work.

Keywords:

Course syllabus:

1.Introduction, client-server, multi-tier architecture, Java EE, Servlets
2.Java EE architecture and technologies, Design and architectonic patterns, MVC, DAO
3.Database access, Object-relational mapping, JPA 2.0
4.Spring, DI, modules
5.HTTP, principles of REST
6.Web services, design of REST services
7.Enterprise application security
8.Advanced topics in JPA, Spring
9.Application servers, web sockets
10.Principles of client design for web applications
11.Performance, scalability, high-availability
12.Selected techniques and libraries (Java 8/9/10, application access to non-relational data sources)
13.Enterprise search
14.Practical deployments of enterprise applications - panel discussion

Seminar syllabus:

1.Labs organization, evaluation rules, semestral work topics, Configuration management in Java EE, Maven, Git
2.Creation and configuration of a project, architecture
3.JPA Modeling 1 - Example
4.Checkpoint 0, JPA Modeling 2 - Excercise
5.Spring
6.Debugging and testing
7.Web services, REST - Example
8.Web services, REST 2 - Excercise, consultation
9.Checkpoint 1
10.Securing enterprise applications
11.Advanced techniques of JPA and Spring, consultation
12.Consultation
13.Checkpoint 2
14.Checkpoint 2

Literature:

Walls C.: Spring in Action, Fourth Edition, Manning Publications Company, 2013, ISBN: 9781617291203

Andrew Lee Rubinger, Bill Burke: Enterprise JavaBeans, 6th Edition, O'Reilly Media, 2010

Examiners:

Lecturers:

Instructors: