基于.NET技术的课程网站群管理系统设计
2014-10-24钱伟江
钱伟江
(绍兴文理学院 教务处,浙江 绍兴312000)
基于.NET技术的课程网站群管理系统设计
钱伟江
(绍兴文理学院 教务处,浙江 绍兴312000)
利用网站群思想和多站点管理技术设计了课程网站群的体系结构,并用.NET技术开发了基于模板的课程网站自动生成系统.系统的可操作性和共享性有利于教学双方协作学习和交流,教师可以利用系统快速构建适合自己课程特点的网站.
网站群;模板管理;内容管理
随着Internet/Intranet技术和现代教育技术的不断发展,精品课程网站的设计和开发逐渐成为计算机辅助教学一个重要的研究领域.传统的课程网站一般由不同的软件公司采用ASP、PHP等技术按照课程负责人的需求进行设计与开发,网站个体差异较大,对开发人员的依赖较大[1].由于不同的课程网站使用不同的服务器,在增加成本的同时,也不利于资源的统一管理和使用.因此,利用网站群系统进行课程网站的开发和管理成为首选[2].本文从绍兴文理学院教务处课程建设管理的要求及教师的实际需求出发,采用微软的.NET技术,设计并实现了基于WEB网站群管理思想的课程网站生成系统,其最大的特点是网站创建时间短,操作简便且易于维护.
1 相关原理
1.1网站群思想
网站群是由统一规划建设的若干个能够相互共享信息、按照一定的隶属关系组织在一起,既可以统一管理,也可以独立管理自成体系的网站集合.它具有统一的数据基础和操作界面,可以快速建立标准且外观风格统一的网站.网站群系统的功能模块主要包括站点管理模块、动态内容管理模块、用户管理模块和模板管理模块.
1.2多站点管理技术结构
多站点管理是指系统同时创建与管理多个网站,网站之间通过配置实现层级关系,其结构如图1所示.
1.3服务端标记语言STL
该语言用于创建模版的服务器端语言,可以克服HTML(Hypertext Markup Language,超文本标记语言)的局限.它由两个通用部分构成:STL元素和STL实体.其中STL元素的作用是在模板页面中插入各种对象,如栏目属性(lt;stl:channelgt;)和内容列表(lt;stl:contentsgt;)等;STL实体的作用是在HTML元素或STL元素的属性中插入信息.其语法结构如下.
(1)STL元素的实现结构为:
lt;stl:a channelName=″栏目名称″gt;
lt;stl:channel type=″Title″gt;
lt;/stl:channelgt;
lt;/stl:agt;
STL元素由左尖括号(lt;)和右尖括号(gt;)以及位于二者之间的内容构成.和常见的HTML元素一样,有开始标记(如lt;stl:agt;)和结束标记(如lt;/stl:agt;).两个元素最大的区别是所有标记都以stl:作为名称空间开头.
(2)STL实体的实现结构为:
{Stl.SiteName}
STL实体由左大括号({)和右大括号(})以及位于二者之间的内容构成.STL实体分为通用实体({Stl.开头)、内容实体({Content.开头)、栏目实体({Channel.开头)等,这些实体能够嵌入到HTML语言或STL语言的任何位置.例如,在内容模版页中插入:
lt;stl:a title=″{Content.Title}″gt;lt;/stl:agt;),
表示获取标题内容.
1.4 ADO.NET技术
ADO.NET技术主要用来实现ASP.NET和SQL SERVER数据库之间的连接,其最核心的对象是DataSet,它是不依赖于数据库的独立数据集合,在内部用XML描述数据.在程序设计中通过DataAdapter对象来使用数据源中的数据生成和填充DataSet对象中的每个DataTable(表).ADO.NET中数据库对象的关系如图2所示.
2 系统架构设计
本系统的开发环境是Visual studio 2008和SQL Server2005,采用目前成熟的页面访问层、逻辑层和数据处理层三层架构技术,保证了系统的可扩展、可维护和安全性.页面访问层使用Ajax技术中的异步通信处理技术,提高了页面访问的速度.逻辑层实现系统的功能逻辑,各功能模块相对独立,方便后续扩展.数据处理层直接访问数据库,作为类方法供逻辑层调用,以此实现业务逻辑层与数据层的分离,保障了系统数据的安全.系统架构见图3.
网站群后台管理系统提供了20套课程模板,每套模板集成了内容管理、栏目管理、模板管理及表单管理等功能.系统管理员负责网站维护人员的创建及权限设置,并根据课程需要选择模板创建站点,并建立网站维护人员和站点的映射关联,网站维护人员通过后台管理系统,在自己的权限范围内对本课程网站进行维护和管理,主要是栏目管理和网页发布内容管理.
浏览人员(一般是学生)通过互联网直接访问网站前台页面,不受访问地址和内容的限制.
3 系统实现
根据本文提出的架构设计方案,具体实现了如下用例模型:管理员用例模型,如图4所示;站点管理员(课程负责人)用例模型,如图5所示.详细的实现方式如下.
3.1用户管理模块的实现
用户管理模块主要包括用户的添加和删除,以及与课程站点管理相关的映射权限分配.用户通过申请,由系统管理员建立账号、密码等基本信息完成注册,并通过权限分配功能,设置用户账号权限为站点管理员,实现用户与站点的一一映射关系.
3.2站点管理模块的实现
站点管理主要有站点的添加、删除、替换和网站属性管理等基本功能.站点的添加由系统管理员完成,生成时只要根据需要选择相应的模板,然后设置站点参数,如站点名称、文件夹名称等,系统就能根据模板自动生成课程网站,见图6.添加的站点都有各自的独立目录,网站维护人员增加的网站数据放置在数据库内.网站内容由内容管理系统管理.
站点的删除通过系统管理在后台直接删除,并将相关内容从数据库中删除.网站的替换功能允许用户更换模板样式;在实际使用过程中,用户如果觉得模板样式不符合自己的需要,可以选择符合要求的模板进行替换;用户选择不同的模板后,系统在后台通过替换按钮就能自动进行更换,通过栏目的调整,就可以使用原有的数据.
站点的属性管理针对站点的二级域名进行管理,系统管理员根据用户要求可以修改站点二级域名和网站首页标题名称.
3.3模板实现
模板管理是本系统的核心功能,系统定制了栏目模板、内容显示模板、在线答疑模板、首页显示模板等,这些模板使用标记语言格式,同时在系统中增加了适合动态提取数据的标记语言.如,stl:sqlContent用来行数据库获取数据;stl:sqlContents用来获取数据库数据列表.下面是利用这两个标记语言的核心代码示例:
lt;trgt;
lt;stl:contents channelIndex=″课程简介″ totalNum=″1″ order=″AddDate″ layout=″none″gt; /*本语句用来检索“课程简介”栏目*/
lt;td valign=″top″ style=″line-height:20px;″gt;lt;stl:content type=″Content″ wordNum=″180″gt;lt;/stl:contentgt;lt;/tdgt; /*本语句把“课程简介”的内容列表显示*/
lt;/stl:contentsgt;
lt;/trgt;
用户除了可以使用这些模板外,也可自己定制模板,并在创建栏目、显示内容时选择自定义的模板.
3.4栏目管理和内容管理的实现
这两个功能主要包括栏目和内容的动态添加、删除、修改等.根据课程建设的实际需求,用户可以在后台对模板提供的栏目进行修改以满足自己的需求,同时可以把不需要的栏目删除,创建新的栏目.设置好栏目后,用户可以通过内容管理功能对相应的栏目添加站点显示的内容.对栏目和内容的动态修改,通过生成管理即可完成网页发布,在网页前台浏览到实际效果.
3.5其他功能
包括二次开发功能的实现及其他后台管理功能等.
4 结束语
本文通过对网站群系统的研究,设计并实现了一套具有模板管理、站点管理、栏目和内容管理、用户管理及二次开发等功能的系统,有效解决了课程群的集中管理问题.目前在该系统中已经创建了230多门课程,课程负责人普遍反映使用方便,运行情况良好.
[1]江阳波.网站群在高校数字化校园中的建设与应用[J].科技广场,2012(1):104-106.
[2]张海攀,徐墨.多内容管理系统的网站群系统设计与实现[J].中国教育信息化,2011,23:69-70,82.
[3]沈军,杨小佩.网站集群管理探究[J].商业文化(学术版),2010(10):48.
[4]付向东,孙宁,何长鹏.高等院校站群系统建设与实践[J].中国教育信息化,2014(3):82-84.
[5]刘艳丽.高校网站群建设与管理探析[J].中国现代教育装备,2014(7):19-20.
2014-06-04
浙江省教育厅资助项目(Y201225830)
钱伟江(1977-),男,浙江嵊州人,实验师,主要研究方向:计算机应用.
TP393
A
1008-293X(2014)09-0025-04
(责任编辑邓颖)