《TUEDO+JOLT配置与编程简介.docx》由会员分享,可在线阅读,更多相关《TUEDO+JOLT配置与编程简介.docx(12页珍藏版)》请在三一办公上搜索。
1、TUEDO+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 类的路径,如果没有指定这个环境变量,jav
2、a 虚拟机不能够定位到任何的 jolt classes * 激活Bulk Loader: 在提示符下输入以下命令: java bea.jolt.admin.jbld -n -p package -u usrname -r usrrole /host:port filename 选 择 项 -u username -r usrrole -n 描 述 指定用户名 指定用户的角色) 使输入文件依靠当前的接口服务库有效;不使接口服务库变动更新。 -p package /host:port 接口服务库包的名字 指定 JRLY 或者 JSL 的地址 Filename 指定包含定义服务的文件名。 *批量装载
3、文件 the Bulk Loader File Bulk Loader File 是一个定义服务和关联参数文本文件,Bulk Loader装载定义在the Bulk Loader File中的服务到 jolt 接口服务库中。 2) Bulk Loader File 的语法 一个属性描绘都通过一个关键字和一个值 每一个服务定义是由服务属性和参数组成的:属性和参数都有一个要设置的数字,每 关键字分为两层: Service_level (服务层) Parameter_level (参数层) * 关键字的指导方针 * jbld 程序读取服务定义文本文件,关键字的用法遵守下表的指导方针: 指 导 方 针
4、 每个关键字都必须跟随一个等号和一个值 每一行只允许有一个关键字 举 例 正确: type=string 错误: type 正确: type=string 错误: type=string access=out 任何一行都不能忽略等号 正确: type=string 错误: type string 确定的关键字只接受一个合理设置的值 访问关键字只支持以下这些值: in,out,inout,noaccess 装载导入文件能够包含多服务定义 service=INQUIRY service=DEPOSIT service=WITHGRAWL service=TRANSFER 每一个服务定义都由多个关键
5、字和值组成 service=DEPOSIT export=true inbuf=VIEW32 outbuf=VIEW32 inview=INVIEW outview=OUTVIEW 在 Bulk Loader 文本文件中关键字的顺序 一个服务定义必须以 service= 开始,服务如果是采用 CARRAY 或者是 STRING 类型的 BUFFER,在服务中只有一个参数。在服务中使用的是一个CARRAY类型的BUFFER则推荐参数使用CARRAY数据类型;在服务中使用的是一个STRING类型的BUFFER则推荐参数使用STRING数据类型。 下表是包含使用服务层关键字和每一个可接受的值的指导方
6、针 * 服务层的关键字和值的用法 关 键 字 service export Inbuf / outbuf 任何 BEA Tuxedo 服务名字 值 true 或 false (默认值为:false) 选择下列这些 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
7、名字 一个参数是从 param=,当遇到另一个参数 param 或是另一个服务 service就结束了。参数关键字是可以任何顺序的。 下表是包含使用参数层关键字和每一个可接受的值的指导方针 关 键 字 param type 任何参数名 byte short integer float double string carray access in out inout noaccess count 值 出现的最大数值,当这个值无限时为0,仅用在 Repository Editor 格式化测试屏幕 3)疑难问题的解决 如果你使用 Bulk Loader 批量装载工具时遇到了一些问题,参阅下表: 一个
8、完整的Bulk Loader 批量装载工具错误消息和解决方案 If 。 。 数据文件没有找到 关键字无效 关键字的值是空 值无效 数据类型无效 Bulk Load data 的例子: 下列列表包含一个例子数据文件,这个例子装载 TRANSFER、LOGIN、PAYROLL服务到默认的 BULKPKG 包。 批量装载数据样本: service=TRANSFER export=true Then 。 。 检查并确认路径是否正确 检查并确认关键字对于 package、service、parameter 为关键字赋值 检查并确认参数分配的值在参数范围之内 检查并确认参数使用的类型是否有效 inbuf=
9、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=s
10、tring 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 是一个有效地可下载的
11、 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 n
12、ame, 或者是 port number,在上图中的“Service Name” 2、下拉框列表 显示列表使用一个下拉框列表,在上图中的:“Input Buffer Type”或者是“Output Buffer Type” 3、显示列表 4、命令按钮 从一个列表中选择预定义项,例如:参数列表, 激活一个操作,例如:显示一个包的窗口;服务窗口;或者是包的组织,在上图中包括:“Save Service”、“Test”、“Back”、“New”、“Edit”、“Delete” 5、单选按钮 只选中一个选项,一次只能存在一种状态,例如: Export Status只能是“Unexport”或者是“Ex
13、port”。 4)启动Repository Editor 在启动Repository Editor前,确认已经安装了所要求的最小化,Jolt Server 和 Jolt Client,可以用 JavaSoft 的 appletviewer 或者是用你的浏览器中任何一种方式都可以启动Repository Editor。 * 用 Java appletviewer 启动Repository Editor 设置 Jolt Class 的CLASSPATH的环境变量。 从本地启动Repository Editor appletviewer /RE.html 从WEB服务器远程启动Repository
14、Editor appletviewer http:/RE.html * 用浏览器启动Repository Editor 从本地启动的RE页面 设置 Jolt Class 的CLASSPATH的环境变量。 file:/RE.html 从WEB Server 启动Repository Editor 确保 CLASSPATH 不包括 Jolt Class 的路径 不设置 CLASSPATH http:/RE.html 注意:在打开这个文件之前,修改在 RM.html的applet codebase parameter 匹配你的Jolt Class 的路径 * 登录到Repository Editor
15、 完成上述启动步骤后,就会显示下图: 在SERVER中输入主机的机器名或是主机的IP,然后在 PortNumber中输入主机启用的通信端口号 注意:除非你登录通过 Jolt Relay,相同的端口号通常用于配置 Jolt Listener,查阅UBBCONFIG 文件的附加信息 输入BEA Tuxedo应用的口令 在依赖认证的等级上,完成以下两步: 输入BEA Tuxedo的User Name 和 User Password,然后 Packages、Services、 Log Off 按钮就可以激活。 注意:查看JoltSessionClass的附加信息 * Repository Editor
16、 登录窗口的描述 选 项 Server Port Number User Role 描 述 服务器名字或者是服务器的IP 一个十进制的端口数值 BEA Tuxedo的用户角色,至少要求 BEA Tuxedo认证等级是 USER_AUTH 或者是更高。 Application Password User Name User Password Packages Services Log Off BEA Tuxedo 超级管理员的口令 BEA Tuxedo用户标识,第一个字符必须是一个alpha字符 BEA Tuxedo 的口令 访问Packages的窗口 访问Services的窗口 中断与服务器的
17、连接 5、 用 Jolt Class Library 建立一个客户端应用 在典型的需要web enble的3层OLTP系统中,基于Bea中间件的解决方案是:Browser WebLogicServer Tuxedo RDBMS, 整个流程图如下: We b Browse (Http) Servlet JSP Jolt Protocl EJB BEA WebLogic JOLT JDBC RDBMS TUX APP TUX APP BEA TUXEDO 流程说明: Browser发送Post Form数据到Weblogic中,Servlet接受Post 数据,通过JNDI去查找SessionPo
18、olManager名,并传递服务,此时WebServer的SessionPool通过Jolt Protocl与Bea Tuxedo服务连接并通讯,BeaTuxedo 服务接受来之Webserver的请求,并处理后返回,WebServer接受结果返回到WebBrowse显示. 根据此流程创建一个完整程序的流程如下: 在这个流程中BEA Jolt是Java程序与Tuxedo APP之间连接通讯的桥梁。 所有的Tuxedo APP对C客户端而言,只要服务START,C客户端即可调用。但是对通过Jolt协议访问的Java客户端,必须在Jolt Repository(Jolt资源库)中注册,并导出, J
19、olt Client才可以调用该服务,否则将提示:Service not available. 在这个流程中,他们之间的关系如下图所示: Jlot 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 Clien
20、t调用。 注意:在安装Jolt时,其安装目录必须选在Tuxedo安装目录下,否则即使进入了Editor界面,但无法打开Service编辑窗口。 更具体信息请参照Tuxedo Jolt 帮助文档。 Jolt Client: Jolt Client 可以是纯Java程序,也可以是Browser 通过Servlet调用Tuxedo Service。 无论那种方式,如果调用Tuxedo Service其编程都有固定的模式。 1. 2. 3. 4. 5. Bind the client to the TUXEDO environment using the JoltSessionAttributes c
21、lass. 通过JoltSessionAttributes将客户端绑定到TUXEDO环境中。 Establish a session. Set variables.设置必要的参数 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程序中完成起始。