导航:首页 > 编程语言 > tuxedojava

tuxedojava

发布时间:2022-08-23 21:05:47

java 怎么调用tuxedo接口

Tuxedo的service有两种调用接口:ATMI和CORBA(Common Object Request Broker Architecture, 公共对象请求代理体系结构)。但是目前一般都是采用ATMI接口来做。
一个简单的调用流程如下:
首先用VC编写DLL(Dynamic Link Library,动态链接库)。Tuxedo提供的ATMI接口DLL用C语言编写的,与VC可无缝集成;再用VB编写COM(Component Object Model,组件对象模型)组件;在Java中通过Jacob组件来调用COM组件来实现调用Tuxedo服务;Jacob是一种基于JNI(Java Native Interface,Java本地接口)技术的开源的在Java中调用COM组件的Java组件。其中JAVA部分的调用如下:

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
public class callTuxedo {
public String callTuxedoService(String sendDoc){
//找到组件
ActiveXComponent mf = new ActiveXComponent("tuxedo.useClass");
ObjectmyCom = mf.getObject();//生成一个对象
Objectresult=Dispatch.call(myCom," vbCallTuxedoServiceToUpper ",sendDoc);
return result.toString();
}

public static void main(String[] args) {
String sendDoc=new String("a test string.");//要转换的字符串
String returnDoc=new String("");
returnDoc=callTuxedoService(sendDoc);//调用服务,并得到返回的字符串

}}

② TUXEDO调服务时,客户端返回tpcall错误:tpforward tpacall failure TPENOENT - no entry found。

Tuxedo介绍 原创
2016-04-02 21:23:02
11点赞

waterxcfg304

码龄14年

关注
1、Tuxedo介绍

Tuxedo 是什么?

Tuxedo是BEA公司(现已被Oracle公司收购)的一个客户机/服务器的“中间件”产品,它在客户机和服务器之间进行调节,以保证正确地处理事务。它用C语言技术开发的并且有很高性能。

TUXEDO是在、Internet 这样的分布式运算环境中开发和管理三层结构的客户/服务器型关键任务应用系统的强有力工具。它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。

Tuxedo 的主要作用是:

屏蔽分布式环境中各种通信协议、硬件体系结构、操作系统、数据库和其它应用服务等方面的差异,使分布于网络节点上的应用程序的各个单元部件之间能够进行互操作,并协调操作的一致性和完整性,最大限度地节省系统资源,提高系统性能。

* Tuxedo 已经广泛地应用于金融、电信、制造业等各行各业的核心业务系统。

三层架构

从左边往右依次为:客户端层(表现层),中间件服务层(业务逻辑层),数据库服务器层(数据层)。这种典型的三层架构应用非常广泛。对于应用weblogic中间件的系统一般采用的B/S架构,绝大部分采用HTTP协议,少量的系统用java编写的客户端,使用的是RMI 协议,或J2EE里的其它协议。
对于tuxedo中间件使用的是tuxedo协议,前端开发工具可以是各式各样,VC++ 、java 、Delphi 、VB 等。

Tuxedo 的通讯过程

Tuxedo 服务器处理请求的方式与apache有本质的区别。

Apache服务器处理请求,由客户端发出请求到服务器,由服务器对请求进行处理后将数据返回给客户端。

Tuxedo 服务器一次请求需要两次进行两次交互,Tuxedo有两个负责通讯的进程,一个为WSL,WSL的数量可以进行配置,典型的配置一般两、三个;WSH可以有N多个。客户端通过IP地址和端口号与WSL建立连接,由WSL认证请求是否合法,在WSL的响应中包含了另外一个IP地址和端口号;然后,客户端通过拿到的新的IP地址和端口号去请求WSH 。

客户端程序由GUI 与 Tuxeo通讯两部分组成,GUI部分主要由开发人员关心如何设计,通讯部分可能设计成几个函数供开发人员调用。对于性能测试人员可能更关心客户端与服务器之间的通讯过程。

2、tuxedo相关概念

IPC: Inter-Process Communication 进程间通信: 管道、信号量(semaphore)、共享内存(shared memory)、消息队列(Message Queue)。

管道是UNIX系统IPC的最古老形式,数据只能单向流动。

