Java RMI kullanarak bir bilgisayar ya da sunucu üzerinde derlenmis kodu calistirmak cok kolay.
Neden Dağıtık Programlama ve JAVA?
Öğrenilmesi ve kullanılması kolay
Taşınabilir ve farklı platformlarda çalışabilme yetisi
Güvenilir olması
Birçok kütüphane ve kaynak
Java RMI Nedir?
Uzaktaki bir bilgisayar üzerinde çalışan “uzak nesne” nin metotlarını çağırabilmek uzak metot çağrımı (remote method invocation – RMI) olarak adlandırılmaktadır.
Java RMI, İnternet üzerinde farklı yerlerde bulunan ve TCP/IP ile bağlantısı sağlanmış sanal Java makineleri üzerindeki Java nesnelerinin, normal metot çağrımları kullanarak iletişimde bulunabilmesi için gerekli olan katmanları içermektedir.
Diğer bir deyişle, uzak metot çağrımı mekanizmasının Java ortamındaki gerçekleştirimidir.
Java RMI Mimarisi
Java RMI üç katmandan oluşur:
Kütük & İskelet Katmanı (Stub & Skeleton Layer)
Uzak Referans Katmanı (Remote Reference Layer)
İletim Katmanı (Transport Layer)
Kütük & İskelet Katmanı
İstemci, uzakta bulunan bir nesnenin metodları için kütükle iletişime geçer.
İstemci, nesneye kütük koduna olan referansla ulaşır.
İskelet, uzak nesnenin
İstenen metodunun gerçeklenmesi ve çağrılmasından,
Sonuçların elde edilmesinden
sorumludur.
Kütük kodu nesne aktarımı için paketleme işlemini yapar.
Uzak nesneye gönderme işlemini gerçekleştirir.
İstek, uzak referans ve iletim katmanlarıyla karşıya aktarılır.
Karşı tarafta istek, iletim ve uzak referans katmanlarıyla iskelet koda ulaşır.
İskelet kodu, paketi açar.
Uzak nesnenin metodunu çağırır.
İskelet kodu, metod sonuçlarını alır.
Kodu paketler, isteğin geldiği yoldan benzer şekilde karşıya gönderir.
Sonuçlar, kütük koda gelir ve kütük kod paketi açar, sonuçları istemciye iletir.
Kütük ve iskelet katmanlarının en büyük özelliği ise, yazılan programın platformdan bağımsız olmasını sağlamasıdır.
Uzak Referans Katmanı
Programcının yazdığı kodlar ile, bilgisayar ağı iletişimi arasında bir köprü görevi görür.
İskelet kodundan gelen çağrıları, iletim katmanı biçimlerine çevirir.
İletim katmanından gelen istekleri de iskelet katmanının anlayacağı biçime çevirir.
Uzak referans protokollerini gerçekleştirir.
İletim Katmanı
Bağlantının sağlanması
Bağlantının bakımı
Bağlantının kapatılması
TCP (Transmission Control Protocol) protokolünü kullanması
RMI İsimlendirme Servisi
İstemcilerin, uzaktaki nesneleri RMI ile çağırabilmesi için uzak nesnelere ilişkin referanslara ihtiyaçları vardır.
l Bunun için uzak nesneler, java.rmi.Naming sınıfında bulunan bind() metodunu kullanarak kendilerini kaydettirmelidirler (Naming Registry).
l İsimlendirme servisi “rmiregistry” komutu çalıştırılarak sağlanmaktadır.
l İstemciler, java.rmi.Naming isimli sınıfın “lookup()” isimli metodunu kullanarak, uzak nesnelerin hangileri olduğuna bakıp istenen uzak nesneye bir referans elde edebilmektedir.
Neden Dağıtık Programlama ve JAVA?
Öğrenilmesi ve kullanılması kolay
Taşınabilir ve farklı platformlarda çalışabilme yetisi
Güvenilir olması
Birçok kütüphane ve kaynak
Java RMI Nedir?
Uzaktaki bir bilgisayar üzerinde çalışan “uzak nesne” nin metotlarını çağırabilmek uzak metot çağrımı (remote method invocation – RMI) olarak adlandırılmaktadır.
Java RMI, İnternet üzerinde farklı yerlerde bulunan ve TCP/IP ile bağlantısı sağlanmış sanal Java makineleri üzerindeki Java nesnelerinin, normal metot çağrımları kullanarak iletişimde bulunabilmesi için gerekli olan katmanları içermektedir.
Diğer bir deyişle, uzak metot çağrımı mekanizmasının Java ortamındaki gerçekleştirimidir.
Java RMI Mimarisi
Java RMI üç katmandan oluşur:
Kütük & İskelet Katmanı (Stub & Skeleton Layer)
Uzak Referans Katmanı (Remote Reference Layer)
İletim Katmanı (Transport Layer)
Kütük & İskelet Katmanı
İstemci, uzakta bulunan bir nesnenin metodları için kütükle iletişime geçer.
İstemci, nesneye kütük koduna olan referansla ulaşır.
İskelet, uzak nesnenin
İstenen metodunun gerçeklenmesi ve çağrılmasından,
Sonuçların elde edilmesinden
sorumludur.
Kütük kodu nesne aktarımı için paketleme işlemini yapar.
Uzak nesneye gönderme işlemini gerçekleştirir.
İstek, uzak referans ve iletim katmanlarıyla karşıya aktarılır.
Karşı tarafta istek, iletim ve uzak referans katmanlarıyla iskelet koda ulaşır.
İskelet kodu, paketi açar.
Uzak nesnenin metodunu çağırır.
İskelet kodu, metod sonuçlarını alır.
Kodu paketler, isteğin geldiği yoldan benzer şekilde karşıya gönderir.
Sonuçlar, kütük koda gelir ve kütük kod paketi açar, sonuçları istemciye iletir.
Kütük ve iskelet katmanlarının en büyük özelliği ise, yazılan programın platformdan bağımsız olmasını sağlamasıdır.
Uzak Referans Katmanı
Programcının yazdığı kodlar ile, bilgisayar ağı iletişimi arasında bir köprü görevi görür.
İskelet kodundan gelen çağrıları, iletim katmanı biçimlerine çevirir.
İletim katmanından gelen istekleri de iskelet katmanının anlayacağı biçime çevirir.
Uzak referans protokollerini gerçekleştirir.
İletim Katmanı
Bağlantının sağlanması
Bağlantının bakımı
Bağlantının kapatılması
TCP (Transmission Control Protocol) protokolünü kullanması
RMI İsimlendirme Servisi
İstemcilerin, uzaktaki nesneleri RMI ile çağırabilmesi için uzak nesnelere ilişkin referanslara ihtiyaçları vardır.
l Bunun için uzak nesneler, java.rmi.Naming sınıfında bulunan bind() metodunu kullanarak kendilerini kaydettirmelidirler (Naming Registry).
l İsimlendirme servisi “rmiregistry” komutu çalıştırılarak sağlanmaktadır.
l İstemciler, java.rmi.Naming isimli sınıfın “lookup()” isimli metodunu kullanarak, uzak nesnelerin hangileri olduğuna bakıp istenen uzak nesneye bir referans elde edebilmektedir.