3. Grundlegende Konzepte des verteilten Objektmodells

Größe: px
Ab Seite anzeigen:

Download "3. Grundlegende Konzepte des verteilten Objektmodells"

Transkript

1 3. Grundlegende Konzepte des verteilten Objektmodells Überblick 3.1 Komponenten verteilter Anwendungen 3.2 Verteiltes Objektmodell 3.3 Implementierungsaspekte 3.4 Ereignisse und O. Kao Grundlagen der Verteilten Systeme 3-1 1

2 3.1 Komponenten verteilter Anwendungen Verteilte Anwendungen bestehen aus Komponenten, die kooperativ in verschiedenen Prozessen ausgeführt werden Grundlage sind entfernte Methodenaufrufe Entfernte Prozesse stellen Methoden über eine entfernte Schnittestelle zur Verfügung Unterschied zu lokalen Aufrufen: mehrere Fehlerquellen möglich eine totale Transparenz d.h. identisches Verhalten wie bei lokalen Aufrufen ist nicht wünschenswert Anwendung, Dienste Middleware Betriebssystem Hardware und Netzwerk RMI, RPC und Ereignisse Anforderungs/Antwort-Protokoll Externe Darstellung Middleware O. Kao Grundlagen der Verteilten Systeme 3-2 2

3 Schnittstellen Schnittstellen definieren Sichten der Clients auf die entfernten Methoden Übergabe der Ergebnisse Varianten der Parameter- und Ergebnisübergabe Wertübergabe (Call-by-value): Versenden der Werte selbst Referenzübergabe (Call-by-reference) wegen verschiedener Adressräume schwierig Realisierung nur mit unvertretbarem Aufwand Call-by-copy / restore: Datenübertragung zum Server bei Aufruf, Zurückkopieren und Überschreiben der alten Werte bei Beendigung Unterteilung Dienstschnittstelle: Spezifikation aller Funktionen samt Parametern, die vom Server angeboten werden Entfernte Schnittstelle: Spezifikation der Methoden eines Objekts, die für den Aufruf durch andere Objekte zur Verfügung stehen Schnittstellendefinitionssprachen erlauben in unterschiedlichen Sprachen geschriebenen Objekten miteinander zu kommunizieren O. Kao Grundlagen der Verteilten Systeme 3-3 3

4 Verteilte Objekte Objektbasierte Programme sind bereits logisch partitioniert Physische Verteilung von Objekten auf entfernten Rechnern ist eine natürliche Erweiterung Abbildung der Client/Server-Beziehungen Server verwalten Objekte und stellen eine Schnittstellenbeschreibung zur Verfügung Clients rufen die Methoden durch Versenden einer Nachricht an den Server auf Server führt die Methode mit den übermittelten Daten aus und sendet das Ergebnis als Nachricht zurück Durch die Unterbringung der Client- und Serverobjekte in unterschiedlichen Prozessen wird eine Kapselung erzwungen Zugriffe auf den Objektzustand nur über die freigegebenen Methoden Automatische Konvertierung der Daten für heterogene Architekturen wird von den aufrufenden Objekten nicht bemerkt O. Kao Grundlagen der Verteilten Systeme 3-4 4

5 3.2 Verteiltes Objektmodell Erweiterung des Objektmodells, so dass auf die Objekte sowohl lokal als auch entfernt zugegriffen werden kann Lokale Methodenaufrufe zwischen Objekten im selben Prozess Methodenaufrufe zwischen Objekten in entfernten Prozessen entfernte Methodenaufrufe (Remote Method Invocation, RMI) Objekte, die entfernte Aufrufe erhalten können, heißen externe oder entfernte Objekte (Objekte B und F) Objekte können lokale Aufrufe von denjenigen Objekten erhalten, die Referenzen auf dieses Objekt haben A Entfernter Aufruf B C Lokaler Aufruf Lokaler Aufruf Lokaler Aufruf D E Entfernter Aufruf F O. Kao Grundlagen der Verteilten Systeme 3-5 5

6 Verteiltes Objektmodell (2) Lokal Entfernt Rechner Prozess Objekt Interaktion O. Kao Grundlagen der Verteilten Systeme 3-6 6

