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

Upload: jutte-stifel

Post on 05-Apr-2015

110 views

Category:

Documents


1 download

TRANSCRIPT

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