Tuxedo在客户机和服务器通信中大量使用UNIX系统的消息队列。
SSSO(Single Server Single Queue)模式:每个客户机都有一个响应队列来接受客户端请求。
MSSO(Multiple Server Single Queue)模式:多个服务器共享同一个请求队列。

信号量包含一个计数器,表示某个资源正在被访问和访问的次数,用来控制多线程对共享数据的访问。

Tuxedo使用共享内存存储公告牌,用来公告进程状态信息和需要在进程间共享或传递的数据。

-------------------------------------------------------------

Tuxedo的配置文件称为UBBCONFIG或ubb,包含了域(Domain)、逻辑机器(Machine)、服务器组(Group)、服务进程(Server)、服务(Service)的定义。运行前,需要把UBBCONFIG装载成二进制文件,称为TUXCONFIG。

Tuxedo服务启动时,执行tpsvrinit()函数,可以打开一些如数据库之类的资源供以后使用
Tuxedo服务停止时,执行tpsvrdown()函数,关闭资源
服务程序调用tpreturn()函数来结束服务请求,并返回一个缓冲区,必要时,将它传给客户程序。

--------------------------------------------------------

ATMI环境支持的C/S通信方式:请求/应答式通信、回话通信、队列通信、事件代理通信、消息通知
请求/应答式通信:同步调用(tpcall)、异步调用(tpacall)、嵌套调用、转发调用(tpforward)
转发调用和嵌套调用类似,不同的是最里层的嵌套服务可以直接给客户程序一个响应,而不必按照调用栈 逐级返回。

回话方式:tpsend()/tprecv() 基于事件,分通告和代理
void (**p)(): 定义了一个指向函数指针的指针p
tpsetunsol(p) : 将p指向的函数func设置为客户机的事件处理器。
tpchkunsol(): 检查意外事件

事件代理: tppost()/tpsubscribe() 消息发布/订阅
Tuxedo提供了两个事件代理器(TMUSREVT TMSYSEVT)来处理订阅请求。

队列存储: tpenqueue() / tpdequeue()
Tuxedo/Q用到了Tuxedo提供的两个服务器:消息队列服务器(TMQUEUE)和消息转发服务器(TMQFORWARD)

---------------------------

多系统多机之间通信需要每台机器上都有一个Bridge进程,通过TCP/IP通信,Bridge进程维持一个长连接,一旦建立不会断掉。

TUXEDO应用系统的客户端访问TUXEDO服务器上的服务的过程图:

说明:
WS(Workstation Extension Proct)用于指TUXEDO产品的客户端部分
WSC Workstation Client
WSL(Workstation Listener) TUXEDO系统自带的一个SERVER,它侦听一个指定的端口,WSC最初与该SERVER建立连接
WSH(Workstation Handler)TUXEDO系统自带的一个SERVER,由它处理WSC与TUXEDO SERVER之间的通讯。
Bulletin Board(公告板)TUXEDO把系统的配置保存在一个共享内存中,该共享内存称为公告板(BB)
BBL TUXEDO的管理进程,主要对公告板等进行管理

Workstation Client与TUXEDO SERVER建立连接的过程为:
1. WSC 调用tpinit()或tpchkauth()
2. WSC采用在WSNADDR中指定的IP地址与服务端的WSL建立连接
3. WSL为该WSC指定一个WSH,并把该WSH的侦听端口返回给WSC
4. WSC采用返回的端口与指定的WSH建立连接,并与WSL断开连接,这之后WSC与TUXEDO SERVER之间的通讯通过WSH进行处理,与WSL无关。
5. tpinit()或tpchkauth()调用返回。

----------------------------------------------------------
单域模式Single-Domain Model。单机模式 Single Host Model, 多机模式Multi-Processor Model
多域模式Multi-Domain Model

③ tuxedo 支持java语言开发服务端吗

tuxedo12c的官方文档上介绍时可以使用java开发服务的,具体如何开发可以看Programming an Oracle Tuxedo Application Using Java 这一章节。

④ java通过WTC调用tuxedo服务,报错:Could not get a Tuxedo session有人知道什么原因吗谢谢

在web.xml中增加session-timeout
<session-config>
<session-timeout>30</session-timeout>
</session-config>