7 Grundlegende Konzepte des verteilten Objektmodells Entfernte Objektreferenz Andere Objekte können die Methoden eines entfernten Objekts aufrufen, wenn sie Zugriff auf seine entfernte Objektreferenz haben (Objekt A hat Zugriff auf eine entfernte Objektreferenz für Objekt B im Beispiel auf Folie 3-5) Entfernte Schnittstelle Die entfernte Schnittstelle des entfernten Objekts gibt an, welche der Methoden von externen Objekten aufgerufen werden dürfen Entferntes Objekt Entfernte Schnittstelle m1 { m2 m3 Daten Methoden m4 m5 m6 O. Kao Grundlagen der Verteilten Systeme 3-7 7

8 Entfernte Objektreferenzen Jedes Objekt, das entfernte Aufrufe erhalten kann, muss eine entfernte Objektreferenz haben Entfernte Objektreferenz = systemweit eindeutige Kennung, die für den Verweis auf ein entferntes Objekt benutzt wird Entfernte Objektreferenz ist über Raum und Zeit garantiert eindeutig Die entfernte Objektreferenz gibt das Objekt an, das einen entfernten Methodenaufruf erhalten soll Entfernte Objektreferenzen können als Argumente und Ergebnisse entfernter Methodenaufrufe übergeben werden Aktionen in einem verteilten Objektsystem Eine Aktion wird durch einen Methodenaufruf initiiert, der zu weiteren Aufrufen von Methoden zu anderen Objekten führen kann O. Kao Grundlagen der Verteilten Systeme 3-8 8

9 Entfernte Objektreferenz Mögliche Bestandteile Schnittstelle: beschreibt die entfernte Schnittstelle des Objekts Protokoll und Adresse: Welches Protokoll, Host-Domain-Name und Port-Nummer identifizieren den Prozess eindeutig Objektschlüssel: Identifiziert das Objekt mit den aufzurufenden Methoden Probleme Diese Art der Referenz erlaubt kein Verschieben des Objektes in einen anderen Prozess Ausnahmen notwendig zur Erkennung von Situationen wie überlastete Server, Netzwerkverbindungen oder nicht ausreichende Zugriffsrechte Beispielaufbau einer entfernten Objektreferenz Schnittstelle des entfernten Objektes Protokoll Internetadresse Port-Nummer Objektschlüssel O. Kao Grundlagen der Verteilten Systeme 3-9 9

10 Entwurfsprobleme für entfernte Methodenaufrufe: Aufrufsemantik Lokale Aufrufe werden genau einmal ausgeführt, bei entfernten Aufrufen ist dies nicht immer der Fall Wiederholung der Anforderungsnachricht: Wiederholen bis zum Empfangen einer Antwort oder Annahme, Server ist abgestürzt? Duplikatenfilterung: Erkennung doppelt gesendeter Nachrichten? Wiederholte Übertragung der Ergebnisse: Muss eine Liste aller versendeten Ergebnisse mitgeführt werden, so dass bei Ergebnisverlust das Ergebnis erneut versendet werden kann? Hieraus ergeben sich unterschiedliche Aufrufsemantiken Wiederholte Übertragung der Anforderung Nein Ja Ja Fehlertoleranzmaßnahmen Duplikatenfilterung Nicht anwendbar Nein Ja Wiederholte Ausführung / Übertragung der Antwort Nicht anwendbar Wiederholte Ausführung Wiederholte Übertragung Aufrufsemantik Maybe At-least-once At-most-once O. Kao Grundlagen der Verteilten Systeme

11 Entwurfsprobleme für entfernte Methodenaufrufe: Transparenz Ursprünglich bei RPC: Keine syntaktischen Unterschiede zwischen lokalen und entfernten Prozeduraufrufen Alle erforderlichen Marshalling- und Übergabefunktionen, mehrfaches Übermitteln werden vor dem Programmierer versteckt Transparente Auffindung von Objekten und Kontaktaufnahme Fernaufrufe wesentlich fehleranfälliger als lokale Aufrufe (Client- oder Serverabstürze, Netzwerkprobleme, ) Objekte mit entfernten Aufrufen müssen solche Situationen kompensieren, z.b. aufrufendes Objekt kann zu lang andauernde Operationen abbrechen Einige vorgeschlagene Lösungen Unterschiedliche Syntax der Schnittstellen, z.b. Spezifikation von Ausnahmen und Aufrufsemantik. Aufrufe (lokal/entfernt) haben gleiche Syntax, die Schnittstellenbeschreibung gibt Auskunft über die Aufrufart Unterschiedliche Syntax für lokale/entfernte Aufrufe entfernte Aufrufe werden dem Entwickler explizit aufgezeigt O. Kao Grundlagen der Verteilten Systeme

12 3.3 Implementierungsaspekte Wichtigste Komponenten Kommunikationsmodule Entfernte Referenzmodule RMI-Komponenten: Proxy, Skeleton, Dispatcher, Persistente Objekte Objekt A Client Proxy für B Request Server Skeleton & Dispatcher für Klassen von B Entferntes Objekt B Reply Entferntes Referenzmodul Kommunikationsmodul Kommunikationsmodul Entferntes Referenzmodul O. Kao Grundlagen der Verteilten Systeme

13 Implementierungsaspekte (2) Kommunikationsmodule: Kooperieren nach Anforderung / Antwort- Muster und berücksichtigen den Nachrichtentyp, die RequestID und die externe Objektreferenz Entferntes Referenzmodul Übersetzung zwischen lokalen und entfernten Objektreferenzen anhand einer Objekttabelle Bei Ankunft einer externen Objektreferenz wird der passende Verweis ausgewählt Beim erstmaligen Objektaufruf erstellt das entfernte Referenzmodul eine Objektreferenz und fügt diese der Tabelle hinzu Auswertung der Methodenreferenzen sowie Marshalling und Un- Marshalling ist Aufgabe der RMI-Software messagetype messageid objectreference methodid arguments int (0=Request, 1= Reply) int RemoteObjectRef int or Method array of bytes O. Kao Grundlagen der Verteilten Systeme

14 Implementierungsaspekte (3): RMI-Software Schicht zwischen Objekten auf Applikationsebene einerseits und Kommunikations- und entfernten Referenzmodulen andererseits Wichtige Komponenten Proxy (Stellvertreter): Abstrahiert den entfernten Zugriff, (Un)- Marshalling und die Nachrichtenübertragung Jedes entfernte Objekt hat ein Proxy mit Methoden zur Parameterüberprüfung und zur Ergänzung der Nachrichten um Verweise und Daten Skeleton (Gerüst): Implementiert Methoden der entfernten Schnittstelle so, dass die Nachricht entpackt und an das Objekt übermittelt wird Zusammenfassung und Weiterleitung der Ergebnisse Dispatcher: Empfängt die request-nachricht vom Kommunikationsmodul und sucht aufgrund der MethodID die entsprechende Skeletonmethode Klassen für Proxies, Dispatcher und Skeletons werden meist automatisch durch einen Schnittstellencompiler erstellt O. Kao Grundlagen der Verteilten Systeme

15 Zusammenfassung: Komponenten bei RMI Proxy: Transparenz für Client, implementiert die entfernte Schnittstelle, Marshalling und Weiterleitung der Anforderung Objekt A Client Proxy B Entferntes Referenzmodul Request Reply Anforderung / Antwort Protokoll Kommunikationsmodul Kommunikationsmodul Server Dispatcher B Skeleton B Objekt B Entferntes Referenzmodul Dispatcher: Auswahl der Methode im Skeleton Übersetzung zwischen lokalen und entfernten Objektreferenzen Skeleton: Implementiert Methoden der entfernten Schnittstelle, (Un)Marshalling, Aufruf der Methode in entferntem Objekt O. Kao Grundlagen der Verteilten Systeme

16 Implementierungsaspekte (4) Clients enthalten Proxy-Klassen für alle entfernten Objekte Serverprogramme beinhalten die Klassen für Dispatcher und Skeletons sowie eine Initialisierungsroutine Erstellung/Initialisierung mindestens eines Objekts Registrierung der entfernten Objekte beim Binder Binder ist ein separater Dienst, der eine Tabelle mit Namen aller entfernten Objektreferenzen enthält Server verwenden den Binder zur Registrierung, Clients zur Abfrage Beispiele sind CORBA Namensdienst, JAVA RMI Registry, Server können als aktiv oder passiv implementiert werden Aktive Server stehen die ganze Zeit zur Verfügung Passive Server werden bei Bedarf durch Aktivatoren in Zustand aktiv versetzt Aktivatoren sind verantwortlich für Registrierung passiver, Verwaltung bereits aktivierter Serverobjekte Starten der Serverprozesse und Aktivierung der entfernten Objekte O. Kao Grundlagen der Verteilten Systeme

17 Implementierungsaspekte (5) Ein Objekt, das zwischen den Aktivierungen von Prozessen garantiert weiter existiert, wird ein persistentes Objekt genannt Verwaltung in persistenten Objektspeichern, die den Zustand in verpackter Form auf der Festplatte speichern Objekte werden aus Fehlertoleranzgründen im persistenten Speicher abgelegt, sobald sie einen konsistenten Zustand erreicht haben Aktuell im Arbeitsspeicher nicht benötigte persistente Objekte werden passiviert und erst bei Bedarf aktiviert Verdrängungs- und Nachschubstrategien erforderlich Wie wird entschieden, ob ein Objekt persistent sein soll? Der persistente Objektspeicher verwaltet einige persistente Wurzel Alle von den Wurzeln erreichbaren Objekte sind ebenfalls persistent Nicht mehr erreichbare Objekte werden mittels Garbage Collection gefunden und entfernt Der persistente Objektspeicher stellt persistente Klassen zur Verfügung Alle Unterklassen sind ebenfalls persistent O. Kao Grundlagen der Verteilten Systeme

18 Ereignisse 3.4 Ereignisse und Veränderung im Objekt ist aufgetreten (z.b. Anklicken einer Schaltfläche, Eingabe von Text, ) en Ein Objekt bekommt die Meldung, dass ein Ereignis in einem anderen Objekt passiert ist (z.b. Anzeigenaktualisierung) In der Regel asynchroner Ablauf Verteilte ereignisgesteuerte Systeme Erweiterung des lokalen Modells, da mehrere Objekte an unterschiedlichen Positionen benachrichtigt werden Paradigma Veröffentlichung-Abonnement (Publisher-Subscriber) Ereignis-erzeugende Objekte veröffentlichen die möglichen Ereignistypen Ereignis-wahrnehmende Objekte abonnieren Ereignistypen Tritt bei einem Publisher ein Ereignis auf, so werden alle für diesen Typ registrierten Abonnenten benachrichtigt (unicast/multicast/broadcast) O. Kao Grundlagen der Verteilten Systeme

19 Eigenschaften verteilter ereignisgesteuerter Systeme Heterogenität Ereignisbenachrichtigung ermöglichen Kooperation von Objekten eines VS, für die keine Kommunikation vorgesehen war, z.b. in Internet Bedingung: Veröffentlichung/Registrierung der Ereignisse über geeignete Schnittstellen Asynchronität Entkopplung von Veröffentlichung / Abonnement aufgrund der heterogenen Umgebungen und Leistungseigenschaften notwendig Eine Ereignisquelle kann mehrere Ereignistypen veröffentlichen Typ legt die Ereignisklasse fest Attribute eines Ereignisses sind Name des erzeugenden Objekts, die zugehörige Operation samt Parametern sowie die Zeit bzw. Folgenummer Der Typ und die Attribute werden zur Auswahl der interessierten Empfänger bzw. für Festlegung des Abonnements benötigt O. Kao Grundlagen der Verteilten Systeme

20 Beispiel 1: Zusammenarbeit mehrerer Benutzer Zusammenarbeit mehrerer Benutzer mit unterschiedlichen Dokumenten Zustand eines jeden Arbeitsplatzes (Netzwerkplatz) wird auf dem lokalen Rechner verwaltet und beim Einloggen des Benutzers auf die lokalen Rechner der interessierten Benutzer repliziert Ereignisse melden Änderungen an Objekten bzw. An- und Abmelden von Benutzern Jede Replik abonniert und enthält alle en Entkopplung Abonnent von Objekt, da unterschiedliche Benutzer zu unterschiedlichen Zeiten aktiv sein können O. Kao Grundlagen der Verteilten Systeme

21 Beispiel 2: Handelsraumsystem Computersystem liefert neueste Informationen über ausgewählte Aktien Marktpreis für eine Aktie: Objekt mit mehreren Instanzvariablen Informatiosprovider: Empfängt neue Handelsinformationen von entfernten Quellen und wendet sie auf Aktienobjekte an Ein verändertes Aktienobjekt (Ereignis) erzeugt Händler: Erzeugt ein Objekt für jede ihn interessierende Aktie, startet ein Abonnement beim Informationprovider und empfängt so en Händlers Rechner Händler Externe Quelle Händlers Rechner Händler Händlers Rechner Informationsprovider Händlers Rechner Händler Händler Externe Quelle O. Kao Grundlagen der Verteilten Systeme

22 Verteilte Ereignisbenachrichtigungen: Hauptkomponenten Ereignisdienst: Datenbank veröffentlichter Ergebnisse und Interessen der Abonnementen Relevantes Objekt: Objekt, dessen Zustand geändert wird Ereignis,, Publisher, Abonnenten (Subscriber) Beobachterobjekt: Entkopplung relevanter Objekte von Abonnenten Übernahme der Verarbeitung von en, um die Verarbeitungslogik in den veröffentlichenden Objekten zu reduzieren Rolle Weitergabe: Wickelt den gesamten Sendevorgang ab, bekommt alle Informationen über relevante Abonnenten Rolle Benachrichtungsmailboxen: Verzögerung der Auslieferung von en der Beobachter speichert diese temporär, bis der Abonnent aktiv ist und diese annehmen kann Rolle sfilter: Reduktion der empfangenen en abhängig von a-priori definierten Abonnentenfiltern Rolle Ereignismuster: Beschreibung einer Beziehung zwischen mehreren Ereignissen, auf die ein Abonnent reagieren will O. Kao Grundlagen der Verteilten Systeme

23 Verteilte Ereignisbenachrichtigungen: Aktionen Betrachtung von drei ausgewählten Fällen 1. Relevantes Objekt innerhalb des Ereignisdienstes ohne Beobachter sendet direkt an die Abonnenten 2. Relevantes Objekt innerhalb des Ereignisdienstes sendet an die Abonnenten über den Beobachter 3. Relevantes Objekt außerhalb des Ereignisdienstes ein Beobachter fragt das relevante Objekt nach aufgetretenen Ereignissen und sendet ggf. die an die Abonnenten Relevantes Objekt 3. Relevantes Objekt 1. Relevantes Objekt Beobachter 2. Beobachter Ereignisdienst Abonnent Abonnent Abonnent O. Kao Grundlagen der Verteilten Systeme

24 Zusammenfassung: Lokale vs. Entfernte Objektaufrufe Lokales Objektmodell: Sammlung miteinander interagierender Objekte (Daten + Methoden) Begriffe Objektreferenz: eindeutige Identität von Objekten Schnittstellen: Definition der Zugangspunkte eines Objekts Signatur der Methoden Ereignisse/Aktionen: initiiert durch ein Objekt, das eine Methode eines anderen Objekts aufruft Zustandsänderung von Objekten Exceptions/Ausnahmen: Meldung von Fehlern Verteiltes Objektmodell: Objekte sind auf mehr als einem Prozess verteilt Begriffe Entfernte Objektreferenz: eindeutige Identität eines Objekts im ganzen verteilten System Entfernte Schnittstellen: Schnittstelle eines entfernten Objekts (Interface Definition Language, IDL) Ereignisse/Aktionen können Prozessgrenzen überschreiten Exceptions: Weitergabe über Rechner- und Prozessgrenzen O. Kao Grundlagen der Verteilten Systeme

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 2 05.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: Das

Mehr

Aufgabe 1: Interprozesskommunikation In der Vorlesung wurden zentrale Aspekte von grundlegenden Kommunikationsmustern vorgestellt.

Aufgabe 1: Interprozesskommunikation In der Vorlesung wurden zentrale Aspekte von grundlegenden Kommunikationsmustern vorgestellt. Sommersemester 211 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 11 vom 2.6.211 bis 24.6.211 Aufgabe 1: Interprozesskommunikation In der Vorlesung

Mehr

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

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

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

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.

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

Ü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

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

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

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

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

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

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

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

Musterlösung Klausur SS 2004

Musterlösung Klausur SS 2004 Musterlösung Klausur SS 2004 Fachrichtung: Informatik Lehrveranstaltung: Verteilte Systeme Dozent: Prof. G. Bengel Tag: 15.6.04 Bearbeitungszeit: 90 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:

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

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

Gliederung Einleitung Die Interprozess Kommunikation Zusammenfassung Fragen. .NET Remoting. André Frimberger

Gliederung Einleitung Die Interprozess Kommunikation Zusammenfassung Fragen. .NET Remoting. André Frimberger .NET Remoting André Frimberger 30.11.2004 André Frimberger.NET Remoting 1 Gliederung 1 Einleitung Was ist.net Remoting? 2 Die Interprozess Kommunikation Grundkonzept der Datenkanal Parameterübergabe Instanziierung

Mehr

Konzepte von Betriebssystem- Komponenten Middleware. Jini. Vortrag von Philipp Sommer

Konzepte von Betriebssystem- Komponenten Middleware. Jini. Vortrag von Philipp Sommer Konzepte von Betriebssystem- Komponenten Middleware Vortrag von Philipp Sommer 1 Inhalt 1. Einführung Hintergrund Was ist? Ziele von 2. Technology Komponenten Client, Server und Dienste Discovery und Join

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

JavaSpaces. Markus Helbig, Christian Holder, Marco Jilg, Dominik Krautmann, Richard Waschhauser

JavaSpaces. Markus Helbig, Christian Holder, Marco Jilg, Dominik Krautmann, Richard Waschhauser JavaSpaces Markus Helbig, Christian Holder, Marco Jilg, Dominik Krautmann, Richard Waschhauser Agenda JavaSpaces JINI Dokumentenablage- System Probleme Demo Entstehung von JavaSpaces JavaSpaces entstand

Mehr

Softwareentwicklung in verteilten Umgebungen Middleware Case Studies (Coulouris et al., Kapitel 5 und 19) Dieter Schmalstieg Jens Grubert

Softwareentwicklung in verteilten Umgebungen Middleware Case Studies (Coulouris et al., Kapitel 5 und 19) Dieter Schmalstieg Jens Grubert Softwareentwicklung in verteilten Umgebungen Middleware Case Studies (Coulouris et al., Kapitel 5 und 19) Dieter Schmalstieg Jens Grubert Partly based on material by Victor García Barrios and Paul Krzyzanowski

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

E.1 Object Request Brokers

E.1 Object Request Brokers E Überblick über die 4. Übung E Überblick über die 4. Übung 1 Komponenten eines ORBs Lösungsskizze Aufgabe 2 RPC und ORB Aufrufsemantiken Hinweise Aufgabe 3 Kommunikationsschicht: tauscht Daten zwischen

Mehr

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich WS 02/03 Warum muss ein Objekt wissen, zu welcher Klasse es gehört? Damit die Klassenzugehörigkeit

Mehr

Zwischenbericht Diplomarbeit Entwicklung einer Laufzeitumgebung für Komponenten mit Ressourcenanforderungen

Zwischenbericht Diplomarbeit Entwicklung einer Laufzeitumgebung für Komponenten mit Ressourcenanforderungen Zwischenbericht Diplomarbeit Entwicklung einer Laufzeitumgebung für Komponenten mit Ressourcenanforderungen Brit Engel Überblick Beschreibung Aufgabenstellung Entwurf der Komponenten Verwaltung Funktionsbereiche

Mehr

Modul Software Komponenten 10 Komponentenarchitektur

Modul Software Komponenten 10 Komponentenarchitektur Modul Software Komponenten 10 Komponentenarchitektur Teil 3 Peter Sollberger Eine erste CORBA Anwendung Inhalt Dienstag, 4. November Object Request Broker CORBA Architektur und Komponenten (Teil 1) Übung:

Mehr

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg COMMON OBJECT REQUEST BROKER ARCHITECTURE Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg Gliederung Motivation Was ist CORBA? Object Management Architecture (OMA ) Interface Definition Language

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

Verteilte Systeme - Java Networking (Sockets) 2 -

Verteilte Systeme - Java Networking (Sockets) 2 - Verteilte Systeme - Java Networking (Sockets) 2 - Prof. Dr. Michael Cebulla 06. November 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 30 Michael Cebulla Verteilte Systeme Gliederung Wiederholung:

Mehr

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

Trainingsmanagement Gutschein Management. Beschreibung

Trainingsmanagement Gutschein Management. Beschreibung Trainingsmanagement Beschreibung www.dastm.de info@dastm.de 1. Einführung... 2 2. Gutschein Funktionen... 3 2.1. Gutschein Menü... 3 2.2. Gutscheine anlegen... 4 Gutschein Kassenwirksam erfassen... 6 Gutschein

Mehr

Fehlerquellen. Überblick. Einordnung. Fehlerquellen

Fehlerquellen. Überblick. Einordnung. Fehlerquellen Überblick RPC-Semantiken Fehler bei Fernaufrufen Fehlertolerante Fernaufrufe Fehlerquellen Anwendung Fehler sind nicht im Fernaufruf begründet Fehlersituation tritt bei lokalem Methodenaufruf ebenfalls

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

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

Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06

Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06 Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06 Block Verteilte Systeme und Middleware 1. Beschreiben Sie die Entwicklung verteilter Systeme von einer Zentralisierung bis zu Peer-to-Peer. Nicht

Mehr

Szenario 3: Service mit erweiterter Schnittstelle

Szenario 3: Service mit erweiterter Schnittstelle 2. Hintergrundverarbeitung in Android: Services und Notifications Szenarien für lokale Services Szenario 3: Service mit erweiterter Schnittstelle Ein Service bietet zusätzliche Methoden an, über die sich

Mehr

3.2 Der CORBA-Standard Common Object Request Broker Architecture

3.2 Der CORBA-Standard Common Object Request Broker Architecture 3.2 Der CORBA-Standard Common Object Request Broker Architecture (Bildquelle: OMG) Kapitel 3.2: Vorlesung CORBA 1 CORBA Middleware im Ueberblick G CORBA = Common Object Request Broker Architecture. Standard

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

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Interaktionsdiagramme in UML

Interaktionsdiagramme in UML Interaktionsdiagramme in UML Interaktionsdiagramm ist ein Oberbegriff für eine Reihe von Diagrammen, die das Verhalten eines objektorientierten Systems durch Objektinteraktionen beschreiben Ein Sequenzdiagramm

Mehr

Projektgruppe 453: Entwurf eines Managementwerkzeugs zur Verwaltung von Sicherheitsdiensten für komplexe eingebettete Dienstesysteme

Projektgruppe 453: Entwurf eines Managementwerkzeugs zur Verwaltung von Sicherheitsdiensten für komplexe eingebettete Dienstesysteme Titel CORBA Eine Middleware-Plattform für objektorientierte Technologien von Martin Villis 6. Mai 2004 Projektgruppe 453: Entwurf eines Managementwerkzeugs zur Verwaltung von Sicherheitsdiensten für komplexe

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

3 Programmiermodelle für parallele und verteilte Systeme

3 Programmiermodelle für parallele und verteilte Systeme 3 Programmiermodelle für parallele und verteilte Systeme Das vorherrschende Programmiermodell für parallele und verteilte Systeme ist das Client Server Modell. Das Client Server Modell ist unabhängig von

Mehr

Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg 2. Objekte, Klassen, Kapselung

Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg 2. Objekte, Klassen, Kapselung Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg... 1 1.1 Objektorientierung: Konzepte und Stärken...... 1 1.1.1 Gedankliche Konzepte der Objektorientierung....... 2 1.1.2 Objektorientierung als

Mehr

Eine Untersuchung der Funktionen des Apache Wicket Webframeworks

Eine Untersuchung der Funktionen des Apache Wicket Webframeworks Eine Untersuchung der Funktionen des Apache Wicket Webframeworks Seminararbeit von Olaf Matticzk 1 15.01.2016 (c) by synaix 2016 synaix...your business as a service. Agenda 1. Einleitung 2. Webanwendungen

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

Software- /Systemarchitektur

Software- /Systemarchitektur Software- /Systemarchitektur Agenda: Definition von Softwarearchitektur Voraussetzungen Was bedeutet Objektorientierung? Wie speichert man Daten persistent? Client-Server-Architektur Schichtenarchitektur

Mehr

7 Assemblies. Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files

7 Assemblies. Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files 7 Assemblies 8 Virtual Execution System VES Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files Teil der CLR Class Loader Metadaten (Manifest) zur Selbstbeschreibung

Mehr

Alternative Architekturkonzepte

Alternative Architekturkonzepte Alternative Architekturkonzepte Motivation: Suche nach einer Gesamtstruktur meistens: dominante nichtfunktionale Eigenschaften legen Architektur fest Antrieb: Architekturziel Ziel: globale Betrachtung

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

Benutzerhandbuch. Neukirchen

Benutzerhandbuch. Neukirchen Benutzerhandbuch Neukirchen August 2015 Kontakt: Kai Hübl Lambertsberg 17 D-34626 Neukirchen kai.huebl@asneg.de 3 Contents 1 Einleitung... 5 1.1 Inhalt... 5 1.2 OpcUaWebServer... 5 1.3 Web Panel... 6 2

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

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

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

Grundlagen der OO- Programmierung in C#

Grundlagen der OO- Programmierung in C# Grundlagen der OO- Programmierung in C# Technische Grundlagen 1 Dr. Beatrice Amrhein Überblick Visual Studio: Editor und Debugging Die Datentypen Methoden in C# Die Speicherverwaltung 2 Visual Studio 3

Mehr

Remote Methode Invocation (RMI) ETIS SS05

Remote Methode Invocation (RMI) ETIS SS05 Remote Methode Invocation (RMI) ETIS SS05 Motivation Ablauf der Kommunikation Erstellung Remote-Service Zusammenfassung Gliederung 2 Motivation I RMI: Remote Method Invokation Möglichkeit verteilte Java-Anwendungen

Mehr

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 25 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 25 1 Die Philosophie 2 Definition

Mehr

Objektorientierte Programmierung und Klassen

Objektorientierte Programmierung und Klassen Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 16.5.07 G. Bohlender (IANM UNI Karlsruhe) OOP

Mehr

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

Mehr

Grundlagen Rechnerarchitektur und Betriebssysteme

Grundlagen Rechnerarchitektur und Betriebssysteme Grundlagen Rechnerarchitektur und Betriebssysteme Johannes Formann Definition Computer: Eine Funktionseinheit zur Verarbeitung von Daten, wobei als Verarbeitung die Durchführung mathematischer, umformender,

Mehr

Inhaltsverzeichnis. Zusammenfassung CORBA

Inhaltsverzeichnis. Zusammenfassung CORBA Inhaltsverzeichnis 1 Was und wofür ist CORBA?... 2 1.1 Problematik in Verteilten Systemen... 2 1.2 Entwurfszeile... 2 2 Zweck und Ziele von OMG?... 2 3 Was ist eine Schnittstellenarchitektur?... 2 3.1

Mehr

Modul Software Komponenten 10 Komponentenarchitektur

Modul Software Komponenten 10 Komponentenarchitektur Modul Software Komponenten 10 Komponentenarchitektur Teil 2 Peter Sollberger Die verschiedenen Middleware - Ansätze Inhalt Montag, 3. November Remote Procedure Call (RPC) Fehlersemantiken Remote Message

Mehr

S.M. Hartmann GmbH IT Solutions

S.M. Hartmann GmbH IT Solutions S.M. Hartmann GmbH 82008 Unterhaching Prager Straße 7 www.smhsoftware.de S.M. Hartmann GmbH IT Solutions Software für den modernen Handel SMH-Connect/400 Version V6.0 Beschreibung SMH-Connect: iseries

Mehr

Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1

Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1 Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1 Parameter-Übergabe-Mechanismen in Java und in anderen Sprachen. 1. Methoden vereinbaren mit Parametern Wenn man (z.b. in Java) eine Methode

Mehr

Einsatz von Java-Komponenten in verteilten Embedded Systems

Einsatz von Java-Komponenten in verteilten Embedded Systems Einsatz von Java-Komponenten in verteilten Embedded Systems Uwe Rastofer, Ulrich Gall, Frank Schinkmann, Bernd Hindel, Jürgen Kleinöder 3SOFT GmbH, Erlangen Informatik 4, Friedrich-Alexander-Universität

Mehr

GS-Office Mobile. Einrichtung & Konfiguration

GS-Office Mobile. Einrichtung & Konfiguration GS-Office Mobile Einrichtung & Konfiguration Inhaltsverzeichnis 1. Willkommen bei Sage GS-Office Mobile... 3 1.1 Anmelden in der Service Welt... 5 2. Einrichten des Hauptbenutzers für Sage GS-Office Mobile...

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung

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

V by WBR1/BFH-TI 2011 by MOU2/BFH-TI

V by WBR1/BFH-TI 2011 by MOU2/BFH-TI Java-Applets Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/BFH-TI 2011 by MOU2/BFH-TI Java-Applets V3.0 2011 by WBR1&MOU2/BFH- TI Lernziele Die Kursteilnehmer sind in der Lage: Möglichkeiten und

Mehr

Grundlagen der Web-Entwicklung INF3172

Grundlagen der Web-Entwicklung INF3172 Grundlagen der Web-Entwicklung INF3172 Web-Services Thomas Walter 16.01.2014 Version 1.0 aktuelles 2 Webservice weitere grundlegende Architektur im Web: Webservice (Web-Dienst) Zusammenarbeit verschiedener

Mehr

-Abwesenheitsnachricht einrichten

-Abwesenheitsnachricht einrichten E-Mail-Abwesenheitsnachricht einrichten Inhalt 1. Abwesenheitsnachricht erstellen... 2 1.1. Textbaustein... 2 1.2. E-Mail-Nachricht... 4 2. Filter für die automatische Benachrichtigung erstellen... 5 2.1.

Mehr

Verteilte Systeme - 1. Übung

Verteilte Systeme - 1. Übung Verteilte Systeme - 1. Übung Dr. Jens Brandt Sommersemester 2011 1. Rechnerverbünde Kommunikationsverbund: Beispiele: E-Mail (SMTP, POP/IMAP), Instant Messaging (XMPP, IRC, ICQ,...), Newsgroups (NNTP)

Mehr

CORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu

CORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu CORBA Common Object Request Broker Architecture Eine kurze Einführung Ying Lu Verlauf der Präsentation Was ist CORBA CORBA-Architektur Ein Beispiel CORBA im Einsatz CORBA im Vergleich Was ist CORBA Begriffe

Mehr

Zeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.

Zeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach  10. Zeiger C-Kurs 2012, 2. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 10. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

Objektorientierte Analyse (OOA) OOA-Pattern

Objektorientierte Analyse (OOA) OOA-Pattern OOA-Muster (Architektur Pattern) Ein Pattern (Entwurfsmuster) ist ein Problem mit seiner Lösung in einem Kontext. Der Kontext enthält in der Regel Zielkonflikte, die der Designer lösen muss, z.b. Performance

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

Multiuser Client/Server Systeme

Multiuser Client/Server Systeme Multiuser /Server Systeme Christoph Nießner Seminar: 3D im Web Universität Paderborn Wintersemester 02/03 Übersicht Was sind /Server Systeme Wie sehen Architekturen aus Verteilung der Anwendung Protokolle

Mehr

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können.

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können. Seite: 1 / 10 Designentwurf 1 Allgemeines 1.1 Kurzcharakterisierung Die Glossarverwaltung soll eine einheitliche Terminologie zwischen allen Beteiligten sicherstellen, hier zwischen den Mitarbeitern der

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

Agenda. Informatik I WS05/06 Folien von Tobias Dezulian

Agenda. Informatik I WS05/06 Folien von Tobias Dezulian 15.12.2005 Agenda Geltungsbereich (Scope) von Variablen Blöcke Der Call-Stack Einschub: Debugging unter Eclipse Der Heap Lebensdauer von Objekten Müllabfuhr: Garbage Collection Exceptions Geltungsbereich

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

Message Oriented Middleware am Beispiel von XMLBlaster

Message Oriented Middleware am Beispiel von XMLBlaster Message Oriented Middleware am Beispiel von XMLBlaster Vortrag im Seminar XML und intelligente Systeme an der Universität Bielefeld WS 2005/2006 Vortragender: Frederic Siepmann fsiepman@techfak.uni bielefeld.de

Mehr

WI EDI Solution. Stand 17.02.2012

WI EDI Solution. Stand 17.02.2012 WI EDI Solution Stand 17.02.2012 WIAG Überblick 2011 - SAP, SAP BW, SAP SEM/BPS, SAP BPC, SAP R/3, ABAP, Netweaver sind eingetragene Warenzeichen der SAP AG, Walldorf Folie 1 Inhalt Was ist WIEDIS? IDOC

Mehr

Kapitel 5: Das Design

Kapitel 5: Das Design Nach der Analyse kommt... Kapitel 5: Das Design SoPra 2008 Kap. 5: Das Design (1/20) Kapitel 5.1: Überblick Was ist Design? Ergebnis der Analyse: abstrakte Definitionen Objektmodell: Klassen, Assoziationen,

Mehr

11.3 Transaktionen und LUWs in SAP R/3

11.3 Transaktionen und LUWs in SAP R/3 11.3 Transaktionen und LUWs in SAP R/3 G Transaktionen heissen in SAP/R3 Logical Unit of Work (LUW). Eine LUW besteht in der Regel aus zwei Teilen: SAP-Transaktion: Folge von vorbereiteten Dialogschritten

Mehr

Überblick. Verteilte Systeme - Übung. VS-Übung. RPC-Semantiken Fehler bei Fernaufrufen Fehlertolerante Fernaufrufe. Tobias Distler, Michael Gernoth

Überblick. Verteilte Systeme - Übung. VS-Übung. RPC-Semantiken Fehler bei Fernaufrufen Fehlertolerante Fernaufrufe. Tobias Distler, Michael Gernoth Überblick Verteilte Systeme - Übung Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) www4.informatik.uni-erlangen.de Sommersemester 2009

