Kap. 5: Remote Procedure Call

Größe: px
Ab Seite anzeigen:

Download "Kap. 5: Remote Procedure Call"

Transkript

1 Verteilte Systeme 5-1 Kap. 5: Remote Procedure Call 5.1 Einführung und Motivation 5.2 Grundprinzip 5.3 Binding / Trading 5.4 Behandlung von Parametern 5.5 Semantik im Fehlerfall 5.6 RPC-Protokoll 5.7 Beispiele

2 Verteilte Systeme Einführung und Motivation Nachrichtenorientierte Kommunikation asynchroner Nachrichtenaustausch explizit mit send()/receive()-operationen Fazit +: sehr flexibel, alle Kommunikationsmuster implementierbar -: explizit, I/O-Paradigma Ziel des Remote Procedure Call (RPC) deutsch: Fernaufruf (wenig verbreitet) Transparenz der Kommunikation Erscheinungsbild wie üblicher lokaler Prozeduraufruf Unterstützung für Dienstorientierung: Dienst = Service = Menge von Funktionen RPC für Funktionsaufruf Objektorientierung: RPC genutzt für Methodenaufrufe

3 Verteilte Systeme 5-3 Historie 5.1 Erste umfassende Darstellung: Def: Dissertation Nelson (1981, XPARC) abgeleitetes Paper Birrel/Nelson (1984, ACM ToCS) "RPC (Fernaufruf) ist der synchrone Transfer von Kontrolle und Daten zwischen Teilen eines in verschiedenen Adressräumen ablaufenden Programms" Nelson's These: RPC ist ein leistungsfähiges Konzept zur Konstruktion verteilter Anwendungen RPC vereinfacht die Programmierung verteilter Systeme Heute: Nelson's Sicht allgemein akzeptiert RPC-Systeme in vielen Produkten

4 Verteilte Systeme Grundprinzip Client Host (Adressraum) Server Host (Adressraum) client procedure client stub server stub server procedure process work call work pack args send receive unpack results return receive unpack args call pack results send work return process transmit BS-Kern transmit pack / unpack = marshaling / unmarshaling Stellvertreterkomponenten: stub, proxy, skeleton BS-Kern

5 Verteilte Systeme 5-5 Programmentwicklung 5.2 Grobstruktur: Schnittstellenspezifikation Client- Entwicklung Server- Entwicklung

6 Verteilte Systeme 5-6 Programmentwicklung (2) 5.2 genauer, aber immer noch unabhängig von speziellem RPC-System: Interface Compiler Client Stub Header Files Server Stub Schnittstellenspezifikation RPC Client- Server- RPC Library Programm Programm Library vom Anwendungs- entwickler Compile &Link Client Applikation Compile &Link Server Applikation

7 Verteilte Systeme 5-7 Beispiel SunRPC 5.2 Schnittstellenspezifikation RPC language foo.x Interface Compiler rpcgen foo_clnt.c c Client Stub Header Files foo.h foo_xdr.c Server Stub foo_svc.c RPC Library Client- Programm Server- Programm RPC Library Compile &Link Compile &Link Client Applikation Server Applikation

8 Verteilte Systeme 5-8 Beispiel DCE RPC 5.2 uuidgen (erzeugt eindeutigen Schnittstellennamen) Schnittstellenspezifikation DCE IDL foo.idl Interface Compiler idl foo_cstub.o o Client Stub Header Files foo.h Server Stub foo_sstub.o RPC Library Client- Programm Server- Programm RPC Library Compile &Link Compile &Link Client Applikation Server Applikation

9 Verteilte Systeme Binding / Trading Binding / Trading: Problem: Binden eines Clients an einen Server notwendig Problem gilt analog auch für andere Paradigmen Aspekte: Naming & Locating Naming Wie benennt der Client, an was er gebunden werden will (Service) Interface-Name allgemein aus systemweitem Namensraum Trading als Verallgemeinerung: zusätzlich Interface-Attribute vgl. Kap. 6: Allg. Namensdienste Locating Bestimmen der (ortsabhängigen) Adresse eines Servers, der das gewünschte Interface exportiert und zur Diensterbringung benutzt wird typisch: (IP-Adresse des Hosts, Portnummer).

10 Locating-Alternativen 5.3 Adresse statisch im Anwendungsprogramm kein Suchvorgang erforderlich i.d.r. nicht flexibel genug zu frühes Binden Suchen nach Exporteuren zur Laufzeit, z.b. durch Broadcast hoher Laufzeitaufwand Broadcast über Netze hinweg gproblematisch i.d.r. zu spätes Binden Verwaltung von Zuordnunginformation durch zwischengeschaltete Instanz vermittelnde Instanz wird Binder, Trader oder Broker genannt Exporteur lässt angebotenes Interface (mit allen Attributen) registrieren i Bindeanforderung eines Importeurs bewirkt Zuordnung durch Binder/Trader R. Kröger, Hochschule RheinMain Verteilte Systeme 5-10

11 Verteilte Systeme 5-11 Prinzipielle Vorgehensweise Binder/ Trader 1 Exportieren des Interface Registrieren eines Interfaces bei Binder Client client stub 1 3 Server 2 Binder hat bekannte Adresse Importieren bei erster Inanspruchnahme des Dienstes aus stub heraus liefert handle mit Adresse 3 Fernaufruf client stub benutzt Adresse für Aufruf an Server

12 Verteilte Systeme 5-12 Binder / Trader 5.3 Typische Schnittstelle Register( Dienstname, Version, Adresse, evtl. Attribute ) Deregister( Dienstname, Version, Adresse ) Lookup( Name, Version, evtl. Attribute ) Adresse Vorteile: sehr flexibel kann mehrere gleichartige Server berücksichtigen Basis für Lastausgleich zwischen äquivalenten Servern Nachteile: zusätzlicher Aufwand beim Exportieren und Importieren eines Interfaces problematisch bei kurzlebigen Servern und Clients

13 Verteilte Systeme 5-13 Beispiel: SunRPC 5.3 Namen Paare (Programmnummer, Versionsnummer) Adressen Paare (IP-Adresse des Hosts, Portnummer) Binder: Portmapper Abbildung von Namen auf Portnummern IP-Adresse des Hosts muss bekannt sein, der dort lokale Portmapper wird befragt Portmapper ist selbst SunRPC-Dienst (Port 111)

14 Verteilte Systeme 5-14 Beispiel: DCE RPC 5.3 Namen UUID (Universal Unique Identifier) weltweit eindeutiger String enthält Netzwerk-Adressinformationen (z.b. Ethernet MAC-Adresse) und Zeitmarke generiert durch Tool uuidgen Adressen Paare (IP-Adresse des Hosts, Portnummer) Binding zweistufig innerhalb einer DCE-Zelle kein zusätzliches Wissen notwendig Binder heisst RPC Daemon

15 Verteilte Systeme 5-15 Beispiel: DCE RPC (2) 5.3 Client 1 "Interface xx?" 2 "Node A" CDS Cell Directory Service evtl. globale Suche 3 4 reply 6 5 Node A P rpcd RPC Daemen

16 Verteilte Systeme Behandlung der Parameterübergabe Heterogenitätsproblem verschiedene Codes (z.b. ASCII - EBCDIC) Little Endian - Big Endian unterschiedliche Zahlenformate Lösungsmöglichkeiten Abbildungen zwischen lokalen Datendarstellungen» Sender sendet in seiner lokalen l Darstellung, Empfänger transformiert t» erfordert n*n Abbildungen kanonische Netzdatendarstellung für alle Typen» erfordert 2n Abbildungen (bei n lokalen Darstellungen)» evtl. unnötige Codierung

17 Verteilte Systeme 5-17 Verbreitete Netzdatendarstellungen 5.4 XDR (External Data Representation) definiert durch Sun im Rahmen von SunRPC i.w. Motorola Datenformate: ASCII; Big-Endian, 2-Komplement; IEEE-Gleitpunktzahlen,... zusammengesetzte Typen: Arrays, Structures, Unions keine explizite Typisierung der Daten, d.h. keine sich selbst beschreibenden Daten für RPC-Systeme sind die Parameter-Typen aber beim Generieren des Stub Codes für beide Seiten bekannt Beispiel: struct { string author<>; int year; string publisher<>; } 5 Stee n Wesl ey jeweils 4 Bytes lang

18 Verteilte Systeme 5-18 Verbreitete Netzdatendarstellungen (2) 5.4 ASN.1 BER (ISO Abstract Syntax Notation Number 1, Basic Encoding Rules, ISO 8824, 8825, ITU X.409) explizite Typisierung der übertragenen Daten, d.h. allen Datenfeldern geht die Typinformation voraus. noch verbreitet: t CANopen, ISO MMS, UMTS! Standard-Repräsentierung: (Type, Länge, Inhalt) Nachteil: laufzeitaufwendig e (Bitzugriffe) Beispiel: count::=integer Type (Identifier) 0 2 Type (Identifier) 0 1 Länge 1 A Inhalt (26 10 ) jeweils 1 Byte (hex) Tag: Type: Class: 1 Boolean 2 Integer, Sequence 0 Primitive 1 Constructed 00 Universal 01 Application,...

19 Verteilte Systeme 5-19 Verbreitete Netzdatendarstellungen (3) 5.4 CDR (Common Data Representation) Definition in OMG CORBA 2.0 Nutzung im CORBA IIOP-Protokoll Versenden im eigenen Format, "Receiver makes it right" Simple types (short, long, float, char, ) Complex types (sequence, string, union, struct, ) Alignment/Padding entsprechend Mehrfachem h der Elementlänge Big-endian Beispiel: struct <string, unsigned long> 5 S T E E N Adresse Inhalt E D2 Länge Padding

20 Verteilte Systeme 5-20 Probleme 5.4 komplexe, zusammengesetzte Parametertypen z.b. structs, arrays, erfordern Regeln zur Serialisierung Adressen in Parametern keine Bedeutung im Zieladressraum! einfachste Lösung: Verbieten, nur call-by-value zulassen (i.w. SunRPC) Nutzung eines gemeinsamen globalen Adressraums, falls vorhanden Ersetzen von Zeigern durch Marker, Rekonstruktion zusammengesetzter t Datenstrukturen t auf Empfängerseite durch dort lokale Zeiger (z.b. DCE RPC)

