客户管理第七章的客户端编程融金教育

上传人:蜀歌 文档编号:145866858 上传时间:2020-09-24 格式:PDF 页数:36 大小:360.89KB
返回 下载 相关 举报
客户管理第七章的客户端编程融金教育_第1页
第1页 / 共36页
客户管理第七章的客户端编程融金教育_第2页
第2页 / 共36页
客户管理第七章的客户端编程融金教育_第3页
第3页 / 共36页
客户管理第七章的客户端编程融金教育_第4页
第4页 / 共36页
客户管理第七章的客户端编程融金教育_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《客户管理第七章的客户端编程融金教育》由会员分享,可在线阅读,更多相关《客户管理第七章的客户端编程融金教育(36页珍藏版)》请在金锄头文库上搜索。

1、客户管理第七章的客户端编程融 金教育 客户管理第七章的客户端编程融 金教育 第七章:TUXEDO 的客户端编程 7.1Tuxedo 的客户端简介:7.1Tuxedo 的客户端简介: tuxedo 有两种客户端:本地客户端和远程客户端。 NATIVECLIENT(本地客户端):是指与 TUXEDO 服务器在同一台机器上,不用通过网络 就可以访问到 TUXEDO 服务器的客户端。 WORSTATIONCLIENT(本地客户端):是指要通过网络才可以访问到 TUXEDO 服务器的客户端。 下图为 TUXEDO 应用系统的客户端访问 TUXEDO 服务器上的服务的过程图。 说明: WS(Worksta

2、tionExtensionProduct) 用于指 TUXEDO 产品的客户端部分 WSC WorkstationClient WSL(WorkstationListener) TUXEDO 系统自带的一个 SERVER,它侦听一个指定的端口,WSC 最初与该 SERVER 建立连接 WSH(WorkstationHandler) TUXEDO 系统自带的一个 SERVER,由它处理 WSC 与 TUXEDOSERVER 之间的通讯。 BulletinBoard(公告板) TUXEDO 把系统的配置保存在一个共享内存中,该共享内存称为公告板(BB) BBL TUXEDO 的管理进程,主要对公告

3、板等进行管理 WorkstationClient 与 TUXEDOSERVER 建立连接的过程为:WorkstationClient 与 TUXEDOSERVER 建立连接的过程为: 1 WSC 调用 tpinit()或 tpchkauth() 2 WSC 采用在 WSNADDR 中指定的 IP 地址与服务端的 WSL 建立连接 3 WSL 为该 WSC 指定一个 WSH,并把该 WSH 的侦听端口返回给 WSC 4 WSC 采用返回的端口与指定的 WSH 建立连接,并与 WSL 断开连接,这之后 WSC 与 TUXEDOSERVER 之间的通讯通过 WSH 进行处理,与 WSL 无关。 5

4、tpinit()或 tpchkauth()调用返回。 本地客户端与远程客户端的主要区别本地客户端与远程客户端的主要区别 1.本地客户端只能用 C 语言或 COBAL 语言编写,远程客户端可以用几乎所有的编程语言编 写。 2.在远程客户端所在的机器上要安装 TUXEDO 的客户端软件,并且在设置相应的环境变量; 在本地客户端上不用 3.用 buildclient 编译远程客户端程序时要加W,编译本地客户端则不用 与远程客户端有关的配置:与远程客户端有关的配置: 1 在 MACHINES 中要配置 MAXWSCLIENTS,即最多可以有多少个远程客户端同时连接 到该服务器上。 2 在 SERVER

5、S 中要配置 SERVER:WSL WSLSRVGRP=GROUP1SRVID=1116 CLOPT=-A-n/192.168.120.113:8888-m2-M5-x6 CLOPT 中可带的参数为: CLOPT=-Aservopts_options-nnetaddr-ddevice -wWSHname-ttimeout_factor-TClient_timeout -mminh-Mmaxh-xmpx_factor -pminwshport-Pmaxwshport -Iinit_timeout-ccompression_threshold -kcompression_threshold -zb

