Tuxedo 8.1&10gR3 开发环境的安装与配置

  Bea Tuxedo是在企业、Internet 这样的分布式运算环境中开发和管理三层结构的C/S型应用系统的一种中间件系统。除了正在使用中的Bea Tuxedo 8.1版本之外,随着Bea被Oracle并购,现最新Oracle Tuxedo 10gR3的for developers多平台版本以OTN license发布,也可以免费下载(下载地址,需要注册为OTN用户)用于开发环境的搭建,并且从目前为止的测试来看,和8.1仍然兼容良好。两者的安装配置方法基本一致,下面详细说明Tuxedo 8.1/10gR3的安装配置过程:
一、安装Tuxedo

  • 安装前提:
      对于Windows平台,Tuxedo完整的服务组件只能运行于NT Server上,因此对Windows的要求就是要为2000、2003的Server系列(2008未测试)。而Client端组件可以在XP上安装。对于UNIX、Linux、Solaris、AIX等平台都有适合各种CPU架构的相应版本。
  • 安装Windows版本的Tuxedo
      Windows版的Tuxedo是使用InstallAnywhere构建的安装向导,安装过程基本就是点"下一步"的循环。安装组件选择可选择Full Install(8.1完全安装需要90MB,10g需要180MB以上磁盘空间,其中均不包括C/C++源码的编译环境)。在选择安装路径(8.1叫BeaHome;10g叫OracleHome)时,如果曾经没有安装过Bea或Oracle的产品,建议选择使用短文件名的位置,最好是安装在根目录下(如x:/bea或x:/oracle)。tlisten密码用于远程管理,被问到时根据实际情况设置。被问到LDAP的设置时回答No。其中8.1安装完后会被要求导入license文件,可选择导入网上搜索的免费SDK lic文件。
  • 安装Linux 64-bit版本的Tuxedo
      Oracle官方为Linux提供的下载中只有64位版本,所以要先准备一个64位版本的Linux系统。这里以ubuntu-8.10-amd64为例,要在32位CPU的电脑上通过VMWare一类软件安装64位的Guest OS需要CPU和主板提供VT(Virtualization Technology)支持。对于Intel的i686架构CPU,如果特性中有EM64T和Intel-VT两项,并且只要主板CMOS设置中能找到VT相关支持的选项就可以通过开启它们让我们在32位系统中安装64位的虚拟机。Core或Xeon的很多型号已经支持VT,在CMOS中打开VT支持后要记得冷重启(关闭电源再重开)方可生效。安装好64位的ubuntu后,将下载回来的bin包拷入系统并加上执行权限(chmod +x),直接在终端中运行bin就可以启动InstallAnywhere for Linux的安装向导了(已自带JRE for Linux 64-bit,无需先装。由于有awt界面,所以ubuntu一般要安装有X11的desktop版)。Tuxedo for Linux的安装向导的安装流程和Windows的完全一样。如果没用sudo的话,只需要将OracleHome设置到当前用户有权限访问的位置就可以正确安装了。之后的配置也大同小异,比如要注意"/"全换"/"之类的问题。
  • 配置Tuxedo环境变量
      Tuxedo服务在运行其间需要在系统中设置以下这些环境变量,可以将它们加入到系统注册表的环境变量项中一劳永逸,也可以编写设置脚本每次需要使用时再调用脚本单独设置。Tuxedo安装好后可以在安装路径/samples/atmi/simpapp目录下找到最简单最经典的ATMI范例,其中就有一份setenv.cmd脚本样例,可以复制到%APPDIR%参考使用。其中的说明如下:
    TUXDIR=<关键的,Tuxedo安装路径> //如D:/bea/tuxedo8.1
    WSNADDR=<可选的,WorkStation Server地址,只有WS远程客户端才需要设置> //如//10.108.69.31:3051
    APPDIR=<用户自己开发的服务端应用程序所在路径> //如D:/appdir
    PATH=<关键的,必须将Tuxedo必要的bin加入PATH搜索列表> //如%TUXDIR%/bin;%APPDIR%;%PATH%
    TUXCONFIG=<UBB配置文件tuxconfig的路径> //如%APPDIR%/tuxconfig
    BDMCONFIG=<可选的,Domains配置文件dmconfig的路径> //如%APPDIR%/dmconfig
    LD_LIBRARY_PATH=<可选的,Tuxedo静态连接库所在路径,和VC的LIB变量不同,在Linux下为必须> //如%LD_LIBRARY_PATH%;%TUXDIR%/LIB
    SHLIB_PATH=<HP-UX系统专用,用于取代LD_LIBRARY_PATH,指向$TUXDIR/lib>

      还有一种方法是写一个Tuxedo专用的TUXEDO.ENV配置文件,并用ENVFILE/WSENVFILE变量指向它,令Tuxedo自动配置那些非关键的,常常变动的环境变量。

  • 配置Tuxedo编译环境
      对于Windows平台,Tuxedo应用的C/C++编译可以借助Visual C++,因此如果需要在服务器端编译服务应用还需要事先安装Visual C++(8.1建议安装Visual Studio 6.0,10gR3支持Visual Studio .NET 2005)。VS的安装过程就不在此一一描述,下面说明在安装好VS后,需要针对Tuxedo进行哪些配置。UNIX/Linux平台下通常已有GCC编译环境,无需另外安装,配置也只要加上Tuxedo用的PATH即可。
    • 设置控制台环境变量
        要在控制台下编译C/C++源程序也需要设置一组环境变量,这些设置通常已经在安装VS时由安装程序创建了一份脚本,只要在上文Tuxedo环境变量的设置脚本中加上这些脚本即可顺便完成编译环境的设置。对于VS6,脚本是%MSVCDir%/Bin/VCVARS32.BAT文件;对于VS2005,脚本的实现被移到了%VS80COMNTOOLS%vsvars32.bat。根据你安装的Visual Studio版本,只要将脚本拷贝到%APPDIR%下,在setenv.cmd中加入call vcvar32.bat(或vsvar32.bat)即可完成调用。
    • 设置UBB配置
        关于Tuxedo开发相关的UBB配置请先参考下节有关配置说明后再来确认,此外编译还有一些环境变量可以设置,详情都可以参考官方文档(英文)的说明。
  • 设置UBB配置文件tuxconfig
      名词解释:要启动Tuxedo中间件服务需要先给服务的各种行为做配置,而配置描述文件就是变量%TUXCONFIG%所指向的文件(通常名为tuxconfig,放在%APPDIR%目录下)。但tuxconfig是一个二进制文件,要产生这个文件需要通过编写文本版的配置描述文件(通常名为ubbconfig,为Windows平台使用方便加上后缀.txt),然后使用Tuxedo提供的配置加载工具将该文本文件"编译"成二进制文件作为Tuxedo的配置文件。
      在上文提到的simpapp范例中也有一份UBB配置文件的样例叫ubbsimple,可以将它复制到%APPDIR%下并更名为ubbconfig.txt作为参考模板。UBB文本配置是由若干小节组成的,小节的名称由*号开头,共有9种小节:RESOURCES、MACHINES、GROUPS、NETGROUPS、NETWORK、SERVERS、SERVICES、INTERFACES、ROUTING。除了RESOURCES小节,其它小节都是类似于INI/properties配置一样由KEY=VALUE的格式构成。下面就参考ubbsimple来一一解释其中的主要含意。
    #资源小节用于描述系统级别的参数
    *RESOURCES
    #6位数字,用于在Tuxedo公告板中区别于其它RESOURCE的主键
    IPCKEY		123456
    #服务器所在DOMAIN的ID名,用于在DOMAIN中的其它节点提供唯一性标识
    DOMAINID	simpapp
    #TUXCONFIG配置的主标识,MP模式中的主配置
    MASTER		simple
    #能访问Tuxedo的总的最大访问者数值,范围0至32768,应大于下面设置的所有有关访问的数值
    MAXACCESSERS	50
    #最大服务器(程序)数,范围0至8192
    MAXSERVERS	15
    #最大服务(函数)数,范围0至32768
    MAXSERVICES	20
    #单机模式或多机模式,取值为SHM或MP
    MODEL		SHM
    #是否使用负载平衡
    LDBAL		N
    
    #机器小节用于配置物理机器的逻辑名称
    *MACHINES
    #DEFAULT标识用于说明以下设置内容为所有机器共通配置
    DEFAULT:
    		APPDIR="D:/appdir"
    		TUXCONFIG="D:/appdir/tuxconfig"
    		TUXDIR="D:/bea/tuxedo8.1"
    		#以上3项同环境变量的含意相同
    		#使用工作站服务时才需要设置,最大工作站客户端数,0至32768
    		MAXWSCLIENTS=10
    
    #格式是:逻辑地址 必须参数 可选参数
    #逻辑地址是本地机器的计算机名称,Windows下就是NBTSTAT -N命令中显示的名称,UNIX系统用uname -n查询。如果名称中有特殊符号需要用双引用将整个名称括起来。
    "LIU-CSN"
    		#必须参数,设置用于在其它设置小节标识该逻辑地址的名称。小于30个字符,不能包括逗号,通常和MASTER值匹配。
    		LMID=simple
    		#必须的参数还有DEFAULT中设置的那3个路径,不过已经在DEFAULT中配置就不必再重复
    
    #分组小节用于将本地服务分组,每个Tuxedo至少配置1个分组
    *GROUPS
    #配置格式:分组名称 必须参数 可选参数
    #名称类命名规则都一样,1至30字符,不能以星号开头,不能包含逗号、分号等,LMID和GRPNO是必须参数,分别用于将组关联到机器和设置分组ID号
    DMGROUP		LMID=simple	GRPNO=10
    GWGROUP		LMID=simple	GRPNO=20
    GROUP1		LMID=simple	GRPNO=1
    WSLGROUP1	LMID=simple	GRPNO=2
    
    #服务器小节用于提供系统中提供服务的初始条件
    *SERVERS
    #公共设置
    DEFAULT:
    		CLOPT="-A"
    #配置格式:服务程序名 必须参数 可选参数
    #服务程序名是tmboot在启动时将要调用的实际程序文件名,通常存放于%APPDIR%或%TUXDIR%/bin下,也会PATH中搜索。
    #必须参数有SRVGRP和SRVID,前者设置服务所属分组,后者为服务ID号
    #REPLYQ为可选参数,设置服务是否需要建立一个应答队列
    DMADM		SRVGRP=DMGROUP SRVID=1 REPLYQ=N
    GWADM		SRVGRP=GWGROUP SRVID=1 REPLYQ=N
    GWTDOMAIN	SRVGRP=GWGROUP SRVID=2 REPLYQ=N
    simpserv	SRVGRP=GROUP1 SRVID=1
    #CLOPT为可选参数,设置需要传递给服务程序的命令行参数,如果不设置默认就是"-A"
    WSL		SRVGRP=WSLGROUP1 SRVID=1 CLOPT="-A -- -n //10.108.69.31:3051 -w WSH -m 1 -M 10 -x 2"
    
    #服务小节用于描述用户应用提供的服务信息
    *SERVICES
    #格式是:服务名称 可选参数,服务名称就是用户的服务应用中将要暴露的服务函数名。
    TOUPPER

      关于其它小节和各种可选参数的详细信息可以参考官方文档(英文)的说明。
      如上文解释中提到的,文本配置文件编辑好后还需要使用Tuxedo提供的工具"编译"成Tuxedo能识别的格式,方法是:

    tmloadcf -y ubbconfig.txt

      其中-y开关是可选参数,表示对是否覆盖原配置文件的提问自动回答Yes。

  • 服务应用的编译
      在UBB配置中的SERVERS小节中除了配置Tuxedo提供的一些固有服务组件之外,最根本的需要就是将用户编写的业务服务加入Tuxedo中间件。用户服务的程序源码编写好后在编译连接时需要加入必要的Tuxedo库文件,通常可以借助Tuxedo提供的编译工具来编译产生Client和Server的可执行文件。
    编译服务器通常用:
    buildserver -o 输出文件名 -s 服务名称 -f 源程序文件名
    //输出文件是服务程序的可执行文件名,对于Windows会自动加上.exe扩展名。
    //服务名称是程序提供的服务,该名称将被用于SERVICES小节的配置。
    //源程序文件可以指定多个。

    编译客户端通常用:

    buildclient -o 输出文件名 -f 源程序文件名 [-w]
    //-w开关用于编译工作站专用的远程客户端,关于"工作站"请参考相关说明。

      使用Tuxedo的buildserver和buildclient如果需要专递定制参数给编译器和连接器,需要使用环境变量(如CFLAGS),详情需要参考编译器的有关说明。

  • 启动、停止和管理服务
      在正确设置好环境并将UBB配置转换为tuxconfig后使用tmboot命令就可以启动Tuxedo中间件了。启动命令形如:
    tmboot -y

      其中可选开关-y开关为自动应答Yes。
      要停止Tuxedo中间件服务只需执行:

    tmshutdown -y

      其中可选开关-y开关也为自动应答Yes。通常重新配置Tuxedo时都需要先停止服务,配置完成并重新转换后再重启服务器。不停止服务器的情况下修改配置需要用tmconfig命令,tmconfig会调用EDLIN工具动态修改指定的单项配置。有关tmconfigEDLIN的用法可以参考相关文档说明。
      在Tuxedo服务运行期间有一些管理工具可以对正在运行的服务进行维护。常用的有控制台工具tmadmin:

    tmadmin

      tmadmin是一个命令行子系统,进入后使用help命令可以查看可用命令的简单说明。使用quit命令可以退出tmadmin控制台。常用的tmadmin有:

    printserver	//可以缩写为psr,列出正在运行的所有服务程序
    printservice	//可以缩写为psc,列出当前可用的所有服务
    	to be countinued...

      有关tmadmin的使用详情可以参考官方文档(英文)的说明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值