Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt...

21
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG IDL Syntax and Semantik ORB: Dynamic Invocation Interface (DII) Dynamic Skeleton Interface (DSI) Interface Repository (IR) ORB Interface Basic Object Adapter Language Mapping

Transcript of Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt...

Page 1: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB

Produkt beinhalten?Core:

• CORBA Objekt Modell

• CORBA Architektur

• OMG IDL Syntax and Semantik

ORB:

• Dynamic Invocation Interface (DII)

• Dynamic Skeleton Interface (DSI)

• Interface Repository (IR)

• ORB Interface

• Basic Object Adapter

• Language Mapping

Page 2: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Erstellen Sie eine Check-Liste für eine CORBA Umgebung.

• CORBA Core

• Language Mapping (C, C++, Smalltalk, Java, ..)

• CORBA Interoperability (IIOP)– optional: DCE ESIOP

• CORBAservices (Lifecycle, Naming, ..)

• CORBAfacilities (Compound Documents, ..)

Page 3: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Welches sind die grundlegenden Merkmale von IDL?

• ANSI C++ ähnlich– Gemeinsamkeiten– Unterschiede

• streng typisiert– ‘any’ Typ– Scope

Page 4: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Erläutern Sie die Typdeklaration in IDL.

• streng typisiert

• “any” Datentyp

• Geltungsbereich

• “::” Operation: Import externer Definitionen

Page 5: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Erläutern Sie die Deklaration von Interfaces.

• In einem Interface werden zusammengehörige Operationen gruppiert.

• Ein Objekt kann mehr als ein Interface definieren.

• Vererbungs’einheit’

Page 6: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Erläutern Sie die Deklaration von Operationen.

• Rückgabewert ([return type] …)

• Name (… [name]() …)

• Parameter ( …(in/out/inout [parameter], …)…)– in

– out

– inout

• optional: Exceptions (... raises() …)

• optional: ‘oneway’ (oneway …)

Page 7: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Erläutern Sie die Deklaration von Exceptions.

• Optionales Element einer Operationsdeklaration… raises (exception);

• Exceptions sind hierarchisch organisiert.File, Modul, Interface

• Standard Exceptions durch OMG definiert:Werden nicht deklariert, sondern nur behandelt.

• ORB für Abwicklung zuständig

• je nach Language-Mapping unterschiedlich realisiert.

Page 8: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Erläutern Sie die Deklaration von ‚oneway‘-Operationen.

• über ‘oneway’ Schlüsselwort im Interface

• Nur ‘IN’-Parameter

• kein Rückgabewert

• ‘Best-Effort’ Aufruf durch ORB (d.h keine Garantie der Ausführung/Ankunft)

• Asynchron (d.h non-blocking)

Page 9: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Erläutern Sie ‘Context’-Objekte.

• Enthält eine Liste von Eigenschaften

• Eigenschaft: Schlüssel/Wert Paar (nur Strings)

• Definition über: context(key1, key2, …)

• Verwaltung erfolgt über ORB

• Standard Zugriffsmethoden:add, get, set, delete

Page 10: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Erläutern Sie Attribut-Variable.

• Um den Zugriff auf Variable einfacher zu machen gibt es dieses IDL Element.

• ‘attribute name’: ergibt automatisch eine– void _set_name(in typ value) und– typ _get_name() Operation.

• readonly ergibt nur eine Leseoperation

Page 11: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Erläutern Sie Vererbung.

• Mittels Vererbung kann man von bestehenden Interfaces alle Elemente übernehmen

• Neue Funktionen können hinzugefügt werden

• Syntax = : Operator (interface neu:alt { .. } )

• Mehrfachvererbung ist möglich: (neu:alt1,alt2)

Page 12: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Erläutern Sie ‚Pseudo‘-Objekte.

• definiert Operationen die auf alle Objekte gültig sind.

• kann nicht als Parameter benutzt werden

• kein Zugriff über DII

• keine IDL-Definition im IR

• Interface Objectz.B: get_implementation, get_interface

Page 13: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Geben Sie einen Überblick über die Verbindung zwischen Client und ORB.

• Client kann über DII und SII Methoden aufrufen.

• Zugriff auf die Repositories erfolgt über das ORB Interface.

• SII: Typprüfung bei Kompilieren möglich, synchron

• DII: dynamic typing, synchron (auch deferred) und asynchron

Page 14: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Erläutern Sie den Zusammenhang zwischen Clients und Stubs.

• Client Implementation greift über den Stub auf den ORB zu.

• Stub wird aus der IDL-Definition generiert. (Programmiersprachen- und Plattformabhängig)

• Typüberprüfung bei statischer Stubmethode möglich.

• Stub-to-ORB Aufbau kann beliebig sein (ORB spezifisch)

Page 15: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Beschreiben Sie das Dynamic Invocation Interface. Erläutern Sie die notwendigen Schritte des dynamischen Aufrufs.

• Flexibler aber komplexer als SII.• Zugriff auf Objekte auch ohne Stub möglich.• Erweiterte Aufrufmöglichkeiten• Ein Client kann zur Laufzeit neue Objekte ‘entdecken’.• Ablauf:

– Identifizieren

– Interface abfragen

– Aufruf konstruieren (Parameter, etc.)

– Aufrufen und Ergebnisse abfragen

Page 16: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Was ist das Interface Repository (IR)? Wozu dienen die darin enthaltenen IDL Definitionen?

• Alle IDL Definition werden darin gespeichert.

• Zusammenarbeit mit anderen ORB

• Typüberprüfung für DII-Aufrufe

• Vererbung

Page 17: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Wie kann auf das Interface Repository zugegriffen werden?

• Proprietäre Programme des ORB Herstellers– fertig– eventuell mächtiger

• Standardisierte Methoden des IR aufrufen(durch OMG festgelegt)– portierbar auf andere ORBs

Page 18: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Wie wird ein IR eindeutig identifiziert?

• Jeder ORB muß mindestens 1 IR ansprechen können.

• Mehrere ORBs können auf ein IR zugreifen.

• IR hat eindeutige ID– mehrere unabhängige Irs können leicht verwaltet

werden– gleiche ID = identer Inhalt

Page 19: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Wie funktioniert ein Interface Repository?

• Funktion: permanente Speicherung von Information

• Anforderungen:– skalierbar– sicher– schnell– flexibel

Page 20: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Wie sind Interface Repositories strukturiert?

• Es muß die Information der IDL-Definitionen gespeichert werden (nicht unbedingt der IDL-Source)

• d.h.: Definition kann in IDL rekonstruiert werden (exkl. Kommentar)

Page 21: Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.

Beschreiben Sie kurz das ORB Interface.

• Stellt die Funktionen zur Verfügung die jeder Client zur Initialisierung aufrufen muß

• ORB_Init

• Weiters gibt es grundlegende Funktionen zu Objekten, IR und DII