袁凯烽++乔丽娟
摘要:总结以往的资源库建设中存在的不足的基础上进行了改进,研究了基于WEB的专业教学资源库的分析与设计,加强了资源库平台的顶层设计,采用SaaS(软件即服务)的模式进行架构,实现资源库系统可扩展、可配置,使资源库平台建成一个服务于多类对象的“学习中心”,设计满足不同专业的需要的集教学、学习、管理、交流于一体的互动化、多元化的共享式的专业资源库系统。
关键词:教学资源库;SaaS;可配置
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)21-0080-03
The Analysis and Design of the Professional Teaching Resource Library Based on Saas Architecture
YUAN Kai-feng1, Qiao Li-juan2
(1. Changzhou Vocational Institute of Light Industry, Changzhou 210000, China, 2. Changzhou Textile Garment Institute, Changzhou 210000, China)
Abstract:This essay summarizes the shortages of previous studies on teaching resource database and focuses mainly on the analysis and design of teaching resource database based on web. It emphasizes how to build a professional resource database system which can also be described as a “studying centre” towards multi-kinds of objects by extending and allocating resouces under the framework of SaaS(Software-as-a-Service) Model.
Key words: teaching resouce database; SaaS(Software as a Service); resource allocation
随着信息网络技术的发展,信息化手段在教育教学过程中已经得到了广泛的应用,现代信息技术成为了提高教学质量的重要手段,而资源又是教育信息化的核心,因此,学校要想促进教育教学改革,全面推进素质教育,只有利用专业教学资源的建设,不断推进教学资源的共建共享,这对深化教育教学改革,实现现代化教育有着非常重要的推动作用。
1 系统分析
目前资源库网站的形式主要还是以资源展示为形式,网站通过将专业资源库的相关知识资源进行广泛的共享,使更多的教师、学生、学习人员从资源库网站中获得相应的知识信息。但是在各专业资源库的建设还存在着诸多技术方面的问题,如周期较长,维护更新难,技术水平良莠不齐等。
本系统设计主要是实现基于SaaS架构的的专业教学资源库系统。用户在使用系统中各个不同类型的相关专业教学资源,根据各个用户的不同的权限来对各教学资源进行操作管理和维护的专业资源库系统,并且该系统能满足不同需求的专业。在设计过程中要做到一次开发一次部署。利用专业教学资源库来提升本专业的教学水平和质量,同时也可利用该系统来进行网络辅助教学。这是采用SaaS模式来对专业资源库进行开发的重要原因。
2 SaaS体系架构设计
SaaS是英文Software as a Service的缩写,中文意思就是:软件即服务。
SaaS的核心概念是软件的服务化。即,SaaS将软件看作是一种服务,而不是一种商品。SaaS的基本理论认为,软件的实质是服务。用户对软件的需求实际上是对应用服务的需求,而用户使用软件实际上是在消费应用服务。软件的用户是服务的需求者和消费者,而软件的提供者是服务的提供者和生产者[1]。
传统的架构是针对单类用户定制的应用性的软件,只仅仅是对一类用户实现其需求,在开发初期就设计完成,没有相应的针对性的配置问题。而在SaaS架构模式下,专业教学资源系统是开发针对于不同的专业,也即针对不同的租户。每个专业的专业教学资源库可以为其自己的菜单进行设定,专业风格进行界面定制。
因对于专业教学资源库平台的建设是面向于不同的专业,不同的专业资源的需求对于开发者来说,很难做到每个租户的需求的统一[2]。因此在SaaS服务模式中必须要增加其配置的灵活性,这样可以让不同需求的租户进行按照其专业特性的需要进行独立的配置。而对于系统管理员来说在配置层中重点任务是对各租户配置信息进行保存,满足他们不同的需求,这较好地体现了SaaS服务模式的按需使用[3]。图1为SaaS模式体系架构主要包括六个方面。
1)元数据服务:主要是用于满足不同租户的配置需求。包括用户界面的配置,资源栏目配置,功能配置、菜单配置等可配置的相关信息,通过可配置来实现不同租户的要求。
2)安全服务:主要工作是对各用户的访问服务请示进行认证,返回用户认证的结果,通过元数据中获取相应的配置信息后,在其可操作的权限范围内进行业务服务。
3)数据层:处于最底层,主要是保存专业资源库系统所需使用和保护的数据,包护各专业的资源类信息,以及为实现个性化配置的元数据及各租户的基本设置信息等。
4)数据访问层:还是作为业务逻辑层与数据层之间的中间层,主要工作就是对数据层的存取数据层中的元数据,租户业务数据等相关数据,为上层提供服务。
5)业务逻辑层:主要实现业务逻辑,为用户提供业务服务,由分配为用户的实例调用。
6)客户端、表示层:人机交互层,用户交互主界面采用浏览器方式将用户请求交给业务层。
3 系统的功能模块设计
在SaaS模式中,我们所面对的是众多的不同的租户,我们不可能要求他们具有相同的功能。对于大部分人来说用的是部分的功能。这是SaaS所强调的“按需使用,按需付费”[4]。多租户应用能够支持购买自己所需要的功能,不同的租户采用不同的功能集合,这就是功能可配置。其基本的思想就是将整个系统的应用进行细分,分解成每个,互相独立,基本的功能不重叠的原子功能。不同的租户的功能集,也就是由这些原子功能集所叠加起来的。因此在对我们专业资源库系统进行功能设计的时候,我们首先要做的就是对前面所获取的需求分析进行整理,将其分解,最后整理出资源集合。
3.1 原子功能划分
在对原子功能的进行划分的时候,针对用户来说,每个功能都要有特定的价值。对无意义的步骤不要进行划分。同时在分解过程中,关注原子功能之间的关系。不能有重叠的功能。在对整个原子功能进行划分后,他们彼此之间,如果需要使用这些功能的话,那必须要对他们相互之间有关联原子功能进行定义集合,这种方式也就是定义功能包。[5]独立的原子功能是不能被用户所用的,而功能包的形成则是供用户选择使用。如图2所示,为本系统的相关功能的原子功能划分。
3.2 静态建模
静态建模主要是由类图来表达,主要定义系统中相关的类,以及类之间的相互关系,如图3所示是专业教学资源库部分类图。
4 多租户数据模型
在SaaS模式中,对各个用户的数据进行隔离是很重要的工作。常见SaaS系统的数据模型主要有三种形式,分别为独立数据库,共享数据库,模独立,以及共享数据库。
在本专业教学资源库中,采用共享数据库,共享Schema的方案。共享数据库,共享Schema:即为所有的Tenant共享同一个数据库,同一个Schema, 在数据库中主要通过TenantId来区分各个Tenant的数据,这种方案最大的优点就是成本低,可支持的Tenant数量最多。[7]这种方式主要的实现就是一个数据库一套数据表,对所有的客户的所有的数据进行存放。
通过对本系统进行的需求分析、系统流程设计以及系统功能结构的确定,规划出系统中使用的数据库模型,如图4所示为平台租户相关的数据模型。
5 可配置性实现
可配置性是整个SaaS的开发核心与难点所在。因为在设计过程中用户要求是个不确定因素。对于专业资源平台,主要有以下几个不确定的因素,资源属性的不确定性,功能配置的因素,菜单可配置以及专业资源库的界面的不确定。主要采用SaaS对以下几个方面进行实现。
5.1 数据可配置
定制字段是传统应用开发中扩展数据字段采用最常见的一种解决方案。它的主要的表现方式就是在数据库表上增加相应的扩展定制字段来扩展数据。预分配字段是指针对用户可能出现的扩展需求,在原数据库表中预设一定数量的扩展字段。各称值对是数据库中每一条原数据记录的每一个扩展字段都生成一条扩展的数据行。然后将数据表中的相关联数据记录与配置的元数据表中的相关配置记录进行相关联操作,这样构成扩展数据记录。该方式对数据的扩展性、灵活性来说比较高,但是数据库表的设计复杂较高,性能也比较低。
在系统资源库的设计过程中,对于资源信息等相关表的数据扩展最要通过名称值配对形式进行解决。
如图5所示,在对ResourceType表进行字段扩展的时,在ExtValue扩展数据中增加相应的实体实例的扩展数据,而对于扩展字段的说明则存放在MetadataFields表中,ExtValue表中的RecordId关连ResourceType中的ResourceTypeId,FieldId对应MetadataFields中的id 。这种扩展方式的优点就是扩展字段的数量不会受到限制,有多少扩展数据存多少,数据没有冗余,能最大化地满足自定义的需求。
5.2 功能可配置
对于专业教学资源库,我们所面对主要的对象主要还是各个专业。在对专业教学资源库功能进行可配置的时候,首先要做的就是将整个系统的功能进行分解,分解成最基本的,彼此相对独立、相互不重叠的整个系统的原子功能。而各个专业所对应的专业教学资源库,其实就是对各个原子功能进行的叠加,而对于专业资源管理员来说,他们所创建用户的功能也可以理解为原子功能的叠加。
5.3 界面可配置
页面可配置不同的租户对不同页面都有着不同的需求,租户的个性化需求针对着页面上不同的元素含义。针对我们专业资源系统来说,主要的页面可配置主要是实现在其页面样式,我们在对本系统的模板进行开发的过程中采用的WEB标准来对整个模板页进行设计。WEB标准制作网页要求,文档、样式与动作完全分离,文档所显示的主要是页面的内容,而样式表里主要呈现的是页面所采用的样式。因此,页面可配置主要采用的还是通过CSS样式表由JavaScript操作来呈现。
6 结束语
针对目前的专业资源库的国内外现状,本文提出了基于SaaS架构的专业教学资源库的开发平台的分析与设计,目前该平台已使用于学校各专业资源库的建设中,在使用中可方便快捷生成不同专业类型的资源库,简化了建设资源库的时间,降低成本,开成了开发专业资源库统计标准与规范。
参考文献:
[1] 杨平, 王平. 各类参考文献的著录格式及示例[J]. 计算机研究与发展, 2011(1): 88-89.
[2] 蔡维华, 马乐, 王华, 等. 基于IGES文件的舰船航行性能数值仿真模型[J]. 计算机应用与软件, 2012, 29(2): 192-194, 236.
[3] Moore B, Mahmoud Q H. A Service Broker and Business Model for SaaS Application[J]. The Third International Conference on Internet and Web Application and Services, 2008, 6.
[4] 李远飞. 基于SaaS模式的钢材运输管理平台的设计与实现[D].上海: 复旦大学图书馆, 2011.
[5] ChangJieGuo. 使用IBM中间件实现SaaS解决方案[EB/OL].[2009-08-17].http://www.ibm.com/developerworks/cn/webservices/ws-multitenantpart4/.
[6] 师春晓, 房俊, 亓开元,等. 基于SaaS 模式的科技信息资源托管系统[J]. 计算机工程, 2012, 38(1).