EJB2 ve EJB3
EJB (Enterprise JavaBeans), Java EE (Java Platform, Enterprise Edition) belirtiminde bulunan bir Java API (Uygulama Programlama Arabirimi) 'dir. EJB, kurumsal uygulamaların geliştirilmesi için mimari bir model tanımlar. Bu, kurumsal uygulamanın iş mantığını yakalayabilen, yönetilen bir sunucu tarafı modelidir. IBM, EJB'nin 1997'de geliştirdiği orijinal yaratıcısıdır. Sun Microsystems 1999'da kabul etti.
EJB'nin sunulmasından önce, arka uç iş kodunda bulunan sorunlara yönelik çözümlerin programcılar tarafından sıklıkla yeniden uygulandığı bulunmuştur. Sonuç olarak EJB, kalıcılık, işlemsel bütünlük ve güvenlik gibi bu ortak sorunların ele alınması için tanıtıldı. EJB, uygulama sunucusunun işlemleri nasıl işlemesi, JPA (Java Kalıcılık API) hizmetleriyle bütünleşmesi, eşzamanlılık denetimini ele alması, JMS (Java İleti Hizmeti) Olaylarını işlemesi, JNDI ( Java Adlandırma ve Dizin Arayüzü), JCE (Java Şifreleme Uzantısı) ve JAAS (Java Kimlik Doğrulama ve Yetkilendirme Hizmeti) ile güvenli programlar geliştirin, bileşenleri dağıtın, RMI-IIOP (İnternet Inter-Orb Protokolü üzerinden Java Uzaktan Yöntem Çağırma arayüzü) ile uzaktan iletişim kurun , web hizmetleri geliştirme, eşzamansız yöntemleri çağırma ve Zamanlayıcı hizmetini kullanma.
EJB2
EJB2 (EJB 2.0) 22 Ağustos 2001'de piyasaya sürüldü. Farklı satıcılar tarafından geliştirilen araçları birleştirerek Java'da dağıtılmış nesne yönelimli uygulamalar geliştirmeye yönelik özellikleri açıklar. EJB2'nin temel amaçlarından biri, programcıların çoklu iş parçacığı ve bağlantı havuzu oluşturma gibi düşük düzeyli ayrıntıları anlamak zorunda kalmadan kurumsal uygulamaları daha kolay geliştirmelerine olanak sağlamaktı. Başka bir hedef, programcıların bir kez “Bean” yazmasına ve yeniden derleme yapmadan her yerde çalışmasına izin vermekti (Java programlama dilinin “bir kez yaz, herhangi bir yerde çalıştır” sloganına bağlı kalmak). Ayrıca, EJB2, farklı satıcılar tarafından geliştirilen bileşenlerin kolayca birlikte çalışmasına ve satıcıların ürünleri için EJB'leri destekleyebilecek uzantılar yazmasına izin vermeyi amaçlamıştır..
EJB3
EJB3 (EJB 3.0) 11 Mayıs 2006'da yayınlandı. EJB3, önceki sürümlerde kullanılan dağıtım tanımlayıcıları yerine ek açıklamaları kullanmalarına izin vererek programcıların hayatını çok kolaylaştırdı. EJB3, ev / uzak arabirimleri ve ejb-jar.xml dosyasını kullanma ihtiyacını ortadan kaldırarak bir iş arabirimi ve bu iş arabirimini uygulayabilen belirli bir varlık çekirdeği içerir. EJB3'ün genel performansı EJB2'ye göre çok daha gelişmiş ve EJB'nin bu sürümünde yapılandırılabilirlik, esneklik ve taşınabilirlikte önemli bir artış var.
EJB2 ve EJB3 arasındaki fark nedir?
EJB3, EJB2'ye göre yapılandırma ve performansta gözle görülür bir iyileşme gösterir. Bu performans iyileştirmesinin bir nedeni, nesne referansları için EJB2'de kullanılan JNDI aramaları yerine POJO'nun (Düz Eski Java Nesnesi) meta veri ve XML Dağıtım Tanımlayıcıları ile EJB3 tarafından kullanılmasıdır. EJB3'ün yapılandırılması çok daha basittir, çünkü programcının Ev / Uzak arayüzleri ve diğerlerini (örn. SessionBean) uygulaması gerekmez, bu da konteyner geri çağrı yöntemlerini (ejbActivate ve ejbStore gibi) kullanma ihtiyacını ortadan kaldırır.
Ayrıca esneklik ve taşınabilirlik alanlarında EJB3, EJB2'den daha iyidir. Örneğin, EJB3 varlıkları DAO'ya (Veri Erişim Nesnesi) dönüştürmek kolaydır veya bunun tersi de geçerlidir, çünkü EJB3 varlıkları hafiftir (yukarıda belirtilen arayüzleri uygulayan ağır EJB2 varlıklarının aksine). EJB3'te yazılan veritabanı sorguları çok esnektir, çünkü EJB-QL'nin daha eski sürümleri yerine rafine edilmiş bir EJB-QL kullanır. EJB3, tüm veri işlemleri için daha genelleştirilmiş JPA'yı destekleyerek EJB2'nin (veritabanı erişimi için varlık fasulye kullanan) tüm taşınabilirlik sorunlarını kaldırır.
Yürütmek için bir EJB konteynerine ihtiyaç duyan EJB2'den farklı olarak, EJB3 konteynır kullanmak zorunda kalmadan bağımsız bir JVM'de (Java Sanal Makinesi) yürütülebilir (bu, standart arayüzler uygulamadığı için mümkündür). EJB2'den farklı olarak, EJB3 üçüncü taraflarca sunulan kalıcılık sağlayıcılarıyla kolayca takılabilir. EJB3 ve EJB2 arasındaki bir diğer önemli fark, EJB3'ün ek açıklama tabanlı güvenlik kullanabilmesi, EJB2 ise dağıtım tanımlayıcı tabanlı güvenlik kullanmasıdır. Bu, yapılandırma ve kurulum görevlerinin EJB3'te çok daha kolay olduğu ve EJB2'ye kıyasla performans ek yüklerinde önemli bir azalma olduğu anlamına gelir.