试试~~~

⑤ Java通过Jolt调用Tuxedo服务

poolmgr 是 SessionPoolManager的一个静态的成员变量,跟System.out的out是一个道理。要是说boo_mgr对象怎么获取的。poolmgr赋值给的,很明显的

⑥ C#编写的tuxedo客户端能不能访问java编写的tuxedo服务端服务

有没有尝试打开到服务器的端口,telnet 192.168.123.84 6677,看看是不是网络问题

⑦ 采用Tuxedo 中间件的程序怎么开发,需要哪些准备

Oracle Tuxedo为在异构的分布式环境下构建从WEB到企业应用的可扩展的多层Client/Sserver应用程序提供了一种框架或者说是中间件。使用Tuxedo,用户可以开发,管理,部署独立于底层硬件、操作系统、网络和数据库环境的应用程序。
中间件比操作系统和网络的服务提供更多的功能。中间件的主要目的就是帮助应用程序解决不同平台,不同环境之间的通信和互操作。
Oracle Tuxedo主要提供以下中间件服务:
1)一种ATMI程序接口
ATMI即Application-to-Transaction Monitor Interface(应用事务监视接口),它是Tuxedo系统主要的编程接口。它提供事务管理功能(routines,verbs);request/response,会话,队列和发布订阅消息的功能;服务接口功能;和分布式应用程序通信的缓冲管理功能。
2)CORBA编程接口
CORBA即Common Object Request Broker Architecture(公用对象请求代管者体系结构)是一种由公共管理组织(OMG)定义的一种语言无关的面向对象的模型即一种标准。CORBA程序接口包括C++和JAVA两种ORB(Object Request Broker对象请求代理)。一种ORB就是一个库,它能够使得CORBA对象与其它的ORB进行沟通与定位。

⑧ java通过WTC调用tuxedo服务,报错:TPESYSTEM(12):0:0:TPED_MINVAL(0):QMNONE(0):0 有人知道什么原因吗谢谢

1、TPENOENT(6):0:0:TPED_MINVAL(0):QMNONE(0):0:No local or remote domain available xxx服务
服务没有调到。
请检查tuxedo domain 与 weblogic domain连通
请检查xxx服务在tuxedo中时候存在
查看方式为:
tmadmin
psc -s +服务名
如果是刚注册的xxx服务,请重现发布所在的WTC服务。如果没有重新发布,也会报这个错误。
如果tuxedo 日志显示plicate server,表示有另外一个weblogic domain 配置相同的wtc配置。也就是说 一个Tuxedo domain 对应两个相同的Weblogic domain,这种情况,也会出现这个错误,
请修改另外weblogic domain的wtc配置。(配置相同是指 远程tuxedo访问点与本地tuxedo相同)。
如果跨防火墙,请修改连接策略 都改为ON_STARTUP

2、TPESYSTEM(12):0:0:TPED_MINVAL(0):QMNONE(0):0
tuxedo服务有问题或输入参数不正确。

3、TPESYSTEM(13):0:0:TPED_MINVAL(0):QMNONE(0):0
tuxedo服务返回超过了设置的时间。优化tuxedo服务或修改时间门限。

4、TPESYSTEM(10):0:0:TPED_MINVAL(0):QMNONE(0):0
tuxedo系统问题。报10看下服务,应该有core文件生成。

阅读全文

与tuxedojava相关的资料

热点内容
androidstudio设置中文 浏览:641
汽车换压缩机能提升制冷 浏览:628
安卓开发配什么电脑 浏览:607
linux下php模块 浏览:78
阿里云服务器终端在哪里 浏览:146
app纸有什么用 浏览:223
cuteftp命令 浏览:506
最开始的编程语言是什么 浏览:759
at远程命令 浏览:492
云服务器哪家好点 浏览:213
android系统源码阅读 浏览:931
dumpjava分析工具 浏览:680
怎么下载cpu源码 浏览:156
代码加密怎么取消 浏览:890
编译原理代码在哪里运行 浏览:584
解密摄影pdf 浏览:74
算法编程中级题目 浏览:252
c语言编译器毕业设计 浏览:717
医保卡申请app哪个好 浏览:948
阿里云服务器上传源码 浏览:604