论文部分内容阅读
J2EE是整合企业级服务的优秀平台,它结合Java编程的多种优点和过去10多年大中型企业软件开发中的经验,提供了一种基于组件的、以服务为中心的、多层应用的架构。但事实证明,J2EE在实践中并没有取得绝对的成功。由于传统J2EE解决方案的复杂性造成了应用程序过于复杂、生产率低、难以测试、开发成本和维护成本高昂。所谓传统J2EE解决方案是指采用EJB来管理J2EE体系结构中的业务层和持久层。这种解决方案造成的复杂性很大程度上是由于J2EE的核心组件EJB导致的。在轻量级容器未出现前,使用J2EE其实就是使用EJB。然而,为了兼容更多的中间件厂商,EJB提供功能强大并且齐全的重量级企业服务。这也造成了EJB学习曲线陡峭、开发复杂、效率低下和业务逻辑组件依赖容器等现实不足。轻量级容器也就是在这种需求驱动下提出的,它的核心实现机制是控制反转和依赖注入。轻量级容器的出现为业务层组件管理提供了一种较好的选择,实现了业务层组件和容器间、组件和组件间低耦合,提高了应用开发的灵活性和可测试性。本文首先分析了J2EE的优势,讨论了J2EE核心组件EJB的不足,随后引出轻量级容器的概念,分析了轻量级容器的特点和优势。其次,本文就轻量级容器的核心机制控制反转和面向切面编程,展开了深入的探讨。重点研究了二者的实现策略和各种实现策略的优缺点,并介绍了当前流行的控制反转容器和面向切面编程框架。再次,在对轻量级容器核心机制研究的基础上,本文尝试给出了一种控制反转容器的设计实现,并借鉴敏捷开发流程和ROR成功理念,以简单易用为宗旨,架构了一种以控制反转容器和域驱动开发相结合的高性能、高生产率和灵活性的轻量级容器体系结构。最后,通过展示本文所设计的轻量级容器框架的一个应用实例表明,应用这种系统框架可以有效的降低系统开发的复杂性,提高生产率,同时满足系统扩展性和高性能的要求。