21 Verteilte Systeme 5-21 Sicherheit 5.4 Probleme gegenseitige Authentisierung Autorisierung bzgl. ausführbarer Funktionen auf Server-Seite Verschlüsselung der übertragenen Daten ausführliche Betrachtung in separatem Kapitel

22 Verteilte Systeme Semantik des RPC im Fehlerfall Fehler-Problematik lokaler Funktionsaufruf: Rufer und Gerufener werden gleichzeitig abgebrochen RPC: Ausfall einzelner Komponenten in verteilter Umgebung möglich Zusätzlich Fehlerfälle des Nachrichtensystems berücksichtigen» Nachrichtenverlust» unbekannte Übertragungszeiten» Out-of-order-Ankunft von Nachrichten (Überholen)

23 Verteilte Systeme 5-23 Semantik des RPC im Fehlerfall (2) 5.5 at-least-once-semantik erfolgreiche Ausführung des RPC aufgerufene Prozedur mindestens einmal ausgeführt, d.h. Mehrfachaufruf kann passieren beliebiger Effekt bei nicht-erfolgreicher Ausführung möglich i.a. nur für idempotente Operationen geeignet, d.h. mehrfacher Aufruf ändert nicht Zustand und Ergebnis Realisierung einfachste Form kommt innerhalb eines Timeouts kein Ergebnis auf Client-Seite an, wird Aufruf vom Stub wiederholt keine Vorkehrungen auf Server-Seite

24 Verteilte Systeme 5-24 Semantik des RPC im Fehlerfall (3) 5.5 exactly-once-semantik erfolgreiche Ausführung des RPC aufgerufene Prozedur genau einmal ausgeführt beliebiger Effekt bei nicht-erfolgreicher Ausführung möglich gelegentlich als "at-most-once" bezeichnet entspricht im Normalfall lokalem Funktionsaufruf am weitesten verbreitet Realisierung komplexer kommt innerhalb eines Timeouts kein Ergebnis auf Client-Seite an, wird Aufruf vom Client-Stub wiederholt Server-Stub Stub ignoriert Anfrage-Duplikate, wenn Antwort noch nicht geschickt (Erkennung durch Sequenznummer) Server wiederholt bereits gesendete Antwort bei wiederholtem Aufruf f (maskiert verlorene Antwort) t)

25 Verteilte Systeme 5-25 Semantik des RPC im Fehlerfall (4) 5.5 at-most-once-semantik erfolgreiche Ausführung des RPC aufgerufene Prozedur genau einmal ausgeführt nicht-erfolgreiche Ausführung des RPC aufgerufene Prozedur erscheint als niemals ausgeführt auch als atomarer RPC bezeichnet höchster Komfort für Programmierer, da keine partiellen Fehlerauswirkungen zurückbleiben Realisierung sehr komplex erfordert Transaktionsmechanismus heute eher Einbettung von RPCs in allg. Transaktionskonzept (vgl. Transaktionsdienst)

26 Verteilte Systeme 5-26 Orphan-Problem 5.5 Orphan = Waise Problem: Client stirbt nach Absetzen des RPC erzeugter RPC kann weitere Aktivität nach sich ziehen, obwohl niemand darauf wartet nach Restart Eintreffen von Antworten aus früherem "Leben" Lösungsansätze gezielter Abbruch verwaister RPCs basierend auf stabilem Speicher (praktisch unbrauchbar) max. Lebensdauern von RPCs im Netz Warten nach Restart Einführung von Epochen Einfangen durch übergeordnete Recovery-Mechanismen (z.b. Transaktionsmechanismus)

27 Verteilte Systeme RPC-Protokolle RPC-Protokoll: Regeln zur Abwicklung von RPCs abhängig von unterlagertem Transportdienst Layer 4 Transport (z.b. TCP) unzuverlässiger Datagrammdienst (z.b. UDP) Duplikate (durch Timeouts), Vertauschungen und Verlust sind möglich in der Praxis meistens zuverlässiger Transportdienst unterlagert, aber leistungsmindernd Aufruf/Antwort-Protokolle Ziel: möglichst wenige ausgetauschte Nachrichten auf Datagrammdienst basierend eigene Mechanismen zur Erkennung und Behebung von Kommunikationsfehlern (Sequenznummern, wiederholtes Senden) Bester Fall: Je RPC genau zwei Nachrichten (Antwort quittiert Aufruf, nächster Aufruf quittiert letzte Antwort)

28 Verteilte Systeme Beispiel: Der SunRPC C-Spracheinbettung Unterlagerter Transportdienst TCP oder UDP RPC fügt keine die Zuverlässigkeit steigernde Maßnahmen hinzu UDP und timeouts auf Applikationsebene führen zu "at-least-once"-semantik TCP und message transaction ids auf Applikationsebene führen zu "exactly-once"-semantik Binding durch Portmapper Portmapper-Protokoll ist selbst RPC-basiert Parameter i.w. nur call-by-value l Sicherheit Authentifizierung: Null, UNIX, DES

