enthält alle Angaben zur Erzeugung eines Proxy-Objekts Syntax: identity [-f facet] [-t -o -d -O -D][-s] adapterid] : [endpoints]

Größe: px
Ab Seite anzeigen:

Download "enthält alle Angaben zur Erzeugung eines Proxy-Objekts Syntax: identity [-f facet] [-t -o -d -O -D][-s] adapterid] : [endpoints]"

Transkript

1 9 Stringified Proxy Stringdarstellung von Proxies enthält alle Angaben zur Erzeugung eines Proxy-Objekts Syntax: identity [-f facet] [-t -o -d -O -D][-s] adapterid] : [endpoints] identity Kategorie und Name der Objekt-ID facet Facet-Name Optionen für verschiedene Twoway-, Oneway- etc. Proxies adapterid Name des Objektadapters endpoints Liste von Endpunktstrings I.73 9 Stringified Proxy (2) Beispiele f Second MyAdapter:tcp -p h server.hurz.de:udp -p h server.hurz.de DBServLoc/ABCD-1849-DE9F-A t:tcp -p 2312 Bla/Blubber20 Adapter42: I.74

2 10 Dynamische Aufrufe Streaming-Schnittstellen OutputStream dient zum Marshalling von Slice-Typen Operationen zur Ausgabe aller primitiven Slice-Typen weitere Ausgabefunktion in der jeweiligen Helper-Klasse eines Typs InputStream dient zum Unmarshalling von Slice-Typen Operationen zum Einlesen aller primitiven Slice-Typen weitere Einlesefunktion in der jeweiligen Helper-Klasse eines Typs Erzeugung durch z.b. Ice.Util.createOutputStream() I Dynamische Aufrufe (2) Dynamische Aufrufe auf Client-Seite Ausgabe aller Parameter in ein Byte-Array Aufruf der generischen Proxy-Methode ice_invoke() Übergabe von folgenden Parametern: Operationsname (String) Modus der Operation (normal, idempotent, nonmutating) in-parameter als Byte-Array out-parameter-behälter als ByteSeqHolder-Objekt (mit ByteSeq definiert als sequence<byte>) Einlesen aller Ergebnisse aus empfangenem Byte-Array alternativ: Exception aus gemarshallter Exception erzeugen Rückgabewert false von ice_invoke() zeigt Exception an Vgl. CORBA DII I.76

3 10 Dynamische Aufrufe (3) Dynamische Aufrufe auf Server-Seite Erzeugung eines Servant vom Slice-Typ ::Ice::Blobject interface Blobject enthält eine Methode: bool ice_invoke( in ByteSeq inparm, out ByteSeq outparm ); Objektadapter liefert alle Aufrufe in dieser Methode ab impliziter weiterer Parameter vom Typ Ice.Current enthält Methodenname und Aufrufmodus I IceGrid IceGrid hieß in früheren Versionen IcePack Aufgaben von IceGrid implementiert Ortsdienst für indirektes Binden an Ice-Objekte implementiert Aktivierungs- und Monitoringdienst enthält Deployment-Mechanismen Direktes Binden (direkter Proxy) Endpunkte bekannt werden direkt angesprochen Indirektes Binden (indirekter Proxy) Zugangsinformation nicht bekannt lediglich Identifikator vorhanden Ermittlung der Zugangsinformation durch einen Locator (Ortsdienst) I.78

4 11.1 Indirektes Binden Locator-Interface findobjectbyid() ermittelt Proxy für Objekt mit ID findobjectadapterbyid() ermittelt einen Dummy-Proxy für ObjektAdapter mit bestimmtem Namen Ortsdienst zum Ermitteln der Zugangsdaten für ein Objekt oder einen Objektadapter Konfiguration des Stringified-Proxy zu einem Ortsdienst (z.b. IceGrid) über Property Ice.Default.Locator I Indirektes Binden (2) Stringified Proxy enthält Objektadapter-Name und Objekt-ID Ermitteln des Dummy-Proxies für Objektadapter Generierung eines Proxies für das Objekt Stringified Proxy enthält nur Objekt-ID Ermitteln eines Proxies für das Objekt Locator-Implementierung hält Abbildung von IDs zu Endpunkten hält Abbildungen von Objektadapter-IDs zu Endpunkten können registriert werden Objektadapter mit nichtleeren IDs registrieren sich automatisch I.80

5 11.1 Indirektes Binden (3) Objektadapterkonfiguration Name wird bei Erzeugung vergeben wird genutzt u.a. für Property-Zugriffe Adapter-ID wird über Property konfiguriert Beispiel: MyAdapter.AdapterID=MyAdapter oder MyAdapter.AdapterID= AF-438D-FE DA32 nur mit ID wird Adapter am Locator registriert ID muss im System eindeutig sein (z.b. UUID) I Indirektes Binden (4) Unmittelbarer Vorteil des indirekten Bindens Bindung völlig unabhängig von verwendeten Endpunkten (Protokolle, Ports) z.b. bei Neustart einer verteilten Anwendung lediglich Endpunkt für Locator muss feststehen Locator wird zu einer Art Namensdienst Namen sind Objekt- bzw. Adapter-IDs Namensdienst kann eingespart werden von initalen Bindungen muss jeweils die Objekt-ID bekannt sein Endpunkt wird dann über Locator bestimmt Erzeugung indirekter Proxies veröffentlichte Endpunkte sind leer I.82

6 11.2 IceGrid Registry Registry ist ein Ortsdienst implementiert Locator-Interface Endpunkt kann als Ice.Default.Locator eingetragen werden 11.3 IceGrid Node Serverprozess als Teil von Aktivierung und Monitoring läuft typisch auf jedem Rechner des Ice-Systems Registry kann in einem Node angesiedelt sein (co-located) I IceGrid Node (2) Aktivierung bei Bedarf IceGrid kann Informationen zum Start von Server-Prozessen speichern inkl. IDs der im Server-Prozess beherbergten Objektadapter Auflösung von Endpunkten für solche Adapter führt zum Start des Server- Prozesses Ablauf der Aktivierung bei Bedarf Client fragt nach Endpunkten für bestimmten Objektadapter falls bekannt: Rückgabe der Endpunkte IceGrid-Konfiguration Abbildung Adapter-ID und IceGrid-Knotenname zu Server-Prozess Start des Server-Prozesses auf entsprechendem Knoten Adapter meldet sich bei IceGrid-Registry an Rückgabe der Adapterendpunkte an den Client I.84

7 11.3 IceGrid Node (3) Deaktivierung bei Bedarf Property im Server-Prozess (Ice.ServerIdleTime) nach Ablauf der konfigurierten Zeit ohne externe Aufrufe: automatischer Aufruf von destroy() am Communicator führt zur Deaktivierung der Objektadapter diese melden sich bei IceGrid-Registry ab Manuelle Deaktivierung Server-Prozess kann über Administrationsschnittstelle abgeschossen werden Kommunikation über Signale Kommunikation über ein Ice::Process-Objekt pro Prozess erlaubt Debugausgaben im Prozess erlaubt Herunterfahren des Prozesses im Extremfall Zerstörung über Betriebssystem (z.b. kill unter Linux) I Deployment Etablieren einer Anwendungskonfiguration (Deployment) Deployment-Descriptor beschreibt Server-Prozesse bekommen Namen enthalten Objektadapter mit Adapter-ID werden als Programmdatei gestartet besitzen Aufrufoptionen werden IceGrid-Node zugeordnet beschreibt Anwendungen bestehen aus mehreren Server-Prozessen beschreibt Konfigurationsparameter (Properties) kann verschiedene Varianten beschreiben (Targets) Variante kann beim Deployment ausgewählt werden Deployment-Descriptor ist eine XML-Anwendung I.86

8 11.4 Deployment (2) Beispiel <icegrid> <application name="bank"> <variable name="home.dir" value="/home/bank"/> <node name="productionnode"> <server id="accounts" exe="${home.dir}/bin/accounts"> <adapter name="accounts" endpoints="tcp"/> </server> </node> </application> </icegrid> I Deployment (3) Konfiguration der Server-Prozesse IceGrid sorgt für Konfiguration der Server-Prozesse durch eigene Konfigurationsdateien automatische Aufrufoption --Ice.Config=... Adapter-IDs werden von IceGrid vergeben falls nicht im Deployment-Descriptor konfiguriert IceGrid setzt entsprechende Properties Locator-Konfiguration wird ebenfalls korrekt vorgenommen von IceGrid gestartete Prozesse nutzen automatisch auch IceGrid-Registry I.88

9 11.4 Deployment (4) Administrationsschnittstelle Manipulation der aktuellen Konfiguration Slice-Schnittstelle interaktive textbasierte Schnittstelle grafische Benutzerschnittstelle Beispiel für Kommandos (Textschnittstelle) application add account.xml fügt neuen Deployment-Descriptor hinzu Variablen können gesetzt und im Descriptor ausgewertet werden node list listet alle angeschlossenen IceGrid-Nodes mit Namen werden durch Locator bzw. IceGrid-Registry gefunden I Deployment (5) Administrationsschnittstelle (fortges.) Beispiele für Kommandos (fortges.) adapter list listet alle registrierten Objektadapter im System server stop Accounts fährt Server-Prozess mit Namen Accounts herunter Knoten ist IceGrid bekannt server stdout Accounts Hello World gibt Nachricht auf der Standardausgabe von Server Accounts aus I.90

10 11.4 Deployment (6) Betrieb verteilter Anwendungen Start der IceGrid-Nodes und IceGrid-Registry Rechner Server-Prozess IceGrid-Registry IceGrid-Node Laden des Deployment-Descriptors Aktivierung der Anwendung durch Start mindestens eines Server-Prozesses Auswahl von Konfigurationsvarianten durch Targets und durch Variablenparameter I IceBox Generischer Serverprozess implementiert ein Objekt mit interface IceBox::ServiceManager zur Zeit im Wesentlichen shutdown() Methode startet eine Reihe von Diensten (Services) konfiguriert über Properties Dienst muss bestimmtes Interface implementieren: module IceBox { local interface Service { void start( string name, Ice::Communicator communicator, Ice::StringSeq args); void stop(); }; }; I.92

11 12 IceBox (2) start()-methode erhält als Parameter Deployment-Namen des Dienstes Communicator-Objekt Liste von Argumenten typische Aufgabe Erzeugen von Objektadaptern Erzeugen von Servants und/oder Servant-Locators stop()-methode typische Aufgabe Abbau der Objektadapter (z.b. mit deactivate()) Freigabe von Ressourcen I Konfiguration Konfigurationsproperties für IceBox-Server Endpunkt(e) des ServiceManager-Objekts IceBox.ServiceManager.Endpoints=tcp -p h server.de gemeinsames Communicator-Objekt für alle Dienste in einer IceBox IceBox.UseSharedCommunicator=1 Vorteil: lokal optimierte Kommunikation Konfigurationsproperties für einen Dienst Eintrittspunkt für Dienst IceBox.Service.Bank=Avo.BankServiceI -name TreasureBank in Java: Eintrittspunkt Avo.BankServiceI ist Java-Klasse, die interface Service implementiert I.94