6、its-Zbits-Hexternal_netaddr -Nnetwork_timeout-Kclient|handler|both|none 参数说明: -nnetaddr:WSL 的侦听端口,远程客户端通过该端口与服务器建立连接 -mminh:最少启动多少个 WSH 进程 -Mmaxh:最多启动多少个 WSH 进程,默认值为 MAXWSCLIENTS/m -xmpx_factor:每个 WSH 进程可以同时与多少个远程客户端建立连接 -ccompression_threshold 如果在远程客户端与服务器之间传送的数据包大小(单位为字节)超过-c 指定的参 数,就自动进行数据压缩, -TC

7、lient_timeout: 指定一个远程客户端的空闲时间,如果该远程客户端在 client_timeout 这么长的时间内没有做任何调用,WSH 将断开与该远程客户端的连接。单位为分钟,如果没 有指点该参数,那么 WSH 永远不会自动断开远程客户端的连接 -ttimeout_factor:指定远程客户端与 WSH 建立连接的时间,如果在-t 指定的时间内还没有 建立连接,那么连接将失败。如果没有采用安全认证方式默认为 3*SCANUNIT 秒, 。如果采用 安全认证方式默认为 6*SCANUNIT 秒, -pminwshport-Pmaxwshport:指定 WSH 可以使用的端口范围: 如

8、果远程客户端要跨越防火墙才能访问该 TUXEDO 应用系统,在 WSL 中要指定该参数,指定 WSH 可以使用的端口范围,并让防火墙允许访问这些端口。如果不指定,TUXEDO 会根据系统 端口的使用情况进行分配,而分配的端口防火墙不允许通过,造成 CLIENT 无法调用 TUXEDOSERVER。如下面的设置指定 WSH 可用的端口范围为 1701017030。 WSLSRVGRP=GROUP1SRVID=1 CLOPT=-A-n/133.101.6.26:17009-m10-M10-x10-p17010-P17030 在远程客户端的机器上要设置的环境变量在远程客户端的机器上要设置的环境变量

9、TUXDIR(必需):TUXEDO 客户端在该机器上的安装目录 WSNADDR(必需):远程客户端通过该 IP 地址与服务器建立连接,它的值为-n 参数的值, 如在上面的配置中为: SETWSNADDR=/192.168.120.113:8888 WSTYPE(可选):该客户端的类型,如果与服务器的类型一样,那么在它们之间进行数据 传送时不用进行编码解码工作。 其他不常用的环境变量可参考 TUXEDO 的联机文档。 客户端的编程模式:客户端的编程模式: 在 3 层结构中,CLIENT 是属与表示层,表示层主要处理与用户交互,它的功能可概括为: 1、提供应用的用户交互接口,即主要通过图形化的用户

10、界面,取的用户的输入数据 2、与 TUXEDO 应用服务器建立连接 3、调用 TUXEDO 应用服务器上的服务(SERVICE) ,把客户端的输入参数放入输出缓冲区。 4、TUXEDO 应用服务器调用相应的 SERVICE 处理客户端的请求,把处理结果通过客户端的输 入缓冲区返回给客户端。 客户端与服务端之间的通讯方式有以下几种:客户端与服务端之间的通讯方式有以下几种: 1、同步调用: 2、异步调用 3、会话方式: 4、可靠消息队列 5、广播方式 6、发布/订阅 在下一章我们再具体介绍 7.2CLIENT 的 ATMI 介绍7.2CLIENT 的 ATMI 介绍 客户端通过调用 TUXEDO

11、提供的编程 API(ATMI)来编写程序,下面介绍一些客户端主要的 ATMI 与连接的建立与断开有关的 ATMI与连接的建立与断开有关的 ATMI 为了与 TUXEDOSERVER 建立连接,TUXEDOCLIENT 要调用 TPCHKAUTH()检查该 TUXEDOSERVER 所 采用的安全方式,并根据得到的值做相应的处理,然后调用 TPINIT()建立与 TUXEDO 的连接, 在 TUXEODSERVER 的结果返回 之后,调用 TPTERM()断开与 TUXEDOSERVER 的连接. inttpchkauth() 描述:检查该 TUXEDOSERVER 所采用的安全方式 参数:无

