Überblick. Java RMI Java Remote Method Invocation Marshalling und Unmarshalling Aufgabe 1. VS-Übung (SS12) Java RMI 1 1
|
|
|
- Cornelia Stein
- vor 7 Jahren
- Abrufe
Transkript
1 Überblick Java RMI Java Remote Method Invocation Marshalling und Unmarshalling Aufgabe 1 VS-Übung (SS12) Java RMI 1 1
2 Fernmethodenaufrufe Remote Method Invocation (RMI) Aufrufe von Methoden an Objekten auf anderen Rechnern Remote-Referenz: Transparente Objektreferenz zu entferntem Objekt Beispiel: Java RMI Client Stub Server Skeleton RMI-Referenzenschicht RMI-Transportschicht VS-Übung (SS12) Java RMI Java Remote Method Invocation 1 2
3 Java RMI Transportschicht Datenübertragung zwischen Rechnern Implementierung Aktueller Standard: Verwendung von TCP/IP-Sockets Generell: verschiedene Transportmechanismen denkbar Client Stub Server Skeleton RMI-Referenzenschicht RMI-Transportschicht VS-Übung (SS12) Java RMI Java Remote Method Invocation 1 3
4 Java RMI Referenzenschicht Verwaltung von Remote-Referenzen Implementierung der Aufrufsemantik (Beispiele) Unicast, Punkt-zu-Punkt Aufruf an einem replizierten Objekt Strategien zum Wiederaufbau der Verbindung nach einer Unterbrechung Client Stub Server Skeleton RMI-Referenzenschicht RMI-Transportschicht VS-Übung (SS12) Java RMI Java Remote Method Invocation 1 4
5 Java RMI Stub & Skeleton Stub 1. erhält einen Objekt-Ausgabe-Strom von der RMI-Referenzenschicht 2. schreibt die Parameter in diesen Strom 3. teilt der RMI-Referenzenschicht mit, die Methode aufzurufen 4. holt einen Objekt-Eingabe-Strom von der RMI-Referenzenschicht 5. liest das Rückgabe-Objekt aus diesem Strom 6. liefert das Rückgabe-Objekt an den Aufrufer Skeleton 1. erhält einen Objekt-Eingabe-Strom von der RMI-Referenzenschicht 2. liest die Parameter aus diesem Strom 3. ruft die Methode am implementierten Objekt auf 4. holt einen Objekt-Ausgabe-Strom von der RMI-Referenzenschicht 5. schreibt das Rückgabe-Objekt in diesen Strom Client Server Stub Skeleton RMI-Referenzenschicht VS-Übung (SS12) Java RMI Java Remote Method Invocation 1 5
6 Java RMI Server Remote-Objekt (entferntes Objekt) Kann aus einer anderen Java Virtual Machine heraus genutzt werden Erst von außerhalb erreichbar, nachdem es exportiert wurde Remote-Schnittstelle Beschreibt die per Fernaufruf erreichbaren Methoden des Objekts Abgeleitet von java.rmi.remote (Marker-Schnittstelle) Einzige Möglichkeit mit Java RMI auf ein entferntes Objekt zuzugreifen Remote-Exception (java.rmi.remoteexception) Muss im throws-clause jeder Remote-Methode angegeben sein Beim Auftreten einer Remote-Exception weiß der Aufrufer nicht, ob die Methode komplett, teilweise oder gar nicht ausgeführt wurde Client Stub Server Skeleton VS-Übung (SS12) Java RMI Java Remote Method Invocation 1 6
7 Java RMI Registry Namensdienst Bekanntmachen von Remote-Objekten Abbildung von Objektnamen auf Objektreferenzen Registry-Schnittstelle public interface Registry extends Remote { public void bind ( String name, Remote obj ); public Remote lookup ( String name ); [...] bind() Zuordnung eines Objekts zu einem eindeutigen Namen lookup() Rückgabe der Remote-Referenz zu einem Namen Erzeugung und Verbindung zur Registry public class LocateRegistry { public static Registry createregistry ( int port ); public static Registry getregistry ( String host, int port ); [...] createregistry() Erzeugung einer Registry auf dem lokalen Rechner getregistry() Holen einer Remote-Referenz auf eine Registry VS-Übung (SS12) Java RMI Java Remote Method Invocation 1 7
8 Java RMI Beispiel Bank-Anwendung Geldbetrag VSMoney public class VSMoney implements Serializable { private float amount ; public VSMoney ( float amount ) { this. amount = amount ; public float getamount () { return amount ; Konto VSAccount (Remote-Schnittstelle) public interface VSAccount extends Remote { public void deposit ( VSMoney money ) throws RemoteException ; Bank VSBank (Remote-Schnittstelle) public interface VSBank extends Remote { public void deposit ( VSMoney money, VSAccount account ) throws RemoteException ; VS-Übung (SS12) Java RMI Java Remote Method Invocation 1 8
9 Java RMI Beispiel Remote-Objekt VSBankImpl: Implementierung der Remote-Schnittstelle VSBank Exportieren des Remote-Objekts Implizit: Unterklasse von java.rmi.server.unicastremoteobject public class VSBankImpl extends UnicastRemoteObject implements VSBank { // Konstruktor public VSBankImpl () throws RemoteException { super (); // Implementierung der Remote - Methode public void deposit ( VSMoney money, VSAccount account ) throws RemoteException { account. deposit ( money ); VSBank bank = new VSBankImpl (); Explizit: Aufruf von UnicastRemoteObject.export() public class VSBankImpl implements VSBank { [...] VSBank b = new VSBankImpl (); VSBank bank = ( VSBank ) UnicastRemoteObject. exportobject (b, 0); VS-Übung (SS12) Java RMI Java Remote Method Invocation 1 9
10 Java RMI Beispiel Remote-Objekt Konto-Implementierung VSAccountImpl Implementierung der Remote-Schnittstelle VSAccount Exportieren analog zu VSBankImpl Synchronisation paralleler deposit()-aufrufe [Auf welchem Rechner erscheint die Bildschirmausgabe?] public class VSAccountImpl implements VSAccount { private float amount ; public VSAccountImpl ( float amount ) { this. amount = amount ; public synchronized void deposit ( VSMoney money ) { amount += money. getamount (); System. out. println (" New amount : " + amount ); VS-Übung (SS12) Java RMI Java Remote Method Invocation 1 10
11 Java RMI Beispiel Server Server-Implementierung VSBankServer Erzeugen des Remote-Objekts Exportieren des Remote-Objekts Remote-Objekt mittels Registry bekannt machen public class VSBankServer { public static void main ( String [] args ) throws Exception { // Remote - Objekt erzeugen VSBank bankimpl = new VSBankImpl (); // Remote - Objekt exportieren VSBank bank = ( VSBank ) UnicastRemoteObject. exportobject ( bankimpl, 0); // Remote - Objekt bekannt machen Registry registry = LocateRegistry. createregistry (12345); registry. bind (" bank ", bank ); VS-Übung (SS12) Java RMI Java Remote Method Invocation 1 11
12 Java RMI Beispiel Client Client-Implementierung VSBankClient public class VSBankClient { public static void main ( String [] args ) throws Exception { // Geldbetrag - Objekt anlegen VSMoney money = new VSMoney (10.0 f); // Account anlegen und exportieren VSAccount accountimpl = new VSAccountImpl (100.0 f); VSAccount account = ( VSAccount ) UnicastRemoteObject. exportobject ( accountimpl, 0); // Remote - Referenz holen ( Annahme : Server auf faui05a ) Registry registry = LocateRegistry. getregistry (" faui05a ", 12345); VSBank bank = ( VSBank ) registry. lookup (" bank "); // Geld einzahlen bank. deposit ( money, account ); System. exit (0); VS-Übung (SS12) Java RMI Java Remote Method Invocation 1 12
13 Java RMI Beispiel Interaktion Ausgangssituation vor Registry-Zugriff des Client Client Java Virtual Machine Server Java Virtual Machine money account client bank VS-Übung (SS12) Java RMI Java Remote Method Invocation 1 13
14 Java RMI Beispiel Interaktion Remote-Referenz auf bank von Registry holen Client Java Virtual Machine Server Java Virtual Machine money account client Remote-Referenz bank VS-Übung (SS12) Java RMI Java Remote Method Invocation 1 14
15 Java RMI Beispiel Interaktion Methodenaufruf von bank.deposit() Client Java Virtual Machine Server Java Virtual Machine money account client bank.deposit() Kopie von money Stub für account bank VS-Übung (SS12) Java RMI Java Remote Method Invocation 1 15
16 Java RMI Beispiel Interaktion Nach dem Auspacken der Parameter Client Java Virtual Machine money Server Java Virtual Machine Kopie von money account Remote-Referenz client bank.deposit() bank VS-Übung (SS12) Java RMI Java Remote Method Invocation 1 16
17 Java RMI Beispiel Interaktion Methodenaufruf von account.deposit() Client Java Virtual Machine money Server Java Virtual Machine Kopie von money client account account.deposit() Kopie von Kopie von money bank.deposit() bank VS-Übung (SS12) Java RMI Java Remote Method Invocation 1 17
18 Überblick Java RMI Java Remote Method Invocation Marshalling und Unmarshalling Aufgabe 1 VS-Übung (SS12) Java RMI Marshalling und Unmarshalling 1 18
19 Marshalling und Unmarshalling Definition Marshalling: Verpacken von Informationen in einer Nachricht Unmarshalling: Auspacken von Informationen aus einer Nachricht Problemstellungen Unterschiedliche Datentypen Heterogenität bei der lokalen Repräsentation von Datentypen Unterschiedliche Client Parameterübergabearten Server Stub Skeleton Host A Kommunikationssystem Host B VS-Übung (SS12) Java RMI Marshalling und Unmarshalling 1 19
20 Unterschiedliche Datentypen Primitive Datentypen z. B. char, boolean, int,... Benutzerdefinierte Datentypen z. B. structs Felder z. B. int[47] Referenzen z. B. char * Objekte z. B. Strings, Dateien, Kein allgemeines Vorgehen möglich VS-Übung (SS12) Java RMI Marshalling und Unmarshalling 1 20
21 Heterogenität Byte Sex -Problem Big Endian (Network Byte Order) Most-significant byte first z. B. SPARC, Motorola Little Endian Least-significant byte first z. B. Intel x86 Repräsentation von Fließkommazahlen Allgemein Vorzeichen (s) Mantisse (m) Exponent (e) Zahlenwert: ( 1) s m 2 e Variationsmöglichkeiten Anzahl der Bits für m und e Speicherreihenfolge von m, e und s Byte-Order VS-Übung (SS12) Java RMI Marshalling und Unmarshalling 1 21
22 Heterogenität Lösungsvarianten Kanonische Repräsentation Nutzung einer allgemeingültigen Form als Zwischenrepräsentation z. B. IEEE-Standard Eventuell unnötige Konvertierungen [z. B. wenn Sender und Empfänger identische Repräsentation nutzen] Sender makes it right Sender kennt Datenrepräsentation des Empfängers Sender konvertiert Daten Multicast an heterogene Gruppe nicht möglich Receiver makes it right Kennzeichnung des Datenformats Empfänger konvertiert Daten Bereitstellung sämtlicher Konvertierungsroutinen notwendig [Unproblematisch für Byte-Order-Konvertierung] VS-Übung (SS12) Java RMI Marshalling und Unmarshalling 1 22
23 Unterschiedliche Parameterübergabearten Eingabeparameter Teil der Anfragenachricht z. B. value in void setvalue(int value); Ausgabeparameter Teil der Antwortnachricht z. B. String-Rückgabewert in String tostring(); Ein-/Ausgabeparameter Teil der Anfrage- und Antwortnachricht z. B. stack in Object pop(stack stack); Lösungsansatz Semantiken: Call-by-Value, Call-by-Result, Call-by-Value-Result Behandlung von Referenzen Zeiger dereferenzieren: Objektkopie erzeugen Remote-Referenzen VS-Übung (SS12) Java RMI Marshalling und Unmarshalling 1 23
24 Serialisierung & Deserialisierung in Java Primitive Datentypen Hilfsklasse java.nio.bytebuffer public abstract class ByteBuffer [...] { public static ByteBuffer allocate ( int capacity ); public static ByteBuffer wrap ( byte [] array ); public byte [] array (); public ByteBuffer put < Datentyp >( < Datentyp > value ); public <Datentyp > get < Datentyp >(); [...] allocate() neues (leeres) Byte-Array anlegen wrap() bestehendes Byte-Array verwenden array() Byte-Array zurückgeben put*(), get*() Daten einfügen bzw. lesen Beispiel: {S,Deserialisierung eines double-werts double d = 0.47; ByteBuffer buffer1 = ByteBuffer. allocate ( Double. SIZE / 8); buffer1. putdouble ( d); byte [] bytearray = buffer1. array (); ByteBuffer buffer2 = ByteBuffer. wrap ( bytearray ); double d2 = buffer2. getdouble (); VS-Übung (SS12) Java RMI Marshalling und Unmarshalling 1 24
25 Serialisierung & Deserialisierung in Java Objekte Objekt Stream: java.io.object{out,inputstream public class ObjectOutputStream [...] { public ObjectOutputStream ( OutputStream out ); public void writeobject ( Object obj ); // Objekt [...] // serialisieren public class ObjectInputStream [...] { public ObjectInputStream ( InputStream in ); public Object readobject (); // Objekt deserialisieren [...] Stream Byte-Array: java.io.bytearray{out,inputstream public class ByteArrayOutputStream extends OutputStream { public byte [] tobytearray (); // Rueckgabe des Byte - Array [...] public class ByteArrayInputStream extends InputStream { public ByteArrayInputStream ( byte buf []); [...] VS-Übung (SS12) Java RMI Marshalling und Unmarshalling 1 25
26 Serialisierung & Deserialisierung in Java Schnittstellen Automatisierte {S,Deserialisierung: java.io.serializable Muss von jedem Objekt implementiert werden, das von einen Object{Out,InputStream serialisiert bzw. deserialisiert werden soll Marker-Schnittstelle keine zu implementierenden Methoden {S,Deserialisierung wird vom Object{Out,InputStream übernommen Manuelle {S,Deserialisierung: java.io.externalizable Klassenspezifische {S,Deserialisierung public interface Externalizable extends Serializable { void writeexternal ( ObjectOutput out ); void readexternal ( ObjectInput in ); writeexternal() readexternal() Objekt serialisieren Objekt deserialisieren {S,Deserialisierung wird vom Objekt selbst übernommen VS-Übung (SS12) Java RMI Marshalling und Unmarshalling 1 26
27 Serialisierung & Deserialisierung in Java Geschützte Attribute Einige Attribute einer Klasse sollen nicht serialisiert werden Sicherheitsaspekte Effizienzüberlegungen Einige Objekte können nicht serialisiert & deserialisiert werden, da sich ihr Zustand nicht so ohne weiteres wiederherstellen lässt FileInputStream Socket, ServerSocket Thread Schlüsselwort transient Mit transient gekennzeichnete Attribute werden bei der automatischen {S,Deserialisierung vom Object{Out,InputStream ignoriert Beispiel public class TransientExample { private transient Thread t = new Thread (); VS-Übung (SS12) Java RMI Marshalling und Unmarshalling 1 27
28 Überblick Java RMI Java Remote Method Invocation Marshalling und Unmarshalling Aufgabe 1 VS-Übung (SS12) Java RMI Aufgabe
29 Übungsaufgabe 1 Programmieren mit Java RMI Implementierung der Kommunikationsschicht Client Server Stub Skeleton Host A Kommunikationssystem Host B VS-Übung (SS12) Java RMI Aufgabe
30 Programmieren mit Java RMI Beispielanwendung: Schwarzes Brett public interface VSBoard { public void post ( VSBoardMessage message ); public VSBoardMessage [] get ( int n); public void listen ( VSBoardListener listener ); public interface VSBoardListener { public void newmessage ( VSBoardMessage message ); post() get() listen() Hinzufügen von neuen Botschaften Abfragen der neuesten Botschaften Automatische Benachrichtigung über neue Botschaften Verteilung mittels Java RMI Server Bereitstellung der Anwendung als Remote-Objekt Registrierung des Diensts bei einer Registry Client Zugriff auf den Dienst über Fernaufrufe Interaktion mit dem Nutzer per Kommandozeile VS-Übung (SS12) Java RMI Aufgabe
31 Implementierung der Kommunikationsschicht Übertragung von Datenpaketen public class VSConnection { public void sendchunk ( byte [] chunk ); public byte [] receivechunk (); Übermittlung von Daten über eine TCP-Verbindung Senden und Empfangen von Byte-Arrays beliebiger Länge Übertragung von Objekten public class VSObjectConnection { public void sendobject ( Serializable object ); public Serializable receiveobject (); Senden und Empfangen von beliebigen Objekten Marshalling und Unmarshalling von Nachrichten VS-Übung (SS12) Java RMI Aufgabe
32 Optimierte {S,Deserialisierung Ziel Minimierung der über das Netzwerk zu übertragenden Daten Ausgangspunkt Analyse der vom ObjectOutputStream erzeugten Daten Beispielklasse public class VSTestMessage implements Serializable { private int integer ; private String string ; private Object [] objects ; Reduzierung der benötigten Datenmenge Anwendung der Schnittstelle Externalizable Manuelle Implementierung der {S,Deserialisierungmethoden Hinweis: Ausgabe eines Byte-Array als Zeichenkette in Eclipse byte [] chunk = [...]; System. out. println ( new String ( chunk, " COMPOUND_TEXT ")); VS-Übung (SS12) Java RMI Aufgabe
Ü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
Ü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
Remote 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
Serialisierung & Deserialisierung Serialisierung & Deserialisierung in Java Marshalling & Unmarshalling
in Java Überblick Verteilte Systeme - Übung Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) www4.informatik.uni-erlangen.de in Java Sommersemester
Serialisierung & Deserialisierung Serialisierung & Deserialisierung in Java Marshalling & Unmarshalling
Überblick in Java 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
Java-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
Programmieren 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
B 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)
Ü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
1 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
Einfü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
Remote 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
Objektserialisierung
Objektserialisierung SEP 170 Serialisierung von Objekten Umwandlung des Objektzustandes in einen Strom von Bytes, aus dem eine Kopie des Objekts zurückgelesen werden kann. Serialisierung in Java einfacher
E.2 Fragen zu Aufgabe 2
E 6. Übung E 6. Übung 1 Klasse Thread: möglich Lösung E.1 Überblick Fragen zu Aufgabe 2 Thread-Klasse von Teilaufgabe a Templates für Teilaufgabe b Aufgabe 3 Überblick: Architektur eines RPC Systems Stubs
Java 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
Konzepte 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.
Ü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
Remote 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
Systemprogrammierung. 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
9. 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
Java Input/Output System (IO)
Java Input/Output System (IO) Ziel: Schreiben und Lesen von Daten auf sequentielle Medien. Paket: java.io. ab Java 1.4 auch java.nio, hier nicht beru cksichtigt. Trennung in 2 Welten: - Byteorientierte
Java 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
Mobile und Verteilte Datenbanken
Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2010/2011 [email protected] Institut für Informationssysteme Universität zu Lübeck Java Remote Method Invocation (RMI) Realisierung
36.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
Informatik B. Vorlesung 14 Serialisierung, Autoboxing. Dr. Ralf Kunze
Vorlesung 14 Serialisierung, Autoboxing 1 Serialisierung von Objekten Die Objekte innerhalb eines Java-Programmes sollen manchmal auch nach Beendigung der JVM verfügbar bleiben Objekte müssen ab und an
Mobile und Verteilte Datenbanken
Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2013/2014 [email protected] Institut für Informationssysteme Universität zu Lübeck Kommunikations-Middleware Bietet höhere Kommunikations-Dienste
Netzprogrammierung: 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
Repetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?
Generic Programming without Generics from JAVA5 Motivation Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Ein Bespiel: sie haben bereits eine Klasse zur Multiplikation von Matrizen
12 Abstrakte Klassen, finale Klassen und Interfaces
12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
Anleitung. 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
Themen. 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
Verteilte 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
verwendete Entwurfsmuster (Designpattern) SecurityManager RMI MW - Übung E.1
E Überblick über die 4. Übung E Überblick über die 4. Übung verwendete Entwurfsmuster (Designpattern) SecurityManager RMI Universität Erlangen-Nürnberg Informatik 4, 2007 E-Uebung4.fm 2007-11-15 18.13
Kapitel 8: Serialisierbarkeit
Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 8: Serialisierbarkeit Folie 189 : Serialisierbarkeit Die Umwandlung eines komplexen Objektes in ein Byte-Array nennt
Methoden und Wrapperklassen
Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)
Client/Server-Programmierung
Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme [email protected] Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 15. Oktober 2015 Betriebssysteme / verteilte
Client/Server-Programmierung
Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme [email protected] Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 15. Oktober 2015 Betriebssysteme / verteilte
Komponententechnologien 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
Tag 8 Repetitorium Informatik (Java)
Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium
Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält
Programmieren 2 Java Überblick
Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10
Java-Grundkurs für Wirtschaftsinformatiker
Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für Wirtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung - Fortgeschrittene Konzepte kennenlernen - Betriebswirtschaftlich
IT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1
IT I: Heute abstrakte Methoden und Klassen Interfaces Interfaces List, Set und Collection 22.11.2018 IT I - VO 7 1 Wissensüberprüfung Überschreiben von Methoden: Aufruf der Methode der Oberklasse ist oft
Vorkurs Informatik WiSe 15/16
Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann
8.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
Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download
Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches
Java I Vorlesung 6 Referenz-Datentypen
Java I Vorlesung 6 Referenz-Datentypen 7.6.2004 Referenzen this, super und null Typkonvertierung von Referenztypen Finale Methoden und Klassen Datentypen in Java In Java gibt es zwei Arten von Datentypen:
39 Object Request Brokers. 40 Components of an ORB. 40.1 Stubs and Skeletons. 40.1.1 Stub
39 Object Request Brokers 40.1 Stubs and s invoke methods at remote objects (objects that run in another JVM) Stub: Proxy for remote object example ORBs: RMI, JavaIDL : Invokes methods at remote object
Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online
Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches
Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen
Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen
Teil 5 - Java Programmstruktur Operatoren Schlüsselwörter Datentypen 1 Kommentare in Java In Java gibt es drei Möglichkeiten zur Kommentierung: // Kommentar Alle Zeichen nach dem // werden ignoriert. für
Parallele und funktionale Programmierung Wintersemester 2015/ Übung Abgabe bis , 10:00 Uhr
3. Übung Abgabe bis 10.11.2015, 10:00 Uhr Aufgabe 3.1: Java-Synchronisation a) An welchen Stellen im Code kann das Schlüsselwort synchronized verwendet werden? b) Wie nennt sich die Synchronisations-Art,
Grundelemente objektorientierter Sprachen (1)
Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte
Datenströme in Java. Zeichenkonvertierung
Datenströme in Java Arten von Strömen Ein- und Ausgabeoperationen sind in Java im Wesentlichen über Datenströme realisiert. Dabei werden zwei Arten von Datenströmen unterschieden; byteorientierte Ströme
Grundelemente objektorientierter Sprachen (1)
Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte
