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调用Tuxedo服务的方式有很多,每种方式都有各自的优点和缺点,实际使用中应根据应用的具体情况权衡选择。
分享到:
相关推荐
外部应用访问Tuxedo服务是很经常的事,一般有两种方法WTC和Jolt
用JAVA调用Tuxedo服务必须的JAR包:jolt.jar、joltjse.jar、joltwls.jar
Java通过WTC调Tuxedo服务实例,传入类型:String型
JAVA与TUXEDO环境集成.pdf
Java通过Jolt调用Tuxedo服务[参考].pdf
java通过jolt调用tuxedo服务
Java通过Jolt调用Tuxedo服务[定义].pdf
TUXEDO与其他系统的互连 TUXEDO与其他系统的互连
01.JAVA通过Jolt调用Tuxedo服务参考文档@xutt.docx
delphi调用tuxedo函数。VC直接增加tuxedo的lib库就可以调用tuxedo了。delphi不能直接调用lib静态库,所以只能增加tuxedo单元文件。找了半天才找到的。
文档主要介绍了Weblogic 配置 wtc调用Tuxedo服务的过程与截图,按照步骤进行配置可以调用Linux/aix系统下的Tuxedo服务
TUXEDO:基于IPC机制浅析TUXEDO及其应用.doc
03.Weblogic通过WTC调用Tuxedo服务参考文档@xutt.docx
本文从底层IPC机制出发,结合UNIX核心系统参数和ATMI技术,借用ipcs观察Tuxedo所消耗的IPC系统资源状况,浅析了Tuxedo强大功能背后的工作原理,进一步加深对Tuxedo应用和ATMI编程的理解,提出了解决实际工作中关键...
weblogic调用tuxedo示例,详细说明参见http://blog.csdn.net/f4761
delphi中调用tuxedo示例 ZDNet 软件频道 更新时间:2007-10-06 作者:chinaunix 来源:chinaunix 本文关键词:技术 中间件 Tuxedo Delphi
本资源包含tuxedo 服务端代码,tuxedo访问数据库,View缓冲区操作,FML缓冲区操作。Delphi调用客tuxedo服务,包含STRING缓冲区,VIEW缓冲区,FML缓冲区调用等。
TUXEDO之SALT与WebSevice互通-学习 .
.net调用tuxedo接口说明。