Lectures (Mon. 14:15 - 16:00) - Delta Room 1019
The lectures are organized into five parts:
Part 1 - Essential Technologies for ESI (Web services, REST/RESTful APIs, SOA (Service Oriented Architecture, etc.)
1. Introduction to Enterprise System Integration (12/2/2023)
Covers:
- Course Introduction (Course Description, Scope of the course, Structure of the Course, Grading, Assignments, Project, Exam, Instructors, etc.).
- Introduction to Enterprise System Integration (Why Enterprise System Integration is important? motivating scenario, classical systems VS enterprise systems, Monolithic, SOA and Microservices architectures, etc.).
2. Web Services (19/2/2023)
Covers:
- What are web services? their communication protocols, their differences, and similarities, etc.
- Principles of the REST architecture, key concepts, and how they can be applied.
- The MVC (CSR) Pattern.
- Building simple RESTful APIs (CRUD operations)
3. Building RESTful APIs (CRUD operations) (26/2/2023)
Covers:
- CRUD principles and concepts, and how they can be mapped to REST commands.
Part 2 – From monolithic to microservices architecture (Covers the fundamental principles for [enterprise] systems engineering, Domain-driven design (DDD) Approach, and Microservices Architecture)
4. The Microservices Architecture (4/3/2023)
Covers:
- Fundamental concepts related to Microservices architecture design and implementation.
5. The Domain-driven design (DDD) Approach - I - fundamentals (11/3/2023)
Covers:
- System Development Life Cycle (SDLC).
- [Enterprise] System requirements.
- [Enterprise] System Architecture.
- Models and modeling
- Domain models and domain modeling.
6. The Domain-driven design (DDD) Approach - II (18/3/2023)
Covers:
- What is the DDD approach?
- The key building blocks DDD (e.g., Entities, Value Objects, Aggregates, Repositories), and demonstrate how they can be applied.
- How we can use the DDD approach.
- How DDD can help in designing a Microservices Architecture.
- Advantages and disadvantages of using DDD.
7. Integration patterns in Microservice architecture (25/3/2023)
Covers:
- Several patterns for Microservice integration.
Part 3 – The client side - Frontend (Vue.js)
8. Vue.js (1/4/2023)
Covers:
- The Single-Page Applications (SPA) concept, Vue core concepts such as Routers & Views, Single File Components (SFC), Data, Props and Methods, Vue Directives, Computed and watched properties, Vue elements Lifecycle hooks, and CRUD Operations.
Part 4 – The Security Aspects of Integration
9. Security Aspects of Integration - Building a JWT-based Auth Service for a Spring Boot App (8/4/2023)
Covers:
- Core Spring Boot security concepts (Authentication, Authorization, Granted Authorities/Roles, and Principles), How authentication/authorization works, Spring Boot in-memory auth/auth, Spring Boot auth/auth through JPA/DB, and OAuth2.
- Cookies, JSON Web Token (JWT), JWT structure (Header, Payload, signature), the use of JWT for RBAC, etc.
10. Security Aspects of Integration - III – Building a Secure" project (Spring Boot + VueJs) for Microservice-based Systems (15/4/2023)
Covers:
- Key design principles and technologies for Building a Secure" project (Spring Boot + VueJs) for Microservice-based Systems.
Part 5 – Project consultation/checkpoints, and Exam preparation
11. Project consultation (22/4/2023)
12. Project consultation (29/4/2023)
13. Project consultation (6/5/2023)
14. Project consultation (13/5/2023)
15. Course Wrap-up, review, and exam method description (20/5/2023)
Covers:
- Summarize and review the ESI Course, and provide a description of the exam method and structure.
16. The first exam (27/5/2023)