Enterprise Spring Boot: Modullar
Proqram Spring Boot-u kiçik servisdən böyük, uzunömürlü kod bazasına qədər düzgün istifadə etməyi hədəfləyir. Konfiqurasiya və modullaşma, transaction və uyğunluq, OAuth2/OIDC ilə təhlükəsizlik, API versiyalaşdırması və müşahidə oluna bilənlik bir bütöv kimi öyrənilir. Sonda iştirakçı mövcud Spring tətbiqini qiymətləndirib təkmilləşdirmə planı hazırlaya bilir.
01
Konfiqurasiya və modullaşma
Spring konteynerinin və konfiqurasiyanın böyük kod bazasında idarə olunan qalmasını təmin edirik.
- Bean həyat dövrü və auto-configuration mexanizmi
- @ConfigurationProperties və profil strategiyası
- Spring Modulith və ya paket əsaslı modul sərhədləri
- Asılılıq istiqaməti və dövri asılılıqların aradan qaldırılması
- Öz starter-ini yazmaq
Laboratoriya: Monolit tətbiqi aydın sərhədli modullara bölüb sərhəd pozuntusunu avtomatik yoxlayan test əlavə etmək.
02
Transaction və uyğunluq
Transaction annotasiyasının arxasında nə baş verdiyini və hansı hallarda yanıltdığını öyrənirik.
- Proxy əsaslı @Transactional və self-invocation tələsi
- Propagation və rollback qaydaları
- Isolation, optimistic və pessimistic locking
- Transaction daxilində xarici çağırışların riski
- Transaction sonrası hadisələr (@TransactionalEventListener)
Laboratoriya: Qismən uğurlu əməliyyatın tutarsız vəziyyət yaratdığı ssenarini təkrarlayıb transaction sərhədini düzəltmək.
03
Spring Security, OAuth2 və OIDC
Resource server tərəfində token yoxlamasını və səlahiyyət modelini düzgün qururuq.
- Security filter chain və sıra məsələsi
- OAuth2 resource server və JWT yoxlaması
- OIDC axını və token növləri
- Method security (@PreAuthorize) və səlahiyyət modeli
- CORS, CSRF və session siyasəti
- Security testləri
Laboratoriya: JWT ilə qorunan resource server qurub rol və scope əsaslı method security-ni testlərlə yoxlamaq.
04
API dizaynı və versiyalaşdırma
API-ni istehlakçıları sındırmadan inkişaf etdirməyin praktik yollarını məşq edirik.
- Resurs modelləşdirməsi və HTTP semantikası
- Geriyə uyğun dəyişiklik qaydaları
- Versiyalaşdırma yanaşmalarının müqayisəsi
- RFC 9457 problem details ilə xəta modeli
- OWASP API Security Top 10 üzrə yoxlama
- OpenAPI və contract testləri
Laboratoriya: Mövcud endpoint-i istehlakçıları sındırmadan dəyişdirib contract testi ilə uyğunluğu sübut etmək.
05
Müşahidə oluna bilənlik
Metrika, trace və log-u bir-birinə bağlayaraq sistemin davranışını görünən edirik.
- Micrometer metrikaları və cardinality
- OpenTelemetry trace və context propagation
- Structured log və correlation
- Health probe-lar və Actuator təhlükəsizliyi
- SLI/SLO əsaslı xəbərdarlıq
Laboratoriya: Servisə trace və metrik əlavə edib bir sorğunun log-dan trace-ə qədər izini göstərən dashboard hazırlamaq.
06
Dayanıqlılıq və performans
Asılılıq xarab olanda sistemin necə davranacağını və darboğazın harada olduğunu müəyyən edirik.
- Timeout büdcəsi, retry və backoff
- Circuit breaker və bulkhead (Resilience4j)
- Connection pool və thread pool ölçüləndirilməsi
- Caching: nə, harada və nə qədər
- Startup və yaddaş tuning
Laboratoriya: Yavaş asılılıq simulyasiya edib servisin timeout və circuit breaker ilə necə davrandığını yük testində ölçmək.
07
Yeniləmə və miqrasiya strategiyası
Major versiya keçidini və köhnə kodun tədricən yenilənməsini risksiz planlaşdırırıq.
- Release notes və migration guide oxumaq
- Deprecated API-lərin inventarizasiyası
- Test örtüyünü miqrasiyadan əvvəl artırmaq
- Mərhələli keçid və geri qayıtma planı
- Asılılıq uyğunluğu və Jakarta keçidi
Laboratoriya: Nümunə tətbiq üçün Spring Boot major yenilənməsi planı və risk reyestrini yazıb ilk mərhələni icra etmək.