Inhalt. Übung zur Vorlesung "Einführung in Verteilte Systeme" Das RMI-Schichtenmodell. Java Remote Method Invocation. Wintersemester 2004/05
|
|
- Charlotte Färber
- vor 7 Jahren
- Abrufe
Transkript
1 Übung zur Vorlesung "Einführung in Verteilte Systeme" Wintersemester 2004/05 Ulf Rerrer Thema: Java RMI Institut für Informatik Universität Paderborn Inhalt Java Remote Method Invocation RMI-Architektur! Interface-Konzept! Schichtenmodell! Registry/Naming! Anwendung! Sicherheitskonzept RMI-Programmbeispiel BankSimulation Hinweise zur Übung Zusammenfassung U. Rerrer Übung zu Verteilte Systeme 2 Java Remote Method Invocation Das RMI-Schichtenmodell RMI unterstützt verteilte Berechnungen (Objekte) in Java: Client Server Mit Hilfe von RMI kann eine virtuelle Maschine A Methoden einer anderen virtuellen Maschine B aufrufen. RMI ermöglicht das Verteilen von Objekten (und somit Funktionalitäten) zur Laufzeit. Entfernte Objekte werden entweder über eine Registrierungsstelle oder eine Referenz adressiert. Mittels Serialisierung können Objekte verschickt werden. U. Rerrer Übung zu Verteilte Systeme 3 RMI System Stub und Skeleton Schicht Remote Reference Schicht Transport Schicht Stub und Skeleton Schicht Remote Reference Schicht Die Stub und Skeleton Schicht fängt die Methodenaufrufe auf das Proxy-Objekt ab und leitet sie an das entfernte implementierte Objekt um. Die Remote Reference Schicht erzeugt die Verbindung zum Server aufgrund der Referenzen, die ein Client auf ein entferntes Objekt macht. Die Transport Schicht basiert auf der TCP/IP Schicht. U. Rerrer Übung zu Verteilte Systeme 4
2 Vorteile von RMI gegenüber Sockets Verwaltet Dienste Kümmert sich um Verbindungen Kein eigenes Protokoll notwendig Daten werden (fast) automatisch in transferierbare Form gebracht Strukturen der zu übertragenden Daten bleibt erhalten Code kann verschickt werden Integriert sich einfach in das von Java bekannte Objektmodell (verteilte Objekte) RMI Workflow Ein Server erstellt die verteilten Objekte. Die Clients greifen auf die Methoden dieser Objekte zu. RMI kümmert sich um die Aufrufe und die Rückgabe der Ergebnisse (z.b. auch Exceptions). Damit ein Client einen Server finden kann, wird eine Registrierungsstelle (rmiregistry) eingesetzt. Ein Server registriert sich dort. Ein Client fragt dort nach dem Objekt. Der Client bekommt das Objekt und arbeitet darauf. U. Rerrer Übung zu Verteilte Systeme 5 U. Rerrer Übung zu Verteilte Systeme 6 Registry Server implementiert Objekt und exportiert es an RMI RMI registriert dieses unter offiziellem Namen Client erhält Zugang zur Registry via Naming-Klasse! bind(), rebind(): registriert Objekt in Registry! unbind(): entfernt Eintrag in Registry! lookup(): sucht Eintrag in Registry lookup() benötigt Namen und IP-Adresse des Objektes und bekommt eine Referenz auf das Objekt zurück. Die rmiregistry ist "flach" " keine Hierarchie! Registrierte Namen sind eindeutig, Mehrfachvergebung nicht gestattet. Standardport ist 1099 Naming Klasse java.rmi.naming Stellt Zugriff auf entfernte RMI-Registry mittels URL-Form bereit. Zugriff: [rmi:][//][host][port:]/name! rmi: Protokoll! host: Host auf dem dir Registry läuft! port: Standard ist 1099! name: Name des Objektes in der Registry Beispiel: Naming.bind("Name", RemoteObject); U. Rerrer Übung zu Verteilte Systeme 7 U. Rerrer Übung zu Verteilte Systeme 8
3 Interface-Konzept Ist Basis der entfernten Objektaufrufe. Client muss das Verhalten bzw. die Fähigkeiten des entfernten Objektes kennen. Benutzung der Interfaces im Java-Konzept zur Trennung von Definition und Implementierung. Aufruf des real instanzierten Objektes mittels Stellvertreterklasse (proxy Klasse) " Stub-Klasse Client Programm Interface RMI Server Programm Implementation U. Rerrer Übung zu Verteilte Systeme 9 RMI Verteilte Objekte Verteilte Objekte werden in Interface Klassen beschrieben. Ein Objekt ist ein verteiltes Objekt, wenn! Es java.rmi.remote erweitert (extends).! Jede Methode wirft (throws) eine RemoteException! Die Implementierung erweitert UnicastRemoteObject Ein nicht verteiltes Objekt wird kopiert, wenn es zwischen JVMs verschickt wird. Um es zu verschicken, muss es serialisierbar sein. Ein verteiltes Objekt wird nicht kopiert, sondern nur durch einen Stummel (stub, proxy) repräsentiert. Dieser gibt vor, das Objekt (laut Definition im Interface) zu sein und leitet alle Aufrufe an das wirkliche Objekt weiter. Auf der Serverseite sorgen skeleton/dispatcher für das Empfangen der Nachrichten und die Ausführung des eigentlichen Aufrufs. U. Rerrer Übung zu Verteilte Systeme 10 RMI Rahmen Um eine RMI Anwendung zu erstellen und verteilte Objekte zu nutzen muss man: Ein Interface, welches die Funktionalitäten der verteilten Objekte beschreibt erstellen. Die Funktionalitäten implementieren. Die stubs/skeletons erzeugen. Einen Server schreiben, der das verteilte Objekt erzeugt, es registriert und verwaltet. Einen Client schreiben, der das verteilte Objekt bei der Registrierung anfordert und dann benutzt. Die Registrierstelle, den Server und den Client starten. Sicherheitskonzept Seit Java2 existiert ein umfangreiches policy-basiertes Sicherheitskonzept (näheres in JavaDoku [6]) Ermöglicht sehr fein einstellbare Zugriffssteuerung Von außen konfigurierbar Sicherheitsmodell aktiviert durch Installation eines security managers System.setSecurityManager(new RMISecurityManager()); Policy ist Datei mit Zugriffsrechten, die bei bei Ausführung angegeben wird: grant permission java.net.socketpermission "*: ", "connect,accept"; permission java.net.socketpermission "*:80", "connect"; ; U. Rerrer Übung zu Verteilte Systeme 11 U. Rerrer Übung zu Verteilte Systeme 12
4 Compilieren und Ausführen 1. Erzeugung und Kompilierung eines Interfaces: javac Hello.java 2. Erzeugung und Kompilierung eines Servers: javac HelloImpl.java 3. Erzeugung der Stubs und Skeletons der Interface-Implementierung: rmic HelloImpl 4. Setzen des CLASSPATHs: set CLASSPATH=C:\Source\VS\rmi;%CLASSPATH% bzw. export CLASSPATH=~/source/vs/rmi;$CLASSPATH 5. Starten der RMI-Registry: rmiregistry & 6. Erzeugung einer Policy: java.policy 7. Starten des Servers: java Djava.security.policy=java.policy HelloImpl & 8. Erzeugung und Kompilierung eines Clients: javac HelloClient.java 9. Starten des Clients: java Djava.security.policy=java.policy HelloClient RMI-Beispiel: Bank-Simulation (1) anhand eines großen Beispiels soll die Funktionsweise von RMI näher erläutert werden wir programmieren eine Bank-Anwendung die! ein Interface bereitstellt! deren Implementierung ein RemoteObjekt bietet mit Funktionen: # ein Konto öffnen # ein Konto schließen # Geld verbuchen # Geld abbuchen # Kontostand anzeigen # vergangene Transaktionen anzeigen! ein Server der dieses Objekt bereitstellt! ein Client der das entfernt Objekt benutzt U. Rerrer Übung zu Verteilte Systeme 13 U. Rerrer Übung zu Verteilte Systeme 14 import java.util.*; Bank-Simulation (2) Interface: RemoteBank.java public interface RemoteBank extends Remote //öffnet ein neues Konto, mit angegebenen Namen und Passwort public void openaccount(string name, String password) throws RemoteException, BankingException; //Schliesst das angegebene Konto public Money closeaccount(string name, String password) throws RemoteException, BankingException; //... Objekte von RemoteBank sollen verteilt sein, also Remote erweitern. Alle Methoden eines verteilten Objektes müssen RemoteException werfen können (falls Kommunikationsfehler auftreten). Alle Rückgabewerte und Parameter müssen serialisiertbar sein (erweitern java.io.serializable) U. Rerrer Übung zu Verteilte Systeme 15 Bank-Simulation (3) Impl.: RemoteBankService.java import java.rmi.server.*; import java.util.*; //diese Klasse implementiert das RemoteBank-Interface public class RemoteBankService extends UnicastRemoteObject implements RemoteBank //eine verschachtelte Klasse, die das Bankkonto repräsentiert class Account String password; //Passwort int balance; //Kontostand Vector transactions = new Vector(); //Konto Transaktionen Account(String password) this.password = password; transactions.addelement("account opened at " + new Date()); Fortsetzung siehe nächste Folie Da RemoteBankService ein verteiltes Objekt ist, muss es UnicastRemoteObject erweitern und die Struktur aus RemoteBank realisieren (um entfernte Aufrufe annehmen zu können). U. Rerrer Übung zu Verteilte Systeme 16
5 Bank-Simulation (4) Impl.: RemoteBankService.java Fortsetzung... //dieser Hashtable verwaltet alle Konten. Hashtable accounts = new Hashtable(); //trivialer Konstruktor (notwendig wegen Exceptions) public RemoteBankService() throws RemoteException super(); //öffnet ein Bankkonto mit Namen und Passwort. (thread-safe!) public synchronized void openaccount(string name, String password) throws RemoteException, BankingException //prüfen, ob Konto bereits existiert... if (accounts.get(name)!= null) throw new BankingException("Account already exists."); //wenn nicht... erzeugen Account acct = new Account(password); //... und es registrieren accounts.put(name, acct); //... Bank-Simulation (5) Objekte: Money.java public class Money implements java.io.serializable public int amount; public Money(int amount) this.amount = amount; Da Money ein zu übertragendes Objekt ist, muss es serialisierbar sein, also java.io.serializable erweitern. U. Rerrer Übung zu Verteilte Systeme 17 U. Rerrer Übung zu Verteilte Systeme 18 Bank-Simulation (6) Server: Server.java public class Server public static void main(string[] args) try //Erzeugung eines Objekts des implementierten Service RemoteBankService bank = new RemoteBankService(); //das Objekt an einen offiziellen Namen binden Naming.rebind("RemoteBank", bank); System.out.println("Bankserver is open for customers."); catch (Exception e) System.err.println(e); System.err.println("Usage: java Server"); System.exit(1); Das verteilte Objekt wird erzeugt und unter "RemoteBank" registriert. U. Rerrer Übung zu Verteilte Systeme 19 import java.util.*; Bank-Simulation (7) Client: Client.java public class Client public static void main(string[] args) try RemoteBank bank = (RemoteBank) Naming.lookup("rmi:///RemoteBank"); String cmd = args[0].tolowercase(); //die Benutzereingabe interpretieren if (cmd.equals("open")) //Konto eröffnen bank.openaccount(args[1], args[2]); System.out.println("Account opened."); else if (cmd.equals("close")) //Konto auflösen Money money = bank.closeaccount(args[1], args[2]); //die Einheit von Money ist money items System.out.println(money.amount + " money items returned!"); System.out.println("Thanks for banking with us."); //... Der Client holt und bearbeitet das verteilte Objekt "RemoteBank". U. Rerrer Übung zu Verteilte Systeme 20
6 Hinweise zur Übung Es ist ein zusammenhängendes Java-Programm zu erstellen Es ist sinnvoll Gruppen zu bilden Es sollte versucht werden die Programme außerhalb der Übung zu erstellen Die Programme werden in der Übung abgegeben! dazu werden die Programme vor Ort ausgeführt! der Quelltext ist zu zeigen! Fragen zur Funktionsweise des Programms oder Auswirkung einzelner Befehle müssen von jedem der Gruppe beantwortet werden können Literatur [1] Dokumentation zu Java: [2] Guido Krüger: Javabuch, Addison-Wesley 2001, 3. Auflage [3] Esmond Pitt, Kathleen McNiff: java.rmi The Remote Method Invocation Guide Addison-Wesley 2001 [4] Java's Tutorial zu RMI: [5] JGuru RMI Tutorial: [6] Java's Security Model Guide: U. Rerrer Übung zu Verteilte Systeme 21 U. Rerrer Übung zu Verteilte Systeme 22
Übung zur Vorlesung "Einführung in Verteilte Systeme"
Übung zur Vorlesung "Einführung in Verteilte Systeme" Wintersemester 2004/05 Thema: Java RMI Ulf Rerrer Institut für Informatik Universität Paderborn Inhalt Java Remote Method Invocation RMI-Architektur!
MehrRemote Method Invocation
Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf
MehrRemote Method Invocation
Remote Method Invocation Spezielle Technik aus dem Java-Umfeld Ausführung von Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VMs Aufruf
MehrJava Remote Method Invocation (RMI)
Java Remote Method Invocation (RMI) Alexander Petry 13. Mai 2003 engl.: Entfernter Methodenaufruf 1 Übersicht 1. Einleitung 2. RMI Interfaces und Klassen 3. Parameterübergabe 4. Dynamisches Nachladen von
Mehr7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc.
7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc.html) bietet leider nur begrenzte Verteilungsabstraktion Unterstützung
MehrKonzepte von Betriebssystem-Komponenten Middleware RMI
Konzepte von Betriebssystem-Komponenten Middleware RMI Mario Kiefer 21. Januar 2005 1 Einführung RMI (Remote Method Invocation) ermöglicht es mit relativ einfachen Mitteln verteilte Anwendungen zu erstellen.
MehrSystemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007
Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung
MehrProgrammieren II. Remote Method Invocation (RMI) Heusch -- Ratz. Institut für Angewandte Informatik
Programmieren II Remote Method Invocation (RMI) Heusch -- Ratz KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Remote Method
Mehr7 Remote Method Invocation (RMI)
7 Remote Method Invocation (RMI) Verteilte Java Anwendungen; Client/Server Architektur Vorläufige Version 188 c 2005 Peter Thiemann Server: Aufgaben erstellt remote objects Objekte, deren Methoden von
MehrJava-Programmierung. Remote Method Invocation - RMI
Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig
MehrKurzanleitung RMI-Beispiel: gettime Seite 1 / 7. RMI Projekt gettime 1
Kurzanleitung RMI-Beispiel: gettime Seite 1 / 7 Inhaltsverzeichnis RMI Projekt gettime 1 Schritt 1: Interface Klasse definieren 1 Schritt 2: Implementation Class definieren 2 Schritt 3: RMI Compiler erstellen
MehrRemote Method Invocation
Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem
MehrJava RMI Remote Method Invocation
Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert
Mehr8.1.5 Java RMI Remote Method Invocation
8.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi ) (http://java.sun.com/j2se/1.5/docs/guide/rmi ) (http://java.sun.com/docs/books/tutorial/rmi ) (http://java.sun.com/developer/onlinetraining/rmi/rmi.html
MehrEinführung: Verteilte Systeme - Remote Method Invocation -
Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation
MehrUNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Remote Method Invocation RMI Beispiel
UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Remote Method Invocation RMI Beispiel el0100 copyright Abt. Technische Informatik,
MehrB Java RMI B.2 B.4. 1 Java. 1.2 Methoden. 1.1 Objekte (2) 1.1 Objekte. Objektorientierte Sprache. Klassenbeschreibung. Methode ist eine Art Funktion
1 Java 1.1 e B Java RMI orientierte Sprache e beschrieben in Klassendefinitionen und andere Datentypen: int, float, boolean, etc. referenzen Verweise auf e keine Zeiger, Adressen o.ä. B.1 B.2 1.1 e (2)
Mehr9. Remote Method Invocation Grundlagen der Programmierung II (Java)
9. Remote Method Invocation Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung
MehrRemote Methode Invocation (RMI) ETIS SS05
Remote Methode Invocation (RMI) ETIS SS05 Motivation Ablauf der Kommunikation Erstellung Remote-Service Zusammenfassung Gliederung 2 Motivation I RMI: Remote Method Invokation Möglichkeit verteilte Java-Anwendungen
MehrClient/Server-Programmierung
Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 15. Oktober 2015 Betriebssysteme / verteilte
MehrClient/Server-Programmierung
Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 15. Oktober 2015 Betriebssysteme / verteilte
MehrAnleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)
Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite
MehrJ Fernmethodenaufrufe Remote Method Invocation (RMI)
J Fernmethodenaufrufe Remote Method Invocation (RMI) ermöglicht Abstraktion in einem verteilten System Socket-Kommunikation Fernaufrufe (RPC) J Fernmethodenaufrufe Remote Method Invocation (RMI) keine
MehrB Java RMI B.1 B.2. 1 Java. 1.1 Objekte. Objektorientierte Sprache
B Java RMI B.1 1 Java 1.1 Objekte Objektorientierte Sprache Objekte beschrieben in Klassendefinitionen und andere Datentypen: int, float, boolean, etc. Objektreferenzen Verweise auf Objekte keine Zeiger,
MehrMobile und Verteilte Datenbanken
Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2010/2011 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Java Remote Method Invocation (RMI) Realisierung
MehrPROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker
RMI, Zusammenfassung und Lehrevaluation PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker Steffen Helke Technische Universität Berlin Fachgebiet Softwaretechnik 8. Juli 2013 Übersicht
MehrThemen. Web Service - Clients. Kommunikation zw. Web Services
Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur
MehrNetzprogrammierung: Java RMI - Remote Method Invocation (Teil 1)
Netzprogrammierung: Java RMI - Remote Method Invocation (Teil 1) Robert Tolksdorf und Peter Löhr Überblick 1. Fernaufrufbare Objekte 2. Das Objektverzeichnis rmiregistry 3. Parametersemantik Dokumentation
MehrMobile und Verteilte Datenbanken
Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2013/2014 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Kommunikations-Middleware Bietet höhere Kommunikations-Dienste
MehrGrundlagen verteilter Systeme
Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Aufgabe 1: Wintersemester 07/08 Übungsblatt 2 20.11.07 Grundlagen verteilter Systeme Lösungsvorschlag
MehrPraktikum aus Softwareentwicklung 2, Stunde 8
Praktikum aus Softwareentwicklung 2, Stunde 8 Lehrziele/Inhalt 1. Remoting Remoting Über Remoting können Objekte über JavaVMs hinweg miteinander kommunizieren. Das ist auch mit Socket-Programmierung möglich.
Mehr36.2 Example ClassLoader. 36.3 Example Appletviewer
36 ClassLoader How are classes loaded into the Java Virtual Machine (JVM)? from the local file system (CLASSPATH). by an instance of ClassLoader... and when? - When they are needed the first time. class
MehrÜberblick. Middleware - Übung. Model-View-Controller. Entwurfsmuster (Design Patterns)
Überblick Middleware - Übung Tobias Distler, Michael Gernoth, Rüdiger Kapitza Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) www4.informatik.uni-erlangen.de
Mehr1 Motivation. 1 Motivation. Standard Middleware für objektorientierte Anwendungen. Motivation. Fragmentierte Objektmodel. Java RMI
1 Motivation Motivation ierte Objektmodel Standard Middleware für objektorientierte Anwendungen CORBA,.NET-Remoting Java Remote Method Invocation (RMI) Java RMI ierte Objekte undjava RMI Zusammenfassung
MehrRemote-Objekte. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1
Remote-Objekte Motivation Architektur Client und Server-Implementierung Parameterübergabe Distributed Garbage Collection Verteilung und Nachladen von Code Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H.
MehrRemote Method Invocation (RMI)
Remote Method Invocation (RMI) Hier soll ein Überblick 1 über die RMI-Technologie der Java 2 Plattform gegeben werden. Inhaltsverzeichnis 1.Überblick...3 2.RMI Architektur...6 2.1.Überblick...6 2.2.RMI
MehrInternetanwendungstechnik (Übung)
Internetanwendungstechnik (Übung) JacORB S. Bissell, G. Mühl Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik Kommunikations- und Betriebssysteme (KBS) Einsteinufer 17, Sekr. EN6,
Mehr-Testen verteilter Anwendungen
-Testen verteilter Anwendungen Seminar Simulation und Bildanalyse mit Java im SS04 Konstantin Tjo, Urs Pricking Testen verteilter Anwendungen 1 Übersicht Einführung in verteilte Anwendungen RMI (Remote
MehrMusterlösung Übungsblatt 2 Netzprogrammierung WS 05/06
Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06 Aufgabe 1 Bitte schreiben Sie ein RMI Objekt, das eine Person repräsentiert. Es soll die folgende Schnittstelle implementieren: public interface Person
MehrÜberblick. Java RMI Java Remote Method Invocation Marshalling und Unmarshalling Aufgabe 1. VS-Übung (SS14) Java RMI 1 1
Überblick Java RMI Java Remote Method Invocation Marshalling und Unmarshalling Aufgabe 1 VS-Übung (SS14) Java RMI 1 1 Fernmethodenaufrufe Remote Method Invocation (RMI) Aufrufe von Methoden an Objekten
MehrKomponententechnologien Winter 2016/17. Komponenten. 2. Die Anfänge. Peter Sturm, Universität Trier 1
Komponenten 1 2. Die Anfänge 3 Peter Sturm, Universität Trier 1 Selbstzufrieden Anwendung Hardware 4 Oh? Da gibt es noch jemanden? Anwendung Anwendung TCP/IP Hardware Hardware 5 Peter Sturm, Universität
MehrKlausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 30. März 2006
Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 30. März 2006 Aufkleber Name: Vorname: Matrikel: Studiengang: inkl. DPO4, B/M, Schwerp., Schreiben Sie zunächst Ihren Namen
Mehr14. RMI - Remote Method Invocation
14. RMI - Remote Method Invocation 14.1 Beteiligte Instanzen Klientenklasse als Aufrufer: - Naming.Lookup(), - MyCall.Invoke(). Interface Spezifikation für: - Server Stub im Klienten, - Server-Skeleton*,
MehrJava in Verteilte Systeme - RMI
In diesem Kursteil Modul 2 : Remote Method Invocation RMI Modul Einleitung Was ist Java RMI? RMI Architektur Übersicht Der Transport Layer Garbage Collection Remote Reference Layer RMI Stubs und Skeletons
MehrÜberblick. Verteilte Systeme - 4. Übung. VS-Übung. Dynamische Proxies Stubs & Skeletons Dynamische Proxies als Stubs. Tobias Distler, Michael Gernoth
Überblick Verteilte Systeme - 4. Übung Tobias Distler, Michael Gernoth Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) www4.informatik.uni-erlangen.de
MehrWarum EJB Technologie (1)?
Datenbanken und Informationssysteme 2 SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanken und Informationssysteme 2 - Prof. Dr. Stefan Böttcher - SS 2004 Folie EJB - 1 Warum EJB Technologie
MehrC Java RMI. 1 Java. Objektorientierte Sprache
Java RMI 1 1 Java Objektorientierte Sprache Objekte und andere Datentypen: int, float, boolean, etc. Objektreferenzen Verweise auf Objekte keine Zeiger, Adressen o.ä. Methodenaufruf bei vorhandener Objektreferenz
MehrÜberblick. Java RMI Java Remote Method Invocation Marshalling und Unmarshalling Aufgabe 1. VS-Übung (SS16) Java RMI 1 1
Überblick Java RMI Java Remote Method Invocation Marshalling und Unmarshalling Aufgabe 1 VS-Übung (SS16) Java RMI 1 1 Fernmethodenaufrufe Remote Method Invocation (RMI) Aufrufe von Methoden an Objekten
MehrÜberblick. Class-Objekte. Bietet die Möglichkeit das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen
Überblick Bietet die Möglichkeit das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen Stubs & Skeletons Aufgabe 2 Tutorial: http://download.oracle.com/javase/tutorial/reflect/index.html
MehrÜberblick. Beispiel: get()-methodenaufruf am VSBoard aus Übungsaufgabe 1. Analyse einer Methode: java.lang.reflect.method
Überblick Bietet die Möglichkeit das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen Stubs & Skeletons Aufgabe 2 Tutorial: http://docs.oracle.com/javase/tutorial/reflect/index.html
MehrRMI Server und Client
RMI Server und Client RMI Server Remote Objekt(e) bereitstellen Wurzel Objekt in Verzeichnisdienst anmelden RMI Client Wurzel Objekt in entfernter JVM mittels Verzeichnisdienst finden Methoden von Remote
Mehr4. Informatiktag NRW 14.3.05. Projekt online Shop. Barbara Leipholz Schumacher Euregio Kolleg, Würselen
1/51 Projekt online Shop 4. Informatiktag NRW 14.3.05 Barbara Leipholz Schumacher Euregio Kolleg, Würselen 2/51 Die Firma Sprachen Lernen möchte ihr Angebot auf online Bestellungen ausweiten. Sprache Art
MehrJava in Verteilte Systeme
In diesem Kursteil Modul 2 : Remote Method Invocation RMI Modul Einleitung Was ist Java RMI? RMI Architektur Übersicht Der Transport Layer Garbage Collection Remote Reference Layer RMI Stubs und Skeletons
MehrRemote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter
Remote- und Server-Programmierung Dr. Wolfgang Süß Thorsten Schlachter Remote Method Invocation (RMI) Servlets WebServices 2 Remote Method Invocation (RMI) Das Remote Method Invocation (RMI)-Framework
MehrC Java RMI C.2 C.4. 1 Java. 1 Java (2) 1 Java (3) Objektorientierte Sprache. Objektorientierte Sprache (fortges.) Objektorientierte Sprache (fortges.
1 Java C Java RMI orientierte Sprache e und andere Datentypen: int, float, boolean, etc. referenzen Verweise auf e keine Zeiger, Adressen o.ä. Methodenaufruf bei vorhandener referenz Übergabe von Parametern
MehrNetzprogrammierung: Java RMI - Remote Method Invocation (Teil 3)
Netzprogrammierung: Java RMI - Remote Method Invocation (Teil 3) Robert Tolksdorf und Peter Löhr Überblick 1. Aktivierung und Deaktivierung von Objekten http://java.sun.com/javase/6/docs/technotes/guides/rmi/activation/overview.html
MehrOracle & Java HOW TO
Oracle & Java HOW TO Helge Janicke, Niels-Peter de Witt, Karsten Wolke 21. Januar 2002 Inhaltsverzeichnis 1 Java-Anbindung an Oracle-DB 2 2 Benötigte Programme und Daten 2 3 Einbinden der Klassen 2 4 Aufbau
MehrProgrammieren II. Remote-Programmierung. www.kit.edu. Institut für Angewandte Informatik
Programmieren II Remote-Programmierung KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Remote-Programmierung Remote Method Invocation
MehrRMI. Wir haben. Komponenten auf einem Rechner. Remote Method Invocation
RMI Remote Method Invocation Wir haben Komponenten auf einem Rechner Komp1 Komp2 zwei Rechner Wir wollen Komp1 Komp2 TCP/IP aber wie? Fallstudie Chat Einfluss der Architektur auf den Entwurf oder Man kann
MehrPraktikum Verteilte Anwendungen
Technische Informatik (Info II) -Sommersemester 2006 - Folie 1 / 27 0 Gliederung 1.) Kurze Wiederholung/ Einleitung 2.) RPC/ RMI 3.) Praktisches Beispiel 4.) Aufgabenblatt Folie 2 / 27 Wiederholung/ Einleitung
MehrParallele und Verteilte Systeme
Parallele und Verteilte Systeme Einführung in die Netzwerk Programmierung mit Java : JavaIDL Hello World (C) J.M.Joller 1 Zeitlicher Ablauf Hello World Übersicht IDL Interface Beschreibung Der Client (Der
MehrÜberblick. Netzprogrammierung 3. Verteilte Objekte in Java RMI. Verteilte Objekte
Überblick Netzprogrammierung 3. Verteilte Objekte in Java RMI 1. Verteilte Objekte / RMI 2. Objektreferenzen 3. Serialisierung 4. Threads und RMI Prof. Dr.-Ing. Robert Tolksdorf Freie Universität Berlin
MehrKlausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 3. Februar 2006
Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 3. Februar 2006 Aufkleber Name: Vorname: Matrikel: Studiengang: inkl. DPO4, B/M, Schwerp., Schreiben Sie zunächst Ihren
Mehr9. Ausnahmebehandlung
Schwerpunkte Ausnahmen und Laufzeitfehler 9. Ausnahmebehandlung Java-Beispiele: Ausnahme.java TryCatch.java TryCatchAll.java Finally.java TryInTry.java KeyboardTry.java Oeffnungszeit.java Stack-Trace Java-Ausnahmeklassen-Hierarchie
MehrVerteilte Systeme SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 29.
Verteilte Systeme SS 2017 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 29. Mai 2017 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/12) i
MehrImplementierung III. Implementierung IV
Übersicht Implementierung III GUI und Verhalten (Teil 2) Implementierung IV Schnittstelle zur Umgebung Integration und Test Alexander Geraldy Softwarepraktikum - Teil: Eingebettete Systeme SoSe 20031 Implementierung
MehrVerteiltes Rechnen. Verteilte Dienste mit Java Remote Method Invocation (RMI). Prof. Dr. Nikolaus Wulff
Verteiltes Rechnen Verteilte Dienste mit Java Remote Method Invocation (RMI). Prof. Dr. Nikolaus Wulff Verteiltes Rechnen Anwendungen im WWW sind meist als Client-Server Architekturen realisiert. Ein Client
MehrVerteilte Systeme. SoSe Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 14.
Verteilte Systeme SoSe 2018 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 14. Mai 2018 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/14)
MehrÜberblick. Java RMI Java Remote Method Invocation Marshalling und Unmarshalling Aufgabe 1. VS-Übung (SS12) Java RMI 1 1
Überblick Java RMI Java Remote Method Invocation Marshalling und Unmarshalling Aufgabe 1 VS-Übung (SS12) Java RMI 1 1 Fernmethodenaufrufe Remote Method Invocation (RMI) Aufrufe von Methoden an Objekten
MehrKapitel 6: Verteilte Objekte durch RMI. Middleware in Java vieweg 2005 Steffen Heinzl, Markus Mathes
Kapitel 6: Verteilte Objekte durch RMI Prinzip von RMI RMI (Remote Method Invocation) erlaubt den Aufruf von Methoden von Objekten, die sich auf einem anderen einem entfernten Rechnersystem befinden. Man
MehrPROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker
Netzwerkprogrammierung mit RMI PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker Steffen Helke Technische Universität Berlin Fachgebiet Softwaretechnik 1. Juli 2013 Übersicht SMTP RMI
MehrEinführung in die Programmierung mit Java
Einführung in die Programmierung mit Java Teil 9: Ausnahmebehandlung Martin Hofmann Steffen Jost LFE Theoretische Informatik, Institut für Informatik, Ludwig-Maximilians Universität, München 8. Dezember
MehrVerteilte Systeme Übung
Verteilte Systeme Übung Tobias Distler, Klaus Stengel, Timo Hönig, Christopher Eibel, Tobias Klaus Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme)
MehrKAPITEL 1 RMI Verteilte Programmierung unter JAVA von Anja Austermann
RMI Verteilte Programmierung unter JAVA von Anja Austermann Da die Sprache Java sehr stark an der Programmierung für das Internet orientiert ist, stellt sie mit RMI einen Mechanismus zur Verfügung, mit
Mehr9. Ausnahmebehandlung
9. Ausnahmebehandlung Java-Beispiele: Ausnahme.java TryCatch.java TryCatchAll.java Finally.java TryInTry.java KeyboardTry.java Oeffnungszeit.java Version: 11. Jan. 2016 Schwerpunkte Ausnahmen und Laufzeitfehler
MehrMiddleware. im Schweinsgalopp
Middleware im Schweinsgalopp 1 Szenario Unternehmen verwendet SAP als ERP-System wickelt Versand über Dienstleister, hier UPS ab UPS bietet Verfolgung der Lieferung über Web- Schnittstelle Daten im ERP
MehrUNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Remote Method Invocation Teil 3 RMI over IIOP
UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Remote Method Invocation Teil 3 RMI over IIOP el0100 copyright Abt. Technische Informatik,
MehrInfo B VL 14: Java Collections/Reflections
Info B VL 14: Java Collections/Reflections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 14: Java Collections/Reflections
MehrÜberblick. Verteilte Systeme Übung. VS-Übung. Dynamische Proxies Stubs & Skeletons Dynamische Proxies als Stubs. Tobias Distler, Michael Gernoth
Überblick Verteilte Systeme Übung Tobias Distler, Michael Gernoth Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) www4.informatik.uni-erlangen.de
MehrÜberblick. Fernmethodenaufrufe
Überblick Java Remote Method Invocation Marshalling und Unmarshalling Aufgabe 1 Fernmethodenaufrufe Remote Method Invocation (RMI) Aufrufe von Methoden an Objekten auf anderen Rechnern Remote-Referenz:
MehrÜberblick. Verteilte Systeme - 4. Übung. Dynamische Proxies Stubs & Skeletons Dynamische Proxies als Stubs
Überblick Verteilte Systeme - 4. Übung Tobias Distler, Michael Gernoth, Reinhard Tartler Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme)
MehrAVO Übung 1. Java RMI, Custom Sockets, Activation. 2. November 2004 (WS 2004) Andreas I. Schmied
Universität Ulm Fakultät für Informatik Abteilung Verteilte Systeme Projektgruppe AspectIX AVO Übung 1 Java RMI, Custom Sockets, Activation 2. November 2004 (WS 2004) Andreas I. Schmied (schmied@inf...)
MehrInterface. So werden Interfaces gemacht
Design Ein Interface (=Schnittstelle / Definition) beschreibt, welche Funktionalität eine Implementation nach Aussen anzubieten hat. Die dahinter liegende Algorithmik wird aber der Implementation überlassen.
MehrAusnahmebehandlung. Ausnahmen werfen (auslösen) Eigene Ausnahmen definieren. Ausnahmen abfangen. Ausnahmen definieren
Ausnahmebehandlung Ausnahmen werfen (auslösen) Eigene Ausnahmen definieren Ausnahmen abfangen Ausnahmen definieren Sinnvolle Verwendung von Ausnahmen Informatik II: Objektorientierte SW-Entwicklung, Algorithmik,
MehrH.2 Distributed Events
H Überblick über die 7. Übung H Überblick über die 7. Übung 1 RemoteEvent Remote Events ServiceEvents Basisklasse aller Jini Events package net.jini.core.event; import java.rmi.marshalledobject; Security-Policies
MehrInstrumentierung und Dekodierung
116 Copyright 1996-1998 by Axel T. Schreiner. All Rights Reserved. Instrumentierung und Dekodierung Erweiterung der Grafikklassen Das awt-paket erweitert alle Klassen für Grafikobjekte in java.awt, so
MehrClient/Server-Programmierung
Client/Server-Programmierung WS 2013/2014 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 8. November 2013 Betriebssysteme / verteilte
MehrVerteilte Systeme. Verteilte Objektorientierte Systeme I. Prof. Dr. Oliver Haase
Verteilte Systeme Verteilte Objektorientierte Systeme I Prof. Dr. Oliver Haase 1 Überblick Verteilte Objektorientierte Systeme 1 RPC verteilte objektorientierte Architekturen Java RMI Verteilte Objektorientierte
MehrVerteilte Systeme: Entfernte Methodenaufrufe
Verteilte Systeme: Entfernte Methodenaufrufe Funktionsweise entfernter Methodenaufrufe Entfernte Schnittstellen und verteilte Objektsysteme Entfernte Methodenaufrufe mit Java RMI Parameterübergabe Call-By-Value
Mehr10.1 Remote Method Invocation (RMI)
10.1 Remote Method Invocation (RMI) Verteilte Java Anwendungen Methodenaufrufe auf Fremdobjekten (remote objects) Object Serialization Typen bleiben erhalten Package java.rmi (und andere) Vorläufige Version
MehrÜberblick. Java Reflection API. Class-Objekte
Bietet die Möglichkeit, das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen Tutorial: http://docs.oracle.com/javase/tutorial/reflect/index.html [...] This
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG FORTGESCHRITTENE KONZEPTE Tobias Witt 26.03.2014 tobias.witt@hhu.de 25.12.01.30 Bürozeiten: 09 Uhr - 12 Uhr FEHLERBEHANDLUNG KLASSISCHER ANSATZ Fehlercode als Rückgabewert
MehrJAVA Remote Method Invocation JRMP Tutorial
JAVA Remote Method Invocation JRMP Tutorial Abteilung Technische Informatik, Institut für Informatik, Universität Leipzig Abteilung Technische Informatik, Wilhelm Schickard Institut für Informatik 11.6.2013
MehrLösungsvorschläge zur Nachklausur zum Kurs 1618 Sommersemester 2001 am
Aufgabe 1 Lösungsvorschläge zur Nachklausur zum Kurs 1618 Sommersemester 2001 am 16.3.2002 Folgende Implementierung löst die gestellte Aufgabe : public interface Figur { public void anzeigen (); public
MehrVorbereitungen Download. AVO-Übung 6. Beispiel. Slice. Varianten u.a. für Linux, Windows, OS X ICE-Dokumentation ICE-Binaries (inkl.
Vorbereitungen Download AVO-Übung ICE Andreas I. Schmied (andreas.schmied@uni-ulm.de) AspectIX-Team Abteilung Verteilte Systeme Universität Ulm WS005 Varianten u.a. für Linux, Windows, OS X ICE-Dokumentation
MehrÜbungen zu Middleware Universität Erlangen-Nürnberg Informatik 4, 2007 Z-Java-Exceptions.fm
Z.11Fehlerbehandlung Programm beenden (System.exit()) meist eine schlechte Idee Ausgabe einer Fehlermeldung hilft nicht den Fehler zu überwinden spezieller Rückgabewert kennzeichnet Fehler Konstruktoren
Mehr