TUXEDO应用程序工作原理
在实际工作,理解了Tuxedo应用程序的工作原理和机制,有助于我们的具体应用、维护工作,同时对于系统开发、规划的能力也是很有帮助的。
在TUXEDO的诸多通信方式中,请求/应答式通信是最简单也是最常用的一种客户机和服务器之间的对话模式。TUXEDO系统使用IPC(Interprocess Communication,进程间通信)消息队列来实现请求/应答式通信。消息队列是实现面向无连接通信的关键技术,TUXEDO系统会给每个服务进程分配一个IPC消息队列,称为请求队列,给每一个客户机分配一个响应队列。这样客户机和服务器之间就不需要建立通信连接,客户机把请求消息放入服务器的请求队列中,然后从自己的响应队列中检查响应结果。
TUXEDO系统使用IPC消息队列提供了面向无连接的数据通信,这不仅减小了建立和撤除连接的额外开销,还提高了网络的使用效率。
一个典型的TUXEDO应用程序由客户机、服务器、IPC消息队列、公告板(BB)和公告板联络进程(BBL)构成。BBL是TUXEDO系统的管理进程,它维护公共板,监视着系统中所有部件的运行,并定期对系统进行健康检查。
客户机
Client
ATMI
服务器
Server
ATMI
Message
Queue
Message
Queue
3.发送请求缓冲区
4.服务器响应
公告板联络进程
BBL
事务管理器
公告板BB
1.发送服务请求
2.返回消息队列入口
5.更新公告板
图1-5 TUXEDO应用程序工作原理
客户机要调用服务器提供的服务,首先通过操作1向事务管理器发出服务请求,服务端的事务管理器从公告板中查询服务的请求队列地址(RQADDR),通过操作2将队列地址返回给客户端;客户机收到请求队列地址后,将需要发送到服务的参数放入缓冲区,并通过操作3将请求缓冲区发送到服务的请求队列;服务器完成客户请求处理后,通过操作4把响应结果发送到客户机的响应队列(REPLYQ),同时通过操作5更新公共板,写入服务处理情况。