论文部分内容阅读
企业应用软件开发目的是为了解决某一领域的业务问题,然而在开发过程中,除了对业务需求要关注,而对于大多数程序员来说,技术的选择也是很重要的一方面。如果选择一项学习难度比较大,且学习曲线比较长的技术,则使得软件开发的周期延长,从而会使得软件开发的费用超出预算,大大增加了软件开发的风险。为了降低软件开发项目的风险,使用开源软件是一个很好的选择。开源软件使开发人员从底层功能中解脱出来,可以更好地专注于用户的业务需求。由于开源软件的代码已经通过了充分的测试,系统的成本降低了,周期缩短了,风险也减小了。
国内的软件公司也逐渐意识到了开源软件带来的好处,在一些商业软件中也应用到了开源软件。但是绝大多数公司只是在使用媒体热炒的一些开源软件,自己并没有去比较各种开源软件之间的异同,一味的追逐潮流。还有大部分开发者将会面对如何进行基于开源软件的软件开发、如何选择开源软件、如何进行单元测试与集成测试等问题。当前企业开发中主流的架构体系有两类,一是基于Java技术的J2EE(Java 2 Enterprise Edition)架构:二是基.NET平台的架构。由于.NNE架构只能建立在微软公司的Windows操作系统上,所以其应用范围受到一定的限制。而基于Java技术的J2EE架构由于良好的跨平台能力和开放的体系结构,成为企业应用开发的较好选择。但是,传统J2EE架构由于对业务组件有侵入性、使用繁琐并且不易测试,所以近年来不断出现了一些新兴的框架,如WebWork,Strultts,Spring,Hibernate,Ibatis等。但是,这些新兴框架仅专注于弥补传统J2EE架构某一方面的缺点,没有形成一个完整的结构,所以研究和利用这些新兴框架,并结合传统J2EE的优势形成一个完整的解决方案就变得非常迫切且有实用价值。
本文在系统地分析传统J2EE架构的优劣势的基础上,深入比较了各个开源软件在实现各自功能上优缺点,并结合实践经验的总结和知识的抽象,设计和实现了基于Java的轻量级企业开发架构。该架构以简单、高效、高负载均衡和易于测试为基本原则,以依赖注入(Dependency Injection)、面向方面编程(Aspect Oriented Programming)、集群(Cluster)等核心思想作为指引,通过整合当前优秀的开放源代码项目,包括Struts,Spring,Hibernate,Tbrracotta for Spring等,为企业应用的开发提供了一种快速,稳定,易分布,且廉价的解决方案。