Jawin - a Java/Win32 interoperability project

The Java/Win32 integration project (Jawin) is a free, open source architecture for interoperation between Java and components exposed through Microsoft's Component Object Model (COM) or through Win32 Dynamic Link Libraries (DLLs). The current version of Jawin is 2.0-alpha1, build 2005-03-23. The most recent version of this document is located at the Jawin home, kindly hosted by SourceForge.net.

You can use Jawin to interact with scriptable applications such as the Microsoft Office suite. You can use Jawin to call scriptable logic components such as Microsoft's COM-based XML parsers and tools. You can also use Jawin to access Win32 API features such as the Windows registry, security APIs, and the event log. You can also use Jawin to make in-process interoperability with .NET code exposed as COM objects. In fact, Jawin allows your Java applications to call any legacy COM- and DLL-based code, without having to write any Java Native Interface (JNI) code. Using Jawin, you can call any component that can be scripted in the Windows environment. You can also call arbitrary COM components or DLL entry points.

Jawin includes a code generator, Jawin Type Browser, supporting generation of stub code for scriptable as well as non-scriptable COM components. The code generator reads one or more type libraries, and automatically emits the Java stubs needed to call the component(s). The Jawin Type Browser is not (yet) able to generate code for DLL entry points, and not all parameter types are supported for COM components.

Jawin was initiated by Stuart Halloway and Justin Gehtland of Relevance LLC and is an offspring from Stuarts book Component Development for the Java Platform freely available as PDF from the DevelopMentor downloadable books page. Stuart also previously maintained a list of other Java/COM and Java/Win32 interoperability technologies and products (as of spring 2005, this page seems to be unavailable, but can be found at the Internet Archive).

Important backward compability information: Jawin has transitioned from using com.develop.jawin to org.jawin-package names in the beginning of 2003. If you for some reason want the old com.develop.jawin-packages the release jawin_cvs_20030227 is the last including these packages. They are also still available in the CVS-repository under the com_develop_jawin-branch, although no active development takes place on this branch.


Use of Jawin is subject to the following LICENSE. Jawin includes Konstantin Boukreevs C++ Exception Handling classes. See LICENSE-CPP-Exception for license and copyright details. The Jawin Type Browser includes software developed by the Apache Software Foundation, specifically Xerces and Xalan. See LICENSE-Apache for license and copyright details.

Jawin Resources