其中,「Ja.NET」可视为Java之上的.NET Remoting(编者按:Microsoft .NET Framework内的主要组件)的堆栈实作,而在Java平台上提供Ja.NET的执行时期模块(Run time),可支持TCP/IP、HTTP等沟通管道,也可同时支持SOAP或是二进制互通协议以提升沟通效率。透过此执行时期模块,.NET与Java/J2EE的数据类型不仅可以对应,还能进行双向的沟通。
JNBridge也是类似架构,透过对应的执行时期模块与代理程序(proxy),.NET程序可以在不需要Java原始程序的状况下与这些组件进行互通、继承,并将其视为同一个程序内的.NET组件。以下为JNBridgePro的架构图:
这类整合方式有诸多优点,包括更佳的互通效率、对象参考与生命周期的控制、支持回呼程序(call back)与事件(event),而能有更紧密的整合效益。但相反的,因为是较紧密型的整合,弹性也会变低。另外,这类整合也通常缺少动态寻找并新增服务的机制。一般来说,对于企业内部不同平台的整合仍是非常不错的选择。
讯息队列或集线器(Message Queues或Hub)
点对点的整合只适合初期项目,也许利用上述的底层协议方式,或是下文将会提及的Web services进行互通。但是当.NET有N个模块,J2EE有M个模块,要互通就需要建立「N*M」的点对点联机,复杂性与困难度将之提升。因此,当整合进行到一定规模,可以开始考虑采用类似讯息队列或是集线器等方式进行。
文章来源于领测软件测试网 https://www.ltesting.net/