JAVA EE EĞİTİMİ
Java EE, Oracle tarafından 2017'de Eclipse Vakfı'na devredildikten sonra Jakarta EE adını aldı. Banka, sigorta, telekom ve kamu kurumlarının binlerce sunucu üzerinde çalışan kurumsal yazılım altyapısı bu standartlara dayanır. Spring framework popüler olsa da Java EE/Jakarta EE özellikle eski sistemler ve hâlâ yeni geliştirilen kurumsal projeler için tartışmasız önemli kalır.
Java EE Eğitimi, kurumsal Java geliştirme standardının temellerini katılımcıya kazandırır. Servlet ve JSP ile web tabanlı uygulamalar, MVC mimarisi, JPA (Java Persistence API) ile veritabanı yönetimi, EJB (Enterprise JavaBeans) ile iş mantığı katmanı, JMS (mesajlaşma servisi), CDI (Contexts and Dependency Injection), uygulama sunucuları (WildFly, Payara) ve Jakarta EE'ye geçiş süreçleri işlenir.
Java EE Eğitimi, kurumsal Java geliştiricileri, banka-sigorta-telekom sektörü yazılımcıları, eski sistemleri devralan mühendisler ve modernizasyon projelerinde çalışan profesyoneller için tasarlanmıştır. Eğitim sonunda katılımcı, kurumsal Java uygulamalarını mimari düzeyde tasarlayabilir.
Ön Koşullar
Java EE Eğitimi için ön koşul, Java temel ve ileri düzey bilgi sahibi olmaktır. Web teknolojileri ve veritabanı kavramlarına aşinalık avantajdır.
Kimler Katılmalı
- Kurumsal Java Geliştiricileri: Büyük ölçekli enterprise yazılım yapan profesyoneller
- Banka-Sigorta-Telekom Yazılımcıları: Java EE üzerine kurulu sistemleri yöneten kadrolar
- Eski Sistemleri Devralan Mühendisler: Legacy Java EE projelerini sürdüren profesyoneller
- Modernizasyon Projelerinde Çalışanlar: Java EE'den Jakarta EE'ye geçişi yöneten ekipler
- Kamu Sektörü Yazılım Ekipleri: Kritik Java EE sistemleriyle çalışan profesyoneller
- Application Server Yöneticileri: WildFly, Payara, WebLogic operatörleri
- Java Mimarisi Yapan Tech Lead Adayları: Enterprise düzey mimari tasarlayanlar
Eğitim Yöntemi
Sunum, Servlet ve JSP atölyesi, JPA-EJB egzersizi, uygulama sunucu (WildFly veya Payara) demo ve katılımcının kendi mini kurumsal uygulamasını üretmesi ile yürür.
Kazanımlar
- Servlet ve JSP: Web tabanlı uygulamalar için temel teknolojiler
- MVC Mimarisi: Model-View-Controller ayrımı
- JPA: Java Persistence API ile veritabanı yönetimi
- EJB: Enterprise JavaBeans ile iş mantığı katmanı
- JMS: Asenkron mesajlaşma servisi entegrasyonu
- CDI: Contexts and Dependency Injection ile bileşen yönetimi
- Uygulama Sunucuları: WildFly veya Payara üzerinde dağıtım
Eğitim Süresi
5 Gün (40 Saat). Kurumsal talebe göre 3 günlük yoğun veya 8 günlük sertifikasyon yolu versiyonu olarak planlanabilir.
Java EE Eğitimi İçeriği
1. Java EE'den Jakarta EE'ye Tarihçe
- J2EE, Java EE ve Jakarta EE geçişi
- Oracle'dan Eclipse Vakfı'na devir süreci
- Namespace değişikliği (javax → jakarta)
- Mevcut versiyon ve roadmap
2. Kurumsal Java Mimarisi Temelleri
- Çok katmanlı mimari (presentation, business, persistence)
- Application server ile web container farkı
- EJB container ve container servisleri
- Yönetilen bean (managed bean) kavramı
- Java EE ile Spring framework karşılaştırması
3. Geliştirme Ortamı Kurulumu
- JDK ve Maven yapılandırması
- Eclipse, IntelliJ IDEA kurulumu
- WildFly veya Payara application server kurulumu
- Hızlı başlangıç projesi (archetype)
4. Servlet API Temelleri
- HTTP istek/cevap döngüsü
- HttpServlet sınıfı ve life cycle
- Request ve response objeleri
- Servlet konfigürasyonu (web.xml ve annotation)
5. Session, Cookie ve Filter
- HttpSession ile oturum yönetimi
- Cookie tabanlı durum saklama
- Filter zincirleri ile cross-cutting concerns
- Listener mekanizması
- Güvenli oturum yönetimi prensipleri
6. JSP (JavaServer Pages)
- JSP sayfa direktifleri ve sözdizimi
- JSTL ile etiket tabanlı geliştirme
- Expression Language (EL) kullanımı
- Custom tag oluşturma
- JSP'nin modern web framework'lere göre yeri
7. MVC Mimarisi Uygulaması
- Model, view ve controller sorumluluk ayrımı
- Front controller pattern
- JSP'yi view olarak kullanma
- Servlet'leri controller olarak konumlandırma
8. JPA (Java Persistence API) Temelleri
- ORM (Object-Relational Mapping) prensipleri
- @Entity ve @Table annotation kullanımı
- EntityManager ve persistence context
- Primary key stratejileri
- persistence.xml konfigürasyonu
9. JPA İlişkiler ve Sorgular
- OneToMany, ManyToOne ve ManyToMany ilişkileri
- Cascade ve fetch tipleri
- JPQL ile veri sorgulama
- Criteria API ile dinamik sorgular
- Native SQL kullanımı
10. JPA Performans ve Best Practice
- N+1 sorgu problemi
- Cache stratejileri (first level, second level)
- Lazy ve eager fetch arasında seçim
- Batch ekleme ve güncelleme
11. EJB (Enterprise JavaBeans)
- Stateless, stateful ve singleton session bean
- EJB life cycle
- İş mantığı (business logic) katmanı
- Remote ve local interface
- Dependency injection (@EJB)
12. CDI (Contexts and Dependency Injection)
- @Inject ile dependency injection
- Qualifier ve producer kullanımı
- Scope tipleri (RequestScoped, SessionScoped)
- Interceptor ve decorator
- Event mekanizması
13. Transaction Yönetimi
- Container-managed transaction (CMT)
- Bean-managed transaction (BMT)
- Transaction attribute tipleri
- Distributed transaction (XA)
- Rollback ve hata yönetimi
14. JMS (Java Message Service)
- Mesajlaşma temelleri ve mimari
- Queue ve Topic farkı
- Message-driven bean (MDB) kullanımı
- Asenkron iş akışı tasarımı
- JMS ile entegrasyon senaryoları
15. JAX-RS ile REST API
- JAX-RS annotation'ları (@Path, @GET, @POST)
- JSON serileştirme (JSON-B, JSON-P)
- Path ve query parametreleri
- Filter ve interceptor kullanımı
- Exception mapping
16. JAX-WS ile SOAP Web Service
- WSDL ve XSD temelleri
- SOAP servis tanımlama
- Client side wsimport kullanımı
- Legacy SOAP sistemleriyle entegrasyon
17. Güvenlik (Jakarta Security)
- Authentication ve authorization mekanizmaları
- Realm ve user-role yapılandırması
- HTTPS, JWT ve OAuth2 entegrasyonu
- Method seviyesi güvenlik
- Cross-site scripting ve CSRF koruması
18. Application Server Yönetimi (WildFly/Payara)
- Sunucu kurulumu ve standalone modu
- Datasource ve JNDI konfigürasyonu
- Deployment (war/ear) işlemleri
- Domain mode ile cluster yönetimi
- Log ve monitoring araçları
19. Microservice Yaklaşımı ve MicroProfile
- Eclipse MicroProfile genel bakış
- Config, Health, Metrics özellikleri
- OpenAPI ve REST Client
- Fault tolerance (Retry, CircuitBreaker)
- Microservice ile monolit karşılaştırması
20. Jakarta EE'ye Geçiş Stratejileri
- Namespace değişikliği için araçlar
- Bağımlılık güncellemeleri
- Test ve regresyon kontrol süreci
- Container ve runtime uyumluluğu
- Aşamalı geçiş yol haritası
21. Bitirme Projesi ve Best Practice
- Sıfırdan mini kurumsal uygulama kurma
- Mimari karar dokümantasyonu
- Performans ve güvenlik kontrol listesi
- Production'a hazırlık checklist'i





