Kommunikation. Björn und Georg

Größe: px
Ab Seite anzeigen:

Download "Kommunikation. Björn und Georg"

Transkript

1 Kommunikation Björn und Georg

2 CORBA CORBA (Common Object Request Broker Architecture) Entwicklung der OMG ( Object Management Group) Zusammenschluss von 800 Firmen Hardware- und Progammiersprachen-unabhängiges Konzept Offene Spezifikation (Aktuell Version 2.6) Implementierungen von verschiedenen Herstellern Orbit, orbit2, VisiBroker omniorb4

3 Aufbau 1 Aufbau von CORBA

4 Prozess Spezifikation der Schnittstellen in der neutralen Progammirsprache IDL (Interface Definition Language) Notwendig ist IDLisierung aller Objekte Es existieren eine Menge zur Auffindung und Kooperation von Objekten

5 ORB (Object Request Broker) Zentrale Komponente des CORBA-Referenzmodells Ermöglicht Kommunikation verteilten Komponenten über lokale Methodenaufrufe auf den ORB ORB ermöglicht: Herstellung von Ortstransparenz Kommunikations-, Namens- und Sicherheitsdienste Abstraktion von HW, BS, Netzwerkprotokoll, Implementierung ORB benötigt Schnittstellen für: Clients und Objektimplementierung (Server) Statische und dynamische Methodenaufrufe Eingebaute Sicherheit und Transaktionen

6 ORB die zweite Selbstbeschreibendes System Schnittstellenverzeichnis (Interface Repository) enthält Metadaten über alle vom Server angebotenen Funktionen/Parameter Metadaten werden automatisch generiert: IDL-Precompiler oder direkte Erzeugung aus einer objektorientierten Sprache Clients nutzen Metadaten zur Entdeckung der gewünschten Funktionen Festlegung der Kommunikation/Koordination durch Protokoll GIOP (General Inter-ORB Protocol ) Internet Inter-ORB Protocol (IIOP) Abbildung GIOP auf TCP/IP Interoperable Objektreferenz enthält ORB-interne Objektreferenz, Internetadresse, Portnummer

7 Objektmodell von CORBA Bestandteile des Objektmodells Objekte, Typen, Schnittstellen, Operationen Implementierungsmodell Typen im Corba-Objektmodell

8 Struktur der CORBA Schnittstellen IDL Stubs: Funktionen aus IDL-Definition generiert und zum Clientprogramm gebunden Statische Schnittstelle IDL Skeleton: Serverseitiges Gegenstück zu IDL-Stub, generiert aus IDL-Beschreibung DII (Dynamic Invocation Interface): Absetzen von Anforderungen zur Laufzeit DSI (Dynamic Skeleton Interface): Server-Gegenstück zu DII

9 Struktur der CORBA Schnittstellen 2 ORB-Interface: Direkter Zugriff durch Client- oder Servercode auf die ORB-Funktionen

10 Objektadapter Kommunikationsanbindung an Objekte Laufzeitumgebung zur Instanzierung von Serverobjekten Weiterleitung der Anforderungen Abbildung der Objektreferenzen auf Serverobjekte BOA (Basic Object Adapter) POA (Protable Object Adapter) Methodenaufrufe durch Skeletons Aktivierung/Deaktivierung von Implementierungsobjekten Shared Server, Unshared Server, Server-per-Method, Persistent Server

11 IDL

