Tuxedo为业界公认的性能、稳定性、健壮性都非常好的中间件之一,之所以能做到这么好的稳定性和健壮性,其采用私有的通讯协议是原因之一。因为采用私有的通讯协议,所以客户端与服务端的通讯质量可以全部由Tuxedo保证,客户端只需要调用Tuxedo的API即可。
但随着现在开放平台的不断崛起和发展壮大,使用有别于传统tpcall调用的方式来调用Tuxedo服务的需求越来越强烈,特别是通过Java调用Tuxedo服务的需求越来越普遍。
幸运的是,Oracle公司在这些方面已做了不少工作。总体来讲,通常可用于Java做客户端调用Tuxedo服务的方式有如下几种:WTC、Jolt、SALT、JNI。其它如JCA、/Q等通讯方式因使用较少故不予讨论。
*** WTC
这是最常用的调用Tuxedo服务的方式之一,这种方式只能适用于客户端使用WebLogic做服务器的情况,即只能在WebLogic内部使用WTC服务。尽管有此限制,但WTC方式仍是目前使用最广泛且最稳定的非C调用Tuxedo的技术之一。
优点:稳定、高效,客户端调用简单。
缺点:必须在系统中增加WebLogic服务器,对于本身使用非WebLogic的应用来说,采用这种方式等于是要在通讯层增加一个通讯节点,而且WebLogic外面的客户端只能通过Http协议或EJB等方式间接调用WTC及Tuxedo服务。
*** Jolt
Jolt是Oracle开发的专门用于实现Java调用Tuxedo服务的一种机制,Jolt分为客户端和服务器端两部分,Jolt服务器相当于Tuxedo服务器的Java代理,负责与Jolt客户端通讯并转发请求到标准Tuxedo服务以及转发应答给Jolt客户端。Jolt客户端就是一组jar包,通讯客户端程序调用Jolt包中的API实现与Tuxedo服务器的通讯。Jolt客户端可以运行于任何J2EE容器或纯粹的JVM中。
优点:简单,对客户端侵入性小,客户端只需要包含Jolt包即可。
缺点:服务端必须专门配置Jolt服务,另外Jolt并没有包含在标准Tuxedo组件包中,需要另外购买。另据不可靠测试,Jolt性能不如WTC。
*** SALT
SALT是Oracle开发的将标准Tuxedo服务包装成WebService服务的组件。SALT类似Jolt,也是在Tuxedo服务器端增加一个包装层,实现SCA及WebService(SOAP/UDDI/WSDL)系列协议的处理。SALT也没有包含在标准Tuxedo组件包中,需要单独购买。
优点:客户端无侵入性,不需要依赖于任何Tuxedo或Oracle的API及程序库。
缺点:客户端必须具备WebService调用的能力,另外尽管WebService协议早已经是标准协议,但不同平台间WebService的互操作性问题仍需要实际应用的检验,且这个问题不容乐观。
*** JNI
JNI是Java标准规范中实现Java与本地动态库互操作的接口。通过JNI,Java程序可以调用任何用C或其它语言编写的本地动态库中的函数,当然就可以使用JNI的方式实现对标准C语言编写的tpcall的调用。
优点:投入最少,不需要安装额外的组件。Java调用简单,高效。
缺点:稳定性是本方案需要考虑的重点,本地库中的BUG可能导致整个JVM崩溃。必须对本地库的异常处理及性能做大量严格测试,以减少出问题的可能。另外,从系统稳定性及健壮方面考虑,客户端应该支持多JVM的负载均衡,以减少JVM崩溃导致的灾难性损失。
java画调用链路和执行时序图 java调用tuxedo
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
java调用启动ffmpeg命令
java调用启动ffmpeg命令
Java ide shell脚本 -
java 如何再volatile内部调用接口
本文详细介绍了Java 如何在volatile内部调用接口的方法,并给出了两个详细的代码示例。
Java 发送消息 有序性 volatile内部调用接口 -
java 链路监控 so 调用链路监控
1、什么是链路监控? 链路监控指的是,监控程序运行的整个调用链,简单来说就是服务之间的相互调用的整个链路,例如我们的网关服务 call 用户服务,然后用户服务 call 订单服务,那么这个调用链路就是如下流程: 用户 ---------> 网关服务 ------> 用户服务 --
java 链路监控 so spring-cloud sleuth zipkin 链路 -
火狐网页的sessionid在哪查看
问:个人配置文件夹(profile)保存在什么地方? 答:Firefox 在不同的操作系统,配置文件夹的默认路径分别是: 操作系统 文件夹 Windows 9x/Me C:\WINDOWS\Application Data\Mozilla\Firefox\Profiles\xxxxxxxx.default\ Windows 2000/XP/2003 C:\Documents and
火狐网页的sessionid在哪查看 firefox cookies mozilla application