Next: Software through Picture (StP)
Up: Entwicklungswerkzeuge
Previous: Entwicklungswerkzeuge
Der Visibroker for Java [Vis97b,Vis97a,Vis97c,OH97]
der Firma Visigenic ist ein CORBA 2.0 konformer Client und
Server ORB, der gänzlich in Java geschrieben wurde. Er
unterstützt sowohl dynamische als auch statische
CORBA-Methodenaufrufe. Servermethoden können entweder über
Clientanwendungen aufgerufen werden,
oder von Java Applets aus einem Browser heraus.
Neben dem ORB liefert Visibroker for Java
eine komplette Entwicklungsumgebung für die Generierung
von CORBA-Objekten sowie Administrationstools für die
Überwachung der Kommunikation mit. Für die Implementierung
des Prototypen kamen folgende Komponenten zum Einsatz:
- idl2java: Dabei handelt es sich um einen Compiler,
der aus vorhandenen IDL-Schnittstellen die für die
Implementierung nötigen Client-Stubs, Server-Skeletons und
Interfaces in Java generiert.
- osagent: Der osagent bildet die
Kommunikationsgrundlage für CORBA-Objekte. Er wird als
der sogenannte Smart Agent bezeichnet, der
den ORB enthält. Nach dem Hochfahren auf einem Rechner
im Netz kann der Smart Agent von den Client- und
Server-Objekten durch einen UDP-Broadcast ausfindig gemacht
werden. Die für den Broadcast nötige Portadresse kann
über eine Environmentvariable ($OSAGENT_PORT)
gesetzt werden.
Der idljava-Compiler erzeugt aus den vom
Entwickler geschriebenen IDL-Schnittstellen die
notwendigen Client-Stubs und Server-Skeletons.
Folgende Programme werden beim Aufruf von
idl2java erzeugt (siehe Abbildung 5.3):
- <InterfaceName>.java enthält das Java-Interface,
daß dem IDL-Interface entspricht.
- _<InterfaceName>ImplBase.java ist in der Regel die
Oberklasse aller Server-Objektklassen. Diese Klasse erbt
von den relevanten CORBA/Java-Klassen und implementiert das
Java-Interface <InterfaceName>.java.
- _portable_stub_<InterfaceName>.java liefert den
Client-Stub.
- _sk_<InterfaceName>.java entspricht dem
Server-Skeleton.
- _example_<InterfaceName>.java stellt eine
Klasse zur Verfügung, die als Beispiel für die
Objektimplementierung der Klasse <InterfaceName>
hergenommen werden kann.
Folgende Klassen werden nur der Vollständigkeit halber
angesprochen. Nähere Beschreibungen dazu finden sich
in [Vis97b,Vis97a,Vis97c,OH97] und [Kem98,Rad98].
- _tie_<InterfaceName>.java wird benötigt, falls
die Server-Objektklasse nicht
von der _<InterfaceName>ImplBase.java Klasse erben
kann.
- <InterfaceName>Operations.java wird im Zusammenhang
mit der vorherigen Klasse benötigt.
- <InnterfaceName>Helper.java stellt die
Helper-Klassen zur Verfügung. Diese bieten nützliche
Methoden wie bspw. das Casting, also Typumwandlungen,
von CORBA-Objekten.
- <InterfaceName>Holder.java ist die zugehörige
Holder-Klasse.
Abbildung 5.3:
Von idl2java generierte Java Klassen und Interfaces
|
Next: Software through Picture (StP)
Up: Entwicklungswerkzeuge
Previous: Entwicklungswerkzeuge
Root on HPHEGER0
3/3/1999