12 12.2 Lebenszyklus eines IceBox-Servers Ablauf beim Start eines IceBox-Server-Prozesses Lesen der Properties Bestimmen der Namen und Eintrittspunkte für alle Dienste z.b. Bank Avo.BankServiceI für jeden Dienst Erzeugen eines Communicator-Objekts oder gemeinsame Nutzung eines vorher erzeugten Communicators Aufruf der start()-methode im Service-Objekt/Eintrittspunkt Reihenfolge des Dienstestartens kann über Property geregelt werden: IceBox.LoadOrder=Bank,HelloWorld Ablauf beim shutdown eines IceBox-Server-Prozesse Aufruf der stop() Methode für jeden Service I IceBox und IceGrid Direkte Konfiguration von IceBox-Servern in IceGrid Beschreibung von Diensten im Deployment-Deskriptor statt eines Elements server steht Element icebox als Unterelemente können Dienste konfiguriert werden, z.b. <icebox exe= /opt/ice/bin/icebox id= 4711 > <service name= Bank entry= Avo.BankServiceI -name TreasureBank /> </icebox> IceGrid erzeugt entsprechende Konfigurationsdateien mit Property- Definitionen Verwendung des generischen IceBox-Server-Prozesses I.96

13 13 Freeze Dienste für Persistenz Dienst für persistente Datenstruktur mit Name-Wert-Paaren Freeze Map Servant-Locator für persistente Klassen-Objekte Freeze Evictor 13.1 Freeze Map Slice-Typ Dictionary speichert Daten in Datenbank Einsatz der BerkeleyDB Open Source und kommerzielle Version I Freeze Map (2) Automatische Erzeugung einer Implementierungsklasse in Java: Implementierungsklasse muss java.util.map implementieren Code-Generator Aufruf für beispielsweise dict<string, int> StringIntMap; slize2freezej --dict StringIntMap,string,int Erzeugung einer Java-Klasse namens StringIntMap.class Zugriff auf persistente Daten Erzeugen eines Datenbankzugangs (Connection) Freeze.Connection con = Freeze.Util.createConnection(communicator, "db"); Übergabe des Communicator-Objekts Übergabe des Pfades zu den Datenbankdateien I.98

14 13.1 Freeze Map (3) Zugriff auf persistente Daten (fortges.) Erzeugung bzw. Zugang zur Datenbank StringIntMap map = new StringIntMap( con, "simple", true ); Übergabe des Connection-Objekts Übergabe des Datenbanknamens Übergabe eines Wahrheitswertes soll Datenbank angelegt werden, wenn noch nicht vorhanden Ablegen von Daten Zugriff auf Map, z.b. map.put( new Integer(5), "Heureka" ); Lesen von Daten Zugriff auf Map, z.b. map.get( new Integer(5) ); I Freeze Evictor Evictor (wörtl. Vertreiber) hier: Entwurfsmuster für die Implementierung eines Servant-Locators Evictor hält einen Cache von Servants installiert neue Servants bei Bedarf ungenutzte Servants werden wieder zerstört Client OA locate() Evictor Servant Datenbank I.100

15 13.2 Freeze Evictor (2) Architektur und Abläufe Implementierung eines Servant-Locators für class-objekte class-objekte benötigen angemeldete Objektfabrik neue class-objekte werden über den Evictor angemeldet Aufruf einer add()-methode (ähnlich wie sonst am Objektadapter) Evictor registriert Servant (Aktivierung) Objektadapter bekommt Servant bei locate()-anfrage I Freeze Evictor (3) Passivierung Evictor kann Servant aus lokalem Cache entfernen Abspeichern der öffentlichen Komponenten in Datenbank Nutzung der Marshalling-Operationen und der Datenstromobjekte (vgl. dynamische Aufrufe) Re-Aktivierung bei locate()-anfragen für passivierte Servants: Erzeugung eines neuen Servant über Objektfabrik Einlesen der öffentlichen Komponenten aus Datenbank Nutzung der Unmarshalling-Operationen und der Datenstromobjekte I.102

16 13.2 Freeze Evictor (4) Typische Implementierung Definition eines interface-typs für entfernte Client-Zugriffe z.b. interface Account Clients erhalten nur Zugang zum interface-typ Definition eines class-typs für den Evictor z.b. class AccountImpl implements Account im Evictor Behandlung von class-objekten class-objekte enthalten zu speichernde Daten als Komponenten I IceStorm Ereignisdienst verteilt Ereignisnachrichten an beliebige Abonnenten Push-Modell Ereignisnachricht wird beim Abonnenten abgeliefert Publisher IceStorm Subcriber Subcriber Subcriber Subcriber I.104

17 14 IceStorm (2) Topic ein Ereignisse wird an einen benannten Topic gebunden Topic wird durch ein Slice-Interface repräsentiert Aufruf von Methoden entspricht Ereignis Methode darf keine out-parameter haben und muss void zurückgeben Verlage (Publisher) können Ereignisse zu einem bestimmten Topic über IceStorm an Abonnenten (Subscriber) ausliefern Topic-Manager zentrales Objekt des IceStorm-Servers Verwaltungsschnittstelle für Erzeugung eines neuen Topic Ermitteln eines oder aller bekannten Topics I Verlagsseite Vorgehen auf der Verlagsseite Erzeugung eines Topics am Topic-Manager unter Angabe eines Namens oder Ermittlung eines Topic-Objekts unter Angabe eines Namens Holen des Publisher-Objekts am Topic Aufruf von getpublisher() muss auf den entsprechenden interface-typ gecastet werden nur uncheckedcast() möglich Aufruf von Methoden am Publisher-Objekt jeder Aufruf wird bei allen Abonnenten automatisch ausgeführt I.106