29 Verteilte Systeme 5-29 Andere RPC-Protokolle 5.7 ISO OSI Remote Operations ROSE Remote Operations Service Elements heute ohne Bedeutung OSF DCE RPC Teil des OSF Distributed Computing Environments Microsoft RPC weitgehend kompatibel C/C++-Spracheinbettung "exactly-once" und "at-least-once"-semantiken wählbar, unabhängig von unterlagertem Transport-Dienst Unterstützung für Threads beliebige Parameter-Typen, "lange" Parameter über "Pipe" -Mechanismus Sicherheit basierend auf Kerberos-Framework Bedeutung stark gesunken.

7.4 Verteilungsabstraktion in heterogener Umgebung

7.4 Verteilungsabstraktion in heterogener Umgebung 7.4 Verteilungsabstraktion in heterogener Umgebung Szenario: reiner Maschinencode (native code) bei unterschiedlichen Rechnerarchitekturen, unterschiedlichen Betriebssystemen, unterschiedlichen Übersetzern,

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

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

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

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

Middleware, Verteilte Plattform (auch Verteilungsplattform*) bietet Verteilungsabstraktion für verteilte Anwendungsprogramme,

Middleware, Verteilte Plattform (auch Verteilungsplattform*) bietet Verteilungsabstraktion für verteilte Anwendungsprogramme, 9 Middleware vs9 1 Middleware, Verteilte Plattform (auch Verteilungsplattform*) bietet Verteilungsabstraktion für verteilte Anwendungsprogramme, bietet Standarddienste (Transaktionen, Sicherheit,...),

Mehr

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

Verteilte Systeme. Verteilte Objektorientierte Systeme I. Prof. Dr. Oliver Haase Verteilte Systeme Verteilte Objektorientierte Systeme I Prof. Dr. Oliver Haase 1 Überblick Verteilte Objektorientierte Systeme 1 RPC verteilte objektorientierte Architekturen Java RMI Verteilte Objektorientierte

Mehr

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

BrŸckenprinzip Wegen der ãverteilungstransparenzò sollten die Schnittstellen der beteiligten Prozesse unveršndert bleiben.

BrŸckenprinzip Wegen der ãverteilungstransparenzò sollten die Schnittstellen der beteiligten Prozesse unveršndert bleiben. 7.3 RechnerŸbergreifende ommunikation 7.3.1 Das rÿckenprinzip omplexere Programmsysteme kšnnen nach dem --Prinzip als Geflecht kommunizierender Prozesse aufgebaut werden. Die ommunikation erfolgt Ÿber

Mehr

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

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

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

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

Typische Fehlerursachen: I. Verlorene Request-Nachricht. RPC: Transparenzproblematik

Typische Fehlerursachen: I. Verlorene Request-Nachricht. RPC: Transparenzproblematik RPC: Transparenzproblematik - RPCs sollten so weit wie möglich lokalen Prozeduraufrufen gleichen, es gibt aber einige subtile Unterschiede - Leistungstransparenz - RPC i.a. wesentlich langsamer - Bandbreite

Mehr

D Verteilte Systeme und Verteilte Objekte. D.2 Verteilte Systeme. D.1 Überblick. Distributed System Definition nach Tanenbaum und van Renesse

D Verteilte Systeme und Verteilte Objekte. D.2 Verteilte Systeme. D.1 Überblick. Distributed System Definition nach Tanenbaum und van Renesse D Verteilte Systeme und Verteilte Objekte D Verteilte Systeme und Verteilte Objekte D.2 Verteilte Systeme D.2 Verteilte Systeme D.1 Überblick Verteilte Systeme OOP und Verteilung Java RMI Distributed System

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

TCP/UDP. Transport Layer

TCP/UDP. Transport Layer TCP/UDP Transport Layer Lernziele 1. Wozu dient die Transportschicht? 2. Was passiert in der Transportschicht? 3. Was sind die wichtigsten Protkolle der Transportschicht? 4. Wofür wird TCP eingesetzt?

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

Theorie und Praxis einer JSON-RPC-basierten Web-API

Theorie und Praxis einer JSON-RPC-basierten Web-API Theorie und Praxis einer JSON-RPC-basierten Web-API Christian Krause Christian.Krause@raritan.com Raritan Deutschland GmbH Chemnitzer LinuxTage 2015 Gliederung 1 2 Remote Procedure Call Interface Definition

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

Ü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

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

Einführung. Internet vs. WWW

Einführung. Internet vs. WWW Einführung Bernhard Plattner 1-1 Internet vs. WWW "the Internet is the entirety of all computers which are interconnected (using various physical networking technologies) and employ the Internet protocol

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth SS 2005 Teil 16 RMI, DCOM, Webservices cs 1100 ww6 sch 05-97 Remote Method Invocation (RMI) JVM JVM Client Server Stub Java Remote Skeleton Method

Mehr

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? Großer Beleg Christian Wurbs Zwischenbericht http://www.inf.tu-dresden.de/~cw6 cw6@inf.tu-dresden.de Überblick 2 Aufgabenstellung CORBA

Mehr

Überblick. Netzprogrammierung 2. Remote Procedure Calls. Remote Procedure Call RPC

