第20卷 第12期 V01.2O No.12 电子设计工程 Electronic Design Engineering 2012年6月 Jun.2012 基于JAVAEE网站内 容管理系统的架构设计 王海燕 .吴洁 (1.商丘师范学院计算机与信息技术学院,河南商丘476000; 2.河南信息工程学校河南郑州450000) 摘要:针对当前国内站内容管理系统(CMS)的背景以及发展的现状,并对网站内容管理系统以及相关理论和设 计思想进行了探究,在此基础上基于J2EE架构平台下.研究了基于Struts架构的多层web应用体系,选用目前最流 行的框架组合Stntrs2、Spring和Hibernate分层架构技术.提出了构建一个基于JAVAEE平台的网站后台管理系统的 方法,并给出了系统的框架设计,包括持久层、业务逻辑层和视图层的设计。 关键词:网站内容管理;模板;表现层;逻辑层 中图分类号:TP3 文献标识码:A 文章编号:1674—6236(2012)12—0058—03 Architecture design based on content management system 0f JAVAEE WANG Hai—yan。,WU Jie (1.School ofComputer and Information Techology,Xhangqiu Normal Univers ,Shangqiu 476000,China; 2.Henan Information Engineering School,Zhengzhou 450000,China) Abstract:The development of enterprise content management system is analyzed,the status and development trend of multi— tier architecture application content management system designed for in-depth research.This thesis in the J2EE platform, using the most popular framework for portfolio Strnts2+Spring+Hibernate layer design technology。proposed to build a site based on the background JAVAEE platform management system,and gives the system function and structure of the framework designed and elaborated the system implementation process. Key words:content management;template;presentation layer;logic layer 随着Internet的丰富和发展。促成了数字化信息内容的 迅速成长。但同时很多网站却不能迅速跟进大量信息衍生及 以适应各级企业不断增长的需求,就成为一个耗费人力、物 力、时间的工作,基于这样的目的,一套专业的网站内容管理 系统应运而生。 业务模式变革的脚步,尤其是遇到网站扩充或整合的时候, 需要花费很多时间和精力去更新信息,人们的工作变得异常 复杂,而网站内容管理系统的出现有效的解决了这个问题。 这里我们对内容管理系统的现状和存在的问题进行了阐述. 并给出了架构设计。 新一代的内容管理平台的发展应着重以下几个方面: 1)强健的架构、良好的集成扩展性.方便进行维护和管理 新一代的内容管理系统必须基于优良稳定的体系结构, 具有更高的安全性,易于集成和功能的扩展,可以提供方便 的管理维护功能或工具.并可以快速部署_lJ。 2)系统管理和内容业务分离,更强的业务性和灵活性 网站内容管理的复杂度和灵活性要大大高于一般的业 1课题背景及意义 处在科技高速发展的时代.网络技术给人们的生活和工 作带来了深刻的变革,信息化、网络化、数字化正渗透到社会 的各个角落.企业对于通过互联网来收集、处理和传递数据 的依赖性越来越强。面对越来越大的信息处理量,我们也面 临着许多问题,如建站困难、大量信息堆积及信息更新不及 务系统.因此网站内容管理必须能够提供更强的业务性 和灵活性口。 3)表现和内容分离,用户体验和内容质量的和谐统一 内容表现和内容本身需要尽可能的,用户无需过多 时,服务功能不健全、手工处理效率低下、发布的信息无时效 价值;改版工作量大。系统的扩展能力差等。 对于上述问题.如何来有效管理各种数据信息和维护这 些信息内容,全面提升管理水平,真正达到快捷、准确、实时 的发布信息,解决用户网站建设与信息发布中常见的问题, 收稿日期:2012—05—23 稿件编号:201205171 的关注内容表现形式的制作.由系统提供预设可选的模板来 展现内容目。 2系统架构设计 该内容管理系统使用了标准的三层体系结构,在框架设 计中需要考虑很多问题:怎样建立用户接口;在哪里处理业 作者简介:王海燕(1972一),女,河南虞城人,硕士,副教授。 研究方向:软件工程及计算机网络。 58- -王海燕.等基于JAVAEE网站内容管理系统的架构设计 负责面向最终用户的信息发布,与用户进行交互。用户输入 的信息通过该层传输给逻辑层。并负责逻辑层提取数据呈现 给用户。Struts2可以非常简单地使用FreeMarker模板作为视 务逻辑:怎样持久化数据;怎样设计能松散耦合还能灵活改 变。应用程序如何做各种级别的业务处理。为了使系统的各 个应用层保持一致.让每个层在一种松散耦合的方式彼此作 用而不用考虑低层的技术细节,为此选择一个主流技术架构 Struts2+freemarker+Spring2+Hibernate3.将应用功能分成表 图技术,对于传统的JSP页面而言,FreeMarker是一个绝佳的 替代方案。 展示数据的实现过程是:由iava程序准备好要显示的数 现层、逻辑层和数据层,Struts2+freemarkel"主要是解决表现层 的问题.Spring主要是解决应用逻辑层问题。Hibernate主要是 解决数据库持久的问题。系统完整的处理过程如图1所示。 据,由FreeMarker生成页面[61,通过模板显示准备的数据如图 2所示。 图2 Freemarker流程图 Fig.2 Freemarker low chartf 为了在Struts2应用中使用FreeMarker模板技术,我们需 要在Struts.xml文件中进行配置。虽然FreeMarker自己提供 了一些兀L指令,可以对数据模型中的数据进行迭代输出, 也提供了一定的条件判断能力。但Struts2提供的标签远不止 图l三层架构处理过程 Fig.1 Three layer software architecture 于此,它还提供了一系列的表现标签,例如form标签等。因 此。还是需要在FreeMarker模板中使用Strut2标签. 2.2业务逻辑层的设计 这是一种先进的协同应用程序开发模型.各层是逻辑 的。而不是实际的物理上的,这种三层架构具有很多优势: 1)安全性 在内容管理系统的持久层的上方是业务逻辑层.在该 层中主要负责企业信息内容的业务管理,包括栏目、新闻信 息等。 业务逻辑层在代码中主要体现在Service层。Service层 通过应用三层结构,使中间逻辑应用层和前台界面、后 台数据库分开。利用功能层有效地隔离开表示层和数据层。 未授权的用户难以绕过功能层而利用数据库工具或黑客手 段非法地访问数据层,这就为严格的安全管理奠定了坚实的 基础,整个系统的管理层次也更加合理和可控制[41。 2)便于升级、维护 大多时候都是简单的调用DAO里面的方法,但没有它叉不行, 因为有些复杂的业务逻辑就需要在Service层完成.否则易造 成业务代码和底层的代码混乱,对以后功能的修改带来灾难 性的影响,而且Service层也是Spring实现事务控制的地方。 三层结构技术是一个基于组件的开发模式.是根据业务 涉及的数据和处理流程、不同的行业特性设计成属性、方法 并封装,使业务工作对象化。当用户需求发生变化时,只 要修改相应的对象就可以了。 31性 Service层设计的时候首先需要对上层使用到的对象定 义一系列接口。所有与业务层有交互的代码都应该通过这些 接口实现。对于由Spring负责管理的对象,可以通过依赖注 入加以实现。在Service层还不得不提到的一点就是Spring 处理的事务管理,Spring提供两种事务处理的方法:声明式事 务和编程式事务。声明式事务是借助于Spring AOP模块来实 现。是系统级的事务管理,在内容管理系统开发中也用到了 该事务管理方法.另外在内容管理系统设计时还要额外注意 事务边界的划分,例如在处理声明式事务管理功能时,那就 需要将事务控制在方法层面.这样可以将多次的调用封装在 同一个事务之中.使用Spring的声明式事务管理,业务接口的 方法就是事务的边界。 2.3数据库持久层的设计 合理地划分三层结构的功能,使之在逻辑上保持相对独 立性,从而使整个系统的逻辑结构更为清晰。能提高系统和 软件的可维护性和可扩展性阎。 在该内容关系系统中。第一层是表示层,作为应用的用 户接口部分,它担负着用户与应用间的对话功能。中间逻辑 层由功能对象和应用逻辑组成。它提供定义良好的接口。使 表示层可以方便地存取数据。从而适应于服务中的各种请 求,第三层是数据层,封装了对数据库的访问功能。 2.1表现层设计 数据库持久层的设计目标是为整个项目提供一个高层、 统一、安全和并发的层设计的好坏很大程度上决定了是否能 -文中内容管理系统的视图层提供给用户视觉上的界面, 59- 《电子设计工程)2012年第12期 完成该项目。此时可以考虑采用数据持久层框架,本项目采 用了Hibernate,它提供了数据访问方法,能够使其它程序数 据持久机制。程序员避免手工编写程序访问数据持久层,使 其专注于业务逻辑的开发.并且能够在不同项目中重用映射 【2】李发英,朱海滨.基于Struts+Hibernate的Web应用的设计 与实现[J].计算机技术与发展,2009(4):91—94. LI Fa-ying.ZHU Hai—bin.Design and implementation of Web applications based on Struts+Hibernate[J].Technology and Development of Computers,2009(4):91—94. 框架,大大简化了数据增、删、改、查等功能的开发过程,同时 又不丧失多层结构的天然优势,集成延续JAVAEE特有的可 伸缩性和可扩展性[61。 【3】李邵平,彭志平.一种Web应用框架及其实现[J】.计算机技 术与发展,2009(8):117—119. LI Shao—ping,PENG Zhi—ping.An implementation of the 3结束语 内容管理系统数据库表主要包含:用户信息部分、权限 部分、模板部分。在设计数据库表时要遵守规范式的设计要 求,已达到数据库表设计的合理化。同时为了保证数据库的 一Web application framework[J].Technology and Development of Compu ̄rs,2009(8):117一l19 [4】潘春华,李悦,唐茂元.基-I-Springs架的北京林业大学图 书馆门户系统设计与实现fJ].现代情报,2008(4):169—172. PAN Chun—hua,LI Yue,TANG Mao—yuan.The library portal 致性和完整性,要为数据库表设计相应的关键字、识别、缺 省等信息。Struts+Spring+Hibernate,实现了系统层次的松散耦 合,框架把业务逻辑和持久性逻辑分开能减轻了开发人员从 system design and implementation of the Beijing Forestry University based on the spring framework[J].Modem Information,2008(4):169-172. 头构建持久层代码的精力,从而集中精力来处理逻辑问题, 分层的另一大好处是,对Et后系统的升级和维护带来很大的 好处。在分层的基础上进一步实现是下一步的目标。 参考文献: 【5】徐博艺,姜丽红,董理.一种基于J2EE的软件架构的研究 与应用[J].计算机应用研究,2006,23(9):146—148 XU Bo-yi,JIANG Li-hong,DONG Li.Research and application 【1】熊文,方亮,张淑芳.三层web体系结构的特点与比较[J].计 算机应用与研究.2006:61—63. XIONG Wen,FANG Liang,ZHANG Shu-fang.The characte— of a kind of software architecture based on J2EE【J]. Application Research of Computers,2006,23(9):146-148. [6】JIANG Zi-jing.The analysis and design of the content ristics and comparation of the three—tier web architecture[J]. Application Research of Computers.2006:61—63. management system based on J2EE【EB/OE1.(2009)http:// www.dco88.com/p一19957999O680.html 意法半导体(ST)与Soundchip联手打造性听觉盛宴 横跨多重电子应用领域、全球领先的半导体供应商、全球领先的高性能音频IC供应商意法半导体(STMicroelectronics,简 称ST;纽约证券交易所代码:STM)与瑞士音频系统技术创新企业、高清晰度个人音频(High Definition Personal—Audio,HD—PA) 标准的创始公司Soundchip联手推出了用于智能音频配件的技术及半导体元器件。智能音频配件对于个人便携式音响产品市 场是一个令人振奋的概念。 智能音频配件佩戴在头上像一对监听耳机(In—EarMonitors,IEMs),其最大特点是为用户提供了新的音频控制和个性化设 置方法。智能音频配件为长久配戴而设计,可支持各种使用模式,包括音乐、电话和会话,无需取下智能音频配件便可进行重新 配置。此外。智能音频配件具有很高的声音还原性,同时能够有效地抑制多余的背景噪声。 智能音频配件采用Soundchip的音频处理专利技术。即便用户戴着智能音频配件和耳塞说话。仍然能够获得自然舒适的 音频体验。智能音频配件利用电声技术“打开”耳塞,把外界声音直接传递给用户耳内,用户无需取下智能音频配件即可自然地 倾听和讲话。 智能音频配件拥有简便的音源切换功能。只要按一下按钮,或做一个预定手势,或发出一个声控命令,即可在话音、音乐和 环境噪声之间自动转换。智能音频配件还支持各种功能选项,包括利用意法半导体的广受市场认可的MEMS先进技术开发 功能。 此外,如果把智能音频配件连接到DSP或具有DSP功能的控制器(例如STM32F4)、智能手机或平板电脑,用户的音频体 验还能得到进一步提升.因为这些量身订制的应用程序能够单独处理并混合不同的音源,为用户提供创新的功能,例如,增强 实境(augmented reality)。 智能音频配件由Soundchip的HD—PA?电子和声学平台以及意法半导体的最佳品质的HD—PA MEMS麦克风组成,代表了 人类在电子、MEMS技术和声学的融合领域取得的令人振奋的进展,堪称个人音频未来发展趋势的典范。 咨询编号:2012121002 -60..