18 14.2 Abonnentenseite Vorgehen auf der Abonnentenseite Implementierung und Aktivierung eines Ice-Objekts der eigentlicher Empfänger der Ereignisse implementiert den interface-typ eines Topic Ermitteln des Topic-Objekts unter Angabe des Namens beim Topic-Manager Aufruf der subscribe()-methode am Topic Übergabe eines Proxys für das Empfängerobjekt automatischer Aufruf der entsprechenden Methoden im Empfänger I IceStorm-Server IceBox-Anwendung konfiguriert über Properties speichert bekannte Topics, deren Konfiguration und deren Empfänger Endpunkt muss den Verlagen und Abonnenten bekannt sein z.b. über eindeutigen Objektadapter-ID konfiguriert über Property Interface-Typ eines Topics Entwickler müssen auf korrekte Nutzung achten IceStorm leitet alle Aufrufe weiter uncheckedcast() erlaubt beliebige Typen inkompatiblen Aufrufe führen zu unbemerkbaren Fehlern I.108

19 14.4 Ereignisauslieferung Unterschiedliche Protokolle Verlage und Abonnenten können verschiedene Protokolle benutzen typisch sind oneway- und datagram-aufrufe Abonnent konfiguriert Protokoll über seinen Objektadapter Beeinflussung durch Abonnent beim subscribe() kann Quality-of-Service angegeben werden Dictionary für String-String-Paare zur Zeit definiert: Name reliability mit folgenden Werten oneway: Auslieferung als oneway/datagram-methode batch: Auslieferung als batched-oneway/datagram mit konfigurierbarer Zeitschranke zum Sammeln von Ereignissen I Föderationen von Topics Verbindungen (Link) zwischen Topics konfigurierbar gerichtete Verbindung zwischen zwei Topics Auslieferung von Ereignissen des ersten Topic an Abonnenten des verbundenen Topics nur einmalige Weiterverknüfung (nicht mehrstufig) Kostenattribut Verbindungen und Ereignisse können mit Kosten versehen werden virtueller Kostenwert als Integer Kostenangabe zu Verbindungen bei der Erstellung Kostenangabe bei Ereignissen beim Aufruf über Kontextobjekt Kontextobjekt kann als Dictionary bei jedem Aufruf mitgegeben werden I.110

20 14.5 Föderationen von Topics (2) Kostenattribut (fortges.) Weiterleitung über Verbindungen nur falls Kosten des Ereignis nicht größer als Kosten der Verbindung Ereignisse mit Kostenattribut von 0 werden immer weitergegeben Ereignisse werden immer über Verbindungen mit Kostenattribut 0 weitergeleitet Einsatzgebiet Kostenangabe als echte Kosten Weiterleitung von teuren Ereignissen nur an Abonnenten, die entsprechend zahlen Kostenangabe als Priorität verschiedene Topics kapseln ähnliche Ereignisse aber mit unterschiedlicher Priorität I Föderationen von Topics (3) Konfiguration der Verbindungen über Topic-Manager-Schnittstelle über Kommandozeilenschnittstelle am IceStorm-Server über XML-Konfigurationsdatei im IceStorm-Server Persistente Speicherung IceStorm-Server speichert Topic-Graph persistent mit Angabe der Kosten I.112

21 15 Weitere Komponenten Glacier Firewall-Lösung für Ice-Anwendungen alle Aufrufe können an einen Firewall-Port geroutet werden über Properties konfigurierbar Glacier-Firewall setzt Aufruf in anderes Netz um Client Glacier OA Servants fixierter Port Server Glacier2 weitere Implementierungsvariante I Weitere Komponenten (2) Freeze Script Werkzeuge für die Verwaltung von Freeze-Datenbanken Inspektion Schemaänderungen bei Änderung der Objektstruktur Ice SSL SSL-Implementierung für Ice Konfiguration des Protokolls Auswahl der Verschlüsselungsalgorithmen und Verfahren Verwendung von Zertifikaten I.114

22 16 Vergleich mit theoretischen Anforderungen Ice hat ein monolithisches Objektmodell Weltweit eindeutige Objektbezeichner zum Parametertransport Stringdarstellung: Stringified-Proxy Netzwerkdarstellung: Reihe von Slice-Strukturen (z.b. Identity) Eindeutigkeit durch Identity mit UUID für alle Zeiten eindeutig Erzeugung neuer verteilter Objekte Erzeugung von Servants Aktivierung der Servants I Vergleich mit theoretischen Anforderungen (2) Schnittstellenspezifische Stellvertreterobjekte Proxy-Objekt pro Slice-interface-Typ implementieren Methoden aus der Slice-Beschreibung RPC-basiertes Kommunikationsprotokoll Ice-Protokoll über TCP, UDP und SSL/TCP Parameterübergabe von Objektreferenzen Binärform des Stringified-Proxy wird als Objektbezeichner bei Parameterübergabe übermittelt Erzeugung lokaler Proxy-Objekte aus übermitteltem Objektbezeichner I.116

23 16 Vergleich mit theoretischen Anforderungen (3) Automatische Generierung der Stellvertreter Slice-Compiler erzeugt Proxies und Skeletons für bestimmte Sprachen Kein Namensdienst stattdessen Ortsdienst zur Auflösung von Objektadapter-IDs entsprechen auf niedrigerer Abstraktionsebene Namen Bildung von initialen Referenzen durch manuell konfigurierte Stringified- Proxies I Zusätzliche Eigenschaften Aktivierung und Deaktivierung IceGrid realisiert Aktivierungs- und Deaktivierungssystem auf Server-Basis in Kombination mit Freeze kann die Deaktivierung auf Servant-Basis erfolgen Flexibler Objektadapter Servant-Locator kann beliebige dynamische Aktivierungsstrategien implementieren Ereignisdienst IceStorm I.118

24 16.1 Zusätzliche Eigenschaften (2) Weiteres Deployment-Descriptor mit IceGrid generischer IceBox-Server Objekt-Firewall-Implementierung I.119

