Phát triển phần mềm hướng dịch vụ

Phát triển phần mềm hướng dịch vụ

Thông tin chung

Mã học phầnTín chỉLý thuyếtThảo luậnHọc kỳ
INT1448336 tiết18 tiếtII, 2025–2026

Giảng viên: Đặng Ngọc Hùng — hungdn@ptit.edu.vn

Mục tiêu

Sau khi hoàn thành môn học, sinh viên có khả năng:

  1. Phân tích và thiết kế hệ thống phần mềm hướng dịch vụ
  2. Phát triển ứng dụng theo kiến trúc Microservices
  3. Triển khai và vận hành hệ thống với CI/CD

Kế hoạch học tập

Phần 1 — Lý thuyết (Giảng viên trình bày)

TuầnChủ đề / Hoạt độngNội dung
1Giới thiệu môn họcRoadmap, tổng quan môn học
2Kiến trúc hướng dịch vụKhái niệm SOA, nguyên lý
3Phân tích và phân rã dịch vụPhân tầng dịch vụ, mô hình hóa
4Thiết kế API và giao tiếpREST, hợp đồng dịch vụ

Phần 2 — Seminar (Sinh viên trình bày)

TuầnChủ đề SeminarGhi chú
5Service Gateway & DiscoveryAPI Gateway, Consul/Eureka, edge routing
6Communication StylesREST vs gRPC, async messaging, idempotency
7Transactional Messaging & SagaOutbox pattern, Saga (choreography/orchestration)
8Circuit Breaker & ReliabilityRetry, Timeout, Bulkhead, fallback
9Observability & TracingLogs, metrics, distributed tracing

Phần 3 — Dự án

TuầnHoạt độngGhi chú
10Khởi động dự ánChia nhóm (tối đa 3 SV)
11–12Phát triển & Review 1Phát triển từng phần
13–14Phát triển & Review 2Hoàn thiện chức năng
15Review & Hoàn thiệnChốt sản phẩm
16Bảo vệ dự ánBảo vệ cá nhân

Slide & Học liệu

Tuần 1 — Giới thiệu môn học

Tuần 2 — Kiến trúc hướng dịch vụ

Tuần 3 — Phân tích và phân rã dịch vụ

Tuần 4 — Thiết kế API và giao tiếp

Tuần 5 — Service Gateway & Discovery

  • (Slide sẽ cập nhật sau)

Tuần 6 — Communication Styles

  • (Slide sẽ cập nhật sau)

Tuần 7 — Transactional Messaging & Saga

  • (Slide sẽ cập nhật sau)

Tuần 8 — Circuit Breaker & Reliability

  • (Slide sẽ cập nhật sau)

Tuần 9 — Observability & Tracing

  • (Slide sẽ cập nhật sau)

Đánh giá

Thành phầnTỷ lệMô tả
Chuyên cần10%Điểm danh hàng tuần
Kiểm tra20%Trắc nghiệm + Báo cáo seminar
Dự án70%Báo cáo nhóm (40%) + Bảo vệ cá nhân (30%)

Tài liệu tham khảo

Phần 1: Lý thuyết

  1. Học liệu 01 — Erl, T. (2016). Service-Oriented Architecture: Analysis & Design for Services and Microservices (2nd ed.).

Phần 2: Seminar

  1. Học liệu 02 — Richardson, C. Microservices Patterns: With Examples in Java.
  2. Học liệu 03 — Mitra, R., & Nadareishvili, I. (2020). Microservices: Up and Running.

Seminar & Dự án

  • Chủ đề Seminar & Tài liệu: (Link sẽ cập nhật sau)
  • Hợp tác dự án: (Link sẽ cập nhật sau)