Netzprogrammierung: Java RMI - Remote Method Invocation (Teil 2)

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Netzprogrammierung: Java RMI - Remote Method Invocation (Teil 2)"

Transkript

1 Netzprogrammierung: Java RMI - Remote Method Invocation (Teil 2) Robert Tolksdorf und Peter Löhr

2 Überblick 1. Auffinden von.class-dateien 2. Serializable Parameter 3. Sicherheit 4. Code laden übers Web Zur Erinnerung - Dokumentation RMI: Robert Tolksdorf und Peter Löhr 2

3 Auffinden von.class-dateien Robert Tolksdorf und Peter Löhr

4 Nochmal Beispiel Counter Zur Erinnerung - Beispiel Counter: Schnittstelle Anbieter Klient Counter.java CounterImpl.java Inc.java $ javac CounterImpl.java $ rm *.java $ ls more Counter.class CounterImpl.class $ $ javac Inc.java (... getregistry("server");...) $ rm *.java $ ls more Counter.class Inc.class $ Robert Tolksdorf und Peter Löhr 4

5 Nochmal Beispiel Counter $ rmiregistry & [1] 8774 $ java CounterImpl & [1] 8777 $ Dies scheitert, wenn im Klassenpfad des rmiregistry (!) die Counter.class nicht gefunden wird! $ java Inc 5 counter is 5 $ Robert Tolksdorf und Peter Löhr 5

6 .class-dateien über das Web laden Saubere Lösung mit vollständiger Entkoppelung des Registry von den zu verwaltenden Objekten: $ rmiregistry & [1] 8774 $ (am besten ohne CLASSPATH) $ java \ > -Djava.rmi.server.codebase=http://page.mi.fu-berlin.de/~ann/classes/ \ > CounterImpl & [1] 8777 $ Codebasis für Registry ( server ) wird durch URL identifiziert. Counter.class wird in classes vorgehalten. Robert Tolksdorf und Peter Löhr 6

7 Serializable Parameter Robert Tolksdorf und Peter Löhr

8 Remote versus Serializable Zur Erinnerung - Fernaufruf-Parameter mit Verweistyp: Wenn der aktuelle Parameter Remote ist: Übergabe eines Fernverweises. Wenn der aktuelle Parameter nicht Remote, aber Serializable ist: Übergabe einer Objektkopie. Sonst: Laufzeitfehler MarshalException. Robert Tolksdorf und Peter Löhr 8

9 Code nachladen Übergabe einer Kopie eines Serializable Objekts - wie kommt der Empfänger zum Code des Objekts? Kein Problem, wenn Klasse beim Empfänger vorhanden, genauer: wenn dort über CLASSPATH erreichbar; wenn nicht, eventuell java -cp <classpath> einsetzbar, wenn Sender und Empfänger im gleichen Dateisystem. Fernladen: Häufig liegt die Klasse in einem fremden Dateisystem auf einem anderem Rechner, typischerweise am Ort des entfernten Objekts. Dann kann der Code mit einer URL identifiziert und über das Web geladen werden (s.u.). Achtung - Sicherheitsprobleme bei Verwendung fremden Codes! Robert Tolksdorf und Peter Löhr 9

10 Beispiel: Fernaufrufbares Factory-Objekt zur Erzeugung von Serializable Objekten, die die Klienten sich per Fernaufruf beschaffen können. Die Klienten wissen nichts von der Implementierung - und wollen auch nichts davon wissen.... implements Factory... new... data code Netzdateisystem:? code data code Robert Tolksdorf und Peter Löhr 10

