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.