EJB Nedir?

EJB (Enterprise Java Beans), java sınıflarının belli kurallara göre oluşturulması ve geniş amaçlı uygulamalarda kullanılması, yani belli bir amaca yönelik, belli bir işi görecek metotlardır.

EJB belirtimine göre üç temel bileşen çeşidi bulunmaktadır. Bunlar:
1- Entity Bean
2- Session Bean 
3- Message-Driven Bean

EJB’nin İskeleti

EJB’nin öncelikle bilinmesi gereken özelliği dağıtık nesne teknolojilerini kullanmasıdır ve şu anda J2EE platformunun standart olarak kullandığı dağıtık nesne protokolü IIOP’dur. Ancak herhangi bir J2EE platformu (uygulama sunucusu da denilebilir) satıcısı kendi tescilli protokolünü bunun yanında kullanabilir. Bilindiği gibi dağıtık nesneler istemci tarafındaki bir vekil (stub) vasıtasıyla sunucu tarafındaki bir nesneye ulaşır.

Dağıtık nesneler üç parçadan oluşur.

1- İstemcide bulunan “stub” nesnesi
2- İstemci ile sunucu arasındaki iletişimi sağlayan protokol
3- Sunucuda bulunan “skeleton” nesnesi ve gerçek nesne

Basit bir dağıtık nesne uygulaması şöyle gerçekleştirilebilir:
Sunucu tarafından sağlanan isimlendirme (naming) servisiyle istemci aradığı nesnenin “stub” nesnesini ister. İstemcide bulunan “stub” nesnesi ile gerçekte iletişim kurmak istediğimiz nesne aynı arayüzü paylaştıkları için “stub” nesnesi gerçek nesnede bulunan bütün metodlara sahiptir. İstemci “stub” üzerinden bir metodu çağırır. Bu metodun ismi ve argümanları iletişim protokolü aracılığıyla “skeleton” nesnesine aktarılır. Sunucuda bulunan “skeleton” nesnesi aldığı metot ismini ve argümanları kullanarak gerçek nesne üzerinde metot çağırımını gerçekleştirir. Metot tarafından döndürülen sonuç “skeleton” nesnesi tarafından iletişim protokolü kullanılarak “stub” nesnesine döndürülür ve sonuç istemci tarafından kullanılır.

Dağıtık nesne teknolojilerine bir örnek CORBA’dır. CORBA standardına uygun ORB’lar istemci ile sunucu arasında bir omurga kurarak bu iki platformu birbirine bağlar ve sunucu taraftaki nesneleri isimlendirme (naming) servisiyle kullanıma açar.
stub

*Resimde istemci tarafından bulunan nesneler gerçek nesneler değil, sunucu tarafındaki nesnelere ulaşmayı sağlayan vekil (proxy, stub vs.) nesnelerdir.

Yukarıda tipik bir istemci-sunucu etkileşimi görülmektedir. Şekil (a)’da istemci RPC’yi kullanarak sunucuda bulunan bir yordamı çağırmaktadır. Bu yaklaşım fonksiyonel dillerde geçerlidir. Şekil (b)’de ise çağırılan yordam her nesne için farklı sonuçlar üretir. Bunun nedeni nesnelerin verilerini kendi içlerinde barındırmalarıdır.

Tipik bir EJB bileşeni en azından şu üç sınıfı içerir:

1- Home Interface
2- Remote Interface
3- Bean Class

Java RMI (Java Remote Method Invocation) : Bir makina üzerinde çalışan bir java nesnesinin, başka bir makina üzerinde çalışan diğer bir java nesnesinin
metodunun çağırmasını sağlar.Bu da dağıtık uygulama inşa etmemizi sağlar.

JMS(Java Message Service) API :JMS API’ deki mesajlaşma yazılım bileşenleri arasında haberleşme sağlar.Böylece yazılım bileşenleri, durumları hakkında bilgi sağlarlar. Peer- to – Peer ilişkisi vardır. Mesaj alınır, iletilir.

Kaynaklar………………………..

ejb-1 http://www.teknoturk.org/docking/yazilar/tt000081-yazi.htm
ejb-2 http://www.teknoturk.org/docking/yazilar/tt000085-yazi.htm
ejb-3 http://www.teknoturk.org/docking/yazilar/tt000093-yazi.htm

http://www.ethemsulan.com/category/remote-method-invocation-rmi
http://www.farukbozan.com/2009/12/jmsjava-message-service-api-1/

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s


%d blogcu bunu beğendi: