CS504070 — Service-Oriented Architecture

Fall, 2025

Tiếng Việt | English

Midterm Report (From Nov. 4, 2025)

Oct 25, 2025 |

  • Midterm presentation schedule [View]
  • Notes:
    • All group members must submit the midterm project (Version 1) according to the instructions on the e-Learning system.
    • Groups should print the ERD diagram, Use-case, and other diagrams (if any) on A4/A3 paper for easier presentation.
    • Groups should print the midterm RUBRIC (available in the Resources section on the course website).
    • The presentation should clarify the following points: system analysis and design, program implementation methods, demonstration of API Endpoints, and Web interface.
    • Presentation time: 15 minutes; Q&A: 10 minutes.


Teaching-Learning Content — Week 10

Oct 24, 2025 |

  • Theoretical content:
    • Chapter 4: Microservice Communication Styles
  • Practice 8:
    • FastAPI — Validating Path & Query Parameters
  • Seminar session:
    • System Analysis & Design for the Tuition Payment Subsystem
    • System Architecture Design for the Tuition Payment Subsystem
    • FastAPI Implementation for the Tuition Payment Subsystem
    • API Gateway and Service Communication
    • Asynchronous Communication & Message Brokers
  • Teaching-learning resources are available in the Syllabus section.


Teaching-Learning Content — Week 9

Oct 15, 2025 |

  • Theoretical content:
    • Chapter 3: Splitting the Monolith
  • Practice 7:
    • FastAPI — Validating Path & Query Parameters
  • Seminar session:
    • System Analysis & Design for the Tuition Payment Subsystem
    • System Architecture Design for the Tuition Payment Subsystem
    • FastAPI Implementation for the Tuition Payment Subsystem
  • Teaching-learning resources are available in the Syllabus section.


Report Schedule of Midterm and Final Project

Oct 14, 2025 |

  • Report schedule of Midterm and Final project [View]


Teaching-Learning Content — Week 8

Oct 10, 2025 |

  • Theoretical content:
    • Chapter 3: Splitting the Monolith
  • Practice 6:
    • FastAPI — Programming Exercises
  • Seminar session:
    • System Analysis & Design for the Tuition Payment Subsystem
    • System Architecture Design for the Tuition Payment Subsystem
  • Teaching-learning resources are available in the Syllabus section.


Teaching-Learning Content — Week 7

Sept. 25, 2025 |

  • Theoretical content:
    • Chapter 2: How to Model Microservices
  • Practice 5:
    • FastAPI — Path Parameters, Query Parameters, Request Body
  • Seminar session:
    • System Analysis & Design for the Tuition Payment Subsystem
  • Teaching-learning resources are available in the Syllabus section.


Teaching-Learning Content — Week 6

Sept. 18, 2025 |

  • Theoretical content:
    • Chapter 1: What Are Microservices? (cont.)
    • Chapter 2: How to Model Microservices
  • Practice 4:
    • FastAPI — Query Parameters
  • Seminar session:
    • System Analysis & Design for the Tuition Payment Subsystem
  • Teaching-learning resources are available in the Syllabus section.


Teaching-Learning Content — Week 5

Sept. 5, 2025 |

  • Theoretical content:
    • Chapter 1: What Are Microservices? (cont.)
    • Chapter 2: How to Model Microservices
  • Practice 4:
    • FastAPI — Hello World; Path Parameters
  • Seminar session:
    • System Analysis & Design for the Tuition Payment Subsystem
  • Teaching-learning resources are available in the Syllabus section.


Seminar Topics & Presentation Group List

Sept. 5, 2025 |

  • Groups can view the list of seminar topics and presentation groups here.
  • Each group is required to prepare: (1) Presentation slides, (2) A short report (maximum 8 A4 pages), (3) A demonstration, and (4) 3–5 discussion questions for the class.
  • The seminar presentation schedule will begin on September 15, 2025.


Teaching-Learning Content — Week 4

Sept. 5, 2025 |

  • Theoretical content:
    • Chapter 1: What Are Microservices? (cont.)
  • Practice 2:
    • Pydantic Module
    • Python Concurrency
    • FastAPI Introduction
  • Teaching-learning resources are available in the Syllabus section.


Class Cancellation Due to Holiday Conflict — Week 3

Aug 29, 2025 |

  • Please note that our scheduled class on September 2, 2025 will not take place due to the National Day. Since the holiday coincides with our regular class time, the session is canceled.
  • We will resume our regular schedule on September 9, 2025. Please continue doing the mid-term projects in the meantime, and I encourage you to use the break to stay on track with the course content.


Teaching-Learning Content — Week 2

Aug 21, 2025 |

  • Theoretical content:
    • Chapter 1: What Are Microservices?
  • Hands-on Practice 1:
    • Programming API with Java
  • Teaching-learning resources are available in the Syllabus section on the course website.
  • Prepare the following resources on your computer:
    • Eclipse IDE for Enterprise Java and Web Developers
    • Postman
    • Apache Tomcat 8.5
    • Apache XAMPP
    • Jersey 2.46
  • Teaching-learning mode: in-person at the university.


Attendance Data

Aug 15, 2025 |

  • Attendance data is updated weekly here.


Group Registration & Final Project Proposal

Aug 15, 2025 |

  • Register group for conducting Midterm and Final Project
  • Propose Final Project topic
  • Notes:
    • Only one representative per group (the group leader) is responsible for registering the group information and proposing the final project topic.
    • Group information must be registered before proposing the final project topic.
    • Each group can have a maximum of 3 members.
    • For any changes needed after registration, student needs to contact the instructor directly during class hours for assistance.


Midterm Project (Fall, 2025)

Aug 15, 2025 |

  • The midterm project description and its RUBRIC are available at here.


Teaching-Learning Content — Week 1

Aug 15, 2025 |

  • Theoretical content:
    • Chapter 0: Course Introduction
    • Chapter 1: What Are Microservices?
  • Teaching-learning resources are available in the Syllabus section on the course website.
  • Teaching-learning mode: in-person at the university.