活动介绍

tuxedo开发笔记

preview
需积分: 0 2 下载量 53 浏览量 更新于2009-06-08 收藏 29KB DOC 举报
【Tuxedo开发笔记】 Tuxedo 是一款高级的事务处理中间件,主要应用于构建大型企业级分布式系统。本文档是一份针对初学者的 Tuxedo 开发笔记,旨在介绍如何使用 BEA Tuxedo 创建客户程序和服务程序,以及如何在应用程序中使用类型缓冲区进行通信。 1. 创建BEA Tuxedo的客户程序 开发 Tuxedo 客户程序与常规的 C 和 C++编程相似,因为 Tuxedo 提供了一套基于 C 语言的应用程序事务监控接口(ATMI)。客户程序通常执行以下步骤: - 使用 `tpchkauth()` 函数确定安全级别,这可以是无安全级别、应用程序口令、授权、访问控制列表、连接级加密或公钥加密等。 - 调用 `tpinit()` 初始化并连接到 Tuxedo 应用程序,传递必要的安全信息。 - 执行服务请求。 - 通过 `tpterm()` 断开与 Tuxedo 应用程序的连接。 2. 创建服务程序 服务程序是 Tuxedo 的核心部分,开发者只需编写服务函数,与 Tuxedo 的二进制程序一起编译为可执行文件。服务程序持续运行,直到接收到 shutdown 消息: - 在启动时,调用 `tpsvrinit()` 函数,可以在此处打开资源(如数据库)。 - 在关闭时,调用 `tpsvrdown()` 关闭 `tpsvrinit()` 中打开的资源。 - 服务程序通过服务响应客户请求,客户程序调用服务而不直接调用服务程序。 - 使用 `tpreturn()` 结束服务请求,并可能将结果返回给客户。 3. 类型缓冲区的使用 类型缓冲区是 Tuxedo 中通信的基础,所有通信都通过这些缓冲区进行。开发者利用 `tpalloc()`, `tprealloc()`, `tpfree()` 等 ATMI 函数进行分配和回收。缓冲区有特定头部,确保跨网络、协议、CPU 架构和操作系统的兼容性,简化了分布式计算环境中的异构问题。 4. 通信模式 Tuxedo 支持多种通信模式: - 同步 Request/Response:客户端发送请求,等待服务端响应。 - 异步 Request/Response:非阻塞模式,允许并发处理多个请求。 - 嵌套调用:在一个服务调用中嵌入另一个服务。 - 调用转发:将请求转发给其他服务器处理。 - 会话通信:维护客户端与服务端的上下文。 - 主动消息通告:服务端主动向客户端发送消息。 - 基于事件的通信:响应特定事件触发的服务调用。 - 基于队列的通信:请求被放入队列,按顺序处理。 - 使用事务:确保数据一致性,支持 ACID 属性的事务处理。 5. 简单的 Tuxedo 应用程序 - simpapp simpapp 示例包括一个客户程序和一个服务程序,服务程序接收小写字母并返回大写。在运行此示例前,需确保安装了 C 语言编译器,设置了 $TUXDIR 环境变量,并将 TUXDIR/bin 添加到 PATH。准备步骤包括复制文件、编译程序、编辑和加载配置文件、启动应用程序、运行和监视应用程序,以及最后关闭应用程序。 通过 simpapp 示例,学习者应理解客户程序和服务器的任务,配置文件的作用,以及如何管理 Tuxedo 应用程序。这包括理解基本组件、使用命令行工具如 tmadmin 进行应用程序管理。
身份认证 购VIP最低享 7 折!
30元优惠券