基于Yaf的高校教育CMS服务平台的设计与实现
2015-12-26刘淇峰陈雪蛟
刘淇峰,陈雪蛟
(1.北京工业大学 软件学院,北京 100124;2.河北农业大学 信息科学与技术学院,河北 保定 071000)
基于Yaf的高校教育CMS服务平台的设计与实现
刘淇峰1,陈雪蛟2
(1.北京工业大学 软件学院,北京 100124;2.河北农业大学 信息科学与技术学院,河北 保定 071000)
随着互联网技术的发展,高校各院系、部门网站作为高校信息公开展示和教育资源共享的基础平台,地位日显重要。但管理人员技术水平参差不齐,网站结构布局各不相同,资源共享困难等问题,为网站日后的建设和管理埋下重大隐患。因此,需要针对高校网站使用人群和管理人群的特点,研究一个通用的教育内容管理系统(CMS)服务平台,为建立教育资源共享、统一规范管理、服务灵活配置的校园数字化生态环境提供参考。
CMS;Yaf;教育服务
1 背景
在早期的高校网站建设中,站点通常采用手工管理方式,新闻、通知等信息的发布都需要管理人员使用Dreamweaver、FrontPage、Photoshop等专业网页制作软件手工编辑成静态页面,然后利用FTP上传到网络中心提供的服务器上进行发布。随着时代的发展,高校各院系、部门网站作为校园信息化应用平台,日益凸显其重要性,早期的建站技术及设计理念已经不能很好地适应庞大的业务信息量及需求的变化,并存在改版更新困难、系统扩展能力差等问题。因此,愈来愈多的高校开始采用CMS进行各院系、部门网站的建设与管理。
CMS是Content Management System的缩写,意为“内容管理系统”。这是一个宽泛的定义,从一般的博客系统、新闻发布系统到综合性的网站管理系统,都可以称为内容管理系统。其功能并不只限于文本处理,也可以处理图片、视频、音频甚至电子邮件档案,几乎所有的网站元素均可由系统灵活配置。优质的CMS通常拥有许多基于模板的主题设计与个性化服务,可以加快网站开发速度,减少开发成本,整个站点的建立只需在友好的Web界面下创建几个页面即可完成,大大提高了建站效率。
随着CMS的广泛运用,目前多数高校采用“主页发布审批责任制”等管理方式,实现各院系、部门网站内容的责任管理,但由于各院系、部门网站管理人员技术水平参差不齐,维护人员队伍不稳定等原因,使得高校内各院系、部门站点表现出形式风格不一致、内容更新不及时、系统扩展能力差等问题,始终在一个高成本、低效率的恶性循环中运行。当前高校的网站建设依然面临着几个问题:第一,站点通常只能在一套CMS下运行,若想灵活地改变模板框架或迁移到其他CMS架构下则十分困难;第二,各站点之间没有规范的服务接口相关联,信息资源相对分散,造成信息孤岛,不利于教育资源的分配与共享;第三,不同的站点采用不同的CMS,导致高校网络中心需要部署多种不同的运行环境,各异的框架结构、繁多的数据格式也大大加重了维护的负担。
本文研究了一种通用的高校教育CMS服务平台,将高校内的各个站点统一配置,资源集中管理,以解决上述问题。
2 采用技术
高校在研发一些院系网站和Web应用时,会考虑以下问题:一是开发周期短,通常搭建一个站点的时间会控制在一个月以内,这就需要开发工具简单便捷、功能丰富;二是维护成本低,高校中各院系、部门的网站一般由教师或学生维护,专业能力有限,因此要求站点运行环境稳定,管理和迁移操作简单易行。
随着互联网技术的飞速发展,PHP在Web开发中使用越来越多。其容易学习、性能强大、成本低廉、扩展灵活的特点,正满足这些需求。因此,本平台选择PHP作为开发语言,并以Yaf框架搭建平台的底层架构。
Yaf,全称Yet Another Framework,是一个C语言编写的以PHP扩展形式提供的PHP开发框架。与一般的PHP框架相比,它更快、更轻便。它提供了Bootstrap、路由、分发、视图、插件,是一个全功能的PHP框架。
目前PHP的框架层出不穷,其中不乏优秀的框架,比如Zend Framework、Yii、CI、Think PHP等等。但到底用不用框架还存在很大的争论,反对者认为使用框架会降低性能,经常举的例子就是Zend Framework,而支持者则认为,采用框架能极大地提高开发效率,损失部分性能也是值得的。这也正是同一单位内框架种类繁多的一个原因。有的项目为了性能而选择某些框架,而另外一些项目,则为了更好的封装选择了另外的框架,这就导致了多种版本的类库、框架、约定、规范并存。而Yaf的产生则很好地解决了这一矛盾。
Yaf的主要优势体现在三个方面。(1)Yaf是一个性能强大的框架。一般的PHP框架逻辑复杂,内存开销较大,而如果用C扩展来实现,就能大幅减少这部分对资源的消耗。Yaf相比原生的PHP,几乎不会带来额外的性能开销,所有的框架类无需编译,在PHP启动的时候加载,并常驻内存。经Yaf框架作者惠新宸官方测试,Yaf和原生的PHP相比,在同样的功能下,性能损失小于10%,而在和Zend Framework的对比中,Yaf的性能是Zend Framework的50~60倍。(2)Yaf是一个高度灵活可扩展的框架,支持自定义视图引擎(如Smarty),支持插件;内建多种路由,可以兼容目前常见的各种路由协议;强大而又高度灵活的配置文件支持,并支持缓存配置文件,避免复杂的配置结构带来的性能损失。(3)Yaf的部署十分方便,只需根据PHP版本,在PHP配置中引入相应的Yaf扩展即可正常使用。
3 设计与实现
3.1 架构设计
根据前文提到现今各高校网站的发展状况,平台的设计需要满足以下特点:
(1)操作便捷。由于平台的用户多为教师或学生等非专业人士,这就需要平台的UI设计简明清晰,功能使用操作简便,用户可以轻松上手。
(2)规范统一。所有的站点,采用统一的模板格式,统一的资源管理,统一的业务逻辑,统一的数据库存储,方便高校网络中心的日常管理以及日后的研发与扩展工作。
(3)配置灵活。平台应提供丰富的模板样式,使用户可以方便地进行站点样式的切换与更新,并具有多种常用的教育功能服务,如视频、考试等,供用户选择配置。
针对这些特点,平台的基本架构如图1所示。
平台架构主要分为基础服务、资源服务、功能服务三部分,根据规模可进行统一或独立部署。用户通过统一身份验证登陆平台,在其匹配的权限范围内,可对对应的站点进行管理操作。
图1 高校教育CMS服务平台基本架构
平台基础服务是平台的根本,包括站点管理、用户管理、首页管理、板块管理、文章管理等,可对管理站点进行基本的编辑配置,并提供访问其他各类服务的通用接口。
资源服务是平台的内容支撑,存储各类门户模板文件、教育资源文件等。可根据需求对网站模板进行丰富的样式定制和自由扩展,以及对视频、音频、课件等海量教育资源的分配管理。
功能服务作为平台的重要补充部分,统一封装了在线考试、视频教学、论坛、邮件等常用的教育功能类服务,用户可根据需求进行配置和自主开发。
3.2 分层设计
根据平台的基本架构,需在Yaf的基础上,对框架的层次进行一定的封装,如图2所示。
图2 对Yaf的层次封装
3.2.1 Template层
本层负责实现用户的各种交互界面。采用Smarty模板引擎和Bootstrap前端框架进行设计实现,以页面访问或Ajax异步请求的方式向下层发送请求。
3.2.2 Action层
本层负责对用户请求的路由。抽象出Action-Base类,定义对请求的通用处理框架。在Action-Base基础上,根据请求不同,封装出四类基本Action:TplAction面向页面展示请求,主要负责平台前端各页面的渲染工作;JsonAction面向功能性请求,为平台各接口提供统一的Json格式数据封装,以便前端通过Ajax方式请求调用,如院系站点的建立、各模块的发布、修改等;DownloadAction面向下载请求,如下载课件、视频资源等等;ApiAction面向外部应用请求,用于访问平台集成的各类通用服务,如在线考试、远程视频等。平台所有的Action行为在此四类Action上进行扩展。
3.2.3 Service层
本层负责服务的逻辑实现。抽象出Service-Base类,定义连接数据库、用户验证、基本的业务流程和数据处理框架。在ServiceBase基础上,根据服务的业务不同,封装出两类基本Service:BrowseService面向浏览类服务,如页面显示、新闻列表的获取等;CommitService面向提交类服务,使用数据库事务封装整个逻辑,保证数据的一致性,如站点的添加、删除等。各服务接口在此基础上进行具体的业务实现。
3.2.4 Dao层
本层负责数据的操作访问。DaoBase封装基本的CURD操作、事务操作等。每一个继承它的Dao文件面向一张具体的数据库表(如ArticleDao面向文章表),实现具体的数据操作。
3.3 数据库设计
平台基于MySQL数据库,为支持事务选用InnoDb引擎,基础表包括平台站点表、用户表、板块表、文章表等。各表通过Code与站点表的Code相关联,其基础表结构设计如表1~表4所示。
表1 平台站点表
表2 用户表
表3 板块表
表4 文章表
3.4 测试实现
测试环境采用WampServer搭建,在PHP配置中以扩展形式引入Yaf,根据前文的设计进行了开发实现,管理平台及站点效果如图3所示。
图3 管理平台及站点效果
4 结语
基于Yaf的高校教育CMS服务平台将传统的面向校内单一二级单位的CMS整合起来,提供面向一所高校的统一服务。平台在向各院系、部门提供丰富的建站功能的同时,规范了校内网站的管理模式,极大地降低了高校网络管理人员的维护和研发成本。平台既可以供高校直接搭建与使用,也可以在其框架基础上,按照实际需求进行扩展配置和二次开发。
本文只是进行了初步的探究,如今随着云计算技术的迅猛发展,可以在此CMS服务平台的基础上,进一步搭建面向国内众多高校的智慧教育云平台,打造高效稳定,教育者、受教育者、服务资源等多方协同的智慧教育数字化生态环境。
[1]黄海艇,胡俊溟.基于CMS的高校学院网站建设[J].电脑学习,2009(1).
[2]丁利娟.基于CMS的高校网站建设[J].价值工程,2010(10).
[3]崔琦.基于CMS的校园招生网站的研究与实现[D].青岛:中国海洋大学,2013.
[4]惠新宸.Yaf(YetAnotherFramework)用户手册[EB/OL].(2012-09-08)[2015-2-20].http://www.laruence.com/ manual/index.html.
[5]惠新宸.Yaf|风雪之隅[EB/OL].(2010-09-04)[2015-01-06].http://www.laruence.com/tag/yaf.
Design and Implement of a College Education CMS Service Platform based on Yaf Framework
LIU Qi-feng1,CHEN Xue-jiao2
(1.School of Software Engineering,Beijing University of Technology,Beijing 100124,China;2.College of In formation Science and Technslogy,Agricultural University of Hebei,Hebei Baoding 071000,China)
As internet technology grows explosively,as the basic platform to display its information and share educational resources,web site of departments in college play more and more important role in our daily life.However, the management technology is uneven,web sites'structure and layout are not all the same and resources share difficultly.All these problems make great hazard for further construction and management.As college website has its special users and managers,people should research and develop ageneraleducation contentmanagementsystem (CMS)service platform,which provides a reference for digital campus environment to establish education resource sharing,make standardized management and improve the flexibility for controlling service.
CMS;Yaf;education service
TP393.072
A
1673-2022(2015)02-0010-04
2015-02-25
刘淇峰(1989-),男,河北沧县人,硕士研究生,研究方向为软件工程、信息与服务工程。