11.1 Indirektes Binden (3) 11.1 Indirektes Binden (4) Objektadapterkonfiguration. Unmittelbarer Vorteil des indirekten Bindens

11.1 Indirektes Binden (3) 11.1 Indirektes Binden (4) Objektadapterkonfiguration. Unmittelbarer Vorteil des indirekten Bindens 11.1 Indirektes Binden (3) Objektadapterkonfiguration Name wird bei Erzeugung vergeben wird genutzt u.a. für Property-Zugriffe Adapter-ID wird über Property konfiguriert Beispiel: MyAdapter.AdapterID=MyAdapter

Mehr

Weitere aus Schnittstelle generierte Dateien (Java-Mapping)

Weitere aus Schnittstelle generierte Dateien (Java-Mapping) 4.2 Client-Seite (2) Nutzung des Proxies vorher Typanpassung notwendig stringtoproxy() liefert nur Proxy für Object-Schnittstelle Typanpassung geschieht über Methoden an dem Proxy bzw. einer ilfsklasse

Mehr

I.42 I.41 I Typen (3) 5.1 Typen (4) 5.2 Typanpassung. 5.3 Operationen. Dictionaries. Sequenzen (fortges.)

I.42 I.41 I Typen (3) 5.1 Typen (4) 5.2 Typanpassung. 5.3 Operationen. Dictionaries. Sequenzen (fortges.) 5.1 Typen (3) Sequenzen (fortges.) Beeinflussung der Java-Implementierung möglich Klasse kann festgelegt werden muss java.util.list implementieren z.b. java.util.linkedlist oder java.util.arraylist Festlegung

Mehr

1 Motivation. 1 Motivation. Standard Middleware für objektorientierte Anwendungen. Motivation. Fragmentierte Objektmodel. Java RMI

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

Mehr

Vorbereitungen Download. AVO-Übung 6. Beispiel. Slice. Varianten u.a. für Linux, Windows, OS X ICE-Dokumentation ICE-Binaries (inkl.

Vorbereitungen 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

Schematische Schnittstelle eines Naming-Context-Objekts und des Binding-Iterators. BindingIterator. next_one next_n destroy

Schematische Schnittstelle eines Naming-Context-Objekts und des Binding-Iterators. BindingIterator. next_one next_n destroy 10 Naming-Service (3) Schematische Schnittstelle eines Naming-Context-Objekts und des Binding-Iterators NamingContext resolve list destroy new_context unbind bind rebind bind_context rebind_context bind_new_context

Mehr

Einführung: Verteilte Systeme - Remote Method Invocation -

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

Mehr

Für objektbasiertes Programmieren ist keine objektbasierte Programmiersprache erforderlich!

Für objektbasiertes Programmieren ist keine objektbasierte Programmiersprache erforderlich! 2 Objekte (3) Objekt als abstraktes Konzept Software-Einheit mit Methoden lokalen Daten eindeutiger Identität Programmiermodell auf hohem Abstraktionsniveau Abbildung auf Programmiermodell der Programmiersprache

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

Überblick. Class-Objekte. Bietet die Möglichkeit das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen

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

Mehr

AvO-Übung 5 Rechnerübung zu Ice

AvO-Übung 5 Rechnerübung zu Ice AvO-Übung 5 Rechnerübung zu Ice Andreas I. Schmied und Jan-Patrick Elsholz Institut für Verteilte Systeme 7. Januar 2008 Ablauf der Übung Kombination aus Tutorial und eigenständigem Arbeiten Einfacher,

Mehr

Verteilte Systeme. SoSe Universität Siegen. Tel.: 0271/ , Büro: H-B Stand: 14. Mai Verteilte Systeme. SoSe

Verteilte Systeme. SoSe Universität Siegen. Tel.: 0271/ , Büro: H-B Stand: 14. Mai Verteilte Systeme. SoSe 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

Die Überwachung lokaler Server Parameter durch den Local Check erfordert die Installation eines Monitoring Agents auf dem überwachten Server.

Die Überwachung lokaler Server Parameter durch den Local Check erfordert die Installation eines Monitoring Agents auf dem überwachten Server. 1 Local Monitor Die Überwachung lokaler Server Parameter durch den Local Check erfordert die Installation eines Monitoring Agents auf dem überwachten Server. ServerGuard24 unterstützt zwei Open Source

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

Mehr

Delegaten. d. h. eine Tätigkeitsanforderung wird weitergeleitet

Delegaten. d. h. eine Tätigkeitsanforderung wird weitergeleitet Einführung Delegaten delegate ist ein Objekt, das delegiert == weiterleitet d. h. eine Tätigkeitsanforderung wird weitergeleitet - Weiterleitung erfolgt an eine Funktion - diese Funktion(en) wurde dem

Mehr

Seminar Ausgewählte Komponenten von Betriebssystemen. IDL4 Compiler

Seminar Ausgewählte Komponenten von Betriebssystemen. IDL4 Compiler Seminar Ausgewählte Komponenten von Betriebssystemen IDL4 Compiler IDL4 Compiler Hristo Pentchev Überblick CORBA IDL Allgemein IDL4 Compiler Beispiele CORBA Common Objekt Request Broker Architecture Gemeinsame

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4

Mehr

Verteilte Systeme Übung

Verteilte 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)

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

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,

Mehr

Kommunikation. Björn und Georg

Kommunikation. Björn und Georg Kommunikation Björn und Georg CORBA CORBA (Common Object Request Broker Architecture) Entwicklung der OMG ( Object Management Group) Zusammenschluss von 800 Firmen Hardware- und Progammiersprachen-unabhängiges

Mehr

Parallele und Verteilte Systeme

Parallele 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

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

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

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

