JOLT的配置与编程简介

本文介绍如何使用JOLT进行客户端配置与编程,包括利用BulkLoader工具将Tuxedo服务装载到JoltRepository中,使用RepositoryEditor编辑和配置服务,以及基于JoltClassLibrary创建客户端应用程序的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  JOLT的配置与编程简介

 
 
开发建立一个 JOLT 客户端访问 BEA Tuxedo 的应用服务的主要的步骤,可以描述以下的过程(参见下图)
 
1、 确认已经安装 BEA Jolt 系统
2、 首先要建立或已经存在一个BEA Tuxedo 系统的一个应用服务
3、 利用Bulk Loader(批量装载)工具装载 BEA Tuxedo 应用服务到 Jolt Repository
Database
1) 使用 Bulk Loader:
jbld 是一个java 程序,在运行 jbld 命令以前检查环境变量 CLASSPATH 是否指定了 jolt 类的路径(jolt.jar、joltadmin.jar),如果没有指定这个环境变量,java 虚拟机不能够定位到任何的 jolt classes
 
** 激活Bulk Loader
在提示符下输入以下命令(带上正确的选择项):
java bea.jolt.admin.jbld [-n]
                         [-p package]
                         [-u usrname]
                         [-r usrrole]
                         //host:port filename
 

               
-u username
指定用户名(默认为你的帐户名称,如果安全要求强制)
-r usrrole
指定用户的角色(默认为:admin,如果安全要求强制))
-n
使输入文件依靠当前的接口服务库有效;不使接口服务库变动更新。(可选)
-p package
接口服务库包的名字(默认为:BULKPKG)
//host:port
指定 JRLY 或者 JSL 的地址(主机名字和IP的端口)(必须的)
Filename
指定包含定义服务的文件名。(必须的)
**批量装载文件 - the Bulk Loader File
   Bulk Loader File 是一个定义服务和关联参数文本文件,Bulk Loader装载定义在the Bulk Loader File(批量装载文件)中的服务到 jolt 接口服务库中(默认的包是:BULKPKG)。
 
     2) Bulk Loader File 的语法
         每一个服务定义是由服务属性和参数组成的:属性和参数都有一个要设置的数字,每一个属性描绘都通过一个关键字和一个值
         关键字分为两层:
    Service_level    (服务层)
     Parameter_level (参数层)
 
* 关键字的指导方针
* jbld 程序读取服务定义文本文件,关键字的用法遵守下表的指导方针:
        
 
 
 
 
 
 

指 导 方 
举          
每个关键字都必须跟随一个等号(=)和一个值
正确: type=string
错误: type
每一行只允许有一个关键字
正确: type=string
错误: type=string access=out
任何一行都不能忽略等号(=)
正确: type=string
错误: type string
确定的关键字只接受一个合理设置的值
访问关键字只支持以下这些值:
inoutinoutnoaccess
装载导入文件能够包含多服务定义
service=INQUIRY
<service 的关键字和值>
service=DEPOSIT
<service 的关键字和值>
service=WITHGRAWL
<service 的关键字和值>
service=TRANSFER
<service 的关键字和值>
每一个服务定义都由多个关键字和值组成
service=DEPOSIT
export=true
inbuf=VIEW32
outbuf=VIEW32
inview=INVIEW
outview=OUTVIEW
        ◎ Bulk Loader 文本文件中关键字的顺序
           一个服务定义必须以 service=<SERVICE_NAME> 开始,服务如果是采用 CARRAY 或者是 STRING 类型的 BUFFER,在服务中只有一个参数。在服务中使用的是一个CARRAY类型的BUFFER则推荐参数使用CARRAY数据类型;在服务中使用的是一个STRING类型的BUFFER则推荐参数使用STRING数据类型。
             下表是包含使用服务层关键字和每一个可接受的值的指导方针
             * 服务层的关键字和值的用法
 

关 键 
service
任何 BEA Tuxedo 服务名字
export
true false (默认值为:false)
Inbuf / outbuf
选择下列这些 BUFFER 类型中的一种
FML               FML32               VIEW
VIEW32            STRING              CARRAY
X_OCTET          X_COMMON          X_C_TYPE
inview
任何输入参数的view 名字
这个参数是可选的,只有在下列一种BUFFER类型被用到时:
VIEWVIEW32X_COMMONX_C_TYPE
outview
任何输出参数的 view 名字
* 参数层关键字和值的用法
一个参数是从 param=<PARAM_VALUE>,当遇到另一个参数 param 或是另一个服务 service就结束了。参数关键字是可以任何顺序的。
下表是包含使用参数层关键字和每一个可接受的值的指导方针
 

