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

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

该贴被zhou编辑于2012-11-21 14:55:40



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