Überblick. Verteilte Systeme Übung. VS-Übung. Dynamische Proxies Stubs & Skeletons Dynamische Proxies als Stubs. Tobias Distler, Michael Gernoth

Ü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

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

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES 2016 Software AG. All rights reserved. For internal use only DIGITAL BUSINESS APPLICATIONS DRIVE THE DIGITAL BUSINESS Partner Lieferanten Kunden SaaS

Mehr

Überblick. Java Reflection API. Class-Objekte

Ü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

Mehr

GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT

GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT User Requirements GERICHTETER GEWICHTETER GRAPH DESIGNDOKUMENT Softwareentwicklung Praktikum, Übungsbeispiel 1 Gruppe 18 Andreas Hechenblaickner [0430217] Daniela Kejzar [0310129] Andreas Maller [0431289]

Mehr

Methoden und Wrapperklassen

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)

Mehr

C.38 C.40 C Socket-Factories. 5.2 Server-Seite. 6.1 Interaktionsmuster. 6 Beispiel: White-Board. generisches Skeleton

C.38 C.40 C Socket-Factories. 5.2 Server-Seite. 6.1 Interaktionsmuster. 6 Beispiel: White-Board. generisches Skeleton 5.2 Server-Seite generisches Skeleton nimmt JRMP-Anfragen entgegen interpretiert Protokoll, deserialisiert Objekte Aufruf der lokalen Methode über Reflection Tabelle der exportierten Objekte Zuordnung

Mehr

AI WEBLAUNCHER. Installation und Betrieb

AI WEBLAUNCHER. Installation und Betrieb AI WEBLAUNCHER Installation und Betrieb Version: 1.0.3 Projekt: AI WEBLAUNCHER Datum: 2. April 2019 Dokumentinformation: Erstellt von: E-Mail: Administration Intelligence AG produktmanagement@ai-ag.de

Mehr

Lokale Scanner am Thin Client als Netzwerkscanner nutzen. Inhaltsverzeichnis

Lokale Scanner am Thin Client als Netzwerkscanner nutzen. Inhaltsverzeichnis Lokale Scanner am Thin Client als Netzwerkscanner nutzen Inhaltsverzeichnis Scannen mit WIA: Windows 10, Server 2008R2 (64bit), Server 2012, Server 2016...2 Scannen mit Twain: Windows XP, Windows 2003,

Mehr

1. Sie können die zentrale Idee und Bedeutung einer Schnittstelle, wie sie schon im RPC verwendet wird, erklären.

1. Sie können die zentrale Idee und Bedeutung einer Schnittstelle, wie sie schon im RPC verwendet wird, erklären. CORBA Lernziele 1. Sie können die zentrale Idee und Bedeutung einer Schnittstelle, wie sie schon im RPC verwendet wird, erklären. Zentrale Idee: Schnittstelle: - mit einer Schnittstelle beschreibt man

Mehr

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

Mehr

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

JNDI und JAAS am Beispiel des Moduls directoryservices. Adapter für Authentifizierungs- und Verzeichnisdienste der Fiducia

JNDI und JAAS am Beispiel des Moduls directoryservices. Adapter für Authentifizierungs- und Verzeichnisdienste der Fiducia JNDI und JAAS am Beispiel des Moduls directoryservices Adapter für Authentifizierungs- und Verzeichnisdienste der Fiducia Ziel dieses Vortrags Kurzbeschreibung der Verzeichnisdienste, die die Fiducia betreibt

Mehr

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

Überblick. Stubs & Skeletons Java Reflection API Dynamische Proxies als Stubs Generische Skeletons Aufgabe 2. VS-Übung (SS17) Stubs & Skeletons 2 1

Überblick. Stubs & Skeletons Java Reflection API Dynamische Proxies als Stubs Generische Skeletons Aufgabe 2. VS-Übung (SS17) Stubs & Skeletons 2 1 Überblick Stubs & Skeletons Java Reflection API Dynamische Proxies als Stubs Generische Skeletons Aufgabe 2 VS-Übung (SS17) Stubs & Skeletons 2 1 Java Reflection API Übersicht Bietet die Möglichkeit, das

Mehr

Die abstrakte Klasse Expression:

Die abstrakte Klasse Expression: Die abstrakte Klasse Expression: Expression abstract evaluate() Add Neg Const 501 Die abstrakte Klasse Expression: Expression abstract evaluate() Add Neg Const Leider (zum Glück?) lässt sich nicht die

Mehr

Internetanwendungstechnik (Übung)