12、返回值: TPNOAUTH:不需要认证 TPSYSAUTH:需要口令认证 TPAPPSUTH:需要口令认证,并且还需要应用级的认证或授权. -1:调用失败,错误号保存在全局变量 tperrno 中。 inttpinit(TPINIT*tpinfo) 描述:与 TUXEDOSERVER 建立连接 参数:TPINFO 返回值:失败返回-1,错误号保存在全局变量 tperrno 中。 TPINIT 结构体在 atmi.h 中的定义如下TPINIT 结构体在 atmi.h 中的定义如下 structtpinfo_t charusrnameMAXTIDENT+2;/*clientusername*/ c

13、harcltnameMAXTIDENT+2;/*applicationclientname*/ charpasswdMAXTIDENT+2;/*applicationpassword*/ chargrpnameMAXTIDENT+2;/*clientgroupname*/ longflags;/*initializationflags*/ longdatalen;/*lengthofappspecificdata*/ longdata;/*placeholderforappdata*/ ; typedefstructtpinfo_tTPINIT; 说明:username,cltname,pas

14、swd,grpname,data,datalen 用于安全认证中 flags:用于定义以何种方式通知该客户端一个 UNSOLICTEDMESSAGE 的到来.它的值可以为: TPU-SIG TPU-DIP TPU-IGN TPSA-FASTPATH TPSA-PROTECTED inttpterm() 描述:断开与 TUXEDOSERVER 建立连接 参数:无 返回值:失败返回-1,错误号保存在全局变量 tperrno 中。 与请求 TUXEDOSERVER 有关的 ATMI与请求 TUXEDOSERVER 有关的 ATMI inttpcall(char*svc,char*idata,long

15、ilen,char*odata,long*olen,longflags) 描述:客户端同步调用服务端的名为 svc 的 SERVICE, 参数: *svc:SERVICE 的名称 char*idata:输入缓冲区的地址,客户端传给服务端的参数放在该缓冲区内 longilen:输入缓冲区的长度 char*odata 输出缓冲区的地址,服务端传给客户端的结果放在该缓冲区内 long*olen:输出缓冲区的长度 longflags:调用标志,由以下几个: TPNOTRAN 如果调用 svc 的客户端当前在 TRANSACTION 方式下,那么 svc 不参与当前的 TRANSACTION。 TPNO

16、CHANGE 如果服务端返回的缓冲区类型与客户端定义的缓冲区(odata)类型不一致,默认情况下, odata 会转换成与服务端返回的缓冲区类型一致的类型,如果设置了该 FLAG,那么当出现这 种情况时,不进行缓冲区类型转换,并且会保错。 TPNOBLOCK 默认情况下,如果客户端有阻塞条件存在(如 CLIENT 的 TCP/IP 中的缓冲区满,磁盘 I/O 忙 等) ,那么客户端会阻塞在那里,直到阻塞消除或超时出错。如果设置了 TPNOBLOCK,当客户 端有阻塞条件存在时,TPCALL()会立刻返回并报错.注意 TPNOBLOCK 只对发送请求时起作用, 如果在接收服务端返回的结果时有阻塞条件存在,客户端会在那里等待,直到阻塞消除或超 时出错 TPNOTIME 如果客户端有阻塞条件存在,客户端会一直阻塞在那里,即使到了超时时间也不返回,但如 果该客户端是在 TRANSACTION 模式下,当到了 事务的超时时间,还是会报超时错误并返回。 TPSIGRSTRT 如果在进行系统调用时,被信号中断,该系统调用会重新进行。 调用成功返回 0,失败返回-1,错

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号