Java和.NET互操作究竟有什么用?

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

 总的来说,在上述的程序互操作过程之中,在不考虑单一运行环境的速度优势情况下(在单一过程中的数据移动,远比网络传输中的数据移动速度更快,甚至高于快速比特),程序互操作过程包含以下的一些优点:

集中化。在许多情况下,我们希望特定资源(比方说代码中的数据库序列标识符)只存在于一个且仅此一个进程之中,来避免复杂的进程间代码同步的实现。

可靠性。较少的硬件相关性,以及整个系统单一的硬件损耗,使得系统很少会有受到攻击的可能性。

结构化要求。在某些情况下,现有的结构化模型将要求所有程序处理过程替代已有的处理过程,比如说,应用程序的现有用户接口如果使用ASP.NET编写,并且应用程序部分的互操作性,用以实现为EJB消息驱动Bean在JMS消息队列中的消息传送处理过程。则在本地程序中传送消息给Java服务,并且仅是释放消息到JMS队列之中,这样的过程就显得有些多余,特别是在假定JMS客户端代码非常简洁的时候,程序实现代价较高。将JMS的客户端代码放入ASP.NET进程之中(Codemesh为JuggerNET代理实现JMS消息客户端提供了特别的版本),来实现与现有程序架构保持一致的简洁途径。

 此外,并非是所有的互操作解决方案都将通过in-proc方法来实现,但其中一些会使用这样的方法,并且开发者无需害怕这样的想法,即便是提供这些操作的工具有着非常大的使用价值。

关于作者

 Ted Neward是大规模企业应用系统方面的独立咨询人。也是Java、.NET和XML服务相关主题的会议上的演讲人,致力于Java与.NET的互操作技术。在Java与.NET方面,他曾撰写过几本广受认可的书籍,其中包括最近出版的《高效企业级Java开发》一书。

资源

“The Java Native Interface” (Liang)

“Java Native Interface” (Gordon)

The JNI page at the Java SE website (http://java.sun.com/javase/6/docs/technotes/guides/jni/index.html)

“Customizing the Common Language Runtime” (Pratschner)

“Shared Source CLI” (Stutz, Neward, Shilling)

The C++/CLI Language Specification (ECMA International)

[1][2][3][4][5]

开上一部车,装着我们的故事,

Java和.NET互操作究竟有什么用?

相关文章:

你感兴趣的文章:

标签云: