Tuxedo中间件在铁通业务系统中的应用与实现

上传人:gg****m 文档编号:213910311 上传时间:2021-11-22 格式:DOCX 页数:6 大小:72.79KB
返回 下载 相关 举报
Tuxedo中间件在铁通业务系统中的应用与实现_第1页
第1页 / 共6页
Tuxedo中间件在铁通业务系统中的应用与实现_第2页
第2页 / 共6页
Tuxedo中间件在铁通业务系统中的应用与实现_第3页
第3页 / 共6页
Tuxedo中间件在铁通业务系统中的应用与实现_第4页
第4页 / 共6页
Tuxedo中间件在铁通业务系统中的应用与实现_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《Tuxedo中间件在铁通业务系统中的应用与实现》由会员分享,可在线阅读,更多相关《Tuxedo中间件在铁通业务系统中的应用与实现(6页珍藏版)》请在金锄头文库上搜索。

1、Tuxedo中间件在铁通业务系统中的应用袁启元(铁通集因有限公司无锡分公司,江苏无锡214002)摘要:介绍了交易中间件的概念,Tuxedo中间件的特点;分析铁通计费营业支撑系统 的体系结构,提出了利用Tuxedo整合其硬软资源的解决方案;并给出了Tuxedo的服务器端 和C/S模式客户端和B/S模式客户端的实现模板。关键词:中间件Tuxedo铁通计费营业系统1、引言口前,大型数据库应用系统人多采用以三层体系结构为基础的客户机/服务器应用模 式。而实现三层客户机/服务器应用模式的关键技术就是中间技术。Tuxedo是世界最大的独 立中间件厂商美国BEA公司的一种事务处理(交易)中间件产品,在电信

2、、银行、交通、证 券、投资、政府等部门的大规模事务处理领域中有着广泛的应用。它为关键业务应用系统 提供了一个开放式的最佳环境,支持各种各样的客户、数据库、网络、遗留系统和通讯方 式,能够在三层客户机/服务器环境下整合齐种异构平台,通过联机事务处理,保证交易的 完整件和数据的一致性。江苏铁通业务系统是一个典型的分布式升构系统,以营业系统和 计费系统为核心,其他业务系统例如资源管理系统、代理商系统,网上营业厅系统,银行代 收费互联系统等均以此为基础來展开。以Tuxedo交易中间件为基础的三层客户/服务器应用 模式来实现各个应用系统之间的互操作和信息共享;从而达到如下的三个目的:第一,性 能好、伸缩

3、强、可靠件高、安全、可管理、开放性好;第二,支持Web;第三,融合现有应 甩 保护原有投资。本文接下來先对中间件和Tuxedo做比较详细的阐述;在分析江苏铁通业 务系统体系结构问题的基础上,捉出基于Tuxedo中间件的解决方案;最后给出用Tuxedo中 间件编程的模板。2、Tuxedo中间件2.1中间件众多关于中间件的定义中,比较普遍接受的是1DC的表述:小间件是一种独立的系统 软件或服务程序,分布式应用软件借助这种软件在不同的技术Z间共享资源;中间件位于客户机/服务器 的操作系统之上,管理计算资源和网络通信。介于客户机与服务器之间的夹层,它突破了二 层C/S结构的局限性,为构建大规模、高性能

4、、分布式C/S应用程序提供了通信、事务、安 全、容错等基础服务,它屏蔽了底层技术细节,使应用程序开发不必再从底层做起,以自身 的复杂性换來了应用程序开发的简单。中间件是构造三层结构的基础,它的主要功能包括: 第一,负责客户机和服务器之间的联接和通讯;第二,提供一个三层结构的应用开发和运 行平台;第三,集成多种异构的服务器和数据源;第四,提供负载均衡、动态伸缩、数据依 赖路111等功能为代表的管理模式;第五,保证全局事务完整性;第六,保证大规模并发处理 响应;第七,对异构系统互联的透明支持;第八,保护数据安全性。使用中间件能够带来如 下的好处:首先,快速投放市场;第二,节省应用开发费用;第三,减