Überblick. Netzprogrammierung 2. Remote Procedure Calls. Remote Procedure Call RPC Überblick 1. Remote rocedure Call 2. Komponenten beim RC 3. Fehler programmierung 2. Remote rocedure Calls rof. Dr.-Ing. Robert Tolksdorf Freie Universität Berlin Institut für Informatik basierte Informationssysteme

Mehr

TCP/IP-Protokollfamilie

TCP/IP-Protokollfamilie TCP/IP-Protokollfamilie Internet-Protokolle Mit den Internet-Protokollen kann man via LAN- oder WAN kommunizieren. Die bekanntesten Internet-Protokolle sind das Transmission Control Protokoll (TCP) und

Mehr

Kap. 3 Verteilte Objektverwaltung

Kap. 3 Verteilte Objektverwaltung Kap. 3 Verteilte Objektverwaltung 3.1 Einführung in die verteilte Objektverwaltung (Distributed Object Management, DOM) Anforderungen Kurzübersicht Java RMI Microsoft COM+ CORBA 3.2 Der CORBA-Standard

Mehr

Einführung in COM. 04.04.2006 Seite 1

Einführung in COM. 04.04.2006 Seite 1 Einführung in COM 04.04.2006 Seite 1 Ziele Sie kennen die Funktion der Registry für COM Sie können die Struktur eines COM-Objekts erklären Sie können erklären, wie ein remote-server gestartet wird 04.04.2006

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

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

Hello World from CORBA

Hello World from CORBA Hello World from CORBA ein erster Überblick Aufruf einer Objekt-Methode Client gettemperature() Thermometer Objekt- Implementation Thermometer th = new Thermometer(); double t = th.gettemperature(); th

Mehr

SNMP und der MIB- Browser von MG-Soft

SNMP und der MIB- Browser von MG-Soft SNMP und der MIB- Browser von MG-Soft 1. SNMP 1.1 Was ist SNMP 1.2 Historie von SNMP 1.3 Einordnung in das OSI-Modell 1.4 Die Architektur von SNMP 1.5 Kommunikation von SNMP 1.6 SNMP-PDUs PDUs 2. MIB und

Mehr

DBUS Interprozess-Kommunikation für Embedded-Plattformen

DBUS Interprozess-Kommunikation für Embedded-Plattformen DBUS Interprozess-Kommunikation für Embedded-Plattformen Andreas Schwarz Neratec Solutions AG Firmenprofil Neratec Solutions AG Produkt-Entwicklungen für kundenspezifische elektronische Produkte Produkte

Mehr

15. RPC - Remote Procedure Call

15. RPC - Remote Procedure Call 15. RPC - Remote Procedure Call Historisch gesehen eine Vorstufe für RMI (Vorsicht bei Stub-Namen!). Für die Implementierung von Klienten-Server Szenarien. Berücksichtigt heterogene Umgebungen bezüglich:

Mehr

XML-RPC, SOAP und Web Services. Jörn Clausen joern@techfak.uni-bielefeld.de

XML-RPC, SOAP und Web Services. Jörn Clausen joern@techfak.uni-bielefeld.de XML-RPC, SOAP und Web Services Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Was ist RPC? Was hat XML mit RPC zu tun? Was sind XML-RPC und SOAP? Was sind Web Services? Wird das die Welt retten?

Mehr

Software-gestützte Pufferung: Verteilte Dateisysteme. BP 2 Software-gestützte Pufferung: Verteilte Dateisysteme BP 2 BP 2 BP 2

Software-gestützte Pufferung: Verteilte Dateisysteme. BP 2 Software-gestützte Pufferung: Verteilte Dateisysteme BP 2 BP 2 BP 2 3.3 Verteilte Dateisysteme Architektur Dateidienst-Interface Verlagerungsmodell (upload/download model) Ganze Dateien werden vom zum transferiert lund dort bearbeitet Typisch für Massenspeichersysteme,

Mehr

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Ein Prozess kann unmittelbar vom Zustand 1. Running in den Zustand Ready 2. Running in den Zustand Blocked 3. Ready in den Zustand Running Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Der Adressraum

Mehr

VS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel

VS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel VS7 Slide 1 Verteilte Systeme Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel VS3 Slide 1 Verteilte Systeme Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

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

SOAP und WSDL in der Praxis. Wie wird SOAP/WSDL verwendet? Heutige Vorlesung. .net. und Apache Axis

SOAP und WSDL in der Praxis. Wie wird SOAP/WSDL verwendet? Heutige Vorlesung. .net. und Apache Axis Heutige Vorlesung SOAP und WSDL in der Praxis Aufbau von WSDL-Beschreibungen Protokoll-Bindungen in WSDL Google-WSDL lesen und erweitern können Vor- und Nachteile von WSDL heute Wie wird SOAP/WSDL verwendet?.net,

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

.NET-Networking 2 Windows Communication Foundation

.NET-Networking 2 Windows Communication Foundation .NET-Networking 2 Windows Communication Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Fabian Raab Institut für Informatik Software & Systems Engineering Agenda Grundproblem Bestandteile

Mehr

XML-RPC & SOAP. Sven Heß & Fabio Caprera Systemprogrammierung SS 08

