Enterprise Spring Boot
Böyük kod bazalarında Spring: modullaşma, transaction, təhlükəsizlik və müşahidə oluna bilənlik.
Bu proqram planlaşdırılır və hələ cədvələ salınmayıb. Tarix, qiymət və qrup elan olunmayıb. Maraq bildirsəniz, proqram planlaşdırıldıqda və ya fərdi format müzakirə olunduqda sizinlə əlaqə saxlayarıq.
Məqsəd
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.
Kimin üçündür
- Spring Boot ilə işləyən və komanda kod bazasında məsuliyyət daşıyan middle səviyyəli developer-lər
- Spring Security və OAuth2/OIDC-ni səthi yox, dərin başa düşmək istəyənlər
- Köhnə Spring tətbiqini təhlükəsiz şəkildə yeniləməli olan mühəndislər
- Senior backend rolu üçün Spring dərinliyi toplayanlar
Kimin üçün deyil
- Spring Boot ilə ilk tanışlıq axtaranlar: Java Backend Career Track daha uyğundur
- JVM və concurrency dərinliyini əsas hədəf kimi görənlər: bunun üçün Advanced Java Backend uyğundur
- Spring-dən kənar framework-lərə (Quarkus, Micronaut) fokuslananlar
İlkin tələblər
- Spring Boot ilə REST servisi və Spring Data JPA təcrübəsi
- Transaction və verilənlər bazası anlayışları
- HTTP, JSON və əsas autentifikasiya anlayışları
- Maven və ya Gradle ilə işləmək, Git
Proqramın sonunda nə bacaracaqsınız
Proqramın sonunda nə bacaracaqsınız
- Böyük Spring tətbiqini aydın sərhədləri olan modullara bölmək və asılılıqları idarə etmək
- @Transactional davranışını (propagation, rollback, proxy məhdudiyyətləri) düzgün proqnozlaşdırmaq
- Spring Security ilə OAuth2/OIDC resource server qurmaq və method security tətbiq etmək
- API-ni geriyə uyğunluğu qorumaqla versiyalaşdırmaq və xəta cavablarını RFC 9457 formatında vermək
- Micrometer və OpenTelemetry ilə metrika, trace və log-u əlaqələndirmək
- Timeout, retry, circuit breaker və bulkhead-i məqsədli seçib tətbiq etmək
- Startup, yaddaş və throughput üzrə ölçüyə əsaslanan tuning aparmaq
- Spring Boot major yenilənməsi üçün addım-addım miqrasiya planı hazırlamaq
Heç bir təhsil proqramı işə qəbula və ya vəzifə yüksəlişinə zəmanət verə bilməz.
Tədris planı
Tədris planı
- 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
Praktik 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)
Praktik 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
Praktik 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
Praktik 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
Praktik 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
Praktik 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
Praktik 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.
Praktik tapşırıqlar
- Modul sərhədlərini yoxlayan arxitektura testi
- Transaction xətasının təkrarlanması və düzəlişi
- OAuth2 resource server və security testləri
- Geriyə uyğun API dəyişikliyi və contract testi
- Trace və metriklə diaqnoz hesabatı
Portfolio nəticələri
- Modullara bölünmüş nümunə tətbiq
- Security testləri olan OAuth2 resource server
- Müşahidə dashboard-u və qısa runbook
- Spring Boot yenilənməsi planı və risk reyestri
Necə qiymətləndirilir
- Mentor code review-su
- Security və transaction qərarlarının müdafiəsi
- Yenilənmə planının yazılı təqdimatı
- Praktiki diaqnoz tapşırığı
Alətlər və texnologiyalar
- Spring Boot 3
- Spring Security
- Spring Data JPA
- Micrometer
- OpenTelemetry
- Resilience4j
- Keycloak
- Testcontainers
- Prometheus və Grafana
- OpenAPI
Səviyyə ardıcıllığı
- Əvvəl
- Əvvəl: Advanced Java Backend və ya Spring Boot ilə middle səviyyəli təcrübə.
- Sonra
- Sonra: Microservices və Distributed Systems, System Design.
- Müddət və format
- Müddət və format hələ müəyyən edilməyib; proqram planlaşdırılır və təqvimə salınmayıb.
Tez-tez verilən suallar
Tez-tez verilən suallar
Proqram hazırda açıqdır?
Xeyr. Proqram planlaşdırılır və hələ cədvələ salınmayıb. Tarix və qiymət elan olunmayıb. Maraq bildirə və ya konsultasiya istəyə bilərsiniz.
Əvvəlcə Advanced Java Backend keçməliyəm?
Məcburi deyil, amma tövsiyə olunur. Spring Boot ilə real təcrübəniz varsa və JVM, JPA əsaslarını bilirsinizsə, birbaşa qoşula bilərsiniz. Konsultasiyada birgə qiymətləndirmək olar.
Keycloak və ya başqa identity provider təcrübəsi lazımdır?
Xeyr, əvvəlcədən tələb olunmur. Autentifikasiyanın əsas anlayışlarını bilmək kifayətdir; OAuth2/OIDC axınları proqramda addım-addım izah olunur.
Proqram sertifikat və ya iş vədi verir?
Xeyr. Sertifikat və ya nəticə vədi yoxdur. Dəyərləndirmə mentor rəyi və müdafiə şəklindədir və tövsiyə xarakteri daşıyır.
Bu proqramla əlaqəli məqalələr
- API təhlükəsizliyiBackend mühəndisləri üçün OWASP API Security Top 10 ilə API təhlükəsizliyi
- ObservabilityObservability: log, metrik və trace
- Spring BootSpring Boot tətbiqində layer-lər: controller, service, repository
- Spring SecuritySpring Security-də JWT, yoxsa server session
- Tranzaksiyalar və ardıcıllıqSpring @Transactional tələləri: proxy, propagation və rollback qaydaları
- Spring BootSpring Boot-da validasiya və ProblemDetail ilə xəta cavabları