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 : 存储转发模式
 
本文来自CSDN博客,转载请标明出处: http://blog.csdn.net/IT_newbalance/archive/2009/05/25/4215580.aspx

你可能感兴趣的:(职场,休闲,Tuxedo)