Mehr

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr Organisatorisches Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, 14.10., 14 Uhr bis Do, 23.10., 8Uhr. 14.10.2014 IT I - VO 1 1 IT I: Heute Wiederholung CuP ctd: this Arrays, ArrayLists Schleifen:

Mehr

Aufgaben: (dazugehörige Kapitel / Seitenangaben in Kursiv: Kapitel Seite Seitennummern)

Aufgaben: (dazugehörige Kapitel / Seitenangaben in Kursiv: Kapitel Seite Seitennummern) Klausur Verteilte Systeme 15.6. R120A 8:00-9:30 5 Aufgaben, 50 Punkte (8 12 pro Aufgabe) 45-50 1.0 44 1.1 35 2.0 25 3.0 15 4.0 http://www.bts.fh-mannheim.de Aufgaben: (dazugehörige Kapitel / Seitenangaben

Mehr

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

Mehr

Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen

Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen Themen der Übung 1 Organisatorisches Methoden und Wrapperklassen 2 Methoden 3 Wrapper-Klassen CoMa-Übung IV TU Berlin 07.11.2012 Organisatorisches: Im Pool nur auf die Abgabeliste setzen, wenn ihr wirklich

Mehr

Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN:

Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: Inhaltsverzeichnis Carsten Vogt Nebenläufige Programmierung Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: 978-3-446-42755-6 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42755-6

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 39 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 39 1 Überblick:

Mehr

Steffen Heinzl Markus Mathes. Middleware in Java

Steffen Heinzl Markus Mathes. Middleware in Java Steffen Heinzl Markus Mathes Middleware in Java Leitfaden zum Entwurf verteilter Anwendungen - Implementierung von verteilten Systemen über JMS - Verteilte Objekte über RMI und CORBA Mit 50 Abbildungen

Mehr