JOLT的配置与编程简介

  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
确定的关键字只接受一个合理设置的值
访问关键字只支持以下这些值:
in out inout noaccess
装载导入文件能够包含多服务定义
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 类型被用到时:
VIEW VIEW32 X_COMMON X_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 。。。 。。。
数据文件没有找到
检查并确认路径是否正确
关键字无效
检查并确认关键字对于 package service parameter
关键字的值是空
为关键字赋值
值无效
检查并确认参数分配的值在参数范围之内
数据类型无效
检查并确认参数使用的类型是否有效

 
Bulk Load data 的例子:
下列列表包含一个例子数据文件,这个例子装载 TRANSFER LOGIN PAYROLL 服务到默认的 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
BEA WebLogic 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程序中完成起始。
 
 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值