CORBA-Konzept

Werbung
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
Object Request Broker
Datenaustausch
Interface Definition Language
Dienste
CORBA-Konzept
Historie
1989
Dez 1990
Anfang 1991
Dez 1994
1994 - 1996
1995
Sept 1997
1999
gegründet mit 8 Mitgliedern, jetzt ca. 600
CORBA 1.0: Architektur, Kommunikation
CORBA 1.1: Interface Definition Language (IDL)
CORBA 2.0: Internet Inter-ORB Protocol (IIOP)
CORBA Services: Grunddienste
CORBA Facilities: anwendungsspezifische Dienste
CORBA 2.1: Portable Object Adapter (POA)
CORBA 3.0: weitere Dienste
CORBA-Konzept
Architektur
Objekt
Objekt
Objekt
ORB
ORB
IDL
Schnittstellen
der Objekte
ORB
Kommunikation zw.
Objekten
DB
Objekt
ORB
Objekte
erreichbar über IORs
(Interoperable Object
References)
Stubs für die Kommunikation
TCP/IP
TCP/IP
Netzwerk
Netzwerk
Kommunikation
IIOP basierend
auf TCP/IP
Services
Naming Service
Event Service
Query Service
Externalization Service
Persistent Obj. Service
Time Service
Security Service
...
CORBA-Konzept
Alternativen
DCOM
Java RMI
CORBA-entsprechende
Funktionalität,
ab Windows 98 integriert,
hauptsächlich WindowsPlattformen,
CORBA-DCOM-Bridges
RPC
RPC
CORBA-ähnliche
Architektur,
Kommunikation nur zw.
Java-Anwendungen
funktionsorientierte Schnittstelle
Sockets
hardwarenah, sehr schnell, zu
wenig abstrakt für komplexe Daten
RPC
RPC
Realisierung mit Visibroker Java 4.1
Komponenten
Smart Agent
Πrealisiert transparenten, entfernten Objektaufruf im LAN
Œ verteilter Directory-Service Å Lastverteilung
Πkann verschiedene LANs verbinden
- entweder kennt er IP-Adresse des anderen Smart-Agents
- oder läuft auf Multihomed-Host (mehrere IP-Adressen)
Gatekeeper
ΠGateway zwischen Clients/Applets und Servern im WAN
Œ Kommunikation trotz Sicherheitsbeschränkungen
(Web-Browser, Firewall)
Realisierung mit Visibroker Java 4.1
Architektur
Intranet Client
ΠJava Applet
Webserver
ΠGatekeeper
ΠSmart Agent
Firewall
Internet
Intranet
Internet Client
ΠJava Applet
Auf allen Rechnern läuft die
Visibroker Laufzeitumgebung
ΠJava Objekt
ΠSmart Agent
Naming Service
Realisierung mit Visibroker Java 4.1
Komponenten (2)
Location Service
ΠSuche nach Objekten mit speziellen Attributen
Πnicht CORBA-konform
Naming Service
Œ logische Namen für Objekte vergeben mit Hierarchisierung
Œ auch mehrere Namen für ein Objekt möglich
ΠClustering: ein Name bezeichnet eine Gruppe von Objekten
(nicht CORBA-konform)
Event Service
ΠEntkopplung der Kommunikation mittels Ereignissen
Realisierung mit Visibroker Java 4.1
Komponenten (3)
Object Activation Daemon
Πstartet Server-Objekte bei Bedarf
Œ muß auf gleichem Rechner wie Server-Objekt laufen
Πarbeitet mit Smart Agents zusammen
Πbenutzt eigenes Implementation-Repository
Interface Repository
Πglobales Verzeichnis aller Objekttypen
Œ Inhalt der IDL-Dateien für Laufzeitzugriff organisiert
Œ IDL kann „hineinkompiliert“ werden
Realisierung mit Visibroker Java 4.1
Komponenten (4)
Dynamic Invocation Interface
Πdynamischer Methodenaufruf in Objekt-Schnittstelle
Πsehr flexibel, aber langsamer und hoher Programmieraufwand
Interceptors, Object Wrappers
Œ Objekte, die benachrichtigt werden können, wenn:
- Methoden aufgerufen werden
- Parameter kodiert / dekodiert werden
ΠImplementieren von Sicherheit, Monitoring,
Optimierung von Ergebnisberechnungen, ...
Realisierung mit Visibroker Java 4.1
Allgemeines Vorgehen
Objekte
ObjekteininIDL
IDLdefinieren
definieren
IDL
IDLkompilieren
kompilieren
Client
Clientschreiben
schreiben
Server
Serverschreiben
schreiben
JAVA-Compiler
JAVA-Compiler
JAVA-Compiler
JAVA-Compiler
Client
Clientstarten
starten
Server
Serverstarten
starten
Details zur Chat-Anwendung
Use-Cases
Details zur Chat-Anwendung
Klassendiagramm
Details zur Chat-Anwendung
Klassendiagramm
Details zur Chat-Anwendung
IDL(1)
Details zur Chat-Anwendung
IDL(2)
Details zur Chat-Anwendung
IDL(3)
Details zur Chat-Anwendung
Erzeugte Klassen
Für jeden Objekttyp:
Π2 Interfaces, die die Operationen beinhalten
Œ Stub: Stellvertreter für einen Objekttyp
ΠPOA-Klasse:
- Aufrufhandler für Aufrufe vom Stub
- Basis für Objektimplementation
ΠHilfsklassen zum Kodieren / Dekodieren von Typen
Details zur Chat-Anwendung
Serverimplementation
Details zur Chat-Anwendung
Verteilung der Komponenten
Quellen
www.inprise.com
Œ Visibroker for Java 4.1 Programmer‘s Guide
www.omg.org
ΠCORBA 2.4 Specification
ΠIDL To Java Language Mapping Specification
Jeremy Rosenberger: CORBA in 14 Tagen
Herunterladen