EJB

EJB 2-Local Ve Remote Interface

Merhaba arkadaşlar. Bu yazıda EJB’de kod yazmaya giriş yapacağız ve bu kod yapısının temel taşı olan Interface ile başlayacağız.

EJB mimarisini tasarlayan yazılımcılar EJB kodlarının yer aldığı sınıfa direk ulaşılmasını engellemişler ve bunun yerine EJB’ye bir Interface üzerinden ulaşılmasını sağlamışlar. Bu yapı ile aynı yapının farklı durumlara da hizmet vermesini sağlamak amaçlanmış.

Bildiğiniz üzere Interface içinde metodun sadece tanımlaması yapılır, gövdesi yazılmaz. Bu Interface’i implement eden sınıflar da Interface içindeki metodu istedikleri gibi Override edebilirler. İşte EJB teknolojisinde de bu Interface’i faklı EJB sınıfları implement edip farklı durumlar için aynı yapı ile hizmet vermesi amaçlanmıştır.

EJB sınıflarımıza ulaşabilmek için Interface üzerinden gitmemiz lazım ve burada Interface’imiz iki farklı notasyon ile işaretlenmiş olabilir. Bu notasyonlar @Local ve @Remote notasyonlarıdır.

@Local Notasyonu

Interface’mizi javax.ejb paketinin altında bulunan Local ile işaretleyerek Local bir Interface elde edebiliriz. Burada Local ile ne kastediyoruz?

Local ile işaretlenmiş bir Interface’e aynı JVM içinde çalışan istemciler ulaşabilir. Bilgisayarımızda kurulu bir JVM vardır ve biz tüm uygulamalarımızı onun üstünde çalıştırırız. Bu durumda EJB içinde @Local ile tanımladığımız Interface tüm istemciler için ulaşılabilir konumda olmaktadır.

Basit bir Local interface kodu şöyle olur:

import javax.ejb.Local;
@Local
public interface EJBInterface 
{
    public String sayHelloMessage();
}

@Remote Notasyonu

Interface’mizi javax.ejb paketinin altındaki Remote ile işaretleyerek Remote bir interface elde edebiliriz. Burada Remote ile ne kastediyoruz?

Remote ile işaretlenmiş bir Interface farklı JVM’lerde çalışan istemciler tarafından ulaşılabilir konumdadır. Bilgisayarınızda ya da uygulamayı yüklediğimiz sunucuda iki farklı JVM olabilir ve sizin yazdığınız EJB’ye başka sunucudaki, başka JVM’deki bir istemcinin ulaşması gerekebilir. Bu durumda Interface’i @Remote ile işaretlememiz gerekir.

Basit bir Remote Interface kodu şöyle olur:

import javax.ejb.Remote; 
@Remote
public interface EJBInterface 
{
     public String sayHelloMessage(); 
}

Bu yazıda bu kadar arkadaşlar. Gelecek yazıda bu Interface yapısını kullanarak Session Beans konusunu öğreneceğiz. Sağlıcakla kalın.

2 Yorum

  • 2 makaleyi okudum.gayet başarılı.örneklerinizi real projeler üzerinden verirseniz daha da faydalı olur.yani gercek projede hangi durumlarda local ve remote interfacelere ihtiyaç duyula bilir görmüş oluruz

İlkay GÜNEL için bir yanıt yazın X