Java Remote Method Invocation Nedir? - 04-27-2014

advertisement
Java Remote Method Invocation Nedir? - 04-27-2014
by Burak - Burak Kutbay'?n Ki?isel Blog'u | - http://blog.burakkutbay.com
Java Remote Method Invocation Nedir?
by Burak - Pazar, Nisan 27, 2014
http://blog.burakkutbay.com/java-remote-method-invocation-nedir.html/
Remote Method Invocation bu yaz?da k?saca RMI olarak adl?raca??m?z kavramdan bahsedece?im.
Remote Method Invocation yani RMI farkl? sunucularda olan metodlar?n ba?ka bir sunucudan
ça??r?larak kullan?lmas?nda kullan?lmaktad?r. Java Nesnelerinin kullanmak için farkl? bir
sunucuya/sanal makina'ya ba?lan?tyorsa buna biz Da??t?k Programlama diyoruz. RMI, Da??t?k
Programlama yapmam?za olanak sa?lamaktad?r.
RMI Mimarisi
Katmanlardan olu?maktad?r. Bu katmanlar bize istek, cevaplama , yönlendirme i?lemlerini yapmaktad?r.
Stub
Uygulamadan gelen isteklerin ula?t??? yer Stub'dur. Stub Ba?lant? ile ba?lat?r JVM (Java Virtual
Machine) ile ileti?ime geçer. Hatalar? yakalar, Skeleton'dan gelen sonuçlar? istemciye iletir.
Skeleton
Ula?n isteklerin ne oldu?una bakarak yönlendirme görevini sa?lar. Parametre okur, uzak nesneyi ça??r?r,
metotdan gelen sonucu almakla görevlidir.
Remote Reference
Uzak'ta ki nesnelerin ne yapmas? gerekti?inin anla??ld??? yerdir. Skeleton'dan gelen istekleri Transport
katman?n?n anlayaca?? ?ekle çevirir. Nesne i?lemlerinin yürütüldü?ü yerdir.
Transport
Ba?lant? ile ilgili i?lemlerin yap?ld??? katmand?r. TCP'nin kullan?lmas? i?lemlerini yapmaktad?r.
RMI Örne?i
import java.rmi.*;
public interface Merhaba_arayuz extends Remote {
public String mesaj() throws RemoteException;
}
1/3
Java Remote Method Invocation Nedir? - 04-27-2014
by Burak - Burak Kutbay'?n Ki?isel Blog'u | - http://blog.burakkutbay.com
import java.rmi.*;
import java.rmi.server.*;
public class Merhaba extends UnicastRemoteObject
implements Merhaba_arayuz {
private String mesaj;
public Merhaba (String msg) throws RemoteException {
mesaj = msg;
}
public String mesaj() throws RemoteException {
return mesaj;
}
}
import java.rmi.Naming;
public class Merhaba_Server
{
public static void main (String[] argv)
{
try {
Naming.rebind
("Merhaba", new Mesaj ("Merhabalar"));
}
catch (Exception e) {
System.out.println ("Ba?lan?lamad?: " + e);
}
}
}
import java.rmi.Naming;
public class Hello_istemci
{
2/3
Java Remote Method Invocation Nedir? - 04-27-2014
by Burak - Burak Kutbay'?n Ki?isel Blog'u | - http://blog.burakkutbay.com
public static void main (String[] argv) {
try {
Merhaba_arayuz mesaj =(Merhaba_arayuz)
Naming.lookup ("//xxx.xx..xxx.xx/Merhaba");
System.out.println (mesaj.mesaj());
}
catch (Exception e){
System.out.println ("Hata Olu?tu " + e);}
}
}
_______________________________________________
PDF generated by Kalin's PDF Creation Station
3/3
Powered by TCPDF (www.tcpdf.org)
Download