XML-RPC & SOAP. Sven Heß & Fabio Caprera Systemprogrammierung SS 08 XML-RPC & SOAP & Fabio Caprera Systemprogrammierung SS 08 Inhalt XML-RPC Überblick Entstehung Konzept Fehlerbehandlung Vor- und Nachteile SOAP Überblick Entstehung Konzept Fehlerbehandlung Vor- und Nachteile

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

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java von Christian Brand Kennnummer: 09376 November 2005 Abkürzungen Abkürzungen API - Application Programming Interface

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

Übung zur Vorlesung Echtzeitsysteme

Übung zur Vorlesung Echtzeitsysteme Technische Universität München Fakultät für Informatik Forschungs- und Lehreinheit Informatik VI Übung zur Vorlesung Echtzeitsysteme Aufgabe 3 Nadine Keddis keddis@fortiss.org Stephan Sommer sommerst@in.tum.de

Mehr

SOAP Simple Object Access Protocol

SOAP Simple Object Access Protocol Informatikseminar Tobias Briel Überblick 1. Einführung - was ist? 2. Middlewaretechnologie 3. Aufbau von Nachrichten 4. Vergleiche 5. Beispielanwendung 6. Zusammenfassung 1 Einführung was ist Soap? neue

Mehr

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

Komponententechnologien Winter 2016/17. Komponenten. 2. Die Anfänge. Peter Sturm, Universität Trier 1 Komponenten 1 2. Die Anfänge 3 Peter Sturm, Universität Trier 1 Selbstzufrieden Anwendung Hardware 4 Oh? Da gibt es noch jemanden? Anwendung Anwendung TCP/IP Hardware Hardware 5 Peter Sturm, Universität

Mehr

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

CCNA Exploration Network Fundamentals. ARP Address Resolution Protocol

CCNA Exploration Network Fundamentals. ARP Address Resolution Protocol CCNA Exploration Network Fundamentals ARP Address Resolution Protocol ARP: Address resolution protocol 1. Eigenschaften ARP-Cache Aufbau 2. Ablauf Beispiel Flussschema 3. ARP-Arten 4. Sicherheit Man-In-The-Middle-Attacke

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth WS 2004 / 2005 Teil 3 Remote Procedure Call cs 0400 ww6 wgs 09-96 Schwierigkeiten mit Sockets Sockets nur Schnittstelle zur Transportschicht. Keine

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

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Remote Method Invocation Teil 1

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Remote Method Invocation Teil 1 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Remote Method Invocation Teil 1 Object Request Broker el0100 copyright Abt. Technische

Mehr

Software Reuse Sommer 2004

Software Reuse Sommer 2004 8. Web Services Peter Sturm Universität Trier Ausgangspunkt Client/Server-Systeme Traditioneller RPC OO-Pendant RMI (CORBA) Probleme Installationbedarf auf Clientseite Aufwendige Installation auf Serverseite

Mehr

NAT und Firewalls. Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de. Universität Bielefeld Technische Fakultät

NAT und Firewalls. Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de. Universität Bielefeld Technische Fakultät NAT und Firewalls Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de Universität Bielefeld Technische Fakultät Stand der Veranstaltung 13. April 2005 Unix-Umgebung 20. April 2005 Unix-Umgebung 27. April 2005

Mehr

39 Object Request Brokers. 40 Components of an ORB. 40.1 Stubs and Skeletons. 40.1.1 Stub

39 Object Request Brokers. 40 Components of an ORB. 40.1 Stubs and Skeletons. 40.1.1 Stub 39 Object Request Brokers 40.1 Stubs and s invoke methods at remote objects (objects that run in another JVM) Stub: Proxy for remote object example ORBs: RMI, JavaIDL : Invokes methods at remote object

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

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

CORBA. Beispiel einer Middleware-Plattform. Christian Fass WS 2013/14 Software Engineering: Basistechnologien

CORBA. Beispiel einer Middleware-Plattform. Christian Fass WS 2013/14 Software Engineering: Basistechnologien CORBA Beispiel einer Middleware-Plattform Christian Fass WS 2013/14 Software Engineering: Basistechnologien Allgemeines Common Object Request Broker Architecture Middleware: Vermittelt zwischen Obekten/Prozessen

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

Autor, Rahmen, Datum: Johannes Bauer , KVBK, 14.12.2004. SunRPC. KVBK - Konzepte von Betriebssystem-Komponenten

Autor, Rahmen, Datum: Johannes Bauer <JohannesBauer@gmx.de>, KVBK, 14.12.2004. SunRPC. KVBK - Konzepte von Betriebssystem-Komponenten Seite 1 KVBK - Konzepte von Betriebssystem-Komponenten 1 Einleitung 1.1 Problemstellung In einigen Situationen ist es wünschenswert, bestimmte Programmteile (Prozeduren) auf einem entfernten System auszuführen.

Mehr

Vorwort... 5. Vorwort zur deutschen Übersetzung... 11

Vorwort... 5. Vorwort zur deutschen Übersetzung... 11 Vorwort.................................................... 5 Vorwort zur deutschen Übersetzung........................... 11 1 Einführung................................................ 23 1.1 Einführung................................................

Mehr

Java RMI, CORBA und Firewalls

Java RMI, CORBA und Firewalls Java RMI, CORBA und s Lehrstuhl für Datenverarbeitung falk@ei.tum.de Verteilte Objekte s Probleme Lösungsmöglichkeiten Konkrete Lösungen Verteilte Objekte Client mehrere Objekte Methoden-Aufruf Antwort

