JNBridgePro是一个通用的、Java.NET的交互工具,用来“桥接Java.NET”,包括EJBsJ2EEJ2SEAWT SwingSWT.NET APIsWinFormsASP.NETSharePoint Server。其核心产品基于.NETJavaRemoting堆栈,并且针对调用代码在“被调用端”产生包含代理的二进制库。
最新公布的JNBridgePro 5.1主要的新特性列举如下:
    * 支持Java.NET类之间互访问的Visual StudioEclipse插件
    * 完全的64位支持
    * 数据压缩以实现更好的性能
JNBridgePro应用在.NET框架1.01.12.03.03.5JDK 1.3.1及后续版本上。JNBridgePro 插件支持.NET框架2.0及后续版本以及JDK 1.4及后续版本。JNBridgePro独立的GUI依旧可用,它支持.NET框架和JDK的早期版本。
只要新的CLRJVM是向后兼容的,那么在新的版本中使用当前的JNBridgePro就不会出现任何问题。如果加入了新的二进制格式,就会开发针对新格式和框架的JNBridgePro的新版本。
相对于Web ServicesSOAJNBridgePro有如下优势:
    * JNBridgeProTCP/二进制和共享内存机制要比Web Services快几个数量级。
    * JNBridgePro 更适合访问扩展的面向对象的API,这与Web Service面向服务的方式正好相反,Web Service的这种方式会大大缩小访问点集合。在某些情况下,缩小的面向服务的方式是恰当的;但对于另外一些情况,JNBridgePro的面向对象的方式更加适合。
    * 很多应用和库并不是面向Web Services的,并且在另外一些情况下,在同一台机器上或者同一个线程中使用Web Services去访问简单的库显得大材小用。JNBridgePro可以轻松应用到任何应用上,并且其共享内存机制对于同一台机器的访问是非常适合的,而Web Services在这种情况下就显得有些不合时宜。
    * 实现Web Services是一个战略上的决定,通常需要来自组织的不同部门的决策者的批准才行。要想获得这个批准可能需要花费大量时间,并且很有可能还需要高层的批准。相反,JNBridgePro可以看做是战术上的解决方案,它允许端到端的交互,而这可能只需要开发者或者架构师级别上的人同意即可,并且实现这个是非常快的。当然,JNBridgePro也可以用在战略上,因为它具备了上面提到的一些优势。
JNBridgeProJava.NET之间的互交工具,能够将Java.NET之间的任何对象联系起来,包括
Java side
Object & class level
.NET side
Java side
Java SE (J2SE)
Java EE (J2EE)
Java EE (J2EE)
EJBs
JMS
JNDI
Standalone JVMs
AWT
SWT
Swing
Objects
Classes
Instance members
Static members
Fields
Properties
Methods
Generics
Enums
Events
Transactions
.NET rich-client GUIs
ASP.NET
Microsoft BizTalk Server
SharePoint Server
WinForm controls
WPF
JNBridgePro使得.NET程序可以在不需要Java原始程序的状况下与这些组件进行互通、继承,并将其视为同一个程序内的.NET组件,包括:跨平台的异常处理,集成的对象生命周期管理,垃圾回收,数据类型转换,以及对EclipseVisual Studio插件的支持。
1 JNBridegProEclipse的插件支持
 
2  JNBridegProVisual Studio 2010的插件支持
使用JNBridgePro能够创建以下组织形式的Java.NET应用程序:
  • 相同主机上的同一进程共享内存
  • 相同主机上的不同进程通过socket通信
  • 网络上的任意主机采用快速二进制协议通信或使用HTTP/SOAP通信
 
 
 
3  JNBridgePro通信机制
在应用中,即使用.NET又使用J2EE,实在不是一个好主意,不过很多场合下,可能你都无法避免会出现这种情况,你是使用什么方式来进行.NETJ2EE之间的通讯呢?JNBridge应该是一个好的选择。JNBridgePro的主页是http://www.jnbridge.com/jnbpro51.htm