Wyk ad 9 sciaga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga


Zdalne wywołanie metod

Ogólnie

javac - kompilacja klas

rmic — kompilator RMI — przygotowuje stub/skeleton aplikacji.

0x01 graphic

Architektura RMI

0x01 graphic

- stub/skeleton - trzon/szkielet,

- remote rference - zdalne referencje,

- transport - warstwa transportowa

Warstwowa budowa pozwala na ich wymianę i zmianę sposobu działania.

Implementacja

Etapy przygotowania aplikacji RMI

- Definicja zdalnych interfejsów,

- Implementacja zdalnych interfejsów i serwera

- Przygotowanie klienta używającego zdalnych interfejsów

- start rejestru,

Etapy przygotowania aplikacji RMI

> rmiregistry

Przykładowa aplikacja w RMI

import java.rmi.Remote;

import java.rmi.RemoteEx;

import java.until.Date;

public interface RemoteTime extends Remote

{ public Data getTime () throws

RemoteException; }

Przykładowa aplikacja w RMI - implementacja zdaln. interfejsu

mportjava.rmi.*;

mportjava.rmi,server,*;

mportjava.util.Date;

//klasa musi dziedziczyć po UnicastRemoteObject

// i implementować interfejs Remote

public class RemoteTimelmpl extends UnicastRemoteObject

implements Rernote, Serializable {

cd..

// konstruktor publicRemoteTirnelrnpl throws RernoteException {super(): }

// właściwa metoda wywoływana zdalnie

public Datę getTime() throws RemoteException { return new Date();}

cd..

// metoda ma i obowiązująca obiekt do import java.rmi.Remote;

rejestru RMI

publtc stattc votd main(String[] args) {

//ustawienie security managera

if(System.gelScairilyNhimiger() = null) {

Systetn.setSecurit>-Manager(newRMISecurityManager());

}

cd..

String name = "RemoteTime"; //nazwa udostępnianego obiektu

try { //uruchamiamy rejestr RMI

Registry r = LocateRegistry.createRegistry( 1099);

//tworzymy obiekt

RemoteTimelmpl rti = new RemoteTimeImpl();

// dowiadujemy go do rejestru RMI

r.rebind(name, rti);

System.out.println("Obiekt dowiązany do rejestru RMI"); } catch (Exception e) { System.err.println(" Btąd"+e.getMessage()); e.printStackTrace();}}}

Przykładowa aplikacja w RMI - przygotowanie klienta

import java.rmi.*;

import java.util.Date;

public class ReinoteTirneClient {

public static void main(String[] args) {

//ustawienie security managera

if (System. getSecurityManager() == null) { SystenisetSecurityManager(New RMiSecurityMariager());

cd..

try{

//nazwa zdalnego obiektu wraz z nazwą komputera, na którym jest udostępniony

String name = "// localhost/RemoteTime";

// wyszukanie zdalnego interfejsu w rejestrze

RemoteTime rt = (Datę) Naming.lookup(name);

cd..

// tu jest cale sedno, używania zdalnego obiektu, tak, jakby był lokalny

Datę d = rt.getTime();

// wyświetlamy otrzymany czas

System.out.println("Aktualny czas: "+d); } catch (Exception e) { System.err.println(" Btąd"+e.getMessage()); e.printStackTrace();}

Przykładowa aplikacja w RMI - kompilacja i uruchomienie

javac i

rmic -d . RemoteTimelmpl

- Uruchomienie rejestru RMI i dowiązanie do niego obiektu zdalnego (serwer):

> java RemoteTimelmpl

- W drugim oknie konsoli klient:

>java RemoteTimeClient

Podsumowanie

- Proste pisanie aplikacji rozproszonych

- Przenoszenie całych obiektów

- Zwolnienie programisty z czuwania nad sieciowymi mechanizmami niskiego poziomu

- Ograniczenie do środowiska Java



Wyszukiwarka

Podobne podstrony:
Wyk ad 8 sciaga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 1 sciaga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 4 sciĄga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 5 sciĄga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 6 sciĄga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 2 sciaga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 3 sciĄga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Wyk ad 7 sciaga, Studia - Automatyka, Przetwarzanie równoległe i rozproszone, egzamin, ściąga
Przetwarzanie Równoległe i Rozproszczone Szczerbińskiego, wykład 3, SIEĆ PRZETASOWANA (perfect shuff
Ekonomia rynkowa - wyk+éad 05, Studia, Informatyka Stosowana PWSZ Tarnów st 1, Semestr I, Ekonomia,
wyklad 4, przetwarzanie rownolegle i rozproszone - Szczerbinski
[tomko] Progr Rozpr Pytania egzaminacyjne, przetwarzanie rownolegle i rozproszone - Szczerbinski
Wyk ad I sciaga z BHP, BHP
przyklady na egzamin, szkola, przetwarzanie rownolegle i rozproszone - Prof Szczerbinski
Ekonomia rynkowa - wyk+éad 04, Studia, Informatyka Stosowana PWSZ Tarnów st 1, Semestr I, Ekonomia,

więcej podobnych podstron