Lectures (Mon. 14:15 - 16:00)
1. Introduction to Enterprise System Integration (7/2/2022)
Covers:
- Course Introduction (Course Description, Scope of the course, Structure of the Course, Grading, Exam, Instructors, etc.).
- Introduction to Enterprise System Integration (Why Enterprise System Integration is important? motivating scenario, classical systems VS enterprise systems, 1-N tier(s) architecture, Microservices, etc.).
2. Fundamental principles of [enterprise] systems engineering (14/2/2022)
Covers:
- [Enterprise] System requirements.
- [Enterprise] System Architecture.
- Conceptual/Meta/Domain Modeling.
3. Domain-driven design (DDD) Approach I - Domain models and domain modeling (21/2/2022)
Covers:
- Models and modeling
- Domain models and domain modeling
4. Domain-driven design (DDD) Approach II - Domain-Oriented Microservice Architecture (28/2/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.
- Advantages and disadvantages of using DDD.
5. Web Services - SOAP (7/3/2022)
Covers:
- What are web services? their communication protocols, their differences and similarities, etc.
- SOAP (Simple Object Access Protocol)
6. Web Services - REST (14/3/2022)
Covers:
- Principles of the REST architecture, key concepts, and how they can be applied.
7. Building RESTful API - (CRUD) (21/3/2022)
Covers:
- CRUD principles and concepts, and how they can be mapped to REST commands.
8. Thick Client Applications (Vue.Js) - I (28/3/2022)
Covers:
- How can we use the Vue.js framework for building sophisticated Single-Page Applications (SPA).
Github repo: https://github.com/M-Gharib/ESI2022-Vue-1.git
Cloning the App > git clone https://github.com/M-Gharib/ESI2022-Vue-1.git Project setup > npm install Compiles and hot-reloads for development >npm run serve
9. Thick Client Applications (Vue.Js) - II (4/4/2022)
Covers:
- Vue.js + SpringBoot CRUD Operations.
Github repo (updated): https://github.com/M-Gharib/ESI2022-Vue-1.git
10. Security Aspects of Integration, REST Security (Authorisation and Authentication) (11/4/2022)
Covers:
- How can we build a RESTful API with a well-defined authentication and authorization strategy.
11. Security Aspects of Integration, REST Security (Authorisation and Authentication) - practical examples (18/4/2022)
Covers:
- Three different practical examples for Authentication/Authorisation in Spring Boot.
12. Role-based Access Control (Front-end + Back-end) (25/4/2022)
Covers:
- A practical examples (Vue.js + Spring Boot Security).
Github VUE repo: https://github.com/M-Gharib/ESI-VUE-SEC.git
Github Spring Boot repo: https://github.com/M-Gharib/ESI-SB-SEC.git
13. Project consultation (2/5/2022)
14. Project checkpoint #1 (9/5/2022)
15. Course Wrap-up, review, and exam preparation (16/5/2022)
16. Exam (23/5/2022)