Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

CORBA Common Object Request Architecture der Object Management Group (OMG) Forderungen: Verteilte und offene Strukturen Flexible Software durch Trennung.

Ähnliche Präsentationen


Präsentation zum Thema: "CORBA Common Object Request Architecture der Object Management Group (OMG) Forderungen: Verteilte und offene Strukturen Flexible Software durch Trennung."—  Präsentation transkript:

1 CORBA Common Object Request Architecture der Object Management Group (OMG) Forderungen: Verteilte und offene Strukturen Flexible Software durch Trennung von -Anforderung -Anforderungsdefinition -Realisierung Middleware zur Sicherstellung von Kommunikation und Interoperabilität Bessere Integration von Internet / Intranet und einer verteilten Unternehmens-IV Server-Komponenten 2. Komponentenbasierte Software Entwicklung

2 OMG - Referenzarchitektur Server-Komponenten 2. Komponentenbasierte Software Entwicklung Object Request Broker (ORB) Anwendungsobjekte (Application Objects) Anwendungsobjekte (Application Objects) Objektdienste (Object Services) Objektdienste (Object Services) Basisdienste (Common Facilities) Basisdienste (Common Facilities) Standardisiert

3 CORBA – Services Abstraktion für Systemprogrammierungsfunktionalität Server-Komponenten 2. Komponentenbasierte Software Entwicklung Naming Event Service Transactions Security Lifecycle Time Licensing Trading Properties Relationships Query Persistent Object Concurrency Control Externalisation

4 Common ORB Architecture Standard für ORB Ziele: Objektorientierung Verteilungstransparenz Effizienz Hardware- / Betriebssystem- / Sprachunabhängigkeit Offenheit Bestandteile: Konkretisierung des abstrakten OMG-Modells Definition von CORBA-Objekten Object Request Broker (ORB) Server-Komponenten 2. Komponentenbasierte Software Entwicklung

5 ORB Infrastruktur für Interoperabilität der heterogenen Objekte Abbildungen von Objektnamen der aufrufenden und aufgerufenen Objekte Auswahl der aufzurufenden Operationen Kodierung / Dekodierung von Parametern Vermittlung von Operationsaufrufen an geeignete Zielobjekte (eins-zu-eins) Übermittlung von Operationsergebnissen Aktivierung Ausnahmebehandlung Sicherheitsmechanismen baut auf Objektdiensten auf Server-Komponenten 2. Komponentenbasierte Software Entwicklung

6 Kommunikationstransparenz Server-Komponenten 2. Komponentenbasierte Software Entwicklung Client/Objekt Stub (Rumpf) Server/Objekt Skeleton (Rahmen) Netzwerkcode Nachrichtenaustausch (IIOP) Logische Schnittstelle Aufruf Antwort

7 OpenDoc von CI Labs (Component Integration Laboratories) Open Scripting Architecture -Basiert auf AppleEvents -Applikations, -übergreifende Scriptsprache Netzwerkfähigkeit durch SOM/DSOM-Basis Inkrementelle Speicherung mit Bento (nur Deltas zw. Drafts) Compound Document Management -Koordination gemeinsamer Ressourcen -Darstellung auch nichtrechteckiger Container -Part-Sammlung Server-Komponenten 2. Komponentenbasierte Software Entwicklung Structured Storage (Bento) Structured Storage (Bento) Compound Document Management (parts) Compound Document Management (parts) SOM/ DSOM Oder CORBA-konformer ORB Automation & Scripting (OSA) Automation & Scripting (OSA)

8 CORBA (Balzert) – OMG und CORBA OMG (Object Management Group) oEntwickelt Standards und Spezifikationen für eine Infrastruktur, die für verteilte, objektorientierte Anwendungen erforderlich ist oSetzt den de facto-Standard für die Software-Industrie oDeckt heute einen großen Teil der objektorientierten Software- Entwicklung ab, z.B. ist die UML OMG-Standard CORBA oCORBA ist eine Spezifikation und kein Produkt oEs gibt jedoch eine Reihe von kommerziellen und frei verf ü gbaren Plattformen, die der CORBA-Spezifikation entsprechen. Server-Komponenten 2. Komponentenbasierte Software Entwicklung

9 CORBA (Balzert) – OMA (1) Basis f ü r die Standardisierung bildet die Object Management Architecture Server-Komponenten 2. Komponentenbasierte Software Entwicklung

10 CORBA (Balzert) – OMA (2) Hauptkomponenten von OMA oAnwendungsobjekte (application objects) Können Client- als auch Server-Objekte sein oObject Request Broker (ORB) Vermittelt die Kommunikation zwischen den Objekten oSpezielle Objektdienste (object services) Benötigt der ORB zur Erfüllung seiner Aufgaben Beispiel: Dienste für die Namensgebung, zum Kopieren und Löschen von Objekten oAllgemeine Objektdienste (common facilities) Beispiel: Hilfe-, Druck-und Sicherheitsdienste. Server-Komponenten 2. Komponentenbasierte Software Entwicklung

