Java RMI ile Dagitik Programlama

CorsaiR

Emektar
27 Ara 2005
1,228
18
Çekirdekten
Java RMI ile Dağıtık Programlama Kavramının İncelenmesi

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)

İstemci
Sunucu
Kütük
İskelet
Uzak Referans
Uzak Referans
İletim
İletim

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.
◊ Bunun için uzak nesneler, java.rmi.Naming sınıfında bulunan bind() metodunu kullanarak kendilerini kaydettirmelidirler (Naming Registry).
◊ İsimlendirme servisi “rmiregistry” komutu çalıştırılarak sağlanmaktadır.
◊ İ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.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.