Mehr

Ein einfacher Server. .NET Remoting. Klassentypen

Ein einfacher Server. .NET Remoting. Klassentypen Einführung - eine Klienten-Applikation kann mit einer Komponente interagieren die hinter einer Grenze liegt - Remoting ermöglicht eine Kommunikation von Komponenten Kontext-, Applikationsdomänen- (leichtgewichtiger

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

Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06

Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06 Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06 Aufgabe 1 Bitte schreiben Sie ein RMI Objekt, das eine Person repräsentiert. Es soll die folgende Schnittstelle implementieren: public interface Person

Mehr

Adressauflösung. IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18

Adressauflösung. IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18 Adressauflösung IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18 IP Adresse Physikalische Adresse 128.96.34.15??? 128.96.34.16 85:48:A4:28:AA:18 128.96.34.15

Mehr

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP) Enterprise Applikation Integration und Service-orientierte Architekturen 09 Simple Object Access Protocol (SOAP) Anwendungsintegration ein Beispiel Messages Warenwirtschaftssystem Auktionssystem thats

Mehr

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

Verteilte Systeme. Verteilte Objektorientierte Systeme II. Prof. Dr. Oliver Haase Verteilte Systeme Verteilte Objektorientierte Systeme II Prof. Dr. Oliver Haase 1 Überblick Verteilte Objektorientierte Systeme 1 RPC verteilte objektorientierte Architekturen Java RMI Verteilte Objektorientierte

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Web-Services Implementierung mit Java

Web-Services Implementierung mit Java Web-Services Implementierung mit Java J. Heinzelreiter WS 2004/05 Java-APIs für Web-Services (1) Anwendungs-Code JAXR JAXM JAX-RPC SAAJ SOAP/SwA JWSDL WSDL XML/XML-Schema Web-Services/Java - 2 Java-APIs

Mehr

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) 1 FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) In dieser Kurseinheit geht es um verteilte Anwendungen, bei denen wir sowohl ein Client- als auch ein

Mehr

Verteilte Systeme: Übung 4

Verteilte Systeme: Übung 4 Verteilte Systeme: Übung 4 WSDL und SOAP Oliver Kleine Institut für Telematik https://www.itm.uni-luebeck.de/people/kleine SOAP Nachrichten Serialisierung in XML Root-Element einer SOAP Nachricht ist

Mehr

... Client 1. Request. Reply. Client 2. Server. Client n. Günther Bengel Grundkurs Verteilte Systeme 3. Auflage Vieweg Verlag 2004 ISBN 3-528-25738-5

... Client 1. Request. Reply. Client 2. Server. Client n. Günther Bengel Grundkurs Verteilte Systeme 3. Auflage Vieweg Verlag 2004 ISBN 3-528-25738-5 1 2... n Abbildung 2-1: s und C + S Synchrone Kommunikation Warte auf Zurückgestellte synchrone Kommunikation Arbeite weiter Überprüfe periodisch das Vorliegen des Asynchrone Kommunikation Registriere

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

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

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

Kap. 3 Verteilte Objektverwaltung

Kap. 3 Verteilte Objektverwaltung Kap. 3 Verteilte Objektverwaltung G 3.1Einführung in die verteilte Objektverwaltung (Distributed Management, DOM) Anforderungen Kurzübersicht Java RMI Microsoft COM+ CORBA G 3.2Der CORBA-Standard G 3.3Iona

Mehr

explizite, orthogonale Interaktion Verteilte Anwendungen und Middleware uniforme / nicht-uniforme Interaktion implizite, nicht-orthogonale Interaktion

explizite, orthogonale Interaktion Verteilte Anwendungen und Middleware uniforme / nicht-uniforme Interaktion implizite, nicht-orthogonale Interaktion Verteilte Anwendungen und Klassifikation von Interaktionsformen explizit implizit orthogonal nicht-orthogonal uniform nicht-uniform transparent nicht-transparent explizite, orthogonale Interaktion weit

Mehr

Abbildung 3-1: Clients und Server C+S

Abbildung 3-1: Clients und Server C+S Abbildung 3-1: Clients und Server C+S Abbildung 3-2: Interaktions-koordinations-arten Abbildung 3-3: Zuverlässige Nachrichtenübertragung a) durch individuell quittierte Nachrichten b) durch Quittierung

Mehr

Datenstrukturen, Alignment Stack Prozeduraufruf, Parameterübergabe und -rückgabe (Calling Conventions) Leaf procedures