11 CORBA (Balzert) – ORB Schlüsselkomponente der Architektur Kommunikationszentrale Übermittlung von Operationsaufrufen und Ergebnissen zwischen Anwender und Anbieter Der ORB wurde als erste Komponente unter dem Namen CORBA (Common Object Request Broker Architecture) standardisiert Der ORB benutzt die Schnittstellen der Client- und Server-Objekte, um Anforderungen weiterzuleiten Als Schnittstellen-Definitionssprache wird CORBA-IDL (interface definition language) verwendet. Server-Komponenten 2. Komponentenbasierte Software Entwicklung

12 CORBA (Balzert) – CORBA und Komponenten oAuf CORBA-Objekte kann von au ß en nur ü ber ihre Schnittstelle zugegriffen werden oSie stellen jedoch keine Komponenten dar oCORBA ist bis zur Version 2 kein Komponenten-Modell oDa CORBA die Implementierung nicht ber ü cksichtigt, werden z.B. keine Aussagen dar ü ber gemacht, wie CORBA-Objekte auf bin ä rer Ebene aussehen, wie sie zu installieren oder zu verteilen sind. CORBA components (CCM, corba components model) oHaben von der Architektur her gro ß e Ä hnlichkeit mit Enterprise JavaBeans oZiel war es, vorhandene EJBs als CORBA-Komponenten nutzen zu k ö nnen oVon diesem Standpunkt aus k ö nnen CORBA-Komponenten als sprachunabh ä ngige Obermenge von EJBs betrachtet werden. CORBA vs. COM oDie Spezifikation sieht eine Abbildung vor, die das Zusammenarbeiten zwischen COM und CORBA-Objekten grunds ä tzlich erm ö glicht. Server-Komponenten 2. Komponentenbasierte Software Entwicklung

13 CORBA (Balzert) – Quality of Services CORBA-Einsatz in speziellen Umgebungen: Minimum-CORBA oVariante, die f ü r Systeme mit begrenzten Hardware-Ressourcen (Rechenleistung, Hauptspeicher) entwickelt wurde oZielplattformen sind z.B. Handys oder PDAs Echtzeit-CORBA oDefiniert, wie Echtzeitanforderungen zu handhaben sind Fehlertolerantes CORBA oAussagen zu fehlertoleranten Systemen. Server-Komponenten 2. Komponentenbasierte Software Entwicklung

14 CORBA (Balzert) – Architektur (1) ORB-Kern: Transportschicht Server oOperationen müssen in einer Schnittstelle, hier IDL, beschrieben werden Server-Komponenten 2. Komponentenbasierte Software Entwicklung

15 CORBA (Balzert) – Architektur (2) Aus einer IDL-Beschreibung werden generiert: oIDL-Stummel (stub) : Wird vom Client benutzt, um Dienstleistungen des Servers anzufordern oInterface Repository: Speichert Informationen über die Schnittstelle, die zur Laufzeit von den Clients abgefragt werden. Dazu wird das DII (dynamic invocation interface) benutzt oIDL-Skelett (skeleton): Code-Rahmen. Wird vom Programmierer mit der Implementierung der Operationen gefüllt oImplementation Repository: Informationen, um Server zu lokalisieren. Clients oInteragieren mit dem ORB über IDL-Stummel und DII jeweils in der eigenen Programmiersprache oKönnen auf 2 Arten Dienstleistungen anfordern: Ist die Schnittstelle in IDL definiert und kennt der Client die Typ- bzw. Klassendefinition des Servers, dann kann eine statische Anforderung erfolgen Ist die Schnittstelle des Servers nicht bekannt, dann kann die DII verwendet werden. Server-Komponenten 2. Komponentenbasierte Software Entwicklung

16 CORBA (Balzert) – Architektur (3) Aus der IDL abgeleiteten Informationen Server-Komponenten 2. Komponentenbasierte Software Entwicklung

17 CORBA (Balzert) – Architektur (4) Server oDer Server weiß nicht, ob eine Anforderung statisch oder dynamisch erstellt wurde oAnforderungen passieren den IDL-Stummel, um zum Server zu gelangen oEin IDL-Skelett hängt i.d.R. vom Objekt-Adapter ab oEs kann mehrere Skelette für dieselbe Schnittstelle und dieselbe Programmiersprache mit unterschiedlichen Objekt-Adaptern geben oEin Objekt-Adapter stellt eine Schnittstelle zu den ORB-Dienstleistungen zur Verfügung, die die Server nutzen können. ORB-Interface oAndere Dienstleistungen, die von den Servern benutzt werden, werden direkt von der Komponente ORB-Interface zur Verfügung gestellt oDiese Schnittstelle ist für alle ORB-Implementierungen identisch und hängt nicht vom Objekt-Adapter ab oDas ORB-Interface wird auch von Clients genutzt. Server-Komponenten 2. Komponentenbasierte Software Entwicklung

