Tuxedo 学习心得 三

本文详细介绍了Tuxedo中间件的客户端类型,包括本地客户端、远程客户端和Weblogic客户端,以及Tuxedo API的使用,特别是ATMI函数库在请求与响应中的作用。同时,文章探讨了Tuxedo中的消息队列通讯机制和缓冲区类型,如String、Carray、FML、View和XML Buffer。此外,还提到了Tuxedo提供的五种消息传递方式,包括请求/应答、会话、无请求通知、发布订阅和存储转发模式。

前段时间做项目,时间紧张,国寿无线卡单项目,现在继续中间件的总结:

一、tuxedo 的客户端

      tuxedo的客户端有三种:

      (1)本地客户端(Native Client):是指客户端和服务器在一台机子上。(BB和BBl是tuxedo的核心部件,他们在哪里,哪里就是服务器),客户端(进程)和服务器端(进程)通过IPC(进程间通讯)进行通讯。当然本地客户端也可访问其他机子的服务器,这样的话就成了远程客户端了。

      (2)远程客户端(Remote Client):客户端和服务器在两台机子上,他们之间通过网线连接通讯,他们之间是TCP/IP协议链接,当然也可通过Proxy链接。

      (3)Weblogic 客户端(java端)通过WTC链接底层的tuxedo程序。

二、tuxedo API(ATMI)

    Client                      Request                                                                      Server

     ATMI  ----------------------------------------------------->Message Queue     ATMI Service

              Message Queue <-----------------------------------------------------

                                                                            Reply

 

     connect to Tuxedo (链接tuxedo)   ------------------------------------->     main(){

     allocate a buffer  分配空间                                                                     .......

     tpcall(TOUPPER,...) 调用函数                                                                 TOUPPER(...){

                                                                                                                        .....

      get data from buffer 得到结果 <-------------------------------------------         return response

        free the buffer      释放缓冲区                                                                            }

      disconnect from Tuxedo 断开连接                                                                }  

 

  TOUPPER(...)这个函数平时不会被调用,只有当来自客户端的请求到达了server端的MQ里面,而且被server通过ATMI从MQ中拿到之后,这个TOUPPER(...)函数才会被执行。

    流程:

           Client 用什么开发都行,client 调用tuxedo ATMI 函数库,然后ATMI将请求发送到server端的Message Queue里面去,server 通过ATMI从Message Queue 里面取出请求,取出以后,server端调用相应的service函数,service函数在处理完以后,再通过ATMI函数Reply到Client端的MQ里面去(后台的server就是被动的接受请求)

三、Messaging & Communications

      tuxedo客户端和服务器之间的通讯是通过消息队列的机制来传递消息的。

四、Tuxedo Buffer Types (Tuxedo 缓冲区类型)

      tuxedo 客户端和服务器都是有缓冲区的,缓冲区中的数据有不同的类型(Type),tuxedo支持不同类型的Buffer。

      String 类型的 Buffer :(Text Data) 里面放置字符串,而且是文本形式的。人可读的

      Carray Buffer :(Binary Data bytes) 二进制数据,机器可读的

      FML Buffer:可构造出比较复杂的数据类型,(实际上就是(name/value)这样一对一对的)

      View Buffer:类似C语言中的data structure

      XML Buffer:Text data with data item tags

五、Message Paradigms (消息传输机制)

      tuxedo的一个优点就是提供了非常丰富的消息传递机制。通常服务都是客户端主动发送请求,服务器端被动接受,一共有五大类型的传递方式:

         request/response (请求/应答方式):这个是最主要的一种方式,这里面又分为同步(死等,等到超时) 异步(synchronous,asynchronous),它是无状态的,一个请求一个应答,每次请求和应答之间没有必然联系的。如 http 协议

         conversation:会话形式,有状态的协议。(如:传递大文件,报告,批量处理一些数据时)

         unsolicited notification:服务器主动的向客户端发送请求

         publish and subscribe :发布和订阅

         store and forward : 存储转发模式

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值