RMI (Remote Method Invocation, Uzaktan Metod Çağırma)
Yazan : Şadi Evren ŞEKER
Dağıtık programlamanın bir parçası olan RPC( Remote Procedure Call ) üzerine inşa edilmiş olan ve nesne yönelimli programlama akımıyla birlikte gelişmiş olan RMI yaklaşımı basitçe bir kodun bir parçası olan methodun başka bir kod tarafından çağrılmasını sağlar.
Temel olarak sistemde rmiregistry ismi verilen bir kayıt üzerinde RMI için çağrılması uygun methodların bir kaydı tutulur. Bu methodlardan birisini çağırmak isteyen sınıf (class) ise kayıt üzerinden ilgili methodu çağırıp sonucu bir nesne olarak kendisine alır.
Dağıtık Nesne Mimarisi adı da verilen bu mimaride iki taraf bulunur istemci (client) ve sunucu (server). Klasik bir RMI modelinde sunucu kendi üzerinde objeler oluşturur ve bu objelerin üzerindeki metodların çağrılması (invoke) için bekler. İstemci ise uzaktaki bu nesnelere birer referans oluşturur ve bu referans marifetiyle nesneler üzerindeki methodları çağırır. Bu işlemi sırasıyla 3 aşamada ele almak mümkündür:
- Uzaktaki nesneye erişilmesi: Bu aşamada uzaktaki nesnenin konumunun belirlenmesi ve erişmek için gerekli adımların tamamlanması yapılır. Bu işi yapmanın pek çok farklı yolu olmasına karşılık en temel ve hızlı yollarından birisi RMI isim hizmeti olan RMIregistry üzerinde bir kayıt marifetiyle ulaşmaktır.
- Uzaktaki nesne ile iletişim: Bağlantı kurulduktan sonra bu nesne üzerinde bir fonksiyonun çağrılması, bu fonksiyona parametre geçilmesi veya sonucunun alınması gibi iletişim işlemleri yapılır. Ancak programcı bu işlemlerin hiçbirinden haberdar olmaz. Sanki yerel bir nesneyi çağırıyor gibi kodunu yazar ve çalıştırır.
- Uzaktaki nesnenin, yerel bir sınıf tanımının oluşturulması. Bu aşama ise yerel nesnenin uzaktaki nesneyi tanıması için gerekli olan aşamadır. Yani yereldeki nesneler uzakta bulunan nesnenin hangi fonksiyonlarını çağırabileceklerini bilmelidirler. Bu yüzden yerelde bir kopya sınıf bilgisi tutulur.
« Kütük (stub, nesne vekili, object Proxy) | Tasarım Kalıpları (Tasmim Kalıpları, Design Patterns) »
Yorumlar
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'RMI (Remote Method Invocation, Uzaktan Metod Çağırma)' isimli yazı 28 Nov 2008 tarihinde, saat: 01:57 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 563 defa okunmuştur.
Benzer yazıları Bilgisayar Kavramları, JAVA, Nesne Yönelimli Programlama, Programlama Dilleri kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.
Yazarın Kitabı
Bu yazının yazarı Şadi Evren ŞEKER'in son çıkan kitabı "Programlama ve Veri Yapılarına giriş (C, C++ ve JAVA ile)" hakkında bilgi almak için Buraya tıklayabilirsiniz.
Eklenen Son Yazılar
- Visual Basic ile Gösterici (Pointer) Kullanımı
- Hasse Çizgeleri (Hasse Diagrams)
- Zeki Vekiller (Akıllı Ajanlar, Intelligent Agents, Zeki Etmenler )
- Integral Kriptoanalizi ( Toplam Tecessüsü , Integral Cryptoanalysis)
- Diferansiyel Kriptoanalizi ( Fark Tecessüsü , Differential Cryptoanalysis)
- Sierpinski Üçgeni (Sierpinski Triangle)
- C ile programlamaya giriş final sınavı çözümleri
- Çok Seviyeli Sıralar (Multi Level Queues)
- Çift Özetleme (Double Hashing)
- İkinci Dereceden Sondalama (Quadratic Probing)
Yapılan Son Yorumlar
- Şadi Evren ŞEKER: Null, NULL, nil veya null olarak...
- Fatih Kabakci: hocam merhabalar,...
- kara: Çok güzel anlatılmış gerçekten teşekkürler...
- Şadi Evren ŞEKER: Bahsettiğiniz şekil dönüşümü...
- Caner: Kullanıcıdan açı girdisi almıyorsanız...
- Furkan Yediyildiz: Algoritmanin mantigi cok güzel...
- havva: çok sağolun çok güzel açıklamalar var tşk...
- Şadi Evren ŞEKER: typedef komutu, bir yapıdan yeni bir...
- fatih kabakci: hocam ben structures ile ilgili bir sorum...
- Şadi Evren ŞEKER: evet, yukarıda açıklanan, herhangi...
- Abdurrahman ulusoy: fi açısından teta kadar döndürme...
- Şadi Evren ŞEKER: Hayır yok, bir noktanın, herhangi...
- Abdurrahman ulusoy: Bu durumda yukarıdaki formüllerin...
- Abdurrahman ulusoy: Merhaba hocam Üstteki mesajımda...
- mustafa ekmekcioğlu: merhaba şadi bey ben hacettepe...
- Şadi Evren ŞEKER: Talebiniz üzerine...
- Evren Kocaturk: ve bunu matlab üzerinde, gerekli...
- Evren Kocaturk: teşekkürler, işime yarayacak gibi,...
- tuncay çavuşoğlu: Şadi bey teşekkürler.Kısa ve...
- attila: hocam bunun bir örneginide Visual Basic diliyle...
Yakın Yazılar
Kütük (stub, nesne vekili, object Proxy)
RMI (Remote Method Invocation, Uzaktan Metod Çağırma)
alt program (subprogram, subroutine)
İşlemler arası iletişim (Inter process communication (IPC))
Brent Yöntemi (Brent's Method)
http (hyper text transfer protocol, hipermetin transfer protokolü)
Şifreli Metin Saldırısı (Cipher-text only Attack)
Euler'in Çarpanlara Ayırma Metodu (Euler's Factorization Method)
Fermat'ın Çarpanlara Ayırma Yöntemi (Fermat's Factorization Method)
fonksiyonel programlama (functional programming)
Fabrika Metotları (Factory Methods)
Bağlantılar