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);//调用服务,并得到返回的字符串
…
}}