内容管理系统设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
内容管理系统设计与实现
【摘要】使用内容管理系统(CMS)建立企事业单位门户网站,可以降低技术难度,缩短开发周期。
本文以JEE轻型框架为基础上,构建了一套通用型内容管理系统,该系统包括新闻模板的定义、生成和解析,最终静态页面的生成等功能,在实际使用中获得了良好的效果。
【关键词】内容管理系统;门户;JEE轻型框架
1.概述
随着互联网的日益成熟,各种网络应用己经成为人们获取信息的重要手段之一。
网站作为最典型网络产物,为企业带来了无限的机遇和手段。
通过网站可以为企事业单位进行自身推广和宣传,可以建立大型电子商务平台,改变传统交易模式,提高效率,降低成本。
如何建设好自己的网站,已经成为无数企事业单位面临的重要课题。
随着现代科技的发展与不断更新,企业的各项业务也在不断的变更,给网站的制作,信息同步更新和维护工作带来了很大的不便。
传统的手工开发模式己经不能适应发展的需要,人们通过不断的实践和总结,逐渐的建立起统一的管理系统。
本文在研究JEE轻型框架基础上,结合门户网站特点,开了一套通用型内容管理系统,使用本内容管理系统(CMS)建立网站,可以降低技术难度,缩短开发周期。
美工设计网站之后,网站一般还是静态的。
然后,使用CMS,经简单的配置就可以完成静态向动态的转化。
所有的动态信息,会自动展现到前台,同时,通过CMS管理界面,管理员也可以对动态信息进行维护。
2.系统设计
根据J2EE框架具体结构,并且依据软件代码复用的原则,应采用三层结构:Web表现层、业务逻辑层、数据持久层。
各个层次负责各自相应的功能,各层之间采用接口进行通信,屏蔽了内部的实现细节。
系统技术框架如图1所示。
图1 系统总体框架
表示层:应用中表示层用于显示模型数据,并负责提供用户界面同用户交互。
由于使用了freemaker框架作为整个架构的表现层,整个页面流转在disptch.xml 完成配置。
业务逻辑层:业务逻辑层是根据Web应用本身业务流程抽象出来的最基本的业务逻辑处理,业务逻辑层并不亲自和数据库发生关系,而是利用数据持久层提供的接口来进行基本的业务逻辑处理。
使用Spring作为业务逻辑层框架,可方便的配置数据接口,通过读取配置文件,Spring容器自动生成Bean实例,供业务逻辑和表现逻辑使用;管理事务操作;提供了与表现层交互的接口;管理业
务级对象之间的依赖性;隔离了表示层与持久层:调用持久层接口方法,向表示层使用的模型层填充数据。
数据持久层:数据持久层是Web应用中直接与数据库打交道的逻辑单元,实现了O/R映射,将面向对象的操作转化为面向关系的操作。
由于Spring封装了hibernate并且提供了非常容易使用的hibernate模板,可以很方便的利用Spring 配置文件来配置数据库的连接以及使用hibernate中提供的诸多API来进行数据持久化处理。
作为持久层架构能完全屏蔽具体的数据库实现:通过hibernater提供的API和HQL查询接口使操作数据更有效、便捷;向下屏蔽了不同数据库的差异;向上为业务逻辑层提供需要的访问接口。
让freemaker负责web应用强大的表现处理,让spring负责装配解耦复杂的业务逻辑处理对象,让hibernater负责处理数据对象的O/R映射及持久化,使用Ajax技术来更加方便有效地提高开发效率以及客户满意度。
采用这个集成架构开发出来的Web应用,不仅在划分的层次之间拥有更低的耦合性,而且整个应用的灵活性和可维护性也得到了更大的提高,最可喜的是利用Ajax技术不仅提高了整个应用的开发效率,而且提高了整个系统的人性化满意度。
3.系统设计与实现
3.1表示层设计与实现
FreeMarker 是一个“模板引擎”;一个可用来生成基于模板的文本的工具。
这些文本包括从HTML到自动生成的源文件几乎所有文本。
它是一个java包,一个java开发者的类库。
它本身不是一个面向终端用户的应用程序,而是程序员可以将其嵌入到他们产品中的一个组件。
FreeMarker在生成HTML WEB页面上面更有实效,尤其是那些遵从MVC 模式、基于serverlet的应用程序。
MVC模式可以使你将页面设计人员和程序开发人员分离,从而使各人更加专注在他的专长上面。
页面设计人员可以改变页面的外观样式而不需要程序开发人员进行修改和从新编译代码,因为应用逻辑(java程序)和页面设计(freemarker 模板)是分离的。
模板不会因为受到复杂的代码片断的影响。
即便对于页面设计人员和程序开发人员为同一个人的项目,这样的分离也是有用的,因为这有利于保证代码的整洁和便于维护。
3.2业务逻辑层设计与实现
业务逻辑层负责处理从整个web应用数据流程中抽象出来的基本业务逻辑操作处理,它是位于数据持久层之上,是用来被表现业务逻辑Action调用的接口层。
Spring框架依赖本身的IoC机制和AOP机制在整个web应用开发中占有一席之地,但是Spring框架并不仅仅负责业务逻辑层上的业务逻辑装配,它在整个应用中几乎涉及到了所有层之间。
Spring框架在web表现层负责装配和实例化表现业务逻辑Action,在业务逻辑层负责装配和实例化业务逻辑Service,并负责进行业务之间的事务处理,在数据持久层负责装配和实例化数据对象DAO,
并调用Hibernate Template来持久化数据对象。
从以上可知:Spring框架通过与freemaker框架和hinbernate框架的集成,根据IoC机制统一实现了数据持久DAO 和业务逻辑Service的装配以及装配对象的实例化。
3.3持久层设计与实现
据持久层主要负责域模型层域模型对象的持久化,即把域模型对象存储到数据库中或者从数据库中查询并重新装配为原来的域模型对象。
在设计的整个web 架构中,spring框架集成了hibernate框架。
针对于hibernate Annotation进行O/R 映射的特点,spring也给出了集成方案,利用spring己经提供好的Hibernate Template,可以非常方便的持久化域模型对象。
Spring统一管理Hibernate会话,hibenate事务管理等等方面,使得整个开发更加容易,并且屏蔽了系统在不同数据库之间移植存在的问题。
数据持久层只负责域模型对象的持久化,即在数据库事物中在基本的CRUD基本操作,并不涉及到基本的业务操作,它是数据库事物的最基本的操作,是被业务逻辑层Servic。
调用的最基本的数据库操作。
4.总结与展望
随着内容管理技术在各种企业级应用中的推广,内容管理系统正在不断地发展并逐步走向成熟,在各个行业中的应用也将越来越广泛。
本文提供的研究与实现对开发高效的系统性能、良好的用户体验、不依赖于具体业务的通用的内容管理系统具有一定的意义。
参考文献:
[1]Jan Machacek. Pro Spring 2.5[M]. New York:Apree,2008:373~399.
[2]何伟娜,刘高原. 基于CMS的开放式资源库系统设计与实现[J]. 计算技术与自动化,2011(03):106.。