Internetanwendungstechnik (Ü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

B Java RMI B.1 B.2. 1 Java. 1.1 Objekte. Objektorientierte Sprache

B 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,

Mehr

42 Reproduktion oder Verwendung dieser Unterlage bedarf in jedem Fall der Zustimmung des Autors.

42 Reproduktion oder Verwendung dieser Unterlage bedarf in jedem Fall der Zustimmung des Autors. 5.3 Deaktivierung und Aktivierung mit POA 5.3 Deaktivierung und Aktivierung mit POA (2) Objekte können ihren Servant und ihre POA-Instanz überleben Servants können deaktiviert werden POA kann deaktiviert

Mehr

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

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

Mehr

Tag 8 Repetitorium Informatik (Java)

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

Mehr

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

Mehr

Praktikum Datenbanken und verteilte Systeme SS Java Server Pages und Servlets -

Praktikum Datenbanken und verteilte Systeme SS Java Server Pages und Servlets - Praktikum Datenbanken und verteilte Systeme SS 2008 - Java Server Pages und Servlets - Verteilte Systeme und Informationssysteme (VSIS) Department Informatik Universität Hamburg Infrastruktur vsispoolx

Mehr

Session Beans & Servlet Integration. Ralf Gitzel

Session Beans & Servlet Integration. Ralf Gitzel s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Aufbau einer Stateless s Stateful s Web Client Offene Antwort von

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

Browser mit SSL und Java, welcher auf praktisch jedem Rechner ebenso wie auf vielen mobilen Geräten bereits vorhanden ist

Browser mit SSL und Java, welcher auf praktisch jedem Rechner ebenso wie auf vielen mobilen Geräten bereits vorhanden ist Collax SSL-VPN Howto Dieses Howto beschreibt wie ein Collax Server innerhalb weniger Schritte als SSL-VPN Gateway eingerichtet werden kann, um Zugriff auf ausgewählte Anwendungen im Unternehmensnetzwerk

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Java Generics und Java API (1/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer Datenstrukturen In vielen Sprachen

Mehr

FAQ 02/2017. Offene Benutzerkommunikation. TSEND_C und TRCV_C SIMATIC S CPU. https://support.industry.siemens.com/cs/ww/de/view/

FAQ 02/2017. Offene Benutzerkommunikation. TSEND_C und TRCV_C SIMATIC S CPU. https://support.industry.siemens.com/cs/ww/de/view/ FAQ 02/2017 Offene Benutzerkommunikation mit TSEND_C und TRCV_C SIMATIC S7-1200 CPU https://support.industry.siemens.com/cs/ww/de/view/67196808 Dieser Beitrag stammt aus dem Siemens Industry Online Support.

Mehr

Praktikum Verteilte Anwendungen

Praktikum 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

Mehr

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe: Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -

Mehr

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online

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

Mehr

Grundlagen der Informatik 0

Grundlagen der Informatik 0 Technische Universität Darmstadt 01.07.2013 Grundlagen der Informatik 0 Vorlesung 0 Java ist eine Programmiersprache Ilkay Baytekin Douglas Crockford http://media.smashingmagazine.com/wp-content/uploads/2012/04/doug-crockford-image.jpg

Mehr

Netzwerkprogrammierung unter Linux und UNIX

Netzwerkprogrammierung unter Linux und UNIX Netzwerkprogrammierung unter Linux und UNIX Bearbeitet von Stefan Fischer, Walter Müller 2. Auflage 1999. Buch. XII, 228 S. Hardcover ISBN 978 3 446 21093 6 Format (B x L): 14 x 20,9 cm Gewicht: 329 g

Mehr

F.1 Überblick. 1 RPC-System in Aufgabe 3. Kommunikationsschicht: tauscht Daten zwischen zwei Rechnern aus

F.1 Überblick. 1 RPC-System in Aufgabe 3. Kommunikationsschicht: tauscht Daten zwischen zwei Rechnern aus F 5. Übung F 5. Übung F.1 Überblick Aufgabe 3 RPC-System im Überblick Marshalling primitiver Datentypen Byteorder Fließkommawerte s und s F.1 Kommunikationsschicht: tauscht Daten zwischen zwei Rechnern

Mehr

D.1 Organisatorisches

D.1 Organisatorisches D Überblick über die 3. Übung D Überblick über die 3. Übung D.1 Organisatorisches D.1 Organisatorisches RPC und ORB Präsentation der Übungsaufgaben 1 und 2 Aufrufsemantiken Hinweise Aufgabe 2 Live in der

Mehr

Server-Management mit JMX

Server-Management mit JMX Server-Management mit JMX Ziel dieses Vortrags JMX als Alternative zu bisherigen Monitoring-Schnittstellen vorstellen Einsatzmöglichkeiten aufzeigen Beispiele für die Umsetzung in JBF-Umgebungen betrachten

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

Best Practices WPA2 Enterprise und Radius-SSO

Best Practices WPA2 Enterprise und Radius-SSO Best Practices WPA2 Enterprise und Radius-SSO Jonas Spieckermann Senior Sales Engineer Jonas.Spieckermann@watchguard.com Grundlage WLAN IEEE 802.11 definiert den Standard für Wi-Fi Netze 2 Frequenzbänder

Mehr

Johannes Unterstein - TINF16 - Java - Sommersemester 2017 JAVA. Weiterführende Spracheigenschaften

Johannes Unterstein - TINF16 - Java - Sommersemester 2017 JAVA. Weiterführende Spracheigenschaften JAVA Weiterführende Spracheigenschaften 100 AGENDA Strings Exceptions Enums Generics Lambdas & Methods Bulk-Operations 101 DIE KLASSE STRING Zeichenketten werden in Java als String repräsentiert Wie der

Mehr

Die Warenkorbfunktion (workbasket)

Die Warenkorbfunktion (workbasket) Beschreibung der Komponente zur integration eines Warenkorbs in die Anwendung Table of contents 1 Allgemein...2 2 Körbe speichern und laden...3 3 Aufgelöstes XML oder beliebige weitere Metadaten im Korb...

Mehr

Gateway. Dokumentation. Version 2.2

Gateway. Dokumentation. Version 2.2 Gateway Dokumentation Version 2.2 Letzte Änderung: 06.12.2018 Uwe Langhammer (ulangham@gmx.de) Inhaltsverzeichnis 1 Einleitung...3 2 Installation / Update / Deinstallation...4 3 Zusatzprogramme...5 3.1

Mehr

Installation nextbau Server

Installation nextbau Server Installation nextbau Server Hinweise Die Mehrplatzversion von nextbau besteht aus einem nextbau Server und beliebig vielen nextbau Clients. Der Server übernimmt hierbei folgende Aufgaben: zentrale Datenhaltung

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

Das Interface-Konzept am Beispiel der Sprache Java

Das Interface-Konzept am Beispiel der Sprache Java Das Interface-Konzept am Beispiel der Sprache Java Klaus Kusche, November 2013 Inhalt Motivation: Wozu braucht man Interfaces? Interfaces in Java Was spricht gegen die große Lösung? Voraussetzungen Kenntnisse

Mehr

Kommunikation in verteilten Anwendungen

Kommunikation in verteilten Anwendungen Kommunikation in verteilten Anwendungen Einführung in Sockets, Java RMI,CORBA und Jini von Prof. Dr. Oliver Haase 2., überarbeitete und erweiterte Auflage Oldenbourg Verlag München 1 Einführung in das

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

Tag 7 Repetitorium Informatik (Java)

Tag 7 Repetitorium Informatik (Java) Tag 7 Repetitorium Informatik (Java) Dozent: Patrick Kreutzer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

Klausur Verteilte Systeme SS 2004 Iwanowski

Klausur Verteilte Systeme SS 2004 Iwanowski Klausur Verteilte Systeme SS 2004 Iwanowski 13.08.2004 Hinweise: Bearbeitungszeit: 90 Minuten Erlaubte Hilfsmittel: keine Bitte notieren Sie Ihre Antworten ausschließlich auf dem Aufgabenblatt! Bei Bedarf

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden

Mehr

Servlet-zentrierte Architektur von Web-Anwendungen mit Java Servlets, Java Server Pages (JSPs) und Java Beans

Servlet-zentrierte Architektur von Web-Anwendungen mit Java Servlets, Java Server Pages (JSPs) und Java Beans Projekt Entwicklung verteilter Softwaresysteme mit Web Services SoSe 2008 - Java Server Pages und Servlets - 7. April 2008 Verteilte Systeme und Informationssysteme (VSIS) Department Informatik Universität

Mehr

Die Magie von MBeans und JMX. DOAG 2014 Andreas Chatziantoniou - Foxglove-IT BV

Die Magie von MBeans und JMX. DOAG 2014 Andreas Chatziantoniou - Foxglove-IT BV Die Magie von MBeans und JMX DOAG 2014 Andreas Chatziantoniou - Foxglove-IT BV Bio Andreas Chatziantoniou Freelance Oracle Fusion Middleware Consultant 16 Jahre Oracle Erfahrung/26 Jahre IT (Unix/C) Oracle

Mehr

Anleitung: Verbindung mit der Datenbank

Anleitung: Verbindung mit der Datenbank Anleitung: Verbindung mit der Datenbank Der Zugriff auf die MySQL-Datenbank selbst kann mit sämtlichen dafür erhältlichen Tools (Beispielsweise SquirrelSQL, Toad für MySQL, EMS SQL Manager, TOra oder ähnliches)

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren

Mehr

Überblick. Verteilte Systeme - 4. Übung. Dynamische Proxies Stubs & Skeletons Dynamische Proxies als Stubs

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

Mehr

1 Einleitung Generizität Syntax... 2

1 Einleitung Generizität Syntax... 2 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 1 1.1 Generizität................................ 1 1.2 Syntax.................................. 2 2 Realisierung 2 2.1 Compilierung generischer Klassen...................

Mehr

Verteilte Systeme - Java Networking (Sockets) -

Verteilte Systeme - Java Networking (Sockets) - Verteilte Systeme - Java Networking (Sockets) - Prof. Dr. Michael Cebulla 30. Oktober 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 36 M. Cebulla Verteilte Systeme Gliederung Grundlagen TCP/IP

Mehr

Informatik II SS Inhalt. Objektlebensdauer (2/3) Objektlebensdauer (1/3)

Informatik II SS Inhalt. Objektlebensdauer (2/3) Objektlebensdauer (1/3) Inhalt Informatik II SS 2004 Teil 6: Sprachen, Compiler und Theorie 5 Lebensdauer von Objekten Speichermanagement Weiterführende Spracheigenschaften und Bindungen Implementierung von statischen Gültigkeitsbereichen

Mehr

Remote-Objekte. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1

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

Mehr

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 20 Polymorphie/Späte Bindung Abstrakte Klassen Interfaces 2 / 20 Definition: Polymorphie Der Begriff Polymorphie (manchmal

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung by André Karge Übung - Operatoren, Methoden, Primitives 25. Oktober 2018 Einführung in die Programmierung WS18/19 André Karge 1/29 Notizen Standard Linux Befehle: http://images.linoxide.com/linux-cheat-sheet.pdf

Mehr

Polymorphie und UML Klassendiagramme

Polymorphie und UML Klassendiagramme Polymorphie und UML Klassendiagramme Prof. Dr.-Ing. Thomas Schwotzer 1 Einführung Vererbung hat einen sehr interessanten und effektiven Effekt: die Polymorphie. Darum geht es in dieser Veranstaltung. 2

Mehr

Tag 4 Repetitorium Informatik (Java)

Tag 4 Repetitorium Informatik (Java) Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)

Mehr

11. Komponenten Grundlagen der Programmierung 1 (Java)

11. Komponenten Grundlagen der Programmierung 1 (Java) 11. Komponenten Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 10. Januar 2006 Einordnung im Kontext der Vorlesung

Mehr

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker

PROG 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

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Anleitung zur Fleet & Servicemanagement Evatic Schnittstelle

Anleitung zur Fleet & Servicemanagement Evatic Schnittstelle Anleitung zur Fleet & Servicemanagement Evatic Schnittstelle Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung... 3 2 Hinweise zur Verbindungseinrichtung zum Evatic Server... 3 3 Konfiguration der docuform

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

Objektorientierte Datenbanken

Objektorientierte Datenbanken OODB 8 Slide 1 Objektorientierte Datenbanken Vorlesung 8 Sebastian Iwanowski FH Wedel OODB 8 Slide 2 Offene Fragen vom letzten Mal: Kann man in einer JDOQL-Anfrage Elemente herausfiltern, deren Attribute

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 Semestralklausur Einführung in die Programmierung Semestralklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList

Mehr