Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Voyager Eigenschaften/Vorzüge Universalität: –ROI-Modelle: CORBA, RMI, DCOM –verschiedene Namens-, Verzeichnisdienste Nachrichtentypen: synchron, oneway,

Ähnliche Präsentationen


Präsentation zum Thema: "Voyager Eigenschaften/Vorzüge Universalität: –ROI-Modelle: CORBA, RMI, DCOM –verschiedene Namens-, Verzeichnisdienste Nachrichtentypen: synchron, oneway,"—  Präsentation transkript:

1 Voyager Eigenschaften/Vorzüge Universalität: –ROI-Modelle: CORBA, RMI, DCOM –verschiedene Namens-, Verzeichnisdienste Nachrichtentypen: synchron, oneway, future Einfachheit: –vollautomatische Erzeugung von Stubs etc. –keine (wenig) Anpassung der Objekte nötig –problemlose Fernerzeugung, Migration

2 Voyager-Laufzeitumgebung Integration verschiedener JVMs zu einem Voyager-System durch aktive Laufzeitsysteme –in Java für Clienten (keine eingehenden Nachrichten): Voyager.startup() –in Java für Server (lauscht am Port): Voyager.startup(int port) –auf der Kommandozeile > voyager portnummer Adressierung von Laufzeitumgebungen mit URL “//host:port“

3 Entfernte Objekte Aufruf auf entf.Objekte nur über Schnittstellen Repräsentation entf. Objekte durch Proxies Argumentübergabe bei entf. Methodenaufrufe –als Referenz, wenn Parameter die Schnittstelle com.objectspace.voyager.IRemote erfüllt –sonst als Kopie (mittels Serialisierung) Bei Fehlern/Exceptions –und deklarierter java.rmi.RemoteException wird die Voyager-Exception als RMI-Exception signalisiert, –sonst als (nicht deklarationspflichtige) com.objectspace.voyager.RuntimeRemoteException

4 Entfernte Erzeugung+Namensdienst Objekte können entfernt erzeugt werden: –in einer Laufzeitumgebung auf hai unter Port 8000 IServer serv =(IServer)Factory.create(“vs.Server“,“//hai:8000“) –mit Parameter für den Konstruktor Object[] args={“plot“,new Integer(2)} serv = Factory.create(“vs.Server“,args, “//hai:8000“) Namensdienst funktioniert analog zu RMI –Namespace.bind(String name, Object obj) –Namespace.lookup(String name)

5 Hard working server... Schnittstelle: public interface IServer { void doSomeService(); } Implementierung: public class Server implements IServer { public void doSomeService() { System.out.println("Working hard..");} }

6 Konfiguration/Applikation import com.objectspace.voyager.*; public class App { static public void main(String args[]) { Voyager.startup(); // generate and configure Server IServer server = (IServer) Factory.create("Server","//z1:8001"); // use service server.doSomeService(); }

7 Starten Starten der Laufzeitumgebung auf Rechner z1 z1> voyager 8001 voyager orb 3.1.1, copyright objectspace Starten der Applikation auf beliebigem Rechner mumu> java App Ausgabe auf z1: Working hard..


Herunterladen ppt "Voyager Eigenschaften/Vorzüge Universalität: –ROI-Modelle: CORBA, RMI, DCOM –verschiedene Namens-, Verzeichnisdienste Nachrichtentypen: synchron, oneway,"

Ähnliche Präsentationen


Google-Anzeigen