JAXI for Java - JOOPS
ActiveX
Interface
Aktuelle
Softwareprojekte in Java zu realisieren, ist heute aus einer
ganzen Reihe von Gründen interessant. Aber was ist, wenn Ihre
Kunden mittels Standardsoftware unter Windows auf Teile Ihrer
Anwendung Zugriff haben wollen. Diese Anforderung wäre am besten
zu erfüllen, wenn Ihr Java Code die Implementierung von
COM-Schnittstellen zuließe.
Microsoft
Excel und alle andere Standardsoftware, die mit VBA (Visual Basic
for Applications) arbeiten, sind sofort geeignete Clients oder Frontends für Ihr in Java implementiertes Objektmodell. An
diesem Punkt setzt JAXI an. JAXI erlaubt die
Implementierung von COM-Server Klassen und COM-Clients mit jeder
virtuellen Maschine, die JNI unterstützt ohne irgendwelche
Anforderungen an den Java Compiler zu stellen. JAXI ist
also "100% pure Java" kompatibel.
Leistungsmerkmale von JAXI
for Java
- Implementierung
von COM-Server Klassen in "100% pure Java".
- Implementierung
von COM-Clients in "100% pure Java".
- Voll
JDK 1.1.x und JDK 1.2.x und höher kompatibel.
- Minimale
Anforderung an das Design der Java Klassen. Java
COM-Server Klassen können gleichzeitig Java Beans- bzw.
Enterprise Java Beans-Implementierungen darstellen. Somit
ist mit JAXI eine bidirektionale EJB-COM Brücke
realisierbar.
- Die
Java Klassen des JAXI-Package umfassen nur etwa 10
KByte.
- COM-Clients
können die vollständige Polymorphie der
Vererbungshierarchie der Java Server-Klassen nutzen.
D.h.: kein Verlust an Objektorientierung durch die
Veröffentlichung der Java Server-Klassen via COM.
- Eine
Java Server-Klassenhierarchie stellt den COM-Clients
seine Event-Schnittstellen polymorph zur Verfügung. Java
COM-Server können auch Connection Point Container
implementieren.
- JAXI
verwendet eine COM-Typenbibliothek als Informationsbasis.
Dadurch vollständige Unterstützung der IntelliSense
Funktionalität von z.B. Microsoft Visual Basic.
- Die
COM-Schnittstellen Deklaration erfolgt in der Microsoft
IDL und wird mittels MIDL in eine Typenbibliothek
übersetzt. Dadurch ist die vollständige Kontrolle der
CLSIDs und der GUIDs gegeben. D.h. volle Nutzung der
Möglichkeiten von COM zur Versionierung der
COM-Interfaces Ihrer Java Server-Klassen.
- Duale
COM-Schnittstellen für Java Server-Klassen und
Verwendung des Userdefined-Interfaces dualer
Schnittstellen durch Java COM-Clients.
- JAXI
ist eine Win32-COM-DLL. Sowohl JAXI, als auch die
Java VM können im Prozessraum der Client Applikation
laufen. Die Kommunikation erfolgt über schnelle
vtable-Interfaces ohne aufwendiges Marshaling der
Argumente.
- Ein
Codegenerator für die Erzeugung von Proxyklassen zur
Implementierung von Java COM-Clients und ein
Codegenerator für die Erzeugung eines Rahmens für Java
COM-Server Klassen ist in Vorbereitung.
JAXI
ist ein Ergebnis der Praxis und nicht des grünen Tisches. Es ist
im Rahmen einer Produktentwicklung der JOOPS Informationstechnik
GmbH entstanden und wird erfolgreich im eigenen Hause eingesetzt
und weiterentwickelt.