12 Einfaches IDL Beispiel echo.idl interface Echo { string echostring(in string mesg); ;

13 Methodenaufrufe bei CORBA

14 Vorgehensweise bei statischen Methodenaufrufen

15 Vorgehen bei statischem IDL Definition der Objektklassen mit IDL Precompiler mit IDL-Datei: Erstellt Skeletons/Proxies Erweiterung des Skeletons durch Implementierungscode Compilierung des Codes mit CORBA-fähigem Compiler Bindung der Klassendefinitionen mit den Schnittstellenverzeichnissen Registrierung der Laufzeitobjekte im Implementierungsverzeichnis Instanzierung: Erzeugung von Serverobjekten

16 Beispiel: EchoServer #include <iostream> #include "echo.hh" echo.idl class Echo_i : public POA_Echo, public PortableServer::RefCountServantBase { public: inline Echo_i() { virtual ~Echo_i() { virtual char* echostring(const char* mesg); ; interface Echo { string echostring(in string mesg); ; char* Echo_i::echoString(const char* mesg) { std::cerr << "Upcall " << mesg << std::endl; return CORBA::string_dup(mesg);

17 Beispiel: EchoServer 2 int main(int argc, char** argv) { try { CORBA::ORB_var orb = CORBA::ORB_init(argc, argv); CORBA::Object_var obj = orb->resolve_initial_references("rootpoa"); PortableServer::POA_var poa = PortableServer::POA::_narrow(obj); Echo_i* myecho = new Echo_i(); PortableServer::ObjectId_var myechoid = poa->activate_object(myecho); // Obtain a reference to the object, and print it out as a // stringified IOR. obj = myecho->_this(); CORBA::String_var sior(orb->object_to_string(obj)); std::cerr << "'" << (char*)sior << "'" << std::endl; myecho->_remove_ref(); PortableServer::POAManager_var pman = poa->the_poamanager(); pman->activate(); orb->run(); catch... return 0;

18 Beispiel: EchoServer 3 Exceptions catch(corba::systemexception&) { std::cerr << "Caught CORBA::SystemException." << std::endl; catch(corba::exception&) { std::cerr << "Caught CORBA::Exception." << std::endl; catch(omniorb::fatalexception& fe) { std::cerr << "Caught omniorb::fatalexception:" << std::endl; std::cerr << " file: " << fe.file() << std::endl; std::cerr << " line: " << fe.line() << std::endl; std::cerr << " mesg: " << fe.errmsg() << std::endl; catch(...) { std::cerr << "Caught unknown exception." << std::endl;

19 Beispiel: EchoClient #include <iostream> #include "echo.hh" static void hello(echo_ptr e) { CORBA::String_var src2; CORBA::String_var dest; std::cout << "\n Eingabe: \n"; std::string src = "Hello!"; while(src.compare("ende")){ std::cout << "\n naehster Wert: "; std::cin >> src; src2 = CORBA::String_var(src.c_str()); dest = e->echostring(src2); std::cerr << "I said, \"" << (char*)src2 << "\"." << std::endl << "The Echo object replied, \"" << (char*)dest <<"\"." << std::endl;

20 Beispiel: EchoClient 2 int main(int argc, char** argv) { try { CORBA::ORB_var orb = CORBA::ORB_init(argc, argv); if( argc!= 2 ) { std::cerr << "usage: eg2_clt <object reference>" << std::endl; return 1; CORBA::Object_var obj = orb->string_to_object(argv[1]); Echo_var echoref = Echo::_narrow(obj); if( CORBA::is_nil(echoref) ) { std::cerr << "Can't narrow reference to type Echo (or it was nil)." << std::endl; return 1; hello(echoref); orb->destroy(); catch... return 0;

21 Beispiel: EchoClient 3 Exceptions catch(corba::comm_failure& ex) { std::cerr << "Caught system exception COMM_FAILURE -- unable to contact the " << "object." << std::endl; catch(corba::systemexception&) { std::cerr << "Caught a CORBA::SystemException." << std::endl; catch(corba::exception&) { std::cerr << "Caught CORBA::Exception." << std::endl; catch(omniorb::fatalexception& fe) { std::cerr << "Caught omniorb::fatalexception:" << std::endl; std::cerr << " file: " << fe.file() << std::endl; std::cerr << " line: " << fe.line() << std::endl; std::cerr << " mesg: " << fe.errmsg() << std::endl; catch(...) { std::cerr << "Caught unknown exception." << std::endl;

22 Ende Ende

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

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

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

Seminar Ausgewählte Komponenten von Betriebssystemen. IDL4 Compiler

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

Mehr

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

Internetanwendungstechnik (Übung)

Internetanwendungstechnik (Übung) Internetanwendungstechnik (Übung) JacORB S. Bissell, G. Mühl Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik Kommunikations- und Betriebssysteme (KBS) Einsteinufer 17, Sekr. EN6,

Mehr

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

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

3.3 Das Orbix CORBA-System

3.3 Das Orbix CORBA-System 3.3 Das Orbix CORBA-System G Kurzer Überblick zu der CORBA-Implementierung Orbix G Unser Fahrplan: IDL Verwendungsbeispiel Zoom-In: CORBA Kommunikationsmechanismus Orbix Systemübersicht Naming Service,

Mehr

CORBA Implementierung von Client und Server

CORBA Implementierung von Client und Server CORBA Implementierung von Client und Server J. Heinzelreiter WS 2003/04 Implementierung des Clients Initialisierung und Freigabe des ORBs. Mapping von Interfaces. Behandlung von Objektreferenzen. Verwaltung

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

Grundlagen und Implementation. Jan Kraft

Grundlagen und Implementation. Jan Kraft Grundlagen und Implementation Jan Kraft Gliederung 1 die OMG 2 Was ist CORBA? 3 Funktionsweise 3.1 die Interface Definition Language 3.2 Objekt Adapter 3.3 weitere Komponenten des ORB 3.4 InterORB Protokolle

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

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

Überblick. Verteilte Anwendungen, Interaktionsformen. implizite, nicht-orthogonale Interaktion. explizite, orthogonale Interaktion

Überblick. Verteilte Anwendungen, Interaktionsformen. implizite, nicht-orthogonale Interaktion. explizite, orthogonale Interaktion Überblick Verteilte Anwendungen, Interaktionsformen 7 Verteilte Anwendungen und 7.1 Verteilte Anwendungen 7.2 Klassifikation von Interaktionsformen explizit implizit orthogonal nicht-orthogonal uniform

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

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Remote Method Invocation Teil 3 RMI over IIOP

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Remote Method Invocation Teil 3 RMI over IIOP UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Remote Method Invocation Teil 3 RMI over IIOP el0100 copyright Abt. Technische Informatik,

Mehr

Corba. Systemprogrammierung WS 08 / 09. 21.01.09 Roginer - Fontana - Heinisch 1

Corba. Systemprogrammierung WS 08 / 09. 21.01.09 Roginer - Fontana - Heinisch 1 Corba Systemprogrammierung WS 08 / 09 21.01.09 Roginer - Fontana - Heinisch 1 Gliederung Definition Historie RPC Eigenschaften Architektur IDL-Beispiel Anwendungen OMA Services Facilities Client-Server

Mehr

Verteilte objektorientierte Programmierung am Beispiel CORBA

Verteilte objektorientierte Programmierung am Beispiel CORBA Verteilte objektorientierte Programmierung am Beispiel CORBA Karsten Morisse km@kmorisse.de Vortrag FH Bielefeld 18. Juni 2002 Überblick 1. Verteilte Systeme 2. CORBA - Common Object Request Broker Architecture

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

D.6 Java RMI. 1 Entfernte Objekte finden

D.6 Java RMI. 1 Entfernte Objekte finden D.6 Java RMI D.6 Java RMI 1 Entfernte Objekte finden D.6 Java RMI Infrastruktur zur Unterstützung von verteilten Java-Anwendungen Server-Anwendung erzeugt Objekte macht Objektreferenzen verfügbar wartet

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

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

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

Middleware. Einführung in CORBA. Middlewareplattform CORBA. CORBA: Eigenschaften

Middleware. Einführung in CORBA. Middlewareplattform CORBA. CORBA: Eigenschaften Middleware Einführung in CORBA Kay Römer Institut für Pervasive Computing ETH Zürich Infrastruktur für verteilte Systeme Unterstützt Enwickler bei Behandlung der Probleme verteilter Systeme Erleichtert

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

CORBA Portable Object Adapter (POA) am Beispiel von Visibroker 4. Sven Harazim

CORBA Portable Object Adapter (POA) am Beispiel von Visibroker 4. Sven Harazim CORBA Portabe Object Adapter (POA) am Beispie von Visibroker 4 Sven Harazim Übersicht Einführung in CORBA Portabe Object Adapter (POA) Erzeugen und Aktivieren von Objekten Servant Manager und POA Manager

Mehr

Client/Server-Programmierung

Client/Server-Programmierung Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 15. Oktober 2015 Betriebssysteme / verteilte

Mehr

Client/Server-Programmierung

Client/Server-Programmierung Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 15. Oktober 2015 Betriebssysteme / verteilte

Mehr

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

Einführung in CORBA. Kay Römer Institut für Pervasive Computing ETH Zürich. ETH Zürich 1

Einführung in CORBA. Kay Römer Institut für Pervasive Computing ETH Zürich. ETH Zürich 1 Einführung in CORBA Kay Römer Institut für Pervasive Computing ETH Zürich ETH Zürich 1 roemer@inf.ethz.ch Middleware Infrastruktur für verteilte Systeme Unterstützt Enwickler bei Behandlung der Probleme

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

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

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

Einführung: Verteilte Systeme - Remote Method Invocation -

Einführung: Verteilte Systeme - Remote Method Invocation - Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation

Mehr

Verteidigung. Diplomarbeit Thema: Evaluation des Projekts Quality Objects. Sven Harazim

Verteidigung. Diplomarbeit Thema: Evaluation des Projekts Quality Objects. Sven Harazim Verteidigung Diplomarbeit Thema: Evaluation des Projekts Quality Objects Sven Harazim sh17@inf.tu-dresden.de Gliederung Aufgabenstellung Vorgehensweise Aufbau und Anwendung des Frameworks Quality Objects

Mehr

CORBA = Common Object Request Broker Architecture. plattformunabhängige Middleware-Architektur für verteilte Objekte

CORBA = Common Object Request Broker Architecture. plattformunabhängige Middleware-Architektur für verteilte Objekte E CORBA E.1 1 Standard CORBA = Common Object Request Broker Architecture plattformunabhängige Middleware-Architektur für verteilte Objekte OMG = Object Management Group Standardisierungsorganisation mit

Mehr

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

B Java RMI B.1 B.2. 1 Java. 1.1 Objekte. Objektorientierte Sprache B Java RMI B.1 1 Java 1.1 Objekte Objektorientierte Sprache Objekte beschrieben in Klassendefinitionen und andere Datentypen: int, float, boolean, etc. Objektreferenzen Verweise auf Objekte keine Zeiger,

Mehr

Parallele und Verteilte Systeme

Parallele und Verteilte Systeme Parallele und Verteilte Systeme Einführung in die Netzwerk Programmierung mit Java : JavaIDL Hello World (C) J.M.Joller 1 Zeitlicher Ablauf Hello World Übersicht IDL Interface Beschreibung Der Client (Der

Mehr

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

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

0. Einführung & Motivation

0. Einführung & Motivation 0. Einführung & Motivation Ansatz: "C++ für Java-Kenner" Konzentration auf semantische Unterschiede 'gleichartiger' Konzepte Erörterung der C++ -spezifischen Konzepte (Overloading, Templates) Anspruch

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

Programmierung mit Komponenten

Programmierung mit Komponenten 1/100 Programmierung mit Komponenten Andreas Zeller Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken Grundidee: Teile und Herrsche 2/100 Das Aufteilen eines Ganzen in wohldefinierte Teile

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. Class-Objekte. Bietet die Möglichkeit das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen

Überblick. Class-Objekte. Bietet die Möglichkeit das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen Überblick Bietet die Möglichkeit das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen Stubs & Skeletons Aufgabe 2 Tutorial: http://download.oracle.com/javase/tutorial/reflect/index.html

Mehr

Überblick. Beispiel: get()-methodenaufruf am VSBoard aus Übungsaufgabe 1. Analyse einer Methode: java.lang.reflect.method

Überblick. Beispiel: get()-methodenaufruf am VSBoard aus Übungsaufgabe 1. Analyse einer Methode: java.lang.reflect.method Überblick Bietet die Möglichkeit das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen Stubs & Skeletons Aufgabe 2 Tutorial: http://docs.oracle.com/javase/tutorial/reflect/index.html

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Part 4 - Schnittstellen-Konzept (interface) Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt

Mehr

Mobile und Verteilte Datenbanken

Mobile und Verteilte Datenbanken Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2010/2011 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Java Remote Method Invocation (RMI) Realisierung

Mehr

Programmierung mit Komponenten

Programmierung mit Komponenten Programmierung mit Komponenten Andreas Zeller Lehrstuhl für Softwaretechnik Universität des Saarlandes, Saarbrücken 2006-01-16 Grundidee: Teile und Herrsche Das Aufteilen eines Ganzen in wohldefinierte

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

Kommunikation in verteilten Anwendungen

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

Mehr

Middleware. im Schweinsgalopp

Middleware. im Schweinsgalopp Middleware im Schweinsgalopp 1 Szenario Unternehmen verwendet SAP als ERP-System wickelt Versand über Dienstleister, hier UPS ab UPS bietet Verfolgung der Lieferung über Web- Schnittstelle Daten im ERP

Mehr

Modellierung CORBA-basierter Anwendungssysteme mit der UML

Modellierung CORBA-basierter Anwendungssysteme mit der UML Verteidigung der Diplomarbeit über das Thema: Modellierung CORBA-basierter Anwendungssysteme mit der UML Andreas Mucha Technische Universität Dresden Institut für Software- und Multimediatechnik Lehrstuhl

Mehr

Internetanwendungstechnik. Common Object Request Broker Architecture (CORBA) Gero Mühl

Internetanwendungstechnik. Common Object Request Broker Architecture (CORBA) Gero Mühl Internetanwendungstechnik Common Object Request Broker Architecture (CORBA) Gero Mühl Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik Kommunikations- und Betriebssysteme (KBS) Einsteinufer

Mehr

-Testen verteilter Anwendungen

-Testen verteilter Anwendungen -Testen verteilter Anwendungen Seminar Simulation und Bildanalyse mit Java im SS04 Konstantin Tjo, Urs Pricking Testen verteilter Anwendungen 1 Übersicht Einführung in verteilte Anwendungen RMI (Remote

Mehr

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

1.Überblick... 3. 2.Programmieren mit CORBA und C++... 8. 2.1.Beispielanwendung...8. 2.2.Vorgehensweise beim Entwurf...10

1.Überblick... 3. 2.Programmieren mit CORBA und C++... 8. 2.1.Beispielanwendung...8. 2.2.Vorgehensweise beim Entwurf...10 CORBA Ein Object Request Broker (ORB) ist ein Kommunikationsmechanismus für die synchrone Interaktion zwischen verteilten, in verschiedenen Programmiersprachen implementierten Objekten über verschiedene

Mehr

CORBA Lebensdauer von Objekten, Transaktionen MD 5/02

CORBA Lebensdauer von Objekten, Transaktionen MD 5/02 CORBA Lebensdauer von Objekten, Transaktionen Lebensdauer von Objekten in einem Programm...wird häufig von Programmiersprachen durch Sichtbarkeitsregeln gesteuert, z.b. in Java: void example() {... { String

Mehr

Common Object Request Broker Architecture (CORBA)

Common Object Request Broker Architecture (CORBA) 6. CORBA und CCM Peter Sturm Universität Trier Common Object Request Broker Architecture (CORBA) Standard der Object Management Group (OMG) 1991 CORBA 1.1 1994 CORBA 2.0 seit ca. 2001 CORBA 3.0 OMG Herstellerübergreifendes

Mehr

6 Implementierung komplexer Systeme. 6.1 Verteilte objektorientierte Systeme

6 Implementierung komplexer Systeme. 6.1 Verteilte objektorientierte Systeme 6 Implementierung komplexer Systeme 6.1 Verteilte objektorientierte Systeme Analyse Entwurf Implementierung Test, Integration Wartung.KVGTCVWTÂ $CN\GTVÂ$CPFÂÂ.'Â Offene verteilte Systeme Situation: Heterogene,

Mehr

CORBA: Common Object Request Broker Architecture. Interoperabilität? CORBA die Idee. Die Object Management Group

CORBA: Common Object Request Broker Architecture. Interoperabilität? CORBA die Idee. Die Object Management Group CORBA: Common Request Broker Architecture Interoperabilität? Middleware-Architektur-Spezifikation der Management Group (OMG) Überblick: Die Management Group (OMG) Das Objektmodell der OMG Die Management

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

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

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

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

1 Motivation. 1 Motivation. Standard Middleware für objektorientierte Anwendungen. Motivation. Fragmentierte Objektmodel. Java RMI 1 Motivation Motivation ierte Objektmodel Standard Middleware für objektorientierte Anwendungen CORBA,.NET-Remoting Java Remote Method Invocation (RMI) Java RMI ierte Objekte undjava RMI Zusammenfassung

Mehr

Client-Server-Praktikum: Aufgabe 1 CORBA

Client-Server-Praktikum: Aufgabe 1 CORBA Client-Server-Praktikum: Aufgabe 1 CORBA In diesem Tutorial werden Sie die CORBA-Spezifikation kennenlernen und grundlegendes Wissen darüber sammeln. Am Ende des Tutorials sollten Sie in der Lage sein,

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

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm Spruth SS 2005 Teil 15 CORBA cs 1000 ww6 wgs 05-97 Wiederverwendbarkeit von Code Vorbild: Entwurf/Bau einer Brücke im Bauingenieurwesen Objekttechnologie ermöglicht

Mehr

Verteilte Systeme Übung

Verteilte Systeme Übung Verteilte Systeme Übung Tobias Distler, Klaus Stengel, Timo Hönig, Christopher Eibel, Tobias Klaus Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme)

Mehr

Design Patterns und CORBA

Design Patterns und CORBA Design Patterns und CORBA Heiko Abraham abraham@informatik.uni-freiburg.de 21. Januar 2001 Seminarvortrag Softwarearchitekturen Universität Freiburg 1 Seminar Softwarearchitekturen Inhalt 1. Einleitung

Mehr

3. Die CORBA Dienste. Seite 2 von 11

3. Die CORBA Dienste. Seite 2 von 11 Vortrag: CORBA CORBA Common Object Request Broker Architecture 1. Einleitung Moderne Programmiersprachen haben den objektorientierten Ansatz in die strukturierte Berechnung in einem einzigen Betriebssystemprozess

Mehr

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

Überblick. Verteilte Systeme - 4. Übung. VS-Übung. Dynamische Proxies Stubs & Skeletons Dynamische Proxies als Stubs. Tobias Distler, Michael Gernoth Überblick Verteilte Systeme - 4. Übung Tobias Distler, Michael Gernoth Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) www4.informatik.uni-erlangen.de

Mehr

Komponentenmodelle II

Komponentenmodelle II Komponentenmodelle II DCOM / CORBA Detlef Streitferdt Technische Universität Ilmenau DCOM Architektur Client Proxy Stub Component CoCreateInstance Security Provider DCE RPC Protocol Stack Security Provider

Mehr

Janeva:.NET meets J2EE

Janeva:.NET meets J2EE Inhalt: Motivation Was ist Janeva? Systemvoraussetzungen Installation Beispiel Converter Fazit Motivation Motivation: Janeva testen einen Überblick verschaffen Lauffähiges Beispiel Entscheidungshilfe über

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem

Mehr

Weitere aus Schnittstelle generierte Dateien (Java-Mapping)

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

Mehr

Klassenhierarchie der Skeletons für eine Schnittstelle Foo. IDL und Java. Separierung von Klientenseite und Serverseite

Klassenhierarchie der Skeletons für eine Schnittstelle Foo. IDL und Java. Separierung von Klientenseite und Serverseite IDL und Java " Grober Aufbau eines IDL-Files: module package { interface RegisterServer { Handle register(inout Client cl); ; interface Handle { void publish (in string msg) raises(dirtymsgex); ;; " Abbildung

Mehr

C++ Kurs Teil 3. Standard Template Library (STL) Kommunikation mit der shell Hyper Text Markup Language (HTML)

C++ Kurs Teil 3. Standard Template Library (STL) Kommunikation mit der shell Hyper Text Markup Language (HTML) C++ Kurs Teil 3 Standard Template Library (STL) Übersicht vector algorithm: sort, for_each map Kommunikation mit der shell Hyper Text Markup Language (HTML) O. Ronneberger: C++ Kurs Teil 3 Seite 1

Mehr

ADDISON-WESLEY PUBLISHING COMPANY

ADDISON-WESLEY PUBLISHING COMPANY Jens-Peter Redlich CORBA 2.0 Praktische Einführung für C++ und Java Mit einem Geleitwort von Richard Mark Soley ADDISON-WESLEY PUBLISHING COMPANY Bonn Reading, Massachusetts Menlo Park, California New

Mehr

AVO Übung 4. AspectIX. 18. Januar 2005 (WS 2004) Andreas I. Schmied Universität Ulm Fakultät für Informatik

AVO Übung 4. AspectIX. 18. Januar 2005 (WS 2004) Andreas I. Schmied Universität Ulm Fakultät für Informatik Universität Ulm Fakultät für Informatik Abteilung Verteilte Systeme Projektgruppe AspectIX AVO Übung 4 AspectIX 18. Januar 2005 (WS 2004) Andreas I. Schmied (schmied@inf...) Quellcodes zur Übersichtlichkeit

Mehr

Softwaretechnik WS 16/17. Übungsblatt 01

Softwaretechnik WS 16/17. Übungsblatt 01 Softwaretechnik WS 16/17 Übungsblatt 01 Was ist eine Klasse? Definition der Object Management Group: A class describes a set of objects that share the same specifications of features, constraints, and

Mehr

Corba HTWM. Hochschule für Technik und Wirtschaft Mittweida. Erstellt von: Isabel Drost (if99wp1)

Corba HTWM. Hochschule für Technik und Wirtschaft Mittweida. Erstellt von: Isabel Drost (if99wp1) HTWM Hochschule für Technik und Wirtschaft Mittweida Technikumsplatz 17 09648 Mittweida Corba Erstellt von: Isabel Drost (if99wp1) SendMail@isabel-drost.de http://www.isabel-drost.de Ausdruckhinweis: Vorder-

Mehr

7. Objektorientierung. Informatik II für Verkehrsingenieure

7. Objektorientierung. Informatik II für Verkehrsingenieure 7. Objektorientierung Informatik II für Verkehrsingenieure Klassen, Objekte und Attribute Buslinie und Haltestellen 3 Haltestellen und deren Eigenschaften Bauplan einer Haltestelle (Struktur) Konkrete

Mehr

II.4.5 Generische Datentypen - 1 -

II.4.5 Generische Datentypen - 1 - 1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.5 Generische Datentypen - 1 - Ähnliche

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

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm Spruth SS 2004 Teil 14 CORBA cs 1000 ww6 wgs 05-97 Wiederverwendbarkeit von Code Vorbild: Entwurf/Bau einer Brücke im Bauingenieurwesen Objekttechnologie ermöglicht

Mehr

Institut für Betriebssysteme und Rechnerverbund Übungslösungen zur Vorlesung Verteilte Systeme, WS 02/03 http:www.ibr.cs.tu-bs.de/lehre/ws0203/vs/ Dozent: Prof. Dr. Stefan Fischer

Mehr

Kurze Einführung in die Programmiersprache C++ und in Root

Kurze Einführung in die Programmiersprache C++ und in Root Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung

Mehr

Kommunikation zwischen Objekten. Interface Description Language (IDL) - Menge interagierender Objekte typw. in zwei Rollen

Kommunikation zwischen Objekten. Interface Description Language (IDL) - Menge interagierender Objekte typw. in zwei Rollen Kommunikation zwischen Objekten - Menge interagierender Objekte typw. in zwei Rollen - Client-Objekt (Aufrufer) - Server-Objekt Client request ORB Server- Objekt - Methodenaufruf durch requests unterschiedl.

Mehr

0. Einführung & Motivation

0. Einführung & Motivation 0. Einführung & Motivation Ansatz: "C++ für Java-Kenner" Konzentration auf semantische Unterschiede 'gleichartiger' Konzepte Erörterung der C++ -spezifischen Konzepte (Overloading, Templates) Anspruch

Mehr

CORBA - Übersicht CORBA. - Common Object Request Broker Architecture

CORBA - Übersicht CORBA. - Common Object Request Broker Architecture CORBA - Common Object Request Broker Architecture - erste Version 1991: CORBA 1.1 eine Architektur, - CORBA 2.0 (1996, Interoperabilität: IIOP) kein Produkt! - CORBA 3.0 (2002, keine vollständig konforme

Mehr

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 - ! 1. Grundelemente der Programmierung! 2. Objekte, Klassen und Methoden! 3. Rekursion und dynamische Datenstrukturen! 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1

Mehr

K. CORBA. K.1.1 Standardisierung. OMG = Object Management Group. Teilbereiche der Standardisierung

K. CORBA. K.1.1 Standardisierung. OMG = Object Management Group. Teilbereiche der Standardisierung K. CORBA K.1.1 Standardisierung CORBA = Common Object Request Broker Architecture plattformunabhängige Middleware-Architektur für verteilte Objekte, aufgesetzt auf ein vorhandenes Betriebssystem, auch

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte

Mehr