劉淇峰,陳雪蛟
(1.北京工業(yè)大學 軟件學院,北京 100124;2.河北農(nóng)業(yè)大學 信息科學與技術學院,河北 保定 071000)
基于Yaf的高校教育CMS服務平臺的設計與實現(xiàn)
劉淇峰1,陳雪蛟2
(1.北京工業(yè)大學 軟件學院,北京 100124;2.河北農(nóng)業(yè)大學 信息科學與技術學院,河北 保定 071000)
隨著互聯(lián)網(wǎng)技術的發(fā)展,高校各院系、部門網(wǎng)站作為高校信息公開展示和教育資源共享的基礎平臺,地位日顯重要。但管理人員技術水平參差不齊,網(wǎng)站結(jié)構(gòu)布局各不相同,資源共享困難等問題,為網(wǎng)站日后的建設和管理埋下重大隱患。因此,需要針對高校網(wǎng)站使用人群和管理人群的特點,研究一個通用的教育內(nèi)容管理系統(tǒng)(CMS)服務平臺,為建立教育資源共享、統(tǒng)一規(guī)范管理、服務靈活配置的校園數(shù)字化生態(tài)環(huán)境提供參考。
CMS;Yaf;教育服務
在早期的高校網(wǎng)站建設中,站點通常采用手工管理方式,新聞、通知等信息的發(fā)布都需要管理人員使用Dreamweaver、FrontPage、Photoshop等專業(yè)網(wǎng)頁制作軟件手工編輯成靜態(tài)頁面,然后利用FTP上傳到網(wǎng)絡中心提供的服務器上進行發(fā)布。隨著時代的發(fā)展,高校各院系、部門網(wǎng)站作為校園信息化應用平臺,日益凸顯其重要性,早期的建站技術及設計理念已經(jīng)不能很好地適應龐大的業(yè)務信息量及需求的變化,并存在改版更新困難、系統(tǒng)擴展能力差等問題。因此,愈來愈多的高校開始采用CMS進行各院系、部門網(wǎng)站的建設與管理。
CMS是Content Management System的縮寫,意為“內(nèi)容管理系統(tǒng)”。這是一個寬泛的定義,從一般的博客系統(tǒng)、新聞發(fā)布系統(tǒng)到綜合性的網(wǎng)站管理系統(tǒng),都可以稱為內(nèi)容管理系統(tǒng)。其功能并不只限于文本處理,也可以處理圖片、視頻、音頻甚至電子郵件檔案,幾乎所有的網(wǎng)站元素均可由系統(tǒng)靈活配置。優(yōu)質(zhì)的CMS通常擁有許多基于模板的主題設計與個性化服務,可以加快網(wǎng)站開發(fā)速度,減少開發(fā)成本,整個站點的建立只需在友好的Web界面下創(chuàng)建幾個頁面即可完成,大大提高了建站效率。
隨著CMS的廣泛運用,目前多數(shù)高校采用“主頁發(fā)布審批責任制”等管理方式,實現(xiàn)各院系、部門網(wǎng)站內(nèi)容的責任管理,但由于各院系、部門網(wǎng)站管理人員技術水平參差不齊,維護人員隊伍不穩(wěn)定等原因,使得高校內(nèi)各院系、部門站點表現(xiàn)出形式風格不一致、內(nèi)容更新不及時、系統(tǒng)擴展能力差等問題,始終在一個高成本、低效率的惡性循環(huán)中運行。當前高校的網(wǎng)站建設依然面臨著幾個問題:第一,站點通常只能在一套CMS下運行,若想靈活地改變模板框架或遷移到其他CMS架構(gòu)下則十分困難;第二,各站點之間沒有規(guī)范的服務接口相關聯(lián),信息資源相對分散,造成信息孤島,不利于教育資源的分配與共享;第三,不同的站點采用不同的CMS,導致高校網(wǎng)絡中心需要部署多種不同的運行環(huán)境,各異的框架結(jié)構(gòu)、繁多的數(shù)據(jù)格式也大大加重了維護的負擔。
本文研究了一種通用的高校教育CMS服務平臺,將高校內(nèi)的各個站點統(tǒng)一配置,資源集中管理,以解決上述問題。
高校在研發(fā)一些院系網(wǎng)站和Web應用時,會考慮以下問題:一是開發(fā)周期短,通常搭建一個站點的時間會控制在一個月以內(nèi),這就需要開發(fā)工具簡單便捷、功能豐富;二是維護成本低,高校中各院系、部門的網(wǎng)站一般由教師或?qū)W生維護,專業(yè)能力有限,因此要求站點運行環(huán)境穩(wěn)定,管理和遷移操作簡單易行。
隨著互聯(lián)網(wǎng)技術的飛速發(fā)展,PHP在Web開發(fā)中使用越來越多。其容易學習、性能強大、成本低廉、擴展靈活的特點,正滿足這些需求。因此,本平臺選擇PHP作為開發(fā)語言,并以Yaf框架搭建平臺的底層架構(gòu)。
Yaf,全稱Yet Another Framework,是一個C語言編寫的以PHP擴展形式提供的PHP開發(fā)框架。與一般的PHP框架相比,它更快、更輕便。它提供了Bootstrap、路由、分發(fā)、視圖、插件,是一個全功能的PHP框架。
目前PHP的框架層出不窮,其中不乏優(yōu)秀的框架,比如Zend Framework、Yii、CI、Think PHP等等。但到底用不用框架還存在很大的爭論,反對者認為使用框架會降低性能,經(jīng)常舉的例子就是Zend Framework,而支持者則認為,采用框架能極大地提高開發(fā)效率,損失部分性能也是值得的。這也正是同一單位內(nèi)框架種類繁多的一個原因。有的項目為了性能而選擇某些框架,而另外一些項目,則為了更好的封裝選擇了另外的框架,這就導致了多種版本的類庫、框架、約定、規(guī)范并存。而Yaf的產(chǎn)生則很好地解決了這一矛盾。
Yaf的主要優(yōu)勢體現(xiàn)在三個方面。(1)Yaf是一個性能強大的框架。一般的PHP框架邏輯復雜,內(nèi)存開銷較大,而如果用C擴展來實現(xiàn),就能大幅減少這部分對資源的消耗。Yaf相比原生的PHP,幾乎不會帶來額外的性能開銷,所有的框架類無需編譯,在PHP啟動的時候加載,并常駐內(nèi)存。經(jīng)Yaf框架作者惠新宸官方測試,Yaf和原生的PHP相比,在同樣的功能下,性能損失小于10%,而在和Zend Framework的對比中,Yaf的性能是Zend Framework的50~60倍。(2)Yaf是一個高度靈活可擴展的框架,支持自定義視圖引擎(如Smarty),支持插件;內(nèi)建多種路由,可以兼容目前常見的各種路由協(xié)議;強大而又高度靈活的配置文件支持,并支持緩存配置文件,避免復雜的配置結(jié)構(gòu)帶來的性能損失。(3)Yaf的部署十分方便,只需根據(jù)PHP版本,在PHP配置中引入相應的Yaf擴展即可正常使用。
3.1 架構(gòu)設計
根據(jù)前文提到現(xiàn)今各高校網(wǎng)站的發(fā)展狀況,平臺的設計需要滿足以下特點:
(1)操作便捷。由于平臺的用戶多為教師或?qū)W生等非專業(yè)人士,這就需要平臺的UI設計簡明清晰,功能使用操作簡便,用戶可以輕松上手。
(2)規(guī)范統(tǒng)一。所有的站點,采用統(tǒng)一的模板格式,統(tǒng)一的資源管理,統(tǒng)一的業(yè)務邏輯,統(tǒng)一的數(shù)據(jù)庫存儲,方便高校網(wǎng)絡中心的日常管理以及日后的研發(fā)與擴展工作。
(3)配置靈活。平臺應提供豐富的模板樣式,使用戶可以方便地進行站點樣式的切換與更新,并具有多種常用的教育功能服務,如視頻、考試等,供用戶選擇配置。
針對這些特點,平臺的基本架構(gòu)如圖1所示。
平臺架構(gòu)主要分為基礎服務、資源服務、功能服務三部分,根據(jù)規(guī)??蛇M行統(tǒng)一或獨立部署。用戶通過統(tǒng)一身份驗證登陸平臺,在其匹配的權(quán)限范圍內(nèi),可對對應的站點進行管理操作。
圖1 高校教育CMS服務平臺基本架構(gòu)
平臺基礎服務是平臺的根本,包括站點管理、用戶管理、首頁管理、板塊管理、文章管理等,可對管理站點進行基本的編輯配置,并提供訪問其他各類服務的通用接口。
資源服務是平臺的內(nèi)容支撐,存儲各類門戶模板文件、教育資源文件等。可根據(jù)需求對網(wǎng)站模板進行豐富的樣式定制和自由擴展,以及對視頻、音頻、課件等海量教育資源的分配管理。
功能服務作為平臺的重要補充部分,統(tǒng)一封裝了在線考試、視頻教學、論壇、郵件等常用的教育功能類服務,用戶可根據(jù)需求進行配置和自主開發(fā)。
3.2 分層設計
根據(jù)平臺的基本架構(gòu),需在Yaf的基礎上,對框架的層次進行一定的封裝,如圖2所示。
圖2 對Yaf的層次封裝
3.2.1 Template層
本層負責實現(xiàn)用戶的各種交互界面。采用Smarty模板引擎和Bootstrap前端框架進行設計實現(xiàn),以頁面訪問或Ajax異步請求的方式向下層發(fā)送請求。
3.2.2 Action層
本層負責對用戶請求的路由。抽象出Action-Base類,定義對請求的通用處理框架。在Action-Base基礎上,根據(jù)請求不同,封裝出四類基本Action:TplAction面向頁面展示請求,主要負責平臺前端各頁面的渲染工作;JsonAction面向功能性請求,為平臺各接口提供統(tǒng)一的Json格式數(shù)據(jù)封裝,以便前端通過Ajax方式請求調(diào)用,如院系站點的建立、各模塊的發(fā)布、修改等;DownloadAction面向下載請求,如下載課件、視頻資源等等;ApiAction面向外部應用請求,用于訪問平臺集成的各類通用服務,如在線考試、遠程視頻等。平臺所有的Action行為在此四類Action上進行擴展。
3.2.3 Service層
本層負責服務的邏輯實現(xiàn)。抽象出Service-Base類,定義連接數(shù)據(jù)庫、用戶驗證、基本的業(yè)務流程和數(shù)據(jù)處理框架。在ServiceBase基礎上,根據(jù)服務的業(yè)務不同,封裝出兩類基本Service:BrowseService面向瀏覽類服務,如頁面顯示、新聞列表的獲取等;CommitService面向提交類服務,使用數(shù)據(jù)庫事務封裝整個邏輯,保證數(shù)據(jù)的一致性,如站點的添加、刪除等。各服務接口在此基礎上進行具體的業(yè)務實現(xiàn)。
3.2.4 Dao層
本層負責數(shù)據(jù)的操作訪問。DaoBase封裝基本的CURD操作、事務操作等。每一個繼承它的Dao文件面向一張具體的數(shù)據(jù)庫表(如ArticleDao面向文章表),實現(xiàn)具體的數(shù)據(jù)操作。
3.3 數(shù)據(jù)庫設計
平臺基于MySQL數(shù)據(jù)庫,為支持事務選用InnoDb引擎,基礎表包括平臺站點表、用戶表、板塊表、文章表等。各表通過Code與站點表的Code相關聯(lián),其基礎表結(jié)構(gòu)設計如表1~表4所示。
表1 平臺站點表
表2 用戶表
表3 板塊表
表4 文章表
3.4 測試實現(xiàn)
測試環(huán)境采用WampServer搭建,在PHP配置中以擴展形式引入Yaf,根據(jù)前文的設計進行了開發(fā)實現(xiàn),管理平臺及站點效果如圖3所示。
圖3 管理平臺及站點效果
基于Yaf的高校教育CMS服務平臺將傳統(tǒng)的面向校內(nèi)單一二級單位的CMS整合起來,提供面向一所高校的統(tǒng)一服務。平臺在向各院系、部門提供豐富的建站功能的同時,規(guī)范了校內(nèi)網(wǎng)站的管理模式,極大地降低了高校網(wǎng)絡管理人員的維護和研發(fā)成本。平臺既可以供高校直接搭建與使用,也可以在其框架基礎上,按照實際需求進行擴展配置和二次開發(fā)。
本文只是進行了初步的探究,如今隨著云計算技術的迅猛發(fā)展,可以在此CMS服務平臺的基礎上,進一步搭建面向國內(nèi)眾多高校的智慧教育云平臺,打造高效穩(wěn)定,教育者、受教育者、服務資源等多方協(xié)同的智慧教育數(shù)字化生態(tài)環(huán)境。
[1]黃海艇,胡俊溟.基于CMS的高校學院網(wǎng)站建設[J].電腦學習,2009(1).
[2]丁利娟.基于CMS的高校網(wǎng)站建設[J].價值工程,2010(10).
[3]崔琦.基于CMS的校園招生網(wǎng)站的研究與實現(xiàn)[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-),男,河北滄縣人,碩士研究生,研究方向為軟件工程、信息與服務工程。