[转帖]Tuxedo 学习心得(下)_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4507 | 回复: 0   主题: [转帖]Tuxedo 学习心得(下)        下一篇 
lusxingbao
注册用户
等级:少校
经验:1487
发帖:100
精华:0
注册:2012-11-12
状态:离线
发送短消息息给lusxingbao 加好友    发送短消息息给lusxingbao 发消息
发表于: IP:您无权察看 2012-11-13 16:45:40 | [全部帖] [楼主帖] 楼主

一、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 : 存储转发模式




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论