WTC配置(一)
来源:互联网 发布:多个工厂模式 java 编辑:程序博客网 时间:2024/05/22 01:47
1调用方式
2 Tuxedo的配置
2.1设置环境变量:
2.2编写Tuxedo服务(atmi)
2.3编写Tuxedo客户端(atmi)
2.3.1 simpcl.c文件
2.3.1 tolower.c文件
2.4配置ubbconfig文件
2.5编译ubbconfig文件
2.6配置domconfig文件
2.7编译domconfig文件
3 EJB程序开发
3.1编写WeblogicEJB.java
3.2配置ejb-jar.xml
3.3配置weblogic-ejb-jar.xml
3.4 EJB程序打包成JAR
4 WTC的配置
4.1 EJB发布到weblogic
4.2创建WTC服务
4.3创建本地Tuxedo访问点
4.4创建远程Tuxedo访问点
4.5创建已导出的服务
4.6创建已导入的服务
4.7将mySimpapp指向adminServer
4.8将TDOM1注册为WebLogic用户
5测试通信
5.1生成服务端
5.2生成产客户端
5.3引导Tuxedo域
5.4 Tuxedo到WebLogic的互操作性
5.5 WebLogic应用访问Tuxedo服务
5.5.1编写TuxedoClient.java
5.5.2编写tuxedo.jsp
1调用方式
WEBLOGIC与TUXEDO的调用有三种方式
1.WTC(WEBLOGIC TUXEDO CONNECTOR)
WebLogic Tuxedo Connector提供 WebLogic Server应用程序和 Tuxedo服务之间的互操作性。该连接器允许 WebLogic Server客户端调用 Tuxedo服务,并允许 Tuxedo客户端调用 WebLogic Server Enterprise Java Bean (EJB)来响应服务请求。
2.JOLT
JOLT只能让WEBLOGIC调用TUXEDO. 但JOLT可以使TUXEDO与WEBSPERE等其他应用服务器相连。
3.CORBA(Common Object Request Broker Architecture)
CORBA是通用对象请求代理体系结构(Common Object Request Broker Architecture) 的英文缩写,这是标准化组织OMG提出的一种实现分布式异构环境下面向对象软件的可重用、可移植、可互操作的体系结构。只要符合CORBA规范的服务器之间都可以互联。
2 Tuxedo的配置
2.1设置环境变量:
set TUXDIR=C:\bea\tuxedo8.1
set APPDIR=C:\bea\tuxedo8.1\samples\atmi\simpapp
set PATH=%TUXDIR%\bin;%APPDIR%;%PATH%
set TUXCONFIG=%APPDIR%\tuxconfig //编译之后生成的2进制配置文件. Tuxconfig
set BDMCONFIG=%APPDIR%\bdmconfig //编译之后生成的2进制配置文件. Bdmconfig
2.2编写Tuxedo服务(atmi)
/* (c) 2003 BEA Systems, Inc. All Rights Reserved. */
/* Copyright (c) 1997 BEA Systems, Inc.
All rights reserved
THIS IS UNPUBLISHED PROPRIETARY
SOURCE CODE OF BEA Systems, Inc.
The copyright notice above does not
evidence any actual or intended
publication of such source code.
*/
/* #ident "@(#) samples/atmi/simpapp/simpserv.c $Revision: 1.5 $" */
#include <stdio.h>
#include <ctype.h>
#include <atmi.h> /* TUXEDO Header File */
#include <userlog.h> /* TUXEDO Header File */
/* tpsvrinit is executed when a server is booted, before it begins
processing requests. It is not necessary to have this function.
Also available is tpsvrdone (not used in this example), which is
called at server shutdown time.
*/
#if defined(__STDC__) || defined(__cplusplus)
tpsvrinit(int argc, char *argv[])
#else
tpsvrinit(argc, argv)
int argc;
char **argv;
#endif
{
/* Some compilers warn if argc and argv aren't used. */
argc = argc;
argv = argv;
/* userlog writes to the central TUXEDO message log */
userlog("Welcome to the simple server");
return(0);
}
/* This function performs the actual service requested by the client.
Its argument is a structure containing among other things a pointer
to the data buffer, and the length of the data buffer.
*/
#ifdef __cplusplus
extern "C"
#endif
void
#if defined(__STDC__) || defined(__cplusplus)
TOUPPER(TPSVCINFO *rqst)
#else
TOUPPER(rqst)
TPSVCINFO *rqst;
#endif
{
int i;
for(i = 0; i < rqst->len-1; i++)
rqst->data[i] = toupper(rqst->data[i]);
/* Return the transformed buffer to the requestor. */
tpreturn(TPSUCCESS, 0, rqst->data, 0L, 0);
}
2.3编写Tuxedo客户端(atmi)
2.3.1 simpcl.c文件
是用来调用tuxedo服务器上的TOUPPER服务的客户端。
/* (c) 2003 BEA Systems, Inc. All Rights Reserved. */
/* Copyright (c) 1997 BEA Systems, Inc.
All rights reserved
THIS IS UNPUBLISHED PROPRIETARY
SOURCE CODE OF BEA Systems, Inc.
The copyright notice above does not
evidence any actual or intended
publication of such source code.
*/
/* #ident "@(#) samples/atmi/simpapp/simpcl.c $Revision: 1.5 $" */
#include <stdio.h>
#include "atmi.h" /* TUXEDO Header File */
#if defined(__STDC__) || defined(__cplusplus)
main(int argc, char *argv[])
#else
main(argc, argv)
int argc;
char *argv[];
#endif
{
char *sendbuf, *rcvbuf;
long sendlen, rcvlen;
int ret;
if(argc != 2) {
(void) fprintf(stderr, "Usage: simpcl string\n");
return(1);
}
/* Attach to System/T as a Client Process */
if (tpinit((TPINIT *) NULL) == -1) {
(void) fprintf(stderr, "Tpinit failed\n");
return(1);
}
sendlen = strlen(argv[1]);
/* Allocate STRING buffers for the request and the reply */
if((sendbuf = (char *) tpalloc("STRING", NULL, sendlen+1)) == NULL) {
(void) fprintf(stderr,"Error allocating send buffer\n");
tpterm();
return(1);
}
if((rcvbuf = (char *) tpalloc("STRING", NULL, sendlen+1)) == NULL) {
(void) fprintf(stderr,"Error allocating receive buffer\n");
tpfree(sendbuf);
tpterm();
return(1);
}
(void) strcpy(sendbuf, argv[1]);
/* Request the service TOUPPER, waiting for a reply */
ret = tpcall("TOUPPER", (char *)sendbuf, 0, (char **)&rcvbuf, &rcvlen, (long)0);
if(ret == -1) {
(void) fprintf(stderr, "Can't send request to service TOUPPER\n");
(void) fprintf(stderr, "Tperrno = %d\n", tperrno);
tpfree(sendbuf);
tpfree(rcvbuf);
tpterm();
return(1);
}
(void) fprintf(stdout, "Returned string is: %s\n", rcvbuf);
/* Free Buffers & Detach from System/T */
tpfree(sendbuf);
tpfree(rcvbuf);
tpterm();
return(0);
}
2.3.1 tolower.c文件
是用来调用Weblogic服务器上的TOLOWER服务的客户端。
/* Copyright (c) 2002 BEA Systems, Inc.
All rights reserved
THIS IS UNPUBLISHED PROPRIETARY
SOURCE CODE OF BEA Systems, Inc.
The copyright notice above does not
evidence any actual or intended
publication of such source code.
*/
/* #ident "@(#) apps/simpapp/ tolower.c $Revision: 1.3 $" */
#include <stdio.h>
#include "atmi.h" /* TUXEDO Header File */
#if defined(__STDC__) || defined(__cplusplus)
main(int argc, char *argv[])
#else
main(argc, argv)
int argc;
char *argv[];
#endif
{
char *sendbuf, *rcvbuf;
long sendlen, rcvlen;
int ret;
if(argc != 2) {
(void) fprintf(stderr, "Usage: tolower string\n");
return(1);
}
/* Attach to System/T as a Client Process */
if (tpinit((TPINIT *) NULL) == -1) {
(void) fprintf(stderr, "Tpinit failed\n");
return(1);
}
sendlen = strlen(argv[1]);
/* Allocate STRING buffers for the request and the reply */
if((sendbuf = (char *) tpalloc("STRING", NULL, sendlen+1)) == NULL) {
(void) fprintf(stderr,"Error allocating send buffer\n");
tpterm();
return(1);
}
if((rcvbuf = (char *) tpalloc("STRING", NULL, sendlen+1)) == NULL) {
(void) fprintf(stderr,"Error allocating receive buffer\n");
tpfree(sendbuf);
tpterm();
return(1);
}
(void) strcpy(sendbuf, argv[1]);
/* Request the service TOLOWER, waiting for a reply */
ret = tpcall("TOLOWER", (char *)sendbuf, 0, (char **)&rcvbuf, &rcvlen, (long)0);
if(ret == -1) {
(void) fprintf(stderr, "Can't send request to service TOLOWER\n");
(void) fprintf(stderr, "Tperrno = %d\n", tperrno);
tpfree(sendbuf);
tpfree(rcvbuf);
tpterm();
return(1);
}
(void) fprintf(stdout, "Returned string is: %s\n", rcvbuf);
/* Free Buffers & Detach from System/T */
tpfree(sendbuf);
tpfree(rcvbuf);
tpterm();
return(0);
}
2.4配置ubbconfig文件
*RESOURCES
IPCKEY 123435
DOMAINID TDOM1 //与导入资源名称相同
MASTER SITE1
MODEL SHM
LDBAL N
*MACHINES
"@HOST@"
LMID = SITE1
APPDIR = "@APPDIR@"
TUXCONFIG = "@TUXCONFIG@"
TUXDIR = "@TUXDIR@"
MAXWSCLIENTS = 10
*GROUPS
GROUP1
LMID=SITE1 GRPNO=1 OPENINFO=NONE
GROUP2
LMID=SITE1 GRPNO=2 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv SRVGRP=GROUP1 SRVID=1
DMADM SRVGRP=GROUP2 SRVID=1
GWADM SRVGRP=GROUP2 SRVID=2
GWTDOMAIN SRVGRP=GROUP2 SRVID=3
*SERVICES
TOUPPER
2.5编译ubbconfig文件
tmloadcf –y ubbconfig
2.6配置domconfig文件
*DM_RESOURCES
VERSION=U22
*DM_LOCAL_DOMAINS
TDOM1 GWGRP=GROUP2
TYPE=TDOMAIN
DOMAINID="TDOM1"
BLOCKTIME=20
MAXDATALEN=56
MAXRDOM=89
DMTLOGDEV="@DMTLOGDEV@"
DMTLOGNAME="DMTLOG_TUXDOM"
*DM_REMOTE_DOMAINS
TDOM2 TYPE=TDOMAIN
DOMAINID="TDOM2"
*DM_TDOMAIN
TDOM1 NWADDR="//@TuxedoServerIP@:1234"
TDOM2 NWADDR="//@WebLogicServerIP@:5678"
*DM_REMOTE_SERVICES
TOLOWER RDOM="TDOM2"
2.7编译domconfig文件
dmconfig –y domconfig。- WTC配置(一)
- WTC配置(二)
- WTC配置(三)
- WTC配置(四)
- WTC配置
- WTC配置步骤
- WTC配置参数说明
- 为WTC配置TUXEDO配置文件ubbconfig
- 为WTC配置TUXEDO配置文件domconfig
- 为WTC配置WEBLOGIC服务访问点
- 为WTC配置TUXEDO配置文件domconfig
- TUXEDO与WEBLOGIC通过WTC进行互连的配置(转)
- TUXEDO与WEBLOGIC通过WTC进行互连的配置
- TUXEDO与WEBLOGIC通过WTC进行互连的配置
- wtc重连脚本
- WTC服务相关
- WTC调用中文乱码问题
- weblogic 与 tuxedo 互联 wtc
- 使用tipsWindow创建可移动的弹出窗口
- SQL 查询中连接字符串
- 问题八十二:求质数。
- php 五种数据加密可解密方法,部分还支持中文
- 通用的DAO查询,常见方法集合,没有使用Spring
- WTC配置(一)
- 【转载】【图文并茂】进程与线程的一个简单解释
- CSS3 Gradient
- Spring中空值的写法
- 学习中参考的一些网站(不断更新中)
- 为交房租做App:我第一年赚了7万美金
- 使用禅道来进行项目任务管理
- mysql修改密码命令
- 并行前缀求和的算法