• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

Java RMI ile Dagitik Programlama

Üyelik Tarihi
7 Ocak 2015
Konular
4,091
Mesajlar
4,274
MFC Puanı
40
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