5、少管理开销;第四,降 低系统开发失败率;第五,易于扩展现有系统;第六,应用集群,保证高可靠性;第七,软 件维护方便;第八,提高应用质量。中间件产品可以分为交易型、消息型、CORBA型和容 器型四种。其中流行的交易型中间件有BEA的TUXEDO, IBM的C ICS和东方通公司的TongEasy;消息型中间件有IBM的MQ、BEA的M essageQ和东方通公司的TongLink; CORBA型也叫基于ORB的中间件,有Borland的Visiboker和国防科人的starbus;容器型的 中间件有BEA公司的Weblogic和IBM的WebSphere,这两个中间件都是基于J2EE标准。 2.

6、2Tuxedo 简介最早具有中间件技术思想及功能的软件是IBM的CICS,但由于CICS不是分布式环境的 产物,因此人们一般把Tuxedo作为第一个严格意义上的中间件产品。Tuxedo ( Transaction for Unix Environment Distributed Oriented,意为:基于UNIX 的分布式交易系统)是 1984 年在当时属于AT&T的贝尔实验室开发完成的,但曲于分布式处理当时并没有在商业应用上 获得像今天一样的成功,Tuxedo在很长一段时期里只是实验室产品,后来被Novell收购, 在经过Novell并不成功的商业推广Z后,1995年被现在的BEA公司收购

7、。尽管中间件的概念 很早就已经产生,但中间件技术的广泛运用却是在最近10隹Z中。Tuxedo是一种事务处理 (交易)中间件产品,它是一个基于开放平台的事务处理和消息传递中间件。Tuxedo是在企 业 Internet这样的分布式运算环境中开发和管理三层结构的C/S(客户/服务器)型关键任务应 用系统的强有力工具。它具备分布式事务处理和应用通信功能,并提供完善的齐种服务来建立、运行和管理关键 任务应用系统。开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的 应用系统。Tuxedo是企业、Internet分布式应用中的基础主干平台。它提供了一个开放的环 境,支持各种各样的客户、数据库

8、、网络、遗留系统和通讯方式。2.3Tuxedo的特点Tuxedo具有如下的特点:丰富的通信机制、位置透明性、高性能连接。其中有七种通讯 机制:同步调用、异步调用、管道、会话、广播通知、队列、发布订阅、三层结构应用的 通讯管道。与其他系统的平滑的互操作性。交易管理负载平衡、数据依赖型路由。 高可用、安全、压缩。队列管理、优先级。易开发管理升级、扩展。应用可管理 性。Internet网上交易。3、Tuxedo在电信业务系统中的应用传统的通信行业营业支撑是基于典型的客户客户/服务器服务器模式设计的。这种设计把整 个业务系统分成两个部分,一个是CRM系统,服务器端用Sybase数据库,客户端用Unix

9、 终端程序进行业务受理。用來受理电话,ADSL的新装、移机、拆机、停机、复机、改名、 过户等业务。另一个是计费系统,用来受理用户的预缴话费和每丿J的出账。服务器端用 Oracle数据库,客户端用Unix终端程序进行业务受理。从分析可以看出由于历史的原因原 通信行业营业支撑系统的CRM业务模块和计费模块两人部分在数据库层次相互隔离。 CRM用Sybase数据库,计费用Oracle数据库。CRM和计费都通过独立的Unix终端办理业 务,这两个和互隔离的系统怎样进行交互呢?利用Tuxedo可以解决这个问题,在计费端发 布Tuxedo服务,然后在CRM端用后台客户端程序调用计费端发布的服务,不断地把C

10、RM 受理信息如,电话,ADSL的新装,移札拆机,改名,过户,改资费等信息更新到计费数据 库,最终实现CRM和计费用户资料的同步和信息的共亨,以便计费端利用最新的受理数 据进行计费合账。随着业务的发展和B/S模式的流行,为CRM和计费的部分业务和新的扩展 业务捉供B/S模式操作界面势在必行,如基于CRM的代理商系统,网上营业厅、数据业务 系统和基丁计费数据库的网上缴费系统,优惠系统。为了整合现有的硬件软件资源以及考虑 到负载平衡和安全性等因素的影响,最终也采用了基丁Tuxedo中间件的三层体系结构。分 析以往通信系统显示,经过业务扩展的通信业务支撑系统在原来的数据库层次上又覆盖了一个Tuxed

