MD 4/02 CORBA Static/Dynamic Invocation Interface (SII/DII), Interface Repository.

Slides:



Advertisements
Ähnliche Präsentationen
A CORBA Domain Management Service
Advertisements

C ommon O bject R equest B roker A rchitecture
Kritische Betrachtung
DI Christian Donner cd (at) donners.com
Was ist J2EE Die Vorteile von J2EE J2EE Modell Die Komponente von J2EE
2. Komponentenbasierte Software Entwicklung
Internetzugriff mit Strings und Streams
Abstrakte Klassen HS Merseburg (FH) WS 06/07.
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Grundlagen der Sprache
ATHOS Benutzertreffen 12. November Auswerteserver Glashütten, 12. November 2008 HighQSoft GmbH, Andreas Hofmann
Komponentenbasierter Taschenrechner mit CORBA
MD 5/02 CORBA Lebensdauer von Objekten, Transaktionen.
MD 4/02 Hello World from CORBA ein erster Überblick.
Cassey - Common Answer Set Evaluation sYstem Jean Gressmann Benjamin Kaufmann Robert Lenk.
Programmieren mit JAVA
Vererbung Spezialisierung von Klassen in JAVA möglich durch
XML in Client-Server und GRID Architektur
JAVA RMI.
Universität Bonn, Seminar Softwaretechnologie WS 03/04, Alexander Höck 1 Seminar Component and Aspect Engineering im WS03/04 FlexiBeans / FreEvolve von.
Introducing the .NET Framework
Remote Methode Invocation (RMI)
Packages Vortrag : Cornelia Hardt 23. November 1999.
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Definition von Klassen Umgang mit Objekten. © 1999 TMN-Systemberatung GmbH Code Definition von Klassen n Alle visuellen Klassen können auch per Code definiert.
Rechnernetze und verteilte Systeme (BSRvS II)
Common Object Request Broker anhand eines Beispiels Aufgabestellung ( Ein Konto wird von einem Server verwaltet. Der Stand des Kontos wird.
FH-Hof Adapter & Facade Pattern Richard Göbel. FH-Hof Motivation Gegeben ist eine Klasse mit vorhandenen Methoden Gefordert ist eine Klasse, die ein bestimmtes.
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Monitoring von Geräten und Diensten Projektgruppe Location-based Services for Wireless Devices WS 2004/05 Tobias Beisel AG Kao Betriebssysteme und Verteilte.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Generalisierung/Spezialisierung Subtypisierung/Vererbung
Kap 4-1OHO Kap. 4.2 Das Orbix CORBA-System Kurzer überblick zu der CORBA-Implementierung Orbix •Unser Fahrplan: •IDL Verwendungsbeispiel •Zoom-In: CORBA.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Welchen Problemen ist man bei heterogener, verteilter Programmierung ausgesetzt? Hardware: nicht einheitliche, inkompatible Systeme, verschiedene Leistungsfähigkeit.
Beschreiben Sie das Szenario wenn ein ORB einen Server aktiviert und eine Objektimplementation aufruft. Activate Server impl_is_ready Activate Object (GetID.
Beschreiben Sie eine Web Interaktion mittels Java Applets.
Stellen Sie nochmals statischen und dynamischen Methodenaufruf gegenüber.
Einführung in CORBA Fachseminar Informations- und Kommunikationssysteme SS99 MartinVogt, IIIC, 8. Semester.
Programmierung 1. Einführung Seite 1
7.1.5 Java RMI – Remote Method Invocation
Oliver Spritzendorfer Thomas Fekete
Reinhard Stumptner Seminar Softwareentwicklung Dynamisches Laden und Binden in Java.
EPROG Tutorium #6 Philipp Effenberger
Untersuchungen zur Erstellung eines
Voyager Eigenschaften/Vorzüge Universalität: –ROI-Modelle: CORBA, RMI, DCOM –verschiedene Namens-, Verzeichnisdienste Nachrichtentypen: synchron, oneway,
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
7.2.4 Klassifikation mobilen Codes Nicht vergessen:  Sowohl das Fernkopieren als auch die Migration von Objekten setzt voraus, daß der Code entweder am.
Persistenz: Objekt-Lebensdauer In RDBMS wird Lebensdauer von Werten durch ihren Typ festgelegt: Instanzen von Relationstypen sind persistent, alle anderen.
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003.
NET Remoting.Net („dotnet“) :von Microsoft eingeführte Plattform für verteilte Anwendungen, virtuelle Maschine für die verteilte Ausführung von.
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
Middleware in Java vieweg 2005 © Steffen Heinzl, Markus Mathes Kapitel 1: Architektur verteilter Systeme.
Reflection API1 Motivation Reflection API Core Reflection API: java.lang.reflect Seit JDK 1.1 integraler Bestandteil der Java- Klassenbibliothek Ermöglicht:
Vs CORBA = Common Object Request Broker Architecture Standard (nicht Produkt!) der OMG – Object Management GroupObject Management.
1 2nd Review, 13. Oktober 2000, Dortmund BMBF: IR 803 Erweitertes DSMS Lars-Olof Burchard.
Realisierung verteilter Anwendungen: Teil 3 zBeim vorigen Mal: Sockets, RMI zInhalt heute yCommon Object Request Broker Architecture (CORBA) zLernziele:
S INGLETON P ATTERN IN M ATLAB By Giuseppe
Aufbau Integrierter Informationssysteme Verteilte Objektsysteme am Beispiel von CORBA Falk Ritschel, Stefan Springer, Falko Steponat Martin-Luther-Universität.
Tutorium Software-Engineering SS14 Florian Manghofer.
Dynamische Webseiten CGI & co. © CGI - Lösung für alle ? Ja CGI kann alles tun, was man für Anwendungen braucht flexibel (beliebige.
Mailserver Kira Skrodzki Definition 2 Ein Mail-Server ist ein Server, der Nachrichten und Mitteilungen empfangen, senden, zwischenspeichern.
Verteilte Anwendungen: J2EE
= Common Object Request Broker Architecture
Einführung in die Programmierung mit Java
 Präsentation transkript:

MD 4/02 CORBA Static/Dynamic Invocation Interface (SII/DII), Interface Repository

Client IDL Stub ORB Interface IDL Skeleton Object Adapter Object Implementation Vereinfachtes Modell der ORB Architektur ORB Core Interface Description

MD 4/02 Verteiltes System (Beispiel x1) Server und Klient haben eine gemeinsame Schnittstellenbeschreibung in Form einer IDL-Datei Im Server-Prozess gibt es Servant-Objekte, die die gewünschte Funktionalität zur Verfügung stellen Objekt-Adapter verwalten die Servants (in diesem einfachen Beispiel wird das einzige Servant-Objekt vom Programmierer selbst aktiviert) Der Klient benötigt zum Aufruf von Methoden eines CORBA-Objektes dessen Objekt-Referenz (IOR)

Client IDL Stub ORB Interface ORB Core ORB Interface IDL Skeleton Object Adapter Object Implementation ORB Core Internet Inter-ORB Protocol (IIOP) Verteiltes System (Beispiel x1) Wie kommt die Objekt-Referenz (IOR) zum Klienten? Servant

MD 4/02 Verteilung der Objekt-Referenz per Naming Service (Beispiel x2) unhandliche IOR-Strings werden durch kurze Namen in einem Namensdienst ersetzt der Namensdienst ist selbst ein CORBA-Objekt des Typs CosNaming::NamingContext Vorteil: man braucht nur noch die Objekt-Referenz des Namensdienstes an Server und Klienten zu übergeben Vorteil 2: im ORB sind Namensdienst-Abfragen schon eingebaut (INS): "corbaname::localhost:2809#Therm002" Java2 SDK1.4.0 beinhaltet ein Programm, das so einen Namensdienst realisiert (orbd)

Nutzung eines Namensdienstes (Beispiel x2) Thermometer- Klient Namensdienst Thermometer- Servant 1 bind 2 resolve 3getTemperature

MD 4/02 Software-Entwicklungs-Zyklus zunächst wird eine Schnittstellen-Beschreibung erstellt und als IDL-Datei an die Programmierer verteilt danach findet kein weiterer Informationsaustausch statt, die Schnittstelle ist festgelegt Änderungen an der Schnittstelle sind mit hohem Aufwand verbunden, da sämtliche Klienten- und Server-Programme neu kompiliert werden müssen Erweiterungen der Funktionalität lassen sich in geringem Maße mit Hilfe von Vererbung realisieren

MD 4/02 Vererbung in IDL Syntax ist C++-ähnlich die IDL-Datei der abzuleitenden Klasse muss mit #include geladen werden #include "ExampleB.idl" module ExampleC { interface Thermometer : ExampleB::Thermometer { double getTemperatureInUnit (in ExampleB::TempUnit tUnit); };

MD 4/02 Dynamisches Laden von Klassen in Java Klassenbeschreibungen sind Objekte (java.lang.Class) in Java lassen sich zur Laufzeit Klassen nachladen: Class c = Class.forName("NeueKlasse"); im diesem Fall muss die Datei "NeueKlasse.class" im CLASSPATH liegen Wie fängt man mit dieser Klasse etwas Sinnvolles an? Z.B. Casting: Object obj = c.newInstance(); Thermometer t = (Thermometer) obj;

MD 4/02 Introspektion einfach in Java, Beispiel: obj.getClass().getMethods() etwas schwieriger in CORBA: –Interface-Beschreibungen können in einem Interface-Repository gespeichert werden –ein Interface-Repository speichert den Inhalt von IDL-Dateien in maschinenlesbarer (kompilierter) Form –ein IR ist selbst ein CORBA-Objekt –Unterstützung für IR ist in vielen ORB-Implementationen bereits vorhanden