Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 26.03.2004 Internet Applikationen – CORBA Copyright ©2003, 2004 Christian Donner. Alle Rechte vorbehalten. Architektur Moderner Internet Applikationen.

Ähnliche Präsentationen


Präsentation zum Thema: "1 26.03.2004 Internet Applikationen – CORBA Copyright ©2003, 2004 Christian Donner. Alle Rechte vorbehalten. Architektur Moderner Internet Applikationen."—  Präsentation transkript:

1 Internet Applikationen – CORBA Copyright ©2003, 2004 Christian Donner. Alle Rechte vorbehalten. Architektur Moderner Internet Applikationen TU Wien/Ausseninstitut CORBA als Bindeglied zweier Welten JAVA und.NET DI Christian Donner cd (at) donners.com

2 Internet Applikationen – CORBA Copyright ©2003, 2004 Christian Donner. Alle Rechte vorbehalten. CORBA Agenda Einordnung und Bedeutung von CORBA IDL – Interface Definition Language Funktionsweise ORB – Object Request Broker Ein praktisches Beispiel

3 Internet Applikationen – CORBA Copyright ©2003, 2004 Christian Donner. Alle Rechte vorbehalten. Einordnung von CORBA Der CORBA Standard ist unabhängig von Java und.NET und stammt aus der Mitte der 90er Jahre Trotzdem hat es heute noch Bedeutung als Mechanismus zur Objektkommunikation zwischen verschiedenen Plattformen mit breiter Unterstützung der Hersteller (vgl. IIOP/RMI) Im Prinzip handelt es sich bei CORBA um eine Weiterentwicklung des Remote Procedure Calls (RPC) für OO Sprachen OMG – Object Management Group - ist ein Industriekonsortium, das die Standardisierung betreibt. Siehe

4 Internet Applikationen – CORBA Copyright ©2003, 2004 Christian Donner. Alle Rechte vorbehalten.IDL Wie kann man sicherstellen, daß ein Methodenaufruf über Sprach- und Maschinengrenzen hinweg verstanden wird? Man definiert den kleinsten gemeinsamen Nenner und beginnt in der Mitte: IDL (Interface Definition Language) Legt die Methodennamen, Parameter und Typen fest Sprachunabhängig Jede Plattform benötigt einen IDL Compiler, der aus der IDL Definition den Stub- und Skeleton Code generiert und die Datentypen konvertiert. Ein ORB (Object Request Broker) kümmert sich transparent um die Lokalisierung von Objekten und den Transport der Daten. Stub und Skeleton Code sind mit dem ORB verdrahtet, ohne daß der Programmierer sich um die Implementierung kümmern muß.

5 Internet Applikationen – CORBA Copyright ©2003, 2004 Christian Donner. Alle Rechte vorbehalten.Funktionsweise Der Client erhält letzlich vom ORB einen Objektzeiger, der wie ein lokaler Zeiger behandelt werden kann. CORBA stellt im Hintergrund sicher, daß ein Methodenaufruf an die tatsächliche Instanz weitergeleitet wird. Wie findet der Client ORB ein angefordertes Objekt? IOR Datei (stringisierte Objektreferenz enthält Namen und Aufenthaltsort) JNS Directory Java 1.4 brachte POA – Portable Object Adapter aus CORBA 2.2 Spezifikation

6 Internet Applikationen – CORBA Copyright ©2003, 2004 Christian Donner. Alle Rechte vorbehalten. ORB Funktionsweise

7 Internet Applikationen – CORBA Copyright ©2003, 2004 Christian Donner. Alle Rechte vorbehalten. Ein Verteiltes System

8 Internet Applikationen – CORBA Copyright ©2003, 2004 Christian Donner. Alle Rechte vorbehalten. Beispiel: Hello Vienna Ein Java Programm ruft ein C# Objekt und übergibt einen String Das C# Objekt gibt den String auf der Konsole aus Verwendete Software MiddTecs MiddCor C# ORB Implementierung Sun Java 2 SDK 1.4 (enthält einen ORB) Visual Studio.Net Hello.idl: module MiddCorSample { interface Greetings { string hello( in string a_strName); };

9 Internet Applikationen – CORBA Copyright ©2003, 2004 Christian Donner. Alle Rechte vorbehalten.Server IdlToCSharp.cmd ruft MiddCorIdl –> hello.cs HelloSrv.cs: public class GreetingsImpl: GreetingsPOA { public override string hello( string a_strName ) { System.Console.WriteLine("\nFunction 'Hello', Parameter '{0}'\n", a_strName); }

10 Internet Applikationen – CORBA Copyright ©2003, 2004 Christian Donner. Alle Rechte vorbehalten.Client idlj compiler erzeugt Stub code GreetingsClient.java public class GreetingsClient { public static void main(String args[]) throws IOException { //initialize ORB ORB orb = ORB.init(args, null); // helper method reads IOR String from a file String ior = ReadIORFile("c:\\hello.ior"); // resolve string object reference org.omg.CORBA.Object obj = orb.string_to_object(ior); // narrow down object type Greetings proxy = GreetingsHelper.narrow(obj); //invoke methods proxy.hello("Vienna"); }

11 Internet Applikationen – CORBA Copyright ©2003, 2004 Christian Donner. Alle Rechte vorbehalten.Ausführen start orbd -ORBInitialPort ORBInitialHost localhost HelloSrv.exe Der Server erzeugt die Datei c:\hello.ior und wartet auf Anfragen java GreetingsClient -ORBInitialPort ORBInitialHost localhost Der Client liest die Datei c:\hello.ior Die Objektreferenz wird korrekt aufgelöst, der Sun ORB findet den MiddTec ORB und der Server gibt den String aus

12 Internet Applikationen – CORBA Copyright ©2003, 2004 Christian Donner. Alle Rechte vorbehalten. Vielen Dank für Ihre Aufmerksamkeit!


Herunterladen ppt "1 26.03.2004 Internet Applikationen – CORBA Copyright ©2003, 2004 Christian Donner. Alle Rechte vorbehalten. Architektur Moderner Internet Applikationen."

Ähnliche Präsentationen


Google-Anzeigen