11 Beispiel: Fabrik für Echo-Objekte interface Echo { // is not Remote! void print(); // print echo } import java.rmi.*; interface Factory extends Remote { Echo create(string s) throws RemoteException; } // creates an echo of s anna als Anbieter der Fabrik stellt den Benutzern lediglich diese zwei Schnittstellen zur Verfügung. import java.io.serializable; public class EchoImpl implements Echo, Serializable { public EchoImpl(String s) { echo = s; } String echo; import java.rmi.server.unicastremoteobject; public void print() { import java.rmi.registry.locateregistry; System.out.println(echo); import java.rmi.registry.registry; } public class EchoFactory implements Factory { } public Echo create(string s) { return new EchoImpl(s.substring(1,s.length())); } public static void main(string[] arg) throws Exception { Robert Tolksdorf und Peter Löhr Factory f = new EchoFactory(); 11 Factory stub = (Factory) UnicastRemoteObject.exportObje Registry registry = LocateRegistry.getRegistry(); registry.bind("factory", stub);

12 Beispiel: Fabrik für Echo-Objekte Mit Kenntnis der Schnittstellen (und des Namens der Fabrik im Registry) verfasst der Benutzer paul ein Klientenprogramm: import java.rmi.registry.locateregistry; import java.rmi.registry.registry; public class Test { public static void main(string[] arg) throws Exception{ Registry registry = LocateRegistry.getRegistry(); Factory f = (Factory) registry.lookup("factory"); Echo x = f.create(arg[0]); // delivers copy! x.print(); // local call! } } Robert Tolksdorf und Peter Löhr 12

13 Test mit Netzdateisystem $ ls more Echo.class EchoFactory.class EchoImpl.class Factory.class $ rmiregistry & [1] 1373 $ java EchoFactory & [2] 1374 $ $ ls more Echo.class Factory.class Test.class $ java Test wesel Exception in thread "main" java.rmi.unmarshalexception: error unmarshalling return; nested exception is: java.lang.classnotfoundexception: EchoImpl... Robert Tolksdorf und Peter Löhr 13

14 Test mit Netzdateisystem Reparieren: $ ls more Echo.class Factory.class Test.class $ java -cp.:/home/anna/echo/classes Test wesel esel $ (Damit sind übrigens auch diese entbehrlich!) Achtung: paul muss auf die Dateien in /home/anna/echo/classes Lesezugriff haben - sonst gibt es wiederum eine java.lang.classnotfoundexception: EchoImpl Robert Tolksdorf und Peter Löhr 14

15 Entfernte Benutzung der Fabrik Bei Benutzung der Fabrik von einem fremden Dateisystem aus (evtl. Firewall mit VPN umgehen) muss der Code von EchoImpl mit dem RMI-Klassenlader über das Web heruntergeladen werden. Die URL der entsprechenden Codebasis wird von der Fabrik mit dem EchoImpl-Objekt mitgeliefert (s.u.). $ java Test wesel Exception in thread "main" java.rmi.unmarshalexception: error unmarshalling return; nested exception is: java.lang.classnotfoundexception: EchoImpl (no security manager: RMI class loader disabled)... Das Nachladen von Code über das Web wird verweigert, wenn kein Security Manager installiert ist! Robert Tolksdorf und Peter Löhr 15

16 Sicherheit Robert Tolksdorf und Peter Löhr

17 Vorsicht vor Schadcode! Fremder Code verhält sich vielleicht anders als erwartet! Schadcode (malware) hat unerwünschte Funktionalität, die dem Benutzer Schaden zufügen kann. Typisch sind: Trojanische Pferde - haben zwar die gewünschte Funktionalität, aber zusätzlich (und verdeckt) eine schädliche Funktionalität; Viren - sind Schadcode, der zusätzlich zu seiner schädlichen Funktionalität auch anderen - bislang unschädlichen - Code infiziert.! Sicherheitsbewusstes Verhalten: keinen Code benutzen, den man nicht selbst geschrieben hat oder dessen Autor man vertraut (?) oder der erfahrungsgemäß richtig funktioniert (??). Robert Tolksdorf und Peter Löhr 17

18 EchoImpl ein Trojanisches Pferd? Zur Erinnerung (S. 14): bei der Ausführung des Programms Test $ java -cp.:/home/anna/echo/classes Test wesel esel holt paul sich eventuell ein Trojanisches Pferd von anna ins Haus: Der Code der von der Echo-Fabrik gelieferten EchoImpl-Objektkopie produziert zwar das erwartete Echo, könnte aber auch Schadcode enthalten, der Dateien zerstört, Dateiinhalte kopiert, etc. etc. Robert Tolksdorf und Peter Löhr 18

19 Security Manager Schutz vor fremdem Schadcode wird durch Mitlaufenlassen eines Security Manager ermöglicht: $ java -Djava.security.manager... Security Manager folgt benutzerdefinierten Richtlinien (policies), die in entsprechenden Richtlinien-Dateien bereitgestellt sind: ~/.java.policy (privat) $JAVAHOME/jre/lib/security/java.policy (global)... und andere, explizit benannte Dateien Eine Richtlinien-Datei (policy file) enthält eine Menge von Berechtigungen (Erlaubissen, permissions), die für Code verschiedener Herkunft verschiedene Aktionen erlauben.! Was nicht erlaubt ist, ist verboten. Wenn keine Richtlinien-Datei vorliegt, ist nichts erlaubt! Robert Tolksdorf und Peter Löhr 19

20 Richtlinien-Datei Beispiel für eine einfache Richtlinien-Datei mypolicy von bob: grant codebase "file:${user.home}/-" { permission java.security.allpermission; }; grant codebase "file:/usr/ann/classes/*" { permission java.io.filepermission "/usr/bob/help/*", "read"; permission java.net.socketpermission "localhost:1024-", "connect, accept"; } grant { // allows any code to read in pub subtree permission java.io.filepermission "/usr/bob/pub/-", "read"; }; Benutzung z.b. so: bob: java -Djava.security.manager \ > -Djava.security.policy=mypolicy... Robert Tolksdorf und Peter Löhr 20

21 Richtlinien-Datei bearbeiten Fensterbasierte Bearbeitung von Richtlinien-Dateien: lohr: policytool --> Robert Tolksdorf und Peter Löhr 21

22 Beispiel: System Property erfragen import java.lang.*; import java.security.*; class GetProps { // from public static void main(string[] args) throws Exception { s = System.getProperty("user.home", "not specified"); System.out.println(" Your user home directory is: " + s); } } $ java GetProps Your user home directory is: /Users/lohr $ java -Djava.security.manager GetProps Exception in thread "main" java.security.accesscontrolexception: access denied (java.util.propertypermission user.home read)... $ Robert Tolksdorf und Peter Löhr 22

23 Beispiel: System Property erfragen Geeignete Richtlinien-Datei mypolicy in getprops einrichten: grant codebase "file:/users/lohr/samples/getprops/*" { permission java.util.propertypermission "user.home", "read"; }; Und dann: $ ls more GetProps.class GetProps.java mypolicy $ java -Djava.security.manager -Djava.security.policy=mypolicy GetProps Your user home directory is: /Users/lohr $ Robert Tolksdorf und Peter Löhr 23

24 Security Manager programmatisch Ein Security Manager kann auch per Programm gesetzt werden: public static void main(string[] arg) { if (System.getSecurityManager() == null) System.setSecurityManager(new SecurityManager());... } Damit ist sichergestellt, dass ein Security Manager garantiert vorhanden ist. Robert Tolksdorf und Peter Löhr 24

25 Code laden übers Web Robert Tolksdorf und Peter Löhr

26 Codebasis im Web Zur Erinnerung: mit CLASSPATH oder mit der Option -cp kann man sich nur auf Dateien im eigenen Dateisystem (bzw. Netzdateisystem) beziehen. Das Nachladen von Code (.class-dateien oder.jar-dateien) aus fremden Dateisystemen ist nur über das Web möglich: Ausnutzung vorhandener Infrastruktur (HTTP-Protokoll) keine Probleme mit Firewalls Somit wird eine URL verwendet, um ein Verzeichnis, das als Codebasis (codebase) dienen soll, zu identifizieren. Achtung: Da die Firewall zwischen Internet und Intranet i.a. nur den Verkehr über wenige Standard-Ports erlaubt, braucht man VPN für intranet-überschreitendes RMI! Robert Tolksdorf und Peter Löhr 26

27 Entfernte Benutzung der Echo-Fabrik Revision des Ansatzes von S. 15: Anbieter: Benutzer lohr auf human.inf.fu-berlin.de Klient: anderer lohr auf PC über VPN mit diesen Richtlinien testpolicy : grant codebase "file:/users/lohr/-" { permission java.security.allpermission; }; grant codebase "http://page.mi.fu-berlin.de/~lohr/classes/-" { permission }; Hierfür sollten Berechtigungen nur sehr restriktiv vergeben werden! In unserem Fall sollte der Eintrag sogar ganz weggelassen werden, weil die print-methode von EchoImpl keine Berechtigungen benötigt; damit sind wir vor Trojanischem Code geschützt! Robert Tolksdorf und Peter Löhr 27

28 Randbedingungen Die URL einer Codebasis im Web bezeichnet ein Verzeichnis, das entweder die Klassendateien (.class) in Unterverzeichnissen gemäß der Paketstruktur enthält oder eine entsprechende Archivdatei (.jar) enthält. Für das Echo-Beispiel wählen wir eine einfache Paketisierung: echo enthält die Schnittstellen Echo und Factory ; factory enthält die Klassen EchoImpl und EchoFactory ; echotest enthält die Klasse Test. Beim Start der Fabrik EchoFactory muss die Codebasis angegeben werden, über die der Empfänger eines Echo- Objekts sich den zugehörigen Code beschaffen kann (vgl.s.6): -Djava.rmi.server.codebase=http://page.mi.fu-berlin.de/~lohr/classes/ Achtung: eine solche Angabe ist bei allen Programmen erforderlich, die Serializable Objekte verschicken, sei es als Argument oder als Ergebnis! Robert Tolksdorf und Peter Löhr 28

29 Anbieterseitige Situation Die Codebasis im Web: human: cd /web/page.mi.fu-berlin.de/web-home/lohr/public_html/classes human: ls * echo: Factory.class (die beim Registry benötigte Schnittstelle - vgl. S. 6) factory: EchoImpl.class (die bei Klienten benötigte Klasse) Der vollständige Code für die Echo-Fabrik: human: cd... human: ls * echo: Echo.class Factory.class factory: EchoFactory.class EchoImpl.class Robert Tolksdorf und Peter Löhr 29

30 Starten der Echo-Fabrik human : rmiregistry & [1] human: java -Djava.rmi.server.codebase=\ > \ > factory/echofactory & [2] human: Robert Tolksdorf und Peter Löhr 30

31 Test der Echo-Fabrik cd... ls * testpolicy echo: Echo.class Factory.class echotest: Test.class java -Djava.security.manager \ > -Djava.security.policy=testpolicy \ > echotest/test wesel esel Robert Tolksdorf und Peter Löhr 31

32 Ein weiteres Beispiel (aus ) Rechenintensiven Code execute eines Klienten von einem Anbieter auf leistungsfähiger Maschine ausführen lassen: public interface Task<T> { T execute(); } // not Remote Anbieter kann über generische Methode executetask angesprochen werden: public interface Compute extends Remote { <T> T executetask(task<t> t) throws RemoteException; } Robert Tolksdorf und Peter Löhr 32

33 ... und der Klient Die Rechenaufgabe des Klienten: public class Heavy implements Task<Result>, Serializable {...}... und das Rahmenprogramm: public class HeavyComputing { public static void main(string arg[]) {... Compute comp = (Compute)registry.lookup("compute"); Result result = comp.executetask(new Heavy(...));... } } Robert Tolksdorf und Peter Löhr 33

34 Hier statt Berechnung von Heavy Berechnung von Pi mit HeavyComputing mit ComputePi Code-Übertragung in andere Richtung als bei Echo-Beispiel! implements Compute Robert Tolksdorf und Peter Löhr 34

35 Allgemeine Situation Robert Tolksdorf und Peter Löhr 35

36 Zusammenfassung Robert Tolksdorf und Peter Löhr

37 Zusammenfassung Auffinden von.class-dateien classpath bei rmiregistry, Anbieter und Klient beachten! ggfls. Codebasis im Web für rmiregistry vorhalten vorzugsweise mit.jar-dateien arbeiten Serialisierbare Parameter Empfänger erhält Verweis auf lokale Kopie eventuell muss auch Code übertragen werden Sicherheit Schutz vor Trojanischem Code Security Manager und Richtlinien-Dateien Code laden übers Web nur mit Security Manager Robert Tolksdorf und Peter Löhr 37

38 Literatur Sun Microsystems: Security Sun Microsystems: Security Tutorial Robert Tolksdorf und Peter Löhr 38

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.

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. 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

Mehr

8.1.5 Java RMI Remote Method Invocation

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

Mehr

Netzprogrammierung: Java RMI - Remote Method Invocation (Teil 1)

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

Mehr

RMI Server und Client

RMI 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

Mehr

Komponententechnologien Winter 2016/17. Komponenten. 2. Die Anfänge. Peter Sturm, Universität Trier 1

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

Mehr

Java RMI Remote Method Invocation

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

Mehr

Java-Programmierung. Remote Method Invocation - RMI

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

Mehr

Java Remote Method Invocation (RMI)

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

Mehr

7 Remote Method Invocation (RMI)

7 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

Mehr

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

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

Mehr

9. Remote Method Invocation Grundlagen der Programmierung II (Java)

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

Mehr

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

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

Mehr

Remote Method Invocation

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

Mehr

Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06

Musterlö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

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Remote Method Invocation RMI Beispiel

UNIVERSITÄ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,

Mehr

Remote Method Invocation

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

Mehr

Kurzanleitung RMI-Beispiel: gettime Seite 1 / 7. RMI Projekt gettime 1

Kurzanleitung 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

Mehr

Remote Method Invocation

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

Mehr

Konzepte von Betriebssystem-Komponenten Middleware RMI

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.

Mehr

Benutzerauthentifizierung und Zugriffsschutz mit JAAS

Benutzerauthentifizierung und Zugriffsschutz mit JAAS Benutzerauthentifizierung und Zugriffsschutz mit JAAS Werner Eberling werner.eberling@mathema.de www.mathema.de Übersicht Altbekanntes kurz erwähnt Java Security Des Kaisers neue Kleider JAAS Zu Ihren

Mehr

Mobile und Verteilte Datenbanken

Mobile 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

Mehr

5.7 Zugriffsschutz in Programmiersprachen

5.7 Zugriffsschutz in Programmiersprachen 5.7 Zugriffsschutz in Programmiersprachen Schichtung abstrakter Maschinen geschützte Objekte Systemobjekte, Anwendungsobjekte Programmiersprache Systemobjekte, insbesondere Dateien Betriebssystem Adreßräume,

Mehr

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität,

Mehr

Praktikum aus Softwareentwicklung 2, Stunde 14

Praktikum aus Softwareentwicklung 2, Stunde 14 Praktikum aus Softwareentwicklung 2, Stunde 14 Lehrziele/Inhalt 1. Java Service 2. Sicherheit Java Service Ein Java Service ist ein Interface, Objekte die dieses Interface implementieren können zur Laufzeit

Mehr

8.1.6.NET Remoting. C# ( Csharp, Cis ) : Referenzsprache für.net,

8.1.6.NET Remoting. C# ( Csharp, Cis ) : Referenzsprache für.net, 8.1.6.NET Remoting.Net ( dotnet ) : von Microsoft eingeführte Plattform für verteilte Anwendungen, virtuelle Maschine für die verteilte Ausführung von Programmen in unterschiedlichen Sprachen C# ( Csharp,

Mehr

Der lokale und verteilte Fall

Der lokale und verteilte Fall Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf

Mehr

Client/Server-Programmierung

Client/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

Mehr

Client/Server-Programmierung

Client/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

Mehr

Programmieren II. Remote Method Invocation (RMI) Heusch -- Ratz. Institut für Angewandte Informatik

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

Mehr

7.1.1 Grundzüge der Fernaufruf-Implementierung

7.1.1 Grundzüge der Fernaufruf-Implementierung 7.1.1 Grundzüge der Fernaufruf-Implementierung = Aufrufbeziehung Aufrufer Vertreter (proxy, client stub) Fernaufrufdienst A d a p t e r Treiber (skeleton, server stub) Fernaufrufdienst Aufgerufener (Modul,

Mehr

Übung zur Vorlesung "Einführung in Verteilte Systeme"

Ü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!

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

H.2 Distributed Events

H.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

Mehr

JINI Security & Scalability. JINI Security

JINI Security & Scalability. JINI Security JINI Security & Scalability JINI Security Hans-Peter Rötheli & Christian Gloor Inhalt JINI-Beispielumgebung Kommunikation Was darf fremder Code? Exploits Folgerungen 1 Seminarraum mit Printer Lookup Service

Mehr

AVO Übung 1. Java RMI, Custom Sockets, Activation. 2. November 2004 (WS 2004) Andreas I. Schmied

AVO Ü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...)

Mehr

Grundlagen verteilter Systeme

Grundlagen 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

Mehr

Java Security. Sicherheit durch Classloader, Security Manager und Co. Prof. Dr. Nikolaus Wulff

Java Security. Sicherheit durch Classloader, Security Manager und Co. Prof. Dr. Nikolaus Wulff Java Security Sicherheit durch Classloader, Security Manager und Co. Prof. Dr. Nikolaus Wulff Das Java Sicherheitskonzept Java wurde von Anfang an auf Sicherheit im Internet ausgelegt. Unsicherer Code

Mehr

36.2 Example ClassLoader. 36.3 Example Appletviewer

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

Mehr

4. Informatiktag NRW 14.3.05. Projekt online Shop. Barbara Leipholz Schumacher Euregio Kolleg, Würselen

4. 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

Mehr

Mobile und Verteilte Datenbanken

Mobile 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

Mehr

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

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)

Mehr

Übungen zu Softwaretechnik

Übungen zu Softwaretechnik Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte

Mehr

Implementierung III. Implementierung IV

Implementierung 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

Mehr

Reflection. Arthur Zaczek. Nov 2014

Reflection. Arthur Zaczek. Nov 2014 Arthur Zaczek Nov 2014 1 Einleitung 1.1 Definition Reflection ist das Auslesen von Metainformationen über Klassen, deren Methoden & Eigenschaften zur Laufzeit. 1.2 Anwendungsfälle Analyse von Programmen

Mehr

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Paketdeklaration Paketdeklaration package Bezeichner ; Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Ein

Mehr

Netzprogrammierung: Microsoft.NET Remoting

Netzprogrammierung: Microsoft.NET Remoting Netzprogrammierung: Microsoft.NET Remoting Robert Tolksdorf und Peter Löhr Überblick 1. Fernaufrufbare Objekte 2. Parameterübergabe 3. Konfigurationsdateien http://msdn.microsoft.com/en-us/library/72x4h507(vs.85).aspx

Mehr

Implementierung IV: Schnittstelle zur Umgebung. und. Integration und Test

Implementierung IV: Schnittstelle zur Umgebung. und. Integration und Test Sommersemester 2003 Implementierung IV: Schnittstelle zur Umgebung und Integration und Test 34 Aufgabe 6 Implementierung IV: Schnittstelle zur Umgebung und Integration und Test Umfang: 2 Wochen Punkte:

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

Praktikum aus Softwareentwicklung 2, Stunde 8

Praktikum 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.

Mehr

Java Security. Sicherheit durch Classloader, Security Manager und Co. Prof. Dr. Nikolaus Wulff

Java Security. Sicherheit durch Classloader, Security Manager und Co. Prof. Dr. Nikolaus Wulff Java Security Sicherheit durch Classloader, Security Manager und Co. Prof. Dr. Nikolaus Wulff Das Java Sicherheitskonzept Java wurde von Anfang an auf Sicherheit im Internet ausgelegt. Unsicherer Code

Mehr

Überblick. Middleware - Übung. Model-View-Controller. Entwurfsmuster (Design Patterns)

Ü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

Mehr

1 Polymorphie (Vielgestaltigkeit)

1 Polymorphie (Vielgestaltigkeit) 1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen

Mehr

Programmentwicklung ohne BlueJ

Programmentwicklung ohne BlueJ Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie

Mehr

Laborübung zu Verteilte Systeme : Aufgabe zu Java-RMI (1)

Laborübung zu Verteilte Systeme : Aufgabe zu Java-RMI (1) Master EE verteilte Systeme Laborpraktikumsaufgabe Thomas/Seck V 2.0 22.01.2007 Seite1 von 6 Laborübung zu Verteilte Systeme : Aufgabe zu Java-RMI (1) Aufgabenstellung : Es ist ein über RMI aktivierbarer

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des

Mehr

Name: Matr.-Nr.. Aufgaben: Punkte erreicht. 1. Klient mit Socket 6. 2. Server mit Sockets 9. 3. Java RMI 6. 4. Klienten und Server 4. 5. PHP 9.

Name: Matr.-Nr.. Aufgaben: Punkte erreicht. 1. Klient mit Socket 6. 2. Server mit Sockets 9. 3. Java RMI 6. 4. Klienten und Server 4. 5. PHP 9. FU Berlin WS 08/09 Nachklausur Netzprogrammierung: Lösungen Maximale Punktzahl: 45 Minimale Punktzahl: 22 Name: Matr.-Nr.. Die Klausur dauert 90 Minuten. Bitte schreiben sie auf jedes Blatt Ihre Matrikelnummer.

Mehr

Oracle & Java HOW TO

Oracle & 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

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

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

Mehr

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter

Remote- 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

Mehr

4.7 Zugriffsschutz in Programmiersprachen

4.7 Zugriffsschutz in Programmiersprachen 4.7 Zugriffsschutz in Programmiersprachen Schichtung abstrakter Maschinen geschützte Objekte Systemobjekte, Anwendungsobjekte Programmiersprache Systemobjekte, insbesondere Dateien Betriebssystem Adressräume,

Mehr

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen

Mehr

Klausur: Java (Liste P)

Klausur: Java (Liste P) Klausur: Java (Liste P) WS05/06 Erlaubte Hilfsmittel: Gebundene! Unterlagen (Skript mit Anmerkungen, eigene Mitschrift) und maximal ein Buch. Bitte keine losen Blätter. Lösung ist auf den Klausurbögen

Mehr

Inhalt. Übung zur Vorlesung "Einführung in Verteilte Systeme" Das RMI-Schichtenmodell. Java Remote Method Invocation. Wintersemester 2004/05

Inhalt. Übung zur Vorlesung Einführung in Verteilte Systeme Das RMI-Schichtenmodell. Java Remote Method Invocation. Wintersemester 2004/05 Ü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!

Mehr

Verteilte Systeme. Verteilte Objektorientierte Systeme I. Prof. Dr. Oliver Haase

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

Mehr

Programmieren II. Remote-Programmierung. www.kit.edu. Institut für Angewandte Informatik

Programmieren 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

Mehr

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Klausur zur Einführung in die objektorientierte Programmierung mit Java Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Distributed Computing Group

Distributed Computing Group JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird

Mehr

-Testen verteilter Anwendungen

-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

Mehr

Bridging the Gap between the Enterprise and You. Who s the JBoss now?

Bridging the Gap between the Enterprise and You. Who s the JBoss now? or Who s the JBoss now? Patrick Hof (patrick.hof@redteam-pentesting.de) Jens Liebchen (jens.liebchen@redteam-pentesting.de) RedTeam Pentesting GmbH http://www.redteam-pentesting.de 16. DFN-Cert Workshop

Mehr

Linux - a bit advanced

Linux - a bit advanced Linux - a bit advanced Überblick Rechteverwaltung Dateisystem Shell-Programmierung Remote login Paketsystem Alternativen-System Rechte Drei Benutzerklassen Owner/User Group Others Drei Rechte Ausführen

Mehr

ATB Ausbildung technische Berufe Ausbildungszentrum Klybeck

ATB Ausbildung technische Berufe Ausbildungszentrum Klybeck Inhaltsverzeichnis DOKUMENTATION SERVER INSTALLATION MIT WINDOWS 2000...1 Was ist ein Server...1 Aufbau des aprentas Servers...1 Materialliste:...1 Ablauf der Installation:...1 Die Installation:...1 Server

Mehr

Übungsblatt 2: Kommunikation und XSS

Übungsblatt 2: Kommunikation und XSS Wintersemester 2012/2013 Verteilte Systeme Universität Paderborn Fachgebiet Rechnernetze Übungsblatt 2: Kommunikation und XSS 13.12.2012 1 Synchron vs. Asynchron Ausgehend vom Zeitpunkt 0 rechne ein 100

Mehr

Übungen zu Verteilte Systeme : Aufgabe zu Java-RMI (1)

Übungen zu Verteilte Systeme : Aufgabe zu Java-RMI (1) BEREICH DATENTECHNIK U VS 031 01 TH 02 Übungen zu Verteilte Systeme : Aufgabe zu Java-RMI (1) Aufgabenstellung : Es ist ein über RMI aktivierbarer generischer Problemlösungs-Server in Java zu entwickeln.

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Netzprogrammierung Verteilte Objekte in Java RMI II

Netzprogrammierung Verteilte Objekte in Java RMI II Netzprogrammierung Verteilte Objekte in Java RMI II Prof. Dr.-Ing. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme mailto: tolk@inf.fu-berlin.de http://www.robert-tolksdorf.de

Mehr

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann. JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten

Mehr

Einrichten der Outlook-Synchronisation

Einrichten der Outlook-Synchronisation Das will ich auch wissen! - Kapitel 3 Einrichten der Outlook-Synchronisation Inhaltsverzeichnis Überblick über dieses Dokument... 2 Diese Kenntnisse möchten wir Ihnen vermitteln... 2 Diese Kenntnisse empfehlen

Mehr

Einfu hrung in Subversion mit TortoiseSVN

Einfu hrung in Subversion mit TortoiseSVN Einfu hrung in Subversion mit TortoiseSVN Inhalt Konzept... 1 Begriffe... 1 Werkzeuge... 2 Arbeiten mit TortoiseSVN... 2 Vorbereitung... 2 Erster Checkout... 2 Hinzufügen eines neuen Verzeichnisses...

Mehr

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr. ls [optionen] [namen]: ls zeigt den Inhalt von Verzeichnissen. Sind keine namen angegeben, werden die Dateien im aktuellen Verzeichnis aufgelistet. Sind eine oder mehrere namen angegeben, werden entweder

Mehr

2.2 Prozesse in Java

2.2 Prozesse in Java 2.2 Prozesse in Java! Java sieht kein Schlüsselwort für Prozesse vor, sondern bestimmte Klassen und Schnittstellen. Mit anderen Worten: der Prozessbegriff wird mit Mitteln der Objektorientierung eingeführt.

Mehr

Datum, Uhrzeit: 18. 07. 2014, 10.30 Uhr Matrikelnummer:... Semester: INbac2 Prüfer: Prof. Meixner Note:...

Datum, Uhrzeit: 18. 07. 2014, 10.30 Uhr Matrikelnummer:... Semester: INbac2 Prüfer: Prof. Meixner Note:... Prüfung "Programmieren 2", INbac2, SS 2014 Seite 1 von 7 Datum, Uhrzeit: 18. 07. 2014, 10.30 Uhr Matrikelnummer:... Semester: INbac2 Prüfer: Prof. Meixner Note:... Dauer: 60 Min. Hilfsmittel: keine Punkte:...

Mehr

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Die Java Reflection API liefert per Introspection Informationen über Klassen => Meta-Daten.

Mehr

Sophos Virenscanner Konfiguration

Sophos Virenscanner Konfiguration Ersteller/Editor Ulrike Hollermeier Änderungsdatum 12.05.2014 Erstellungsdatum 06.07.2012 Status Final Konfiguration Rechenzentrum Uni Regensburg H:\Sophos\Dokumentation\Sophos_Konfiguration.docx Uni Regensburg

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1 Kapitel 11 Fehler und Ausnahmen Fehler und Ausnahmen 1 Ziele Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen

Mehr

Software-Entwurfsmuster

Software-Entwurfsmuster Software-Entwurfsmuster Prinzip von Entwurfsmustern und einige elementare Beispiele Malte Spiess malte@mathematik.uni-ulm.de Seminar Bildanalyse und Simulation mit Java im WS 2003/2004 Universität Ulm

Mehr

JAVA Remote Method Invocation JRMP Tutorial

JAVA 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

Mehr

Client/Server-Programmierung WS2007/08. EJB/JSP: Schritt-für-Schritt Anleitung

Client/Server-Programmierung WS2007/08. EJB/JSP: Schritt-für-Schritt Anleitung Client/Server-Programmierung WS2007/08 EJB/JSP: Schritt-für-Schritt Anleitung Version 1.1, 26.09.07 Eingesetzte Software: - Apache Tomcat 5.5.9 bzw. 5.5.12 (http://tomcat.apache.org/download-55.cgi#5.5.12)

Mehr

Pervasive.SQL ODBC Treiber. ab ABACUS 2006.20er-Version Installationsanleitung

Pervasive.SQL ODBC Treiber. ab ABACUS 2006.20er-Version Installationsanleitung Inhaltsverzeichnis Pervasive.SQL ODBC Treiber ab ABACUS 2006.20er-Version Installationsanleitung Mai 2013 / CL 1 Serverinstallation... 1 2 Clientinstallation... 8 WICHTIG Alle untenstehenden Schritte müssen

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Warum EJB Technologie (1)?

Warum 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

Mehr

Modularisierung in Java: Pakete Software Entwicklung 1

Modularisierung in Java: Pakete Software Entwicklung 1 Modularisierung in Java: Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller Um zusammengehörende Klassen, Interfaces, etc. gemeinsam zu verwalten, Sichtbarkeiten einzugrenzen und

Mehr

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 A. Beschreibung der Projektarbeit. Welche Aufgabe haben Sie im Rahmen der Projektarbeit gelöst? 2. Mit welchen Tools bzw. Programmen (Anwendung,

Mehr

TIC Antispam und Virus Filterungs Service. Übersicht zu den Admin-Level Funktionen

TIC Antispam und Virus Filterungs Service. Übersicht zu den Admin-Level Funktionen TIC Antispam und Virus Filterungs Service Übersicht zu den Admin-Level Funktionen Version/Datum: 1.2 März 2008 Autor/Autoren: Michael Gabriel i:\operations\projects\antispam\ticantispamcustomermanual-de.doc

Mehr

Ereignisbehandlung 21

Ereignisbehandlung 21 Ereignisbehandlung 21 3 Ereignisbehandlung Dieses Kapitel beschäftigt sich mit der Ereignisbehandlung, d.h. der Reaktion eines Programms auf Eingaben durch benutzende Personen. Nach einigen ersten Beispielen

Mehr

WebService in Java SE und EE

WebService in Java SE und EE Schlüsselworte Java, JAX-WS, JAX-RS, JAXB, XML. Einleitung WebService in Java SE und EE Wolfgang Nast MT AG Ratingen Es werden die Mölichkeiten von WebServices in Java SE und EE, mit SOAP und REST gezeigt.

Mehr

X5 unter Windows Vista / 7 und Windows 2008 Server

X5 unter Windows Vista / 7 und Windows 2008 Server X5 unter Windows Vista / 7 und Windows 2008 Server Die Benutzerkontensteuerung (später UAC) ist ein Sicherheitsfeature welches Microsoft ab Windows Vista innerhalb Ihrer Betriebssysteme einsetzt. Die UAC

Mehr

Gebundene Typparameter

Gebundene Typparameter Gebundene Typparameter interface StringHashable { String hashcode(); class StringHashMap { public void put (Key k, Value v) { String hash = k.hashcode();...... Objektorientierte

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr