Lectures (Mon. 14:15 - 16:00) - Delta Room 1019
Video recordings of the lectures will be available for students who cannot attend physically.
For now, you can also use this GitHub repo, but it will deleted later.
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 (6/2/2022)
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.).
- Course introduction
- Core Assignments and Exam
- Lecture 1
2. Web Services (13/2/2022)
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.
- Lecture 2
3. Building RESTful APIs (CRUD operations) - I (20/2/2022)
Covers:
- CRUD principles and concepts, and how they can be mapped to REST commands.
- The MVC (CSR) Pattern.
- Lecture 3
4. Building RESTful APIs (CRUD operations) - II (27/2/2022)
Covers:
- The MVC (CSR) Pattern in practice.
- Lecture 4
Part 2 – From monolithic to microservices architecture (Covers the fundamental principles for [enterprise] systems engineering, Domain-driven design (DDD) Approach, and Microservices Architecture)
5. The Microservices Architecture (6/3/2022)
Covers:
- Fundamental concepts related to Microservices architecture design and implementation.
- Lecture 5
6. The Domain-driven design (DDD) Approach - I - fundamentals (13/3/2022)
Covers:
- System Development Life Cycle (SDLC).
- [Enterprise] System requirements.
- [Enterprise] System Architecture.
- Models and modeling
- Domain models and domain modeling.
- Lecture 6
7. The Domain-driven design (DDD) Approach - II (20/3/2022)
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.
- Lecture 7
8. Integration patterns in Microservice architecture (27/3/2022)
Covers:
- Several patterns for Microservice integration.
- Lecture 8
Part 3 – The client side - Frontend (Vue.js)
9. Vue.js (3/4/2022)
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.
- Lecture 9
Part 4 – The Security Aspects of Integration
10. Security Aspects of Integration - I - basic concepts (10/4/2022)
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.
- Lecture 10
11. Security Aspects of Integration - II – Building a JWT-based Auth Service for a Spring Boot App (17/4/2022)
Covers:
- Cookies, JSON Web Token (JWT), JWT structure (Header, Payload, signature), the use of JWT for RBAC, etc.
- Lecture 11
12. Security Aspects of Integration - III – Building a Secure" project (Spring Boot + VueJs) for Microservice-based Systems (24/4/2022)
Covers:
- Key design principles and technologies for Building a Secure" project (Spring Boot + VueJs) for Microservice-based Systems.
- Lecture 12
Part 5 – Project consultation/checkpoints, and Exam preparation
13. No lecture - Holiday (1/5/2022)
14. Course Wrap-up, review, and exam method description (8/5/2022)
Covers:
- Summarize and review the ESI Course, and provide a description of the exam method and structure.
- Lecture 14
15. Project consultation (15/5/2022)
16. Exam (22/5/2022)