时间:2016-07-21 11:08 文章来源:http://www.lunwenbuluo.com 作者:杨军 点击次数:
摘 要:文章结合目前项目的实际需要,分析了基于JAVA平台的CMS的分析与设计,提出了一种安全稳定的网站内容管理系统(CMS)解决方案。
关键词:JAVA;CMS;B/S
企业信息化的不断发展与深入,企业网站内容管理系统已经成为众多企业级应用软件的核心软件之一,无法代替的作用越来越突显出来。到现在,软件开发技术日新月异,内容管理系统融合了多种技术于一体,成为一种创新技术的综合应用,它涵盖面相当广泛,具体包含了:企业内网与外网、政府外网和应用互联网。其已经打破了原有办公自动化系统、陈旧信息化管理软件和普通软件管理系统的涵盖范畴、用户体验和潜在的商业价值。文章以企业级内容管理系统为切入点,介绍了其相关知识和实际开发使用到的相关技术,紧接着分析了在内容管理系统开发过程中的需求分析,为满足系统要求给出了契合实际的系统功能和结构框架设计,并且实现了内容管理系统的全部功能,文章重点介绍了开发过程中权限相关的关键技术,并且给出了详细的解决方案。为了提高系统的重用性和扩展性,系统采用先进的J2EE平台,综合应用先进的组件设计思维和面向对象设计思想,以及目前比较流行的Struts框架等相关技术,所有这些综合技术的使用有力减少了系统的复杂性,实现了一种管理方便高效的内容实时发布平台,该平台有大好的应用和发展前景。
1 J2EE体系结构及组件
J2EE本身包含了许多项目开发中常用的组件,它是脱胎于传统软件开发的技术架构,其对软件系统开发和部署进行了进一步的简化和规范,提升李瑞软件的复用性和移植性。规范与指南是J2EE的核心技术,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。J2EE组件和“标准的”Java类的不同点在于:它被装配在一个J2EE应用中,具有固定的格式并遵守J2EE规范,由J2EE服务器对其进行管理。J2EE规范是这样定义J2EE组件的:客户端应用程序和applet是运行在客户端的组件;Java Servlet和Java Server Pages是运行在服务器端的Web组件;Enterprise Java Bean组件是运行在服务器端的业务组件。
2 CMS数据库设计与实现
在项目开发过程中,数据库设计至关重要,它关系到真个系统的系统性能、移植性和系统后期的升级等,在综合对比目前项目中常用的几款数据库产品后,本系统确认使用MYSQL数据库,MYSQL数据库将以其突出的系统性能为本系统奠定良好的运行基础。在数据设计的过程中,要重点遵守几个规则:数据库标识符命名规范化、正取使用索引原则、数据库数据的一致性和完整性约束原则等。企业网站内容信息管理系统核心数据库表设计如下:
(1)mis_article表:用来存储文章信息的,主要字段有:主键、栏目标题、文章标题、文章内容、文章点击次数、文章作者、发布时间、文章内容。
(2)mis_class表:用来存储所有栏目信息,主要包含字段:主键、栏目名称、栏目名称简写、栏目说明、栏目路径、父栏目编号。
(3)mis_sa_user表:用来存储CMS前台和后台的所有用户信息,主要包含字段:主键、用户名、姓名、密码、注册时间、登录时间、性别、QQ号码、联系电话。
(4)mis_sa_group表:用来存储用户群组信息,主要包含字段:主键、群组名称、组描述、组状态、修改时间、是否是管理员。
(5)mis_config_site表:用来存储CMS站点的基本的配置信息,主要包含字段:主键、网址名称、网址标题、网址地址、网址图片地址、网址版权信息、网址描述信息、网址关键字标签。
3 系统权限设计与实现
与C/S架构系统相比,B/S架构系统的权限设计尤为重要,由于C/S系统的特殊性,在很多功能模块的实现过程中可以实现细粒度权限的精准控制,B/S系统的权限控制比较困难,B/S系统通过用户的浏览器访问系统,如果验证机制不完善,则非合法用户可以容易的从浏览器的地址栏访问到B/S系统中的功能,这就要求程序设计从客户端和服务器端同时进行拦截判断检测,实现较为严谨的权限控制设计。本系统的开发设计中我们借鉴NoahWeb的设计理念,在系统业务设计阶段,开发者无需考虑权限设计,可以专注于系统业务的实现。该设计理念为了实现细粒度权限控制,为了实现需求,数据库的设计可谓及其重要,无论是“组”操作的概念,还是整套权限管理系统的重用性,都在于数据库的设计。首先,action表,gorupmanager表,以及master表,是系统中权限控制最重要的三张基础表,这三张表分别存储了“系统权限”数据、“管理组”的相关数据和“用户信息”等数据。多对多是这三张表的重要关系,也就是:一个权限可以对应对个管理组,一个管理者同时可以对应多个权限,同理,一个用户可以对应多个系统用户管理组,同时一个管理组中可以包含多个不同的系统用户。由于这三张表之间存在着多对多的关系,那么它们之间的交互,最好使用另外两张表来完成。而这两张表起着映射的作用,分别是“actiongroup”表和“mastergroup”表,前者映射了权限表与管理组表之间的交互。后者映射了人员表与管理组表之间的交互。另外,还需要一张表来控制系统运行时左侧菜单中的权限分栏,也就是“权限分栏表”,这样就实现了细粒度的权限控制。
4 CMS系统实现
CMS系统中的所有AJAX请求和所有普通请求都通过STRUCTS进行拦截,然后将请求转发给后面的业务层进行处理,所以系统请求拦截都需要配置在一个集中的配置文件里,并且实现Command接口的所有方法,当系统启动需要初始化的时候,系统自动读取该配置文件,将配置文件内容读入内存,把配置文件里的所有请求动作建立一个实例,并暂存在系统缓存中,当浏览器发送系统请求是,拦截器把该实例对象从缓存中取出,而不需要再次创建,这样就减少了系统响应用户请求的运行时间,当系统需要扩充增加新的业务功能是,只要在实现具体的业务方法,在方法内写入自己的业务代码,并实现Command接口,同时加入该系统的配置文件里即可实现插件化模块的系统功能。
在CMS系统设计实现中还有另外一个技术难点,就是如何实现所见即所示的网页编辑效果,同时发布到页面上后效果不变化,本系统通过论证采用的网页版副文本编辑器即可实现上述系统要求功能,该文本编辑器是综合使用HTML、JAVASCRIPT和CSS技术组合开发实现。网页信息编辑器具有的功能有:在网页内容中可以自由选择相应的代码,并且进行任意的编辑,编辑结构看到的就是网页显示的效果。这种编辑器方便编辑任意查找内容,方便改变文章样式,可否方便的修改文字的背景颜色,插入各种手动符号,当前的时间、日期,可以方便插入office系列数据,例如excel表格、word内容等。同时加强了表格table编辑功能,可以方便的插入、合并、删除列表格和行表格,完成表格上下迁移和左右互移等功能,可以在表格中增加右击带单,方便实现系统更多功能。在编辑器中,系统管理员可以方便的插入图表,对文本和图片进行混合编辑,可以方便实现图片大小、位置、图层调整。
5 结束语
文章从实用和研究的角度出发,提出了关于企业内容管理系统的新思路和解决方案,在实现过程中着重介绍了系统细粒度的用户权限验证模块和内容发布模块的设计与实现,并针对这些核心技术给出明了介绍,较好的融合到整合系统中,给出了具体的应用方案,开发设计完成了一套完整的基于基于JAVA的B/S的企业内容信息管理系统。该系统和核心技术的实现方式对其他信息类软件系统开发有一定的参考价值。
参考文献
[1]王占军.基于J2EE的内容管理系统的研究与开发[D].北京:中国航天第二研究院,2008.
[2](美)David Flanagan .JavaScript权威指南[M].北京:机械工业出版社,2003.
联系方式
随机阅读
热门排行