Neler yeni
Türkiye'nin En Güncel Forum Sitesi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

Java RMI ile Dagitik Programlama

ByOnur58

Kayıtlı Üye
MFC Üyesi
  • Üyelik Tarihi
    7 Ocak 2015
  • Mesajlar
    2,113
  • MFC Puanı
    10
  • MFC Seviyesi

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 Alt