论文部分内容阅读
传统中间件侧重于解决分布式和异构情况下的复杂问题,系统的实现细节通过抽象的方式隐藏起来,形成“黑箱”结构,这使系统缺乏必要的灵活性和适应性。为克服这种缺陷,反射机制被引入到中间件的设计中,进而提高中间件的定制能力、运行时的可重配置及适应能力,较好地适应动态变化的分布式环境和应用需求,已在移动计算、智能卡、多媒体等领域展现出良好的应用前景。
针对目前反射中间件的研究与实践存在的不足,本文在反射中间件架构设计中引入切面技术与依赖注入,利于实现关注分离。由于关注分离是反射和开放实现的前提,通过功能分解可以得到系统的关注点,这些关注可以是组件、切面或服务。用AOP进行关注分离,在需要的时候凭借DI将依赖关系反向注入,因此AOP/DI为实现反射系统的开放实现提供新的思路。
本文在分析、研究国内外研究现状的基础上,对反射式中间件的相关技术与概念进行了研究,通过对比分析各种技术的特点,给出了本文的研究思路与实现的技术与方法。在论述反射、AOP和DI三者关系的基础之上,提出了基于AOP和DI模式的反射式中间件架构模型RMABAD。将微内核软总线、AOP框架与DI容器等作为体系结构的核心,采用元编程机制来增强架构的反射能力,使用EJB的Bean类提供事务隔离和远程访问,利用DI容器将EJB的业务逻辑委托给POJO,以便提供一种轻便的EJB访问方式。针对JMX在管理组件间依赖关系方面的不足,使用DI容器对JMX进行扩展。在远程访问方面实现了分离调用器,借助AOP和DI的配合,实现拦截器链与代理切换。通过在线拍卖系统实例,验证了RMABAD架构的反射性与可行性。