11、o中间件层,把基于CRM的代理商系统,网上营业厅、数据业务系统和基于计费 数据库的网上缴费系统,优惠系统的服务发布在中间件服务器上,在中间件Z上又增加了 Web应用层(包括web容器和浏览器),Web应用层调用中间件服务器上的服务最终以网页的 形式展现给用户或营业厅人员。最终形成了典型的基于Tuxedo中间件的三层体系机构。Tuxedo中间件层用來在网上暴露服务,屏蔽底层的破件,操作系统,数据库的差异。从而达 到了以下三个主要目的;第一,性能好、伸缩强、可靠性高、安全、可管理、开放性好; 第二,支持Web;第三,融合现有应用,保护原有投资。4 Tuxedo的实现模板4.1 Sewer实现模板一

12、个Server编译之后是一个可执行文件,但必须rflTuxedo调用才能发挥作用。一个Server中 可以包含多个Service,客八端与Tuxedo联系的也是Service。Server的启动ill Tuxedo自动协 调。以下是一个典型的用C/C + +实现的Server板。# inc lude /* Tuxedo ATM I函数头文件* /# inc lude /* Tuxedo 日志函数头文件* /* C/C + + , Un ix,数据库,业务操作类头文件* /* Server 动初始化* */int tpsvrinit( int argc5 char * * argv) retur

13、n connectdb( ); /*连接数据库等处理* /* * *Server结束处理* * * * */void tpsv rdone() disconnectdb(); /*断开数据库连接等处理* /*Serv ice *Scrv iccNamc( TPSVCINFO * rqst) /*步骤一:从缓冲区提取输入参数*/FBFR32 * iBuf = ( FBFR32* ) rqst - data;Fget32( iBu,f FIELDID, ( FLDOCC32) 0, ( char* ) name, 0);/*步骤二:用输入参数调业务处理函数得到输Hl* /*步骤三:把输出数据填入输

14、出缓冲区* /FBFR32* oBuf= ( FBFR32* ) tpalloc( ”FML32”, NULL, 3200); /* 分配内存* /Fadd32( oBu,f SDATA, sDATA, 0); /* 把结果放入输出缓冲* /*步骤四:采用Tuxedo函数返回输出缓冲区的数据* / tpretum ( TPSUCCESS, 0, ( char *) oBu f,fOL, 0 );Serve珪寸装了main()函数,并以tpsvrin it()和tpsvrdone()两个函数来实现Server的启动和卸 载事件的扩展。因此可以在tpsvrinit()函数里自行编写代码完成Serv

15、er的初始化处理,例如想 Server保持与数据库的长连接的话,可以在-其中调用连接数据库的函数,这样整个Server的 全部Service都将共亨同一个数据库连接。同时对应的需要在tpsvrdone()中调用关闭数据库 连接的函数。当然,数据库的连接和关闭也可以在Serv ice中各自实现,而不在tpsvrinit( 实现。在一个Servei里按照业务处理逻辑可以封装多个serivce供客户端调用。作为模板这里 只写出了一个Service叫“ServiceName”作为例了。每个Service封装一个独立的业务逻辑。 在每个service中遵循以下四个步骤来封装一个这样的服务:步骤一从缓冲区

16、捉取输入参数, 一般用Fget32函数在TPSVCINFO结构里用参数标识来提取,服务里的输入和输出参数标 识以及在客户端调用时使用的输入和输出参数标识都是在写服务之前在服务端定义的宏, 并且定义了这个宏要标识的数据的数据类型,如in,t double, string等。步骤二:用输入参数 调业务处理函数得到输出;三:把输出数据填入输出缓冲区;四:采用Tuxedo函数返回输出 缓冲区的数据。通常我们在第二步可以有两种方式来处理业务逻辑,第一种方式把业务逻 辑封装在专门处理业务的类的函数里面,这样我们在封装服务的时候只需要创建这个类的 对象,调用相应的函数即可。这种方式可以有效利用原來已经存在的业务

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号