[转帖]Java调用Tuxedo方案浅析_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3752 | 回复: 0   主题: [转帖]Java调用Tuxedo方案浅析        下一篇 
晶晶
注册用户
等级:少校
经验:1086
发帖:89
精华:0
注册:2012-11-8
状态:离线
发送短消息息给晶晶 加好友    发送短消息息给晶晶 发消息
发表于: IP:您无权察看 2012-11-15 14:02:46 | [全部帖] [楼主帖] 楼主

    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服务的方式有很多,每种方式都有各自的优点和缺点,实际使用中应根据应用的具体情况权衡选择。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论