CORBA = Common Object Request Broker Architecture. plattformunabhängige Middleware-Architektur für verteilte Objekte
|
|
- Birgit Brinkerhoff
- vor 5 Jahren
- Abrufe
Transkript
1 D CORBA D.1 1 Standard CORBA = Common Object Request Broker Architecture plattformunabhängige Middleware-Architektur für verteilte Objekte OMG = Object Management Group Standardisierungsorganisation mit etwa 1000 Mitgliedern Teilbereiche der Standardisierung CORBA UML XMI... Formaler Standardisierungprozess Standard-Dokumente Definition von CORBA -Kompatibilität D.2
2 2 Motivation Verteilte objektbasierte Programmierung verteilte Objekte mit definierter Schnittstelle Heterogenität in Verteilten Systemen verschiedene Hardware-Architekturen verschiedene Betriebssystem-Architkturen verschiedene Programmiersprachen Freiheitsgrade bei der Middleware-Implementierung CORBA schreibt keine Implementierung vor sondern nur Funktionalität CORBA fordert Interoperabilität verschiedener Implementierungen Anbindung an Altsysteme (Legacy) CORBA-Anwendungen sollen mit Altsystemen interagieren D.3 3 Object Management Architecture, OMA Komponenten der OMA Anwendungsobjekte Vertical Facilities Horizontal Facilities ORB Naming Properties Con- Collec- Security currency tions Persistence Life Cycle Trader Externalization Events Transactions Query Relationships Time Change Licensing Management CORBA Services D.4
3 3.1 Anwendungsobjekte Verteilte CORBA-Objekte bilden eine Anwendung Kommunikation zwischen den Objekten über ORB monolithischer Ansatz: Objekt immer auf einem bestimmten Rechner interne Implementierung über Stellvertreterobjekte Aufrufer muss nicht unbedingt CORBA-Objekt sein Legacy-Anwendungen können Objektaufrufe durchführen Object Non-Object Knoten D ORB Object Request Broker vermittelt Methodenaufrufe von einem zum anderen Objekt Rückgrat einer CORBA-Middleware mehrere interne Komponenten (teilweise nicht für Anwender sichtbar) z.b. Stellvertreterobjekte Interface Repository Aufrufer Objektimplementierung Implementation Repository DII IDL Stubs ORB Interf. Static Skeleton DSI POA ORB Core GIOP D.6
4 3.3 CORBA-Services ORB-Erweiterungen Services bieten weitergehende Dienstleistungen an allgemein brauchbare und standardisierte Dienstleistungen z.b. Namensdienst (zum Auffinden von Objekten) z.b. Zeitdienst (zum Synchronisieren der Zeit) z.b. Sicherheistdienst (zur Zugriffskontrolle) CORBA-Services erscheinen als CORBA-Objekte Aufruf eines Dienstes über Methodenaufrufen System-API durch normale CORBA-Objekte D CORBA-Facilities Facilities sind anwendungsorientierte Dienstleistungen im Gegensatz zu CORBA-Services (systemorientierte Dienstleistungen) Horizontale CORBA-Facilities Dienstleistungen über Anwendungsgebiete hinweg nutzbar z.b. Dokumentenbearbeitung, Druckdienst, Mobile Agenten,... Vertikale CORBA-Facilities Betrachtung einer Anwendungsdomäne (Domain Facilities) z.b. Dienste für Gesundheitswesen (Patientenverwaltung): CORBAmed, Produktmanagement, Telekommunikation, Finanzdienstleistungsgewerbe,... D.8
5 3.5 CORBA-Implementierung OMA durch Funktionalität und Schnittstellen festgelegt Implementierung ist Sache eines CORBA-Herstellers (Vendor) CORBA-Implementierung muss nicht vollständige Spezifikation realisieren ORB-Core: ORB-Funktionen, Objektkommunikation Interoperabilität bei der Kommunikation mit ORBs anderer Hersteller Sprachunterstützung für mindestens eine Sprache keine Services oder Facilities vorgeschrieben Zertifizierung CORBA-Kompatibilität kann zertifiziert werden wird jedoch meist (noch) nicht gemacht D.9 4 CORBA-Objekte Abstraktes objektbasiertes Programmiermodell Eigenschaften eines CORBA-Objekts verteilt aufrufbar Identität Zustand Attribute (von außen zugreifbare Instanzvariablen) Operationen (von außen zugreifbare Methoden) Wichtig CORBA-Objekt muss nicht identisch mit einem Objekt in einer Programmiersprache sein CORBA kann auch objektlose Programmiersprachen unterstützen, z.b. C D.10
6 5 Interface-Definition-Language Schnittstelle von außen zugreifbare Attribute und Operationen müssen in Schnittstellendefinition deklariert werden Schnittstelle wird unabhängig von der benutzten Programmiersprache in einer Interface-Definition-Language (IDL) beschrieben Language-Mapping Abbildung von IDL-Konstrukten bzw. IDL-Typen auf unterstützte Programmiersprachen von CORBA unterstützte Sprachen Ada, C, C++, Java, Lisp, PL/I, Python, Smalltalk weitere inoffizielle Language-Mappings existieren,z.b. für Perl D.11 5 Interface-Definition-Language (2) IDL angelehnt an C++ geringer Lernaufwand eigene Datentypen Basistypen Aufzählungstyp zusammengesetzte Typen Module definieren hierarchischen Namensraum für Anwendungsschnittstellen und -typen Schnittstellen beschreiben einen von außen wahrnehmbaren Objekttyp Exceptions beschreiben Ausnahmebedingungen D.12
7 5 Interface-Definition-Language (3) Beispiel: Kontoschnittstelle exception WrongAccountNumber { string errormsg; interface Account { readonly attribute double balance; double withdraw( in double amount ) raises WrongAccountNumber; double deposit( in double amount ) raises WrongAccountNumber; verteilte Objekte können Account-Schnittstelle implementieren D IDL-Typen Basistypen Integer-Datentypen: short, unsigned short, long, unsigned long, long long, unsigned long long Zeichen: char, wchar Zeichensatz mehr oder weniger beliebig bei Parametertransport evtl. Umwandlung notwendig Fließkomma-Datentypen: float, double, long double Boolescher Typ: boolean Byte-Typ: octet Rahmentyp für alle IDL-Typen: any kann Werte beliebiger Typen speichern D.14
8 5.1 IDL-Typen (2) Komplexe Datentypen Typdefinition: typedef type name name wird für den evtl. zusammengesetzten Typ type definiert Strukturen: struct name { memberdef } memberdef definiert einzelne Variablen innerhalb der Struktur Diskriminierte Varianten: union name switch( switchtype ) { unionmemberdef } kann Komponenten verschiedenen Typs enthalten nur eine der Komponenten kann einen Wert haben mit switchtype wird Typ bestimmt, dessen Werte eine der Komponenten auswählt (z.b. Aufzählungstyp) D IDL-Typen (3) Aufzählungstyp: enum name { constantdef } Konstanten werden im gleichen Namensraum abgelegt Sequenztyp: sequence < basetype [, maxlength] > tatsächliche Länge wird in sprachabhängiger Form gesetzt und abgefragt Zeichenketten: string [< maxlength >], wstring [< maxlength >] Festkommazahlen: fixed < digits, comapos > Felder: name [ constant ] Konstante constant gibt Elementanzahl an mehrdimensionale Felder möglich Wichtig: alle komplexen Datentypen müssen erst als Typdefinition deklariert werden bevor sie benutzt werden können! D.16
9 5.2 Exceptions und Operationen Exception-Definition Definition einer Ausnahme: exception name { memberdef } Komponenten ähnlich wie in einer Struktur Operationen aufrufbare Methode: resulttype name ( parameters ) [ raises exceptionlist ] als Ergebnistyp auch void benutzbar: kein Ergebnis exceptionlist ist mit Komma getrennte Liste von Exception-Namen Parameterdeklaration mit Komma getrennte Liste von Parameterdeklarationen: [ in out inout ] type name eingehende, ausgehende Parameter und beides mehrere Ergebniswerte pro Operation möglich D Exceptions und Operationen (2) Parameterdeklaration (fortges.) Beispiel: Kontoschnittstelle mit out-parametern interface Account { readonly attribute double balance; void withdraw( in double amount, out double balance ) raises WrongAccountNumber; void deposit( in double amount, out double balance ) raises WrongAccountNumber; Typ void für keinen Rückgabewert bei Operationen D.18
10 5.3 Weitere IDL-Konstrukte Objekttypen Namen von Schnittstellen (Interfaces) stehen für Objekttypen Parameter und Attribute können Objekttyp haben z.b.: attribute Account bankaccount; bankaccount kann Referenzen auf CORBA-Objekte vom Typ Account speichern Parameterübergabesemantik Basistypen, komplexe Typen: Call-by-Value Objekttypen: Call-by-Object-Reference seit CORBA 2.3 auch Value-Types ähnlich Objekttypen aber Call-by-Value-Übergabe D Weitere IDL-Konstrukte (2) Konstantendefinition Name wird mit konstantem Wert verbunden z.b. const double limit = ; Name limit kann dann als Konstante verwendet werden Moduldefinitionen Beispiel: module CORBA {... } Verschachtelung der Module möglich innerhalb der Moduldefinition können definiert werden: Module Exceptions Konstanten Schnittstellen Typen (typedef u.a.) D.20
11 5.3 Weitere IDL-Konstrukte (3) Lokale Objekttypen Schnittstellen mit local-schlüsselwort Spezifikation von lokalen Systembestandteilen z.b. ORB-Interface früher Pseudo-Objekte D Vererbung Schnittstellen können voneinander erben interface limitedaccount : Account { void setlimit( in double newlimit ); mehrfache Vererbung möglich (mehrere Basis-Schnittstellen mit Komma getrennt) kein Overriding gleicher Methodenname mit gleichen Parameterdeklarationen darf nicht mehrfach vorkommen kein Overloading gleicher Methodenname mit verschiedenen Parameterdeklarationen darf nicht mehrfach vorkommen D.22
12 5.4 Vererbung (2) Vererbung (fortges.) Diamond-Shape-Inheritance möglich Beispiel: interface A { long opa(); A interface B : A {... interface C : A {... interface D : B,C {... B D C Objekte vom Typ D besitzen eine Operation opa Schnittstellen erben automatisch von Object Basisoperationen von CORBA definiert D Namensräume Module, Strukturen, Exceptions, Varianten und Schnittstellen spannen neuen Namensraum auf innere Namen verdecken äußere Namen qualifizierte Namen Namen des umgebenden Modules etc. verknüpft mit lokalem Namen durch doppelten Doppelpunkt z.b. CORBA::BAD_PARAM (bestimmte System-Exception) z.b. ::Account (Name Account im obersten Namensraum) bei Vererbung werden Namensräume der Basis-Schnittstellen importiert doppelte Belegung von Namen führt zu Qualifizierungszwang: Name kann nur als qualifizierter Name angesprochen werden D.24
13 5.5 Namensräume (2) Namen innerhalb eines Namensraums darf ein Name nur einmal benutzt werden gilt auch für verschiedene Schreibweisen mit Groß- und Kleinbuchstaben z.b. neben Account darf es kein account geben in IDL verbotene Namen (wg. Schlüsselworte) können durch Voranstellen eines Unterstrichzeichens verwendet werden z.b. _module oder _Object D Sprachabbildung Umsetzung von IDL in Sprachkonstrukte (z.b. C++) module MyModule { interface MyInterface { attribute long lines; void printline( in string toprint ); IDL namespace MyModule { C++ class MyInterface :... { public: virtual CORBA::Long lines(); virtual void lines( CORBA::Long _val ); void printline( const char *toprint );... D.26
14 5.6 Sprachabbildung (2) Umsetzung von IDL in Sprachkonstrukte (z.b. Java) module MyModule IDL { interface MyInterface { attribute long lines; void printline( in string toprint ); package MyModule; Java namespace MyModule { C++ public class MyInterface interface MyInterface :... { extends... { public: int lines(); public virtual void CORBA::Long lines( int lines(); ); public virtual void void printline( lines( CORBA::Long _val ); void java.lang.string printline( const toprint char *toprint ); );... D Sprachabbildung (3) Vorteile Schnittstellenbeschreibung unabhängig von Implementierungssprache ermöglicht Unterstützung vieler Programmiersprachen Nachteile Objektschnittstelle muss in IDL und in der Implementierungssprache beschrieben werden (letzteres kann teilweise automatisiert werden) IDL ist sehr ausdrucksstark (z.b. sequence) Sprachabbildung für Konstrukte, die in einer Programmiersprache nicht direkt vorhanden sind, ist kompliziert Fähigkeiten einer Sprache, die nicht in IDL beschrieben werden können, können nicht genutzt werden D.28
15 6 CORBA-Objekte Systeminitialisierung in jedem Knoten muss eine ORB-Instanz initialisiert werden implementiert ORB-Interface Initialisierung ist sprachabhängig Beispiel Java: ORB orb = ORB.init(args, null); statische Initialisierungsfunktion bekommt Argumentliste und Menge von Properties erlaubt Einstellungen und Konfigurationen verschiedenster Art erlaubt die Unterscheidung mehrerer ORB-Instanzen D Objekterzeugung Beschreibung der IDL-Schnittstelle Implementierung des Servant Servant realisiert ein (oder auch mehrere) CORBA-Objekt(e) Auswahl einer Programmiersprache Umsetzung der IDL-Schnittstelle in ein Skeleton IDL Definition Skeleton Servant Servant Code Precompiler Compiler Skeleton wird in der Regel ausgefüllt mit Implementierungscode Prä-Compiler wird häufig IDL-Compiler genannt D.30
16 6.1 Objekterzeugung (2) Instanziieren des CORBA-Objekts Instanziieren der Servant-Implementierung Aktivierung des Servants am Object-Adaptor eine Aufgabe des OA: Generierung der Objektreferenz Beispiel: POA mindestens eine POA-Instanz pro Adressraum (Server-Prozess) Aufruf von activate_object am POA Server activate_object POA Servant D Objekterzeugung (3) Herausgabe der Objektreferenz Aufruf von servant_to_reference am POA liefert Objektreferenz auf CORBA-Objekt (nicht Servant) Realisierung der Objektreferenz ist sprachabhängig z.b. in Java: Stellvertreterobjekt (lokaler Stellvertreter ist optimiert) implizite Umwandlung in Objektreferenz Übergabe einer Referenz auf den Servant als Parameter führt zur Umwandlung in Objektreferenz implizite Aktivierung Betriebsart des POA Übergabe des Servant als Parameter aktiviert automatisch den Servant, falls noch nicht geschehen Beachte: Aktivierung ist identisch zum Exportieren in Java RMI D.32
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
MehrE CORBA. 1 Standard. 2 Motivation. 3 Object Management Architecture, OMA. 1 Architekturen für verteilte Objekte. 3 Architekturen für verteilte Objekte
1 Standard CORBA CORBA = Common Object Request Broker Architecture plattformunabhängige Middleware-Architektur für verteilte Objekte OMG = Object Management Group Standardisierungsorganisation mit etwa
MehrÜ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
MehrCORBA = 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
MehrK. 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
Mehrexplizite, 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
MehrProjektgruppe 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
MehrSeminar 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
MehrD.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
Mehr3.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
MehrCOMMON 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
MehrCORBA. 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
MehrCORBA. 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
MehrCORBA = Common Object Request Broker Architecture. plattformunabhängige Middleware-Architektur für verteilte Objekte
CORBA 1 1 Standard CORBA = Common Object Request Broker Architecture plattformunabhängige Middleware-Architektur für verteilte Objekte OMG = Object Management Group Standardisierungsorganisation mit etwa
MehrHello 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
Mehr1. 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
MehrInhaltsverzeichnis. 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
MehrModul 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:
Mehr42 Reproduktion oder Verwendung dieser Unterlage bedarf in jedem Fall der Zustimmung des Autors.
5.3 Deaktivierung und Aktivierung mit POA 5.3 Deaktivierung und Aktivierung mit POA (2) Objekte können ihren Servant und ihre POA-Instanz überleben Servants können deaktiviert werden POA kann deaktiviert
MehrGrundelemente objektorientierter Sprachen (1)
Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte
MehrCORBA. 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
MehrCORBA-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
MehrKommunikation. 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
MehrVerteilte 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
Mehr6 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,
MehrADDISON-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
MehrGrundelemente objektorientierter Sprachen (1)
Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte
MehrInternetanwendungstechnik (Ü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,
MehrSchematische 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
MehrE.18 E.17 E.19 E Interface-Definition-Language (8) 4.1 Interface-Definition-Language (7) 4.1 Interface-Definition-Language (10)
4.1 Interface-Definition-Language (7) Exception-Definition Definition einer Ausnahme: exception name { memberdef } Komponenten ähnlich wie in einer Struktur Operationen aufrufbare Methode: resulttype name
Mehr5.1 Middleware für verteiltes Programmieren. 5 Middleware und verteilte Anwendungen: CORBA. 5.2 CORBA-Überblick. 2 Literatur, URLs.
5 Middleware und verteilte Anwendungen: CORBA 5 Middleware und verteilte Anwendungen: CORBA 1 Überblick Motivation Object Management Architecture (OMA) Anwendungsobjekte und IDL Object Request Broker (ORB)
MehrGrundelemente objektorientierter Sprachen (1)
Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte
MehrB 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,
MehrEinfü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
MehrCommon 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
MehrB 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)
Mehr1 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
MehrVerteilte 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
MehrEinfü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
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4
MehrJavakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
MehrE Middleware und verteilte Anwendungen: CORBA
E und verteilte Anwendungen: CORBA E und verteilte Anwendungen: CORBA 1 Überblick Motivation Object Management Architecture (OMA) Anwendungsobjekte und IDL Object Request Broker (ORB) Portable Object Adaptor
Mehr2 Literatur, URLs. 1 Überblick
E und verteilte Anwendungen: CORBA E und verteilte Anwendungen: CORBA 2 Literatur, URLs E und verteilte Anwendungen: CORBA 1 Überblick Motivation Object Management Architecture (OMA) Anwendungsobjekte
Mehr3.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,
MehrWeitere 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
MehrImplementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
MehrUNIVERSITÄ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,
MehrMethoden 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)
MehrMiddleware. 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
MehrEinführung in C. EDV1-04C-Einführung 1
Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags
MehrTypsystem Plattform- und Sprachenunabhängigkeit in.net
Typsystem Plattform- und Sprachenunabhängigkeit in.net C# J# VB.NET Zwischencode CIL Windows Unix Auf welchen Grundlagen basiert dies? Komponenten & Frameworks Seite 1 Typsystem Grundlagen - CLR Common
MehrParallele 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
MehrKapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik
Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen
MehrObjektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
MehrGrundlagen der Informatik 0
Technische Universität Darmstadt 01.07.2013 Grundlagen der Informatik 0 Vorlesung 0 Java ist eine Programmiersprache Ilkay Baytekin Douglas Crockford http://media.smashingmagazine.com/wp-content/uploads/2012/04/doug-crockford-image.jpg
MehrProgrammieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware
MehrCorba. 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
MehrEinstieg in die Informatik mit Java
1 / 13 Einstieg in die Informatik mit Java Schnittstellen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Einführung 2 Definition einer Schnittstelle 3 Implementierung
MehrCORBA (Ü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
MehrArrays. Einleitung. Deklarieren einer Array Variablen
Arrays Einleitung bisher jede Variable einzeln deklariert: 12 3 14 12 32 32 3 32 5 3 double sum; int count; ÿ Sie können Zweck und Aufbau von Array-Datentypen erklären ÿ Sie können einen Array korrekt
MehrEinstieg 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
MehrCORBA 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
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
MehrKapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
MehrTheorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
MehrEinleitung Typsystem Typisierung Zusammenfassung Literatur. Typisierung. Effiziente Programmierung. Thomas Schnieders
Typisierung Effiziente Programmierung Thomas Schnieders Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 2018-04-26 Thomas Schnieders Typisierung 1
MehrObjekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3
Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................
MehrProgrammiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften
Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder
MehrTag 8 Repetitorium Informatik (Java)
Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium
MehrKap. 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
MehrEinführung in die Programmiersprache Java II
Einführung in die Programmiersprache Java II ??????????? UML OOP "Object oriented programming is bad" - professional retard 90s... UML Entwicklungsziele verschiedenen existierenden objektorienten Modellierungsmethoden
MehrRemote 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
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Klassenattribute und -methoden Bieniusa Software Entwicklung 1 2/ 23 Beispiel: Klassenattribute I class Uebungsgruppe
MehrDas Interface-Konzept am Beispiel der Sprache Java
Das Interface-Konzept am Beispiel der Sprache Java Klaus Kusche, November 2013 Inhalt Motivation: Wozu braucht man Interfaces? Interfaces in Java Was spricht gegen die große Lösung? Voraussetzungen Kenntnisse
Mehr1 Abstrakte Klassen, finale Klassen und Interfaces
1 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
MehrGrundlagen 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
MehrPräsentation Interfaces
Einführung in Java Präsentation Interfaces Nozar Delassaei Marvi Inhalt 1. Erinnerung Klasse Objekte Beispiel Klasse Abstrakte Klasse Beispiel Abstrakte Klasse Mehrfachvererbung-1 Mehrfachvererbung-2 2.
MehrSeite 1. 6 Implementierung komplexer Systeme. 6.1 Verteilte objektorientierte Systeme. Offene verteilte 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,
MehrKapitel 8. Programmierkurs. Methoden. 8.1 Methoden
Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08
MehrDr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund
EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 12/13 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrInfo B VL 8: Abstrakte Klassen & Interfaces
Info B VL 8: Abstrakte Klassen & Interfaces Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 8: Abstrakte
MehrEinstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
MehrVererbung und Polymorphie
Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter
Mehr! "eine Zeichenkette\nmit Doppelapostroph \" und Backslash \\"
1.2. Datentypen Zeichenketten: Zeichenkettenliterale wie»üblich«"eine Zeichenkette\nmit Doppelapostroph \" und Backslash \\" werden als 0-terminierte char-felder realisiert char* hello = "Hello, World";
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0
9 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Gerüstbeispiel Ein Duo, Quarto oder Sexto ist ein Gerüst. Die Klassen Duo, Quarto und Sexto sollen durch Vererbung
MehrSystemprogrammierung. 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
MehrKlausur Grundlagen der Programmierung
Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel
MehrCorba 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-
MehrBeuth 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
MehrProgrammieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, Polymorphie und innere Klassen 2 Vererbung im Klassendiagramm (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Object
Mehr12 Abstrakte Klassen, finale Klassen und Interfaces
12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
MehrEINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16
EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrTest zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler. 2. Mai 2003
Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler. Mai 00 Name Martrikelnummer Unterschrift Bitte kreuzen Sie das Studium an, für das Sie diese Prüfung ablegen: O Bakkalaureat
MehrC++ vs. Java. Hello world! Java C++ class HelloWorld { static public void main(string args) { System.out.println("Hello World!
Hello world! Java class HelloWorld { static public void main(string args) { System.out.println("Hello World!"); } } C #include main() { printf("hello World!\n"); } C++ #include using
MehrKomponentenmodelle 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
MehrEinführung in die Programmierung
Einführung in die Programmierung by André Karge Übung - Operatoren, Methoden, Primitives 25. Oktober 2018 Einführung in die Programmierung WS18/19 André Karge 1/29 Notizen Standard Linux Befehle: http://images.linoxide.com/linux-cheat-sheet.pdf
MehrEinstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen
Mehr