18 CORBA (Balzert) – Architektur (5) Interface Repository (IR) oVerwaltet die IDL-Definitionen Diese sind zur Laufzeit verfügbar oDie DII benutzt diese Informationen, um Clients Anforderungen an Server zu erlauben, deren Schnittstelle zur Übersetzungszeit des Clients noch unbekannt war oDie IR-Dienstleistung wird auch vom ORB selbst benutzt, um Anforderungen weiterzuleiten Implementation Repository oVerwaltet Informationen, die der ORB benötigt, um die Server zu lokalisieren und zu starten oEs ist spezifisch für eine Betriebssystem-Umgebung. Server-Komponenten 2. Komponentenbasierte Software Entwicklung

19 CORBA (Balzert) – IDL IDL oDient zur Beschreibung der Schnittstellen von Klassen, die als Server Dienstleistungen anbieten oNur Spezifikationen beschreibbar, kein Code oDie Spezifikationen werden verwendet, um vom Client aus Operationen des Servers aufzurufen. Aufruf in der Client-Programmiersprache oDie Implementierung der Operationen auf der Server-Seite in der Server- Programmiersprache oIDL-Precompiler transformieren die IDL-Spezifikationen in die jeweiligen Zielsprachen. Syntax ist an C++ angelehnt. Grammatik ist Teilmenge der C++-Grammatik mit Erweiterungen für verteilte Aufrufe. Vergleich IDL vs. ODL oODL wurde auf der Grundlage von IDL entwickelt oIDL = ODL ohne extents, keys und relationships CORBA und Java oEs gibt Spezifikation f ü r Abb. von IDL auf Java oJava-Schnittstellen (Schl ü sselwort: interface) werden direkt genutzt oDie CORBA-Spezifikation sieht eine Umkehrabbildung (reverse mapping) vor Damit l ä sst sich aus Java-Schnittstellen IDL-Code generieren Somit ist es leicht m ö glich, ü ber CORBA EJBs von Clients anzusprechen, die in anderen Programmiersprachen entwickelt wurden. Server-Komponenten 2. Komponentenbasierte Software Entwicklung

20 CORBA (Balzert) – Standardisierte Dienste (1) Standardisierte Objektdienste Namensdienst (name service) : Kreierung von Namensräumen und die Abbildung von benutzerdefinierten Objektnamen auf CORBA-Objektreferenzen Lebenszyklusdienst (lifecycle service) : Verwaltung von Objekten (Erzeugen, Kopieren, Löschen, Abfragen auf Äquivalenz) Ereignismeldedienst (event notification) : Erkennen von Ereignissen und Benachrichtigung von Objekten über Ereignisse Persistenzdienst (persistence service) : Dauerhaftes Speichern und Laden von Objekten auf / von (externen) Speichern. Nebenläufiger Dienst (concurrency service) : Synchronisierung konkurrierender Zugriffe auf Objekte Auslagerungsdienst (externalization service) : Datenexport von Objekten in Dateien außerhalb des Objektsystems Beziehungsdienst (relationship service) : Erzeugen, Löschen und Verwalten von Beziehungen zwischen Objekten, Navigation über Beziehungen Transaktionsdienst (transaction service) : Techniken zur Durchführung transaktionsgesteuerter Abläufe mit einem zweistufigen commit. Zeitdienst (time service) : Synchronisierung der Uhren von Komponenten- systemen in verteilter Umgebung Server-Komponenten 2. Komponentenbasierte Software Entwicklung

21 CORBA (Balzert) – Standardisierte Dienste (2) Sicherheitsdienst (security service) : Autorisierungs- und Überwachungs- funktionen auf Objektebene Lizenzdienst (licensing service) : Verwaltung von Objektlizenzen, Abrechnung von Gebrauchsgebühren für Objekte Eigenschaftsdienst (properties service) : Dynamisches Erzeugen, Löschen und Verwenden von Attributen Anfragedienst (query service) : SQL-artige Anfrageoperationen für Objekte Allgemeine Objektdienste (common facilities) Vertikale Marktdienste : Basisfunktionalität für unterschiedliche Marktsegmente Horizontale allgemeine Dienste : Dienste über mehrere Anwendungsbereiche ouser interface definiert den Zugriff auf ein grafisch orientiertes Informationssystem oinformation management legt Modellierung, Definition, Speicherung, Wiedergewinnung, Verwaltung und Austausch von Informationen fest osystems management unterstützt die Verwaltung komplexer Informationssysteme otask management erlaubt die Automatisierung von Aufgaben. Server-Komponenten 2. Komponentenbasierte Software Entwicklung


Herunterladen ppt "CORBA Common Object Request Architecture der Object Management Group (OMG) Forderungen: Verteilte und offene Strukturen Flexible Software durch Trennung."

Ähnliche Präsentationen


Google-Anzeigen