关 键 
param
任何参数名
type
byte
short
integer
float
double
string
carray
access
in
out
inout
noaccess
count
出现的最大数值(默认值是1),当这个值无限时为0,仅用在
Repository Editor 格式化测试屏幕
 
 3)疑难问题的解决
如果你使用 Bulk Loader 批量装载工具时遇到了一些问题,参阅下表:
一个完整的Bulk Loader 批量装载工具错误消息和解决方案
 

If 。。。。。。
Then 。。。。。。
数据文件没有找到
检查并确认路径是否正确
关键字无效
检查并确认关键字对于 packageserviceparameter
关键字的值是空
为关键字赋值
值无效
检查并确认参数分配的值在参数范围之内
数据类型无效
检查并确认参数使用的类型是否有效
 
Bulk Load data 的例子:
下列列表包含一个例子数据文件,这个例子装载 TRANSFERLOGINPAYROLL服务到默认的 BULKPKG 包。
批量装载数据样本:
 
service=TRANSFER
export=true
inbuf=FML
outbuf=FML
param=ACCOUNT_ID
type=integer
access=in
count=2
param=SAMOUNT
type=string
access=in
param=SBALANCE
type=string
access=out
count=2
param=STATLIN
type=string
access=out
service=LOGIN
inbuf=VIEW
inview=LOGINS
outview=LOGINR
export=true
param=user
type=string
access=in
param=passwd
type=string
access=in
param=token
type=integer
access=out
service=PAYROLL
inbuf=FML
outbuf=FML
param=EMPLOYEE_NUM
type=integer
access=in
param=SALARY
type=float
access=inout
param=HIRE_DATE
type=string
access=inout
 
4、 使用 Jolt Repository Editor 编辑器定义和配置应用服务
1) Repository Editor
   Repository Editor是一个有效地可下载的 JAVA Applet 应用程序,Jolt Repository 主要是用于 Jolt 翻译 JAVA 参数到一个 BEA Tuxedo BUFFER 类型中;当一个 BEA Tuxedo 服务加载到 Repository,而且必须要 Export,这样 Jolt Server 才能确保客户端请求从 Jolt Client能够完成。
        2) Repository Editor 窗口
            
 
        3) Repository Editor 窗口描述
 

窗口各部分
功         能
1、文本编辑诓
输入文本、数字、或者是文字数字的字符,例如:“Service Name”,“Input View Name”,server name,
或者是 port number,在上图中的“Service Name”
2、下拉框列表
显示列表使用一个下拉框列表,在上图中的:“Input Buffer Type”或者是“Output Buffer Type”
3、显示列表
从一个列表中选择预定义项,例如:参数列表,
4、命令按钮
激活一个操作,例如:显示一个包的窗口;服务窗口;或者是包的组织,在上图中包括:“Save Service”、“Test”、“Back”、“New”、“Edit”、“Delete”
5、单选按钮
只选中一个选项,一次只能存在一种状态,例如: Export Status只能是“Unexport”或者是“Export”。
            
 
 
 
        4启动Repository Editor
             在启动Repository Editor前,确认已经安装了所要求的最小化,Jolt Server 和 Jolt Client,可以用 JavaSoft 的 appletviewer 或者是用你的浏览器中任何一种方式都可以启动Repository Editor。
* 用 Java appletviewer 启动Repository Editor
 设置 Jolt Class 的CLASSPATH的环境变量。
 
◎从本地启动Repository Editor
                appletviewer <full-pathname>/RE.html
                从WEB服务器远程启动Repository Editor
                  appletviewer http://<www.server>/<URL path>/RE.html
* 用浏览器启动Repository Editor
 ◎ 从本地启动的RE页面
设置 Jolt Class 的CLASSPATH的环境变量。
file:<full-pathname>/RE.html
 ◎ 从WEB Server 启动Repository Editor
     确保 CLASSPATH 不包括 Jolt Class 的路径
 不设置 CLASSPATH
