基于Proxy模式的AMI模型优化方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2004-07-20;修订日期:2004-10-12 作者简介:何智华(1979-),男,广东清远人,硕士研究生,主要研究方向:软件工程、分布式消息通信; 邹北骥(1961-),男,江西南昌人,教授,博士,博士生导师,主要研究方向:计算机图形学、图像处理、软件工程技术.
文章编号:1001-9081(2005)02-0446-03
基于Pr oxy 模式的A M I 模型优化方法
何智华1
,邹北骥
2
(1.湖南大学软件学院,湖南长沙410082;2.湖南大学计算机与通信学院,湖南长沙410082)
(hzhhua@sina .com )
摘 要:消息通信是企业应用集成的关键。为了改善消息的灵活性、重用性和扩展性等问题,提出一种基于Pr oxy 模式的AM I 消息通信模型。该模型保留了AM I 中原有的Callback 与Polling 的核心算法,对原AM I 模型进行了耦合分解,优化了回调技术,使得AM I 更能满足企业集成中消息的扩展与重用等需要。最后给出了模型的设计实现以及项目中的模拟测试数据。实践表明,该模型能较好地满足企业应用集成中的业务需要。
关键词:代理;异步;异步方式调用;回调;扩展标记语言中图分类号:TP311 文献标识码:A
O pti m i z i n g A M I m odel of CO RBA ba sed on the proxy pa ttern
HE Zhi 2hua 1
,Z OU Bei 2ji
2
(1.Institute of Soft w are,Hunan U niversity,Changsha Hunan 410082,China;
2.Institute of Co m puter and Co mm unication,Hunan U niversity,Changsha Hunan 410082,China )
Abstract:The message communicati on is the key of E A I .I n order t o i m p r ove the facility,reuse and ex pansibility of message,this paper put f or ward a communicati on model based on p r oxy pattern,which reserved the core arith metic of callback and polling,decomposed the coup ling of the original AM Imodel and op ti m ized the technol ogy of callback,which made more satisfy the need of expansibility and reuse in E A I .Here,the ways t o design and i m p le mentati on,the si m ulative testing datu m in p r oject were intr oduced .The result shows that the model can be p referably satisfy the need of business in E A I .
Key words:Pr oxy;asynchr onis m;AM I ;Callback;X ML
0 引言
在企业应用集成(E A I )中,CORBA [1]作为分布式应用总线,其中的消息服务[2]是C ORBA 系统的核心服务之一,是实现系统各个部件之间协同和资源共享的基础。
在C ORBA 的消息服务中,具体的消息通信模型主要分
为同步方式调用(Synchr onous Method I nvocati on,S M I )和异步方式调用(A synchr onous Method I nvocati on,AM I )[2]。企业的业务需求通常要求应用程序之间能以一种异步非耦合的方式进行通信,并对数据传输的可靠性与效率要求较高。因此,异步通信方式在企业集成中被广为采纳。
AM I 模型采用回调(Callback )与轮询(Polling )的方式,在客户端实现异步调用,服务器端同步处理,对异步通信提供了一定的支持。目前,国外对AM I 研究较多的是开源CORBA 的ORB,它是面向高性能、实时最小化整合设计的通信模型[3];在国内,主要有基于Star Bus 平台并遵循CORBA 规范的消息回调服务模型[4]。但是两者在目前来说还不完善,如:对象间的通信基本上是点对点通信,无法做到一对多、多对多;对象间的通信仍然是一种耦合方式;客户端无法获知回调对象的信息是否已经丢失,等等。
因此,需要对AM I 模型在通用性、扩展性、可靠性方面作
一定的改进。如:在不同平台上与应用上对消息处理的通用
性;当应用程序的逻辑关系需要扩展时,模型只需作出最少的改动,从而进行重用;客户端能够根据回调对象的状态进行响应处理,提高可靠性。因此,本文将利用代理的思想,设计一个具有代理节点的AM I 通信模型。
1 已有的Callback 模型
C ORBA 中消息服务规范对AM I 定义了两种通信模型,
分别是Callback 回调与Polling 轮询[2],其中后者又是以前者为基础,因此本文以Callback 为例,进行描述
。
图1 Callback 模型中的组件交互
Callback 模型结构如图1所示,模型实现的关键在于rep ly handler servant 用P OA 的实现,因此,P OA 的初始化与激
第25卷第2期
2005年2月
计算机应用
Computer App licati ons
Vol .25No .2Feb .2005