EJB teknolojisini ne zaman ve hangi tip projelerde kullanmak gerekir?

kpmakaleler
  • Turgay Can
  • Tarih

    11 Aug, 2013
  • Yorum

    0
  • Görüntüleme

    1599
  • İndirme

    0

EJB teknolojisini ne zaman ve hangi tip projelerde kullanmak gerekir?

Merhaba soru farklı bir platformda bu soru soruldu. Soruyu beğenip, cevap verdiğim için kendi yazdığım cevabı paylaşıyorum.

EJB'nin genel özelliği uygulamanızı mantıksal olarak katmana ayırır. Sizin iş(business) katmanınızı oluşturur. Yazılımı basitleştirir, Transactional Management : Birden çok datasource'unuzun kaynak yönetimini yapar, iş katmanında güvenlik işlemlerinizi yönetir. EJB aynı zamanda (remote anotasyonu ile) web servisi gibide davranabilir, veri alıp/göndermenize(JPA ile ve JPA ile oldukça uyumlu çalışır) yardımcı olur ve bunun yönetimi yapar. Bir çok xml konfigürasyonundan sizi kurtarır. Bu tip bir çok kolaylığı mevcut.

Bana göre en büyük dezavantajı ejb konteynır'ın uygulama sunucu üzerinde çalışması ve buna bağımlı kılması. Test senaryoları ve debug için sıkıntı yaratıyor zaman açısından. JRebel gibi araçlar mevcut ama oda tam anlamıyla hot swap denen olayı başaramıyor. NetBeans IDE üzerinde JRebel ile proje geliştirirken bu konuda çok problem yaşadım.

En büyük avantajını ise, NetBeans IDE üzerinde databsae dizaynımı iyi yaptığımda JPA2 ile entity'lerimi ve buna bağlı EJB konteynırım içindeki Stateless EJB sınıflarımı oto generate etmesidir. Hızlıca EJB konteynırımı oluşturup, buna bağlı olarak Web katmanında JSF2 ile uyumlu olarak standart CRUD işlemlerini basit JSF arayüzleri oluşturarak hızlıca oto generate etmesidir. Bu işlemlerin çok kısa sürmesi uygulama geliştirenler için mükemmel rahatlık. Sonrasında JSF controller'ınız içinde kontrollerinizi ve iş katmanında iş gerekliliklerinizi yapmanız yeterli oluyor.

Ek olarak, dağıtık mimariler içerisinde EJB katmanının data'ya ulaşmak açısından oldukça çok kullanılır. Bunun tercih sebebi ise anladığım kadarıyla EJB'nin remote arayüzü sayesinde servis olarak kullanılmasdır. Önceki işyerimde SOA projesinde çalışıyordum, EJB teknolojisini kullanıyordur, dağıtık mimari içerisinde uygulamaların haberleşmesi için EJB katmanında yararlanıyorduk.

Soru için güzel ek kaynak, okumakta fayda var.

Kaynak

0 Yorum..

Yorum yapmak için "Giriş yapın" yada "Misafir üye" olarak yorum yapabilirsiniz.

Yorum Yap