http://<www.server>/<URL path>/RE.html
注意:在打开这个文件之前,修改在 RM.html的applet codebase parameter 匹配你的Jolt Class 的路径
              * 登录到Repository Editor
                完成上述启动步骤后,就会显示下图:
               
                ◎ 在SERVER中输入主机的机器名或是主机的IP,然后在 PortNumber中输入主机启用的通信端口号
                   注意:除非你登录通过 Jolt Relay,相同的端口号通常用于配置 Jolt Listener,查阅UBBCONFIG 文件的附加信息
                ◎ 输入BEA Tuxedo应用的口令
                   在依赖认证的等级上,完成以下两步:
                   输入BEA Tuxedo的User Name 和 User Password,然后 Packages、Services、
Log Off 按钮就可以激活。
                 注意:查看JoltSessionClass的附加信息
                   
* Repository Editor 登录窗口的描述
 

选     项
描             述
Server
服务器名字或者是服务器的IP
Port Number
一个十进制的端口数值
User Role
BEA Tuxedo的用户角色,至少要求 BEA Tuxedo认证等级是 USER_AUTH 或者是更高。
Application Password
BEA Tuxedo 超级管理员的口令
User Name
BEA Tuxedo用户标识,第一个字符必须是一个alpha字符
User Password
BEA Tuxedo 的口令
Packages
访问Packages的窗口
Services
访问Services的窗口
Log Off
中断与服务器的连接
 
 
 
 
 
5、 用 Jolt Class Library 建立一个客户端应用
 
在典型的需要web enble的3层OLTP系统中,基于Bea中间件的解决方案是:Browser → WebLogicServer → Tuxedo → RDBMS, 整个流程图如下:

Web Browse
(Http)
 
Servlet
JSP
JDBC
EJB
BEAWebLogic Server
 
JOLT
TUX APP
BEA TUXEDO
TUX APP
RDBMS
Jolt Protocl
流程说明:
Browser发送Post Form数据到Weblogic中,Servlet接受Post 数据,通过JNDI去查找SessionPoolManager名,并传递服务,此时WebServer的SessionPool通过Jolt Protocl与Bea Tuxedo服务连接并通讯,BeaTuxedo 服务接受来之Webserver的请求,并处理后返回,WebServer接受结果返回到WebBrowse显示. 根据此流程创建一个完整程序的流程如下:
 
 
在这个流程中BEA Jolt是Java程序与Tuxedo APP(C程序)之间连接通讯的桥梁。
所有的Tuxedo APP对C客户端而言,只要服务START,C客户端即可调用。但是对通过Jolt协议访问的Java客户端,必须在Jolt Repository(Jolt资源库)中注册,并导出(Export),
Jolt Client才可以调用该服务,否则将提示:Service not available.
   在这个流程中,他们之间的关系如下图所示:

JOLT CLIENT

其中Repository Editor是BEA提供的一个GUI界面,用于增加和删除提供给Jolt Client 的TUXEDO Service。其全称为Jolt Repository Editor. 运行%Jolt_home%/udataobj/jolt/re.html

可进入该界面。
 
 
在此Editor中用户可增加删除Jolt Repository 中的Service,但只有标志为Export的Service才能被Jolt Client调用。
 
 
 
注意:在安装Jolt时,其安装目录必须选在Tuxedo安装目录下,(如D:/bea/tuxedo),否则即使进入了Editor界面,但无法打开Service编辑窗口。
更具体信息请参照Tuxedo Jolt 帮助文档。
 
Jolt Client:
Jolt Client 可以是纯Java程序,也可以是Browser 通过Servlet调用Tuxedo Service。
无论那种方式,如果调用Tuxedo Service其编程都有固定的模式。
1.       Bind the client to the TUXEDO environment using the JoltSessionAttributes class.
2.       通过JoltSessionAttributes将客户端绑定到TUXEDO环境中。
3.        Establish a session.(建立一个session)
4.        Set variables.设置必要的参数
5.        Perform the necessary transaction processing.建立必要的transaction进程.(针对有数据操作而言)
6.        调用服务.
7.        Log the client off of the TUXEDO system.断开连接
 
下图是一个比较详细的例子:
在这里JoltRemoteService建立Jolt Client 与的Jolt Repository 联系.
To use a JoltRemoteService object, the programmer simply:
_ Sets the input parameters                  
_ Invokes the service
_ Examines the output parameters
 
在JOLT客户端应用中的事务处理使用J2EE的JTA实现Transaction,但是J2EE中的UserTransaction与后台Tuxedo的事务不是一致的,因此所有的事务建议在Tuxedo程序或者PROC*C程序中完成起始。
 
 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值