EJB, şunun kısaltmasıdır: kurumsal java fasulyesi . Güvenli, sağlam ve ölçeklenebilir dağıtılmış uygulamalar geliştirmek için Sun Microsystems tarafından sağlanan bir spesifikasyondur.
Dağıtılmış uygulamalar hakkında bilgi almak için şu adresi ziyaret edin: RMI Eğitimi Birinci.
EJB uygulamasını çalıştırmak için bir uygulama sunucusu (EJB Container) Jboss, Glassfish, Weblogic, Websphere vb. gibi şunları gerçekleştirir:
- Yaşam döngüsü yönetimi,
- güvenlik,
- işlem yönetimi ve
- nesne havuzu.
EJB uygulaması sunucu üzerinde konuşlandırıldığı için sunucu tarafı bileşeni olarak da adlandırılır.
EJB COM gibidir ( Bileşen Nesne Modeli ) Microsoft tarafından sağlanmıştır. Ancak Java Bean, RMI ve Web Servislerinden farklıdır.
Kurumsal Java Bean ne zaman kullanılır?
- Uygulamanın Uzaktan Erişime ihtiyacı var . Daha doğrusu dağıtılıyor.
- Uygulamanın ölçeklenebilir olması gerekiyor . EJB uygulamaları yük dengelemeyi, kümelemeyi ve yük devretmeyi destekler.
- Uygulamanın kapsüllenmiş iş mantığına ihtiyacı var . EJB uygulaması sunum ve kalıcı katmandan ayrılmıştır.
Kurumsal Java Bean Türleri
Java'da 3 tür kurumsal fasulye vardır.
Oturum Fasulyesi
Oturum çekirdeği, yerel, uzak veya web hizmeti istemcisi tarafından çağrılabilen iş mantığını içerir.
Mesaj Odaklı Fasulye
Session Bean gibi iş mantığını içerir ancak mesaj iletilerek çağrılır.
Varlık Fasulyesi
Veritabanında kalıcı olabilecek durumu kapsüller. Kullanımdan kaldırıldı. Artık yerini JPA (Java Persistent API) almıştır.
RMI ve EJB arasındaki fark
Hem RMI hem de EJB, başka bir JVM'de çalışan bir nesneye (uzak nesne olarak bilinir) başka bir JVM'den erişme hizmetleri sağlar. RMI ve EJB arasındaki farklar aşağıda verilmiştir:
RMI | EJB |
---|---|
RMI'da güvenlik, işlem yönetimi, nesne havuzu oluşturma vb. ara yazılım hizmetlerinin Java programcısı tarafından yapılması gerekir. | EJB'de middleware hizmetleri EJB Container tarafından otomatik olarak sağlanmaktadır. |
RMI, sunucu tarafı bir bileşen değildir. Sunucuya dağıtılması gerekli değildir. | EJB sunucu tarafı bir bileşendir, sunucuya dağıtılması gerekir. |
RMI, soket programlamanın üstüne inşa edilmiştir. | EJB teknolojisi RMI'nın üzerine inşa edilmiştir. |
EJB ve Web hizmeti
EJB'de hem fasulye bileşeni hem de fasulye istemcisi Java dilinde yazılmalıdır.
Fasulye istemcisinin aşağıdaki gibi başka bir dilde yazılması gerekiyorsa: .açık , php vs. ile gitmemiz gerekiyor Ağ hizmetleri (SABUN veya DİNLENME). Yani web servisli EJB daha iyi bir seçenek olacaktır.
EJB'nin dezavantajları
- Uygulama sunucusu gerektirir
- Yalnızca Java istemcisi gerektirir. Diğer dil istemcisi için web servisine gitmeniz gerekir.
- Ejb uygulamalarını anlamak ve geliştirmek karmaşıktır.