|
Java/COM, Java/Win32 Integration resources
Java/COM, Java/Win32 Integration resources
Last modified: June 16, 2003
If you use one of these products and want to contribute more
detailed comments than I have here, please email me. Let me know if you would
like me to attribute your name and email or remain anonymous.
I use "Wire protocol products" to denote products that communicate
between Java and Win32/COM via an out-of-proc mechanism. These
systems can be 100% pure Java. "Proxy products" use JNI to build
in-proc stub. "Dispatch products" can be wire-protocol or native, but
are limited to accessing COM objects that implement IDispatch.
If any of this information is out of date or you know of other
products, please let me know.
Wire protocol products
- BEA's WebLogic
jCOM speaks DCOM and RMI/JRMP, and RMI/IIOP. In addition it has a
native mode that is more similar to the proxy products listed below.
Comes as part of WebLogic 7.0.
-
Linar's
JIntegra. Speaks the DCOM wire protocol from 100% pure Java.
Bi-directional bridge. Also runs in a native mode that provides
in-process proxy support. Client licenses start in the $400
range, and server licenses start at $3000.
- Halcyon's R-JAX. Has a Communication Adapter layer
that supports RMI, HTTP, and local connection. Claims to
handle COM objects and DLLs, but seems to be dispatch-only.
R-JAX standalone price $2495 (not clear if that is per seat/site?),
plus support contracts ranging from $500-$3995. Halcyon also
sells a VB to Java migration service for $5000 and up.
- The Code Project has a Bridge Between Java and Windows. Free but
no source. This appears to be simple messaging layer on top of
socket communication.
- John Burgess tells me that Sybase has Java/COM/CORBA interop. I
haven't looked into this so I don't know if this is wire protocol, in
proc proxy, or both:
Sybase Enterprise Application Server
is a EJB container that can also host Powerbuilder user objects,
DCOM components and CORBA components and will generate the
relevent client stubs for any of these. i.e. you can generate
ejb stubs for a com component, or corba stubs and idl for an
ejb and so on in many combinations. see
http://www.sybase.com/products/applicationservers/easerver The
drawback of course is price -- About £5000 for a 50 concurrent user
license
Proxy Products
Proxy products use JNI to build a higher level marshalling
infrastructure between Java and native code. Dispatch based
products (above) are proxy products of a particular flavor.
-
Jawin. Open source, supports Win32 and
COM. Marshalling layer largely complete, includes JawinGen
stub generation for IDispatch based interfaces.
-
Jace
is a toolkit designed to make it easy to write JNI-based programs.
Jace consists of a C++ runtime library, and a set of tools written in
Java. Jace's C++ runtime library provides an easy to use API that
allows user to manipulate Java objects as if they were C++ objects.
Behind the scenes, the runtime library automatically manages the
lifetimes of Java references, the mapping of Java exceptions to C++
exceptions, and the binding of C++ threads to the JVM.
- InfoZoom's jacoZoom. Uses JNI to implement wrappers for COM
Automation servers. Current price 199 Euro (as of July 2001). It
supports IDispatch and vtable interfaces (oleautomation), embedding
ActiveX Controls, and handling COM events through java listeners.
Includes tlb parser and java-code generator.
-
Linar's
JIntegra. Bi-directional bridge. Runs in a native mode that provides
in-process proxy support. Also speaks the DCOM wire
protocol from 100% pure Java. Client licenses start in the $400
range, and server licenses start at $3000.
- Codemesh's JunC++ion. JunC++ion is now on Release
2.0 for Solaris, Windows, and Linux. JunC++ion generates C++ proxies
that look "as like as possible" to Java classes. JMS Courier is in
Release 2.0 Beta.JMS Courier integrates C/C++ applications into JMS and
can be used with all JMS vendors. Evaluation versions are available.
- Jacob Marner's open source JWindows.
Access MFC from Java, also extensible for other purposes. Jacob adds these comments
about JWindows..
- Excelsior's xFunction. Stubs for Win32 DLL functions,
enforce type safety only at runtime.
-
Neva
Object Technology's Coroutine for Java, Java2COM, JavaDDE, and
JavaPrint. Coroutine dynamically build calls to Win32 DLL
entry points. Supports callbacks. Java2COM has wizard to
generate code for accessing COM automation objects, plus you can
extend
com.neva.comIUnknown to call vtable interfaces.
For $599 you get a license entitles you to use these tools on any
number of machines and to distribute binaries royalty-free.
Dispatch-based products
Dispatch-based products use type information to generate appropriate
Java wrappers. Typically products include a wizard for generating the
wrapper code plus a runtime for translating method calls.
-
Jacob,
at Dan Adler's Java-COM
resources. Open source Dispatch wrapper, appears to be
well-done with new features coming regularly. Based on the syntax
of the MSVM. Dan is looking for someone to write a
reverse-bridge, and for a JactiveX-like code generator.
- The JavaBeans Bridge for ActiveX is part of the Java
Plug-In. Check the FAQ for details. Dispatch-only solution that exports
beans as ActiveX objects.
-
JCom
(Java-COM Bridge), GNU-LGPLed.
- GenSym's BeanExporter.
Wraps ActiveX components as beans. As of July 2000 $295 for the
enterprise edition, single site. Apparently does handle
apartment marshalling.
- Sun's J2EE CAS Bridge provides dispatch wrappers for
calling EJBs from COM.
- Sun's J2EE CAS Table Bridge is a COM ADO API on top of
EJB. Holy acronyms, Batman!
- IBM AlphaWorks' Bridge2Java.
JNI enhancers
JNI enhancers are libraries and code generation engines to easy the
monotony of direct JNI programming.
-
JNI++ at
SourceForge includes code generators and a helper libaray in C++.
Java/COM links
Other Java/Win32 links
| |
Speaking
June 13-15, 2003. Wisconsin Java Software Symposium
Tri-XML Conference 2003
Past events
Code
ClassLocator.jsp
Simple Spider
Axis Samples
JCA Samples
Non-delegating loaders
Book samples
About me
Teaching
The book
Articles
Bio
CV
Java/COM/Win32 interop
Jawin
Contact
|
|