论文部分内容阅读
随着网络分布式计算的不断发展,分布式应用的许多特点给软件体系结构和 开发方法带来了新的挑战。中间件技术和设计模式是解决这些挑战的两条有效途 径。中间件位于系统平台和应用层之间,把各个结点的分布组件连接在一起。而 设计模式则指导设计者们复用设计方案以解决各种重复出现的问题。 虽然目前人们已经提出了许多种设计模式,然而这些模式对于中间件和分布 式应用而言,仍然显得不足。本文分析了现有的中间件和分布式应用的特点,以 消息中间件为基础,分别针对连接管理、通信方式和服务质量等分布式系统中特 有的设计问题,提出了相应的设计模式和系统结构。 连接管理是许多中间件系统中必不可少的模块。在客户端,我们提出了异步 接口模式用于构造编程接口。在服务端,则用服务反应器模式受理客户请求并使 用服务组件。此外,句柄-描述符模式把局部引用映射到远地,异步线程池模式 把异步操作转移给单独的线程。这些模式组合在一起构成了中间件连接管理模块 的系统结构。 点对点和发布/订阅是两种面向分布式应用的通信模式。点对点模式把队列作 为中间存储,使通信具有异步性。而发布/订阅模式通过主题关联应用组件,使 通信具有匿名性。由于消息队列具有可靠性、可扩展性等特点,我们提出了一种 基于消息队列实现的发布/订阅系统结构。 服务质量特性是衡量中间件好坏以及实际运行中经常考虑的问题。我们基于 CORBA 通知服务的QoS规范建立了一个消息中间件的QoS模型,并论述了各 种QoS特性的控制。 最后,我们展望了面向中间件和分布式应用的设计模式和模式系统的前景, 对进一步的研究工作进行了讨论。