EJB teknolojisini ne zaman, hangi tip projelerde kullanmak gerekir? Faydaları nelerdir?

soruldu: 11 Kas '12, 08:24

mucuraga's gravatar image

mucuraga
42681219
cevap kabul oranı: 10%

değiştirildi: 11 Kas '12, 11:11

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183

EJB etiketli sorularda aradığınız cevapların bir kısmı bulunmakta.

(11 Kas '12, 09:50) rahmanyazgan ♦ rahmanyazgan's gravatar image

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.

Sorunuz üzerine güzel bir kaynak buldum.

Okumakta fayda var.

Kaynak

permanent link

cevaplandı: 10 Ağu '13, 17:50

Turgay%20Can's gravatar image

Turgay Can
8.4k63799
cevap kabul oranı: 18%

değiştirildi: 10 Ağu '13, 18:25

Merakımdan küçük bir soruda ben sorayım ( XML config dosyalarını görünce ). Java' da neden bu kadar XML config dosyası mevcut? Bu config dosyaları ile başedebilen bir uygulama mevcutmu? Aynı bela benim başımda da mevcut ( Magento eCommerce yazılımında ). Magento' da en ufak birşeyi dahi XML config dosyası ile halletmek gerekiyor.

(11 Ağu '13, 02:14) Oğuz Çelikdemir O%C4%9Fuz%20%C3%87elikdemir's gravatar image

@ -> Anotasyonlar ile artık bu tür işlerin üstesinden geliniyor.

(11 Ağu '13, 05:25) Turgay Can Turgay%20Can's gravatar image

Bende devamında merak ettigim birşeyi sormak istiyorum. http://www.btsoru.com/questions/6224/ejb-32-ve-cdi-m-yoksa-spring-mi

(12 Ağu '13, 09:22) Alp Alp's gravatar image
1

@alp istegin uzerine soruyu yorumlarla beraber sildim!

(12 Ağu '13, 09:29) CemIkta ♦ CemIkta's gravatar image
1

@alp, sorun için yorumum : tamamı ile tercih meselesi birbirinin muadili olan teknolojiler. Uygulama sunucusu ile çalışmayıp, TDD metodolojisi ile yazılım geliştireceksen Spring', gözüm kapalı öneririm. Yok ben EJB katmanı oluşturup bu katman üzerinde bir çok proje ve datasource ile kullanırım dersen EJB 'yi öneririm. Bu tür işler genelde geliştiriciye değilde ortamı dizayn eden yazılım mimarlarının tercihlerine kalıyor. Geneldede hangi teknolojiye aşina iseler onu tercih ediyorlar.

(12 Ağu '13, 11:10) Turgay Can Turgay%20Can's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079
×27

Soruldu: 11 Kas '12, 08:24

Görüntüleme: 1,911 kez

Son güncelleme: 12 Ağu '13, 11:10

powered by BitNami OSQA