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服务的方式有很多,每种方式都有各自的优点和缺点,实际使用中应根据应用的具体情况权衡选择。
分享到:
相关推荐
使用这些JAR包进行Java调用Tuxedo服务时,通常需要以下步骤: 1. **引入JAR包**:将上述三个JAR包添加到Java项目的类路径中,确保编译和运行时能够找到它们。 2. **初始化连接**:在Java代码中,通过Jolt提供的类...
外部应用访问Tuxedo服务是很经常的事,一般有两种方法WTC和Jolt
1. **JOLT**:JOLT(Java Or TUXEDO Linkage Tool)是一个单向解决方案,允许Java应用调用TUXEDO服务,但不支持TUXEDO反向调用Java。因此,如果只需要Java应用访问TUXEDO服务,而不需要TUXEDO访问Java应用,可以选择...
Java通过WTC调Tuxedo服务实例,传入类型:String型
1. 与Java的结合:TUXEDO提供了Java绑定,使得Java开发者可以通过Java TUXEDO API来调用TUXEDO服务。这种结合使得Java应用程序可以利用TUXEDO的事务处理能力和性能优势,同时保留了Java的跨平台性和丰富的库资源。 ...
本文主要讲解如何使用Jolt库来调用Tuxedo服务,以实现Java与Tuxedo的集成。 一、Jolt调用Tuxedo服务的基本流程 1. **准备Tuxedo服务端代码**: Tuxedo服务的实现通常涉及C或C++编写的服务程序,这些程序通过...
Java 通过 Jolt 调用 Tuxedo 服务是指在 Java 应用程序中使用 Jolt 组件来调用 Tuxedo 服务的一种方式。Tuxedo 是一个由 Oracle 公司开发的分布式应用服务器,用于构建高性能、可扩展的企业级应用程序。Jolt 是 ...
Java通过JOLT调用Tuxedo服务是一种在分布式系统中实现跨语言通信的技术。Tuxedo是一款由Oracle公司开发的事务处理监控系统(TPM),主要用于构建高性能、高可用性的C/S架构应用。而JOLT(Java Object-to-LT)是Java...
本文档旨在介绍如何使用 JAVA 通过 Jolt 调用 Tuxedo 服务,以实现字符串大写转换服务。下面将详细介绍服务端环境配置、服务部署、客户端调用等相关知识点。 服务端环境配置 在服务端,我们需要配置 Asianux ...
标题中的"delphi调用TUXEDO的单元文件"指出,我们需要在Delphi项目中直接使用TUXEDO提供的单元文件来实现调用其功能。这是因为Delphi并不像VC++那样可以直接链接到静态库(.lib文件)。在Delphi中,我们通常使用.pas...
在WebLogic调用Tuxedo的场景下,通常会使用WebLogic的Web Services或者JCA(Java Connector Architecture)来实现。以下是具体步骤: 1. **配置WebLogic Tuxedo连接器(WTC)**: WebLogic提供了WebLogic Tuxedo ...
WebLogic WTC 支持与 Tuxedo(Transaction Processing Facility)服务的集成,使得基于Java的应用程序能够调用运行在Linux或AIX系统上的Tuxedo服务。以下是如何配置WebLogic WTC以调用Tuxedo服务的详细步骤: 1. **...
4. **JSP客户端**:在WebLogic服务器上开发JSP页面,使用Java Naming and Directory Interface (JNDI)查找并调用EJB,EJB再通过WTC调用Tuxedo的"TOUPPER"服务。 **四、WTC与JOLT比较** - **WTC**:专用于WebLogic...
### 基于IPC机制浅析Tuxedo及其应用 #### 摘要 本文旨在通过探讨基于进程间通信(IPC)机制的Tuxedo中间件及其应用,从而揭示其强大的功能背后的运作原理。通过结合UNIX核心系统参数与ATMI技术,并借助`ipcs`工具...
JOLT简化了Java与Tuxedo之间的通信,使得基于Java的系统能够无缝调用Tuxedo的服务。本文将深入探讨JOLT的配置与编程基础,以帮助开发者更好地理解和运用这项技术。 首先,确保已安装BEA JOLT系统是开始JOLT配置的第...
服务端配置:http://blog.csdn.net/lu476036355/article/details/13505123 代码包含两个示例: 1、/simpapp 2、/servlet/client
3. **编写Java代码**:使用Tuxedo提供的Java API,创建客户端会话,然后通过会话调用Tuxedo服务。同时,使用Jolt的API处理数据转换,确保输入和输出数据符合Tuxedo服务的要求。 4. **调用服务**:通过Tuxedo的...
- **服务调用**:调用Tuxedo服务,执行业务逻辑,获取或更新数据。 - **事件处理**:监听和响应Tuxedo事件,实现异步通信。 - **安全性**:通过Tuxedo的安全框架进行用户认证和授权。 - **性能优化**:利用Tuxedo的...
这些API包括了对数据库操作的支持,使得开发者可以方便地在C、C++、Java等多种语言中进行Tuxedo服务的调用。 描述中提到的"tuxedo服务端代码",这部分通常包含了Tuxedo服务的实现,包括定义服务操作、处理客户端...