Datenstrukturen, Alignment Stack Prozeduraufruf, Parameterübergabe und -rückgabe (Calling Conventions) Leaf procedures Vorbesprechung U8 Datenstrukturen, Alignment Stack Prozeduraufruf, Parameterübergabe und -rückgabe (Calling Conventions) Leaf procedures Basistypen Alignment der Basistypen auf deren Grösse Grössen (abhängig

Mehr

CORBA (Überblick, IDL)

CORBA (Überblick, IDL) Friedrich-Alexander-Universität Erlangen-Nürnberg Konzepte von Betriebssystemkomponenten CORBA (Überblick, IDL) Radu Vatav 1. Geschichte Die Object Management Group (OMG), 1989 gegründet, hatte das Ziel

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

Überblick. Fernmethodenaufrufe

Überblick. Fernmethodenaufrufe Überblick Java Remote Method Invocation Marshalling und Unmarshalling Aufgabe 1 Fernmethodenaufrufe Remote Method Invocation (RMI) Aufrufe von Methoden an Objekten auf anderen Rechnern Remote-Referenz:

Mehr

Prüfungsprotokoll der mündlichen Prüfung Verteilte Systeme 1678 (Bachelor Informatik)

Prüfungsprotokoll der mündlichen Prüfung Verteilte Systeme 1678 (Bachelor Informatik) Prüfungsprotokoll der mündlichen Prüfung Verteilte Systeme 1678 (Bachelor Informatik) Prüfer: Prof. Dr. Haake Semester der Prüfung: WS 10/11 Datum der Prüfung: 02.05.2011 Dauer: ca. 25 min Note: 2.0 Hier

Mehr

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung String Operationen i = 25 text1 = "Ich bin " text2 = " Jahre alt" print (text1 + str(i) + text2) print ("ich bin", i, "Jahre alt") print ("ich bin %s Jahre alt" % i) >>> Ich bin 25

Mehr

Sicherheit in Client/Server-Umgebungen

Sicherheit in Client/Server-Umgebungen Sicherheit in Client/Server-Umgebungen (1) Motivation Sehr viele Anwendungen in vernetzten Umgebungen basieren auf dem Konzept der Bereitstellung von Diensten durch Server sowie der Inanspruchnahme von

Mehr

Distributed Computing Group

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

Mehr

Alexandru Arion, Benjamin Schöllhorn, Ingo Reese, Jürgen Gebhard, Stefan Patsch, Stephan Frank

Alexandru Arion, Benjamin Schöllhorn, Ingo Reese, Jürgen Gebhard, Stefan Patsch, Stephan Frank Message Broker (MB) Alexandru Arion, Benjamin Schöllhorn, Ingo Reese, Jürgen Gebhard, Stefan Patsch, Stephan Frank Programmierung verteilter Systeme Lab Institut für Informatik Universität Augsburg Universitätsstraße

Mehr

Kommunikationsunterstützung:

Kommunikationsunterstützung: Kommunikationsunterstützung: Entfernter Prozeduraufruf (Remote Procedure Call, RPC) VSS1-RPC-1 Kooperation: Nachrichtenversand vs. Prozeduraufruf A) Nachrichtenaustausch: i.d.r. keine Verteilungstransparenz

Mehr

SERVICEORIENTIERTE KOMMUNIKATION MIT IP UND ETHERNET MARKUS BECHTER

SERVICEORIENTIERTE KOMMUNIKATION MIT IP UND ETHERNET MARKUS BECHTER SERVICEORIENTIERTE KOMMUNIKATION MIT IP UND ETHERNET MARKUS BECHTER ETHERNET ENABLER UND AUSLÖSER FÜR SERVICEORIENTIERTE KOMMUNIKATION Hohe Bandbreite Netzwerk nicht mehr limitierender Faktor Switched

Mehr

Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) Verbindungsorientiertes Protokoll, zuverlässig, paketvermittelt stream-orientiert bidirektional gehört zur Transportschicht, OSI-Layer 4 spezifiziert in RFC 793 Mobile

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth WS 2007/2008 Teil 3 Remote Procedure Call cs 0400 ww6 wgs 09-96 Schwierigkeiten mit Sockets Sockets nur Schnittstelle zur Transportschicht. Keine

Mehr

Standardsoftware II. Klassifikation Schnittstellen

Standardsoftware II. Klassifikation Schnittstellen Standardsoftware II Schnittstellen zu ERP-Systemen Schnittstellen-1 Klassifikation Schnittstellen datenorientierte funktionale objektorientierte Schnittstellen-2 Was zeichnet eine Schnittstelle aus? Merkmale

Mehr

Internetprotokoll TCP / IP

Internetprotokoll TCP / IP Internetprotokoll TCP / IP Inhaltsverzeichnis TCP / IP - ALLGEMEIN... 2 TRANSPORTPROTOKOLLE IM VERGLEICH... 2 TCP / IP EIGENSCHAFTEN... 2 DARPA MODELL... 3 DIE AUFGABEN DER EINZELNEN DIENSTE / PROTOKOLLE...

Mehr

Netzprogrammierung Interaktionsmuster Remote Procedure Calls

Netzprogrammierung Interaktionsmuster Remote Procedure Calls Netzprogrammierung Interaktionsmuster Remote Procedure Calls Prof. Dr.-Ing. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme mailto: tolk@inf.fu-berlin.de

Mehr

Router 1 Router 2 Router 3

Router 1 Router 2 Router 3 Network Layer Netz 1 Netz 2 Netz 3 Router 1 Router 2 Router 3 Router 1 Router 2 Router 3 Netz 1, Router 1, 1 Netz 1, Router 1, 2 Netz 1, Router 2, 3 Netz 2, Router 2, 2 Netz 2, Router 2, 1 Netz 2, Router

Mehr