GB/T 29811.1-2013 信息技术 学习、教育和培训学习系统体系结构与服务接口 第1部分:抽象框架与核心接口

GB/T 29811.1-2013 Information technology—Learning,education and training—Learning system architecture and service interface—Part 1:Abstract framework and core interface

国家标准 中文简体 现行 页数:155页 | 格式:PDF

基本信息

标准号
GB/T 29811.1-2013
相关服务
标准类型
国家标准
标准状态
现行
中国标准分类号(CCS)
国际标准分类号(ICS)
发布日期
2013-11-12
实施日期
2014-05-01
发布单位/组织
中华人民共和国国家质量监督检验检疫总局、中国国家标准化管理委员会
归口单位
全国信息技术标准化技术委员会(SAC/TC 28)
适用范围
GB/T 29811的本部分规定了学习系统的软件体系结构模型,以及服务的抽象框架,用于描述系统的上下文以及服务和接口的抽象表示,同时本部分按照该体系结构模型框架,定义了数字化学习系统软件中的核心服务接口。
本部分适用于不同的数字教育学习平台通用服务和接口的定义及数字教育学习平台的接口规范化。

研制信息

起草单位:
清华大学、华东师范大学、华中师范大学、中国标准化研究院、中国电子技术标准化研究院
起草人:
郑莉、张新钰、刘京、吴永和、刘清堂、王绚、刘银涛、许磊、李玉山、余云涛、刘颖、张荫芬、隋媛
出版信息:
页数:155页 | 字数:286 千字 | 开本: 大16开

内容描述

ICS35.240.99

L67

中华人民共和国国彖标准

GB/T29811.1—2013

信息技术学习、教育和培训

学习系统体系结构与服务接

第1部分:抽象框架与核心接

Informationtechnology——Learning,educationantraining——

Learningsystemarchitectureanserviceinterface—

Part1:Abstractframeworkancoreinterface

2013-11-12发布2014-05-01实施

GB/T29811.1—2013

目次

,、/•、-T

刖有I

引言n

1范围1

2规范性引用文件1

3术语和定义1

4框架1

5服务的分层结构6

6共性服务接8

7教育服务接30

附录A(资料性附录)JAVA接68

参考文献151

GB/T29811.1—2013

■ir■■i

刖吕

GB/T2981K信息技术学习、教育和培训学习系统体系结构与服务接》分为以下3个部分:

——第1部分:抽象框架与核心接;

——第2部分:教育管理信息服务接;

——第3部分:学习资源访问服务接。

本部分为GB/T29811的第1部分。

本部分按照GB/T1.1-2009给出的规则起草。

请注鳶本文件的某些内容可能涉及专利”本文件的发布机构不承担识别这些专利的责任.

本部分由全国信息技术标准化技术委员会(SAC/TC28)提出并归。

本部分起草单位:清华大学、华东师范大学、华中师范大学、中国标准化研究院、中国电子技术标准

化研究院。

本部分主要起草人:郑莉、张新饪、刘京、吴永和、刘清堂、王绚、刘银涛、许磊、李玉山、余云涛、刘颖、

张荫芬、隋媛。

T

GB/T29811.1—2013

引言

信息技术的发展带来了学习、教育和培训技术的全面革新,数字化学习越来越广为接受,成为传统

学习、教育和培训模式的新发展。

GB/T29811的本部分重点解决信息技术学习、教育和培训标准体系中学习资源的互操作以及学

习系统间的互操作问题。它从多个角度描述了数字化学习系统的软件体系结构、服务的分层结构,以及

服务的接口定义,解决学习系统之间组件级共享与交换问题,实现系统的互操作。

n

GB/T29811.1—2013

信息技术学习、教育和培训

学习系统体系结构与服务接

第1部分:抽象框架与核心接

1范围

GB/T29811的本部分规定了学习系统的软件体系结构模型,以及服务的抽象框架,用于描述系统

的上下文以及服务和接口的抽象表示,同时本部分按照该体系结构模型框架,定义了数字化学习系统软

件中的核心服务接。

本部分适用于不同的数字教育学习平台通用服务和接口的定义及数字教育学习平台的接口规

范化。

2规范性引用文件

下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文

件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。

GB/T5271.36信息技术词汇第36部分:学习、教育和培训(GB/T5271.36—2011,ISO/

IEC2382-36:2008,IDT)

GB/T16264.8信息技术开放系统互连目录第8部分:公钥和属性证书框架

3术语和定义

GB/T5271.36中界定的以及下列术语和定义适用于本文件。

3.1

互操作性interoperability

两个或多个系统间交换信息或协同丁作的能力。

注:互操作性关注的是系统间的信息交换,规范中并未对通信系统中数据如何管理做任何假设。

3.2

月艮务service

定义明确、具有自包含特性的功能单元,它的存在不依赖于系统的上下文或者其他服务的状态。

3.3

分层layering

搭建数字教育学习平台系统所需要的全部服务集合被划分为一组层次模型,每一层提供一组清晰

定义的服务。一个特定的层次会使用下层提供的服务,同时为上层实体提供服务。

4框架

4.1逻辑框架

图1中展示的是基于分层抽象的学习系统逻辑框架。等效的物理架构模型在图2中。

1

GB/T29811.1—2013

在逻辑框架中包括以下层次:

a用户:学习系统的用户包括学生、教师、管理员等,这些用户通过适当的用户代理对系统进行

访问;

b用户代理:将服务递送给用户;

c工具:工具可以让服务以方便而友好的方式被访问,这包括著作工具、仿真工具等;

d教育服务:面向教育领域的服务本身;

e共性服务:对于一些非数字教育学习平台系统同样可能需要用到的一些基础服务,例如认证、

资源发现服务等;

f数字资源库:对数字化资源素材的存储,可以是数据库、网络服务器、文件等形式;

g通信设施:基本的网络和数据传输服务,实现信息的端到端的递送。

逻辑框架的物理表示包括以下的核心结构:

a核心网络:包括如Internet在内的连接核心计算机系统的主要网络,是逻辑框架中通信设施的

一部分;

b接入网络:连接传输设备和核心网络的网络设施,典型的例子是电报网络、无线网络、公共开关

电话网络(PSTNs等。接入网络同样是通信设施的一个组成部分;

c数字资源库:系列数字资源可以通过各种数字资源库获得,如数据库、网络服务器等,对应逻辑

框架中的数字资源库;

d服务递送引擎:这些系统负责提供所有的教育服务,其对应于逻辑框架中的教育服务及支撑

服务;

e传输设备:设备及其客户端可以将学习资料传递并展示给用户,逻辑框架中的T具及用户代理

主要提供这些功能。

川户

刚/•代氐

JH

敎na(算

fty«ka

图1学习系统逻辑框架

2

GB/T29811.1—2013

传编tt券

農鼻週送忧■

图2学习系统物理结构

4.2功能模型

4.2.1概述

一个学习系统可以从几个不同视点分析其功能,这里给出两种视点的功能模型:

a内容视角:描述数字教育学习平台系统中,内容及相关信息流如何管理;

b个体视角:描述数字教育学习平台系统中,关于个体的信息流如何管理。

这些功能视点指岀了学习系统内的互操作点,就是图3箭头所示。

图3内容视角

4.2.2内容视角

如图3所示,内容视角共有四个关键的功能设计:

3

GB/T29811.1—2013

a内容资源库以及课程目录的源生成器:包括内容对象的创作工具、内容装备工具和目录管理。

b)内容资源库以及课程目录:学习资料的存储以及列表描述这些资料的目录。

c核心学习活动:作为履行学习过程的结果,将会产生学习者概况的变化,这些活动是:

1)学习计划:计划在什么时间完成什么样的学习内容;

2)学习者注册:在所提供的适当课程中进行注册;

3)递送环境:针对学习资料完成学习;

4)协作环境:与课程的其他参与者协作学习;

5)评估/测试引擎:对已完成的学习内容进行评估。

d学习者概况管理:管理学习者个人的概况信息。

4.2.3个体视角

共有4个关键的功能配置,如图4所示:

a个人信息和工作的源生成器:包括文体创作T具、资格学力许可(QCL权限和仲裁。

b)个人信息资源库:管理个人维护的资源库中的学习者信息。

c核心活动:作为履行学习过程的结果,将会产生学习者概况的变化,这些活动是:

1)训练计划:计划在什么时间完成什么样的学习内容;

2)学习递送:训练(关注协作和训练)和教育(关注资格)的递送;

3)学习活动:正常的工作活动,可以为学档体验产生一定范围内的材料;

4)评估/测试引擎:对已完成的学习内容进行评估。

d人力资源库:管理人力资源系统中的学习者信息。

图4个体视角

4.3软件体系结构

图5以分层模型描述了学习系统的软件体系结构。

4

GB/T29811.1—2013

:''"i

月户(讣〕

用〃代坪

(材诈)3)

a叭麗)「Of"ifHIT

J丿x->

m.(CE)a〕

Ui£J(厲以::;l)

真ft*鈔11建、:A-'MI

JQiRUft0^0

伊习疋永j

图5学习系统的软件体系结构

a教育应用层:这一层是一些核心应用以及其他应用,用于将适当的教育服务呈现给用户,例如

学习内容管理系统、评测系统。应用程序可以使用一个或多个教育服务,必要的时候可以跨层

调用共性服务;

示例1:评估系统:用于评估人们对某一特定内容领域的理解水平,形式上可以分为小测验和正式的考试。

示例2:内容著作工具:支持学习内容开发的应用程序。著作的类型包括支持本地XML内容和通过可重用的

内容集来创建新的内容。

示例3:学习内容管理系统:能够更加灵活地管理学习资源(如内容包装中的个人资源文件)中的索材(如图

像、文本、动iffli等)。有些情况下,可能涉及作为XML描述内容存储的个人资源,它们被动态转换成其他表现

形式,如HTML.PDF等。转换的文件接下来包装成内容包装中的资源。

示例4:学习管理系统:用于管理学习者信息,学习过程,以及学习成果报告的应用程序。学习管理系统的任

务是管理系统学习活动,以及向相应的支持系统报告学习成果。

示例5:学生信息系统:学生信息的管理信息系统。这个系统会维护所有和学生学习相关的信息,同时也会和

学习管理系统,学习内容管理系统等进行信息交换。

b教育服务层:为教育应用提供数字教育平台领域必需功能,一个教育服务可能使用一个或多个

共性服务,并可能会跨层调用基础设施中的功能;

c共性服务层:提供基础的、公共的功能,为教育服务层提供支持;

d基础设施层:为教育服务和共性服务提供端到端的事务处理和通信服务,包括各种软硬件支

持,如数据库管理系统、操作系统、目录服务器、应用服务器、网络环境等。

5

GB/T29811.1—2013

5服务的分层结构

5.1服务框架

图6描述了与学习系统软件体系结构模型相对应的服务框架,该框架采用分层结构来组织共性服

务和教育服务。

模心虑用

卞〉m

It仃

夬性IM务

*岀役啟,1,,、hr■务

图6服务框架

5.2共性服务层

下面所列出的共性服务并非完备集合,但可以表明所列的服务都是不同应用程序或教育服务将会

需要用到的:

a)基础(Base)服务;

b)认证(Authentication)服务;

c)授权(Authorization)服务;

d)数据库管理(DatabaseManagement)服务;

e)版权管理(DigilalRightsManagement)服务;

f)目录(Directory)服务;

g)文件(FileManagement)服务;

h)标识(Identification)服务;

i)日程(Scheduling)服务;

j)日志(Logging)服务;

k)消息(UserMessaging)服务;

6

GB/T29811.1—2013

l)工作流(Workflow)服务;

m)XML服务。

5.3教育服务层

教育服务层的目的是为了指出核心的教育服务集合,仅有部分教育服务列出了细节,这些服务可以

直接用于数字教育学习平台应用程序的开发’目前确定的教育服务核心集有:

a)评估(Assessment)服务;

b)班级管理(ClassManagement)服务;

c)日历(Calendar)服务;

d)协作(Collaboration)服务;

e)学历管理(CompetencyManagement)服务;

f)课程管理(CourseManagement)服务;

g)学习对象管理(LearningObjectManagement)服务;

h)内容包装(ContentPackaging)服务;

i)组管理(GroupManagement)服务;

j)学习设计(LearningDesign)服务;

k)学习活动管理(LearnerProgressionManagement)服务;

l)成员管理(MembershipManagement)服务;

m)元数据管理(Mcta~dataManagement)服务;

n)电子学档管理(PortfolioManagement)服务;

o)偏好管理(ProfileManagement)服务;

p)编列(Sequencing)服务;

q)仿真(Simulation)服务。

5.4教育应用层与服务的关系

教育应用层是一些与学习相关的应用程序,应用程序可以使用一个或多个教育服务,必要的时候可

以跨层调用基础服务。

5.5基础设施层与服务的关系

为基础服务和教育服务提供端到端的事务处理和通信服务,包括各种软硬件支持,如数据库管理系

统、操作系统、目录服务器、应用服务器、网络环境等。

5.6分层结构与核心服务接口的关系

本部分所给出的核心服务接口按照服务的分层结构进行定义,且所定义的服务接口与服务的分层

结构中的服务有着直接的对应关系,一个服务的功能由多个接口来构成。

接口给出的是系统行为模型,并不强制绑定到某种具体语言。为了便于理解和直接用于开发,附录

A给出了服务接口的Java语言绑定。

本部分所给出的是服务接口的核心集。根据服务的分层结构的分层,将核心服务接口分为:共性服

务接口和教育服务接。

7

GB/T29811.1—2013

6共性服务接

6.1基础(Base)服务

6.1.1服务描述

基础服务提供的是一些基础接,供其他接口使用,这些接口通常会被继承。

6.1.2Manager接

Manager是将应用程序绑定到具体服务实现的关键,接口的描述需要定义一个接口扩展Manager,

而接口的实现要求以一个类实现具体的Manager。应用程序直接或间接通过Manager访问服务对象。

Manager接口定义如表1所示。

表1Manager定义

成员返回值/类型参数说明说明

getContextCeltsContext无获得传递的上下文内容

assignContext空context:CeltsContext给上下文赋值

assignConfiguration空configuration:Properties对环境参数赋值

6.1.3Properties接

Properties接口用于返回对象的一些只读属性,这些属性通过一系列串行化的值得到,并用关键码

标记。Properties接口定义如表2所示。

表2Properties定义

成员返回值/类型参数说明说明

getTypeCeltsType无获得属性类型

getProperty可序列化对象key:属性的关键码,可序获得属性

列化对象

getKeysObjectiterator无得到属性的关键码

6.1.4CeltsContext接

CeltsContext包含应用程序共用的语境信息。CeltsContext接口定义如表3所示。

表3CeltsContext定义

成员返回值/类型参数说明说明

assignContext无key:字符串为CeltsContext的语境信息的内

context:可序列化对象容赋值

getContext可序列化对象key:字符串得到CeltsCcntext的语境信息

8

GB/T29811.1—2013

6.1.5Iterator接

Iterator提供的是迭代器接,用于数据的批量读取,对于具体的对象类型,将通过继承Iterator类

实现自己的迭代器接。Iterator接口定义如表4所示。

表4Iterator定义

成员返回值/类型参数说明说明

hasNext布尔值无是否还有下一个元索

Next空无取下一个元素

6.1.6Propertieslterator接

Propertieslterator接口定义如表5所示。

表5Propertieslterator定义

成员返回值/类型参数说明说明

hasNextProperties布尔值无是否还有下一个属性

nextPropertiesProperties无取下一个属性

6.1.7CeltsType接

CeltsType接口按照事物的基木概念进行分类,被用于各个接口中。CeltsType的精确定义由使用

者确定,CeltsType接口的形式也有利于分类,CeltsType有4个字符串属性:authority、domain、

keyword以及description,前3个元素被isEqual成员用来判断两个CeltsType对象是否相等,descrip­

tion用来阐明实例的语义。CeltsType接口定义如表6所示。

表6CeltsType定义

成员返回值/类型参数说明说明

getAuthority字符串无获得CeltsType的authority

getDescription字符串无得到CeltsType的描述

getDomain字符串无得到使用域

getKeywoid字符串无得到关键字

isEqual布尔值celtsType2:CeltsType判断两个CeltsType对象是否相同

6.1.8Typeiterator接

Typeiterator接口定义如表7所示。

9

GB/T29811.1—2013

表7Typeiterator定义

成员返回值/类型参数说明说明

hasNextType布尔值无是否还有下一个类型

nextTypeCeltsType无取下一个类型

6.1.9Idlterator接

Idlterator接口定义如表8所示。

表8Idlterator定义

成员返回值/类型参数说明说明

hasNextld布尔值无是否还有下一个ID

nextldId无取下一个ID

6.1.10Objectiterator接

Objectiterator接口定义如表9所示。

表9Objectiterator定义

成员返回值/类型参数说明说明

FiAsNextObjecI布尔值天是否还有下一个对象

nextObject可序列化对象无取下一个对象

6.2认证(Authentication)服务

6.2.1服务描述

认证服务从学习代理处收集必要的认证信息,以确保认证的真实性。这样调用此服务的应用程序

就可以确定并处理学习代理的认证状态,而不必管理一个特定机构环境的细节内容。此服务需要建立

在各种认证设施之上,并基于cookie的单点签入技术,如webIS()o

一些应用程序依靠用户名/密码进行认证,也有的是基于授权证书,大部分用户认证是本地化的,但

也有一些是远程认证。这种范围在接口上使用认证类型的概念来表示。并且一个机构范围内会有一个

默认类型和经常使用的一些通用认证方法。

学习代理,通过一个或多个这样的类型得到认证。很多情况下,在一次会话中一个代理可能会进行

多次认证。这主要发生在一个学习代理从一种学习活动转向另一种学习活动的时候,例如检查班级进

度日程,可能只要用户名和密码就足够了,而更新最终的学习成绩宜需要的是GB/T16264.8证书

(X.509)以确保更高水平的安全认证。

6.2.2AuthenticationManager接

AuthenticationManager接口定义如表10所示。

10

GB/T29811.1—2013

表10AuthenticationManager定义

成员返回值/类型参数说明说明

getAuthenticationTypesTypeiterator无获得认证类型

authenticateUser空authenticationType:CeltsType根据认证类型对用户认证

isUserAuthenticated布尔值authenticationType:CeltsType判断用户是否已经过认证

getUserldIdauthenticationType:CeltsType得到认证用户的ID

destroyAuthentication空无清除认证记录

destroyAuthenticationFor空authenticationType:CeltsType清除同类型的认证记录

Type

6.3数据库管理(Databasemanagement)服务

6.3.1服务描述

数据库管理服务提供了数据库管理的基本操作,包括对关系数据库中常用数据类型的封装定义,以

及存収操作及结果表达的定义。

6.3.2B】ob接

Blob是关系数据库中常用的一种类型,在Blob列中可以存放大数据量的二进制数据,如图片,音

频数据等,该接口提供对数据表中Blob列的访问。Blob会记录当前的读写位置,是一个长型整数。

Blob接口如表11所示。

表11Blob定义

成员返回值/类型参数说明说明

length长型整数无返|n|该Blob数据的长度,单位字节

getBytes字节数组pos:长型整数从pos指定的位置开始,读取length字节的数

length:整型据,结果以字节数组形式返冋

setBytes整型position:长型整数将bytes所含数据写入该Blob中从position开

bytes:字节数组始的地方

setBytes整型position:长型整数将bytes中从offset开始的长度为length的数

bytes:字节数组据写入该Blob中从position开始的地方

offset:整型

length:整型

6.3.3Clob接

Clob是关系数据库另一种常用的类型,在Clob列中可以存放大量的字符数据,如大量的文本,该

接口提供对数据表中Clob列的访问。Clob接口定义如表12所示。

11

GB/T29811.1—2013

表12Clob定义

成员返回值/类型参数说明说明

length长型整数无返冋该Clob数据的长度,单位字节

getSubString字符串POS:长型整数从pcs指定的位置开始,读取length个字符,结

length:整型果以字符串返回

setString整型pos:长型整数将string字符串写入该Clob中从position开

string:字符串始的地方,返冋成功写入的字符数

setString整型pos:长型整数将string字符串中从offset开始的长度为

string:字符串length的子字符串写入该Clob中从position开

offset:整型始的地方,返冋成功写入的字符数

length:整型

6.3.4Connection接

Connection接口代表了一个到数据库的连接,通过该连接可以执行数据库的查询、修改操作,另外

不再使用的数据库连接可以释放,以节省数据库连接资源。Connection接口定义如表13所示。

表13Connection定义

成员返回值/类型参数说明说明

执行sql所表示的查询语句,结果以Re

executeQueryResultTableSql:字符串

sultTable返回

executeQueryWithParamsResultTablesql:字符串执行sql所表示的查询语句,sql中的占位

params:字符串数组符使用params提供的具体值替换,结果

以ResultTable返回

executeUpdate整型Sql:字符串执行sql所表示的更新语句

executeQueryWithParams整型sql:字符串执行sql所表示的更新语句,sql中的占位

params:字符串数组符使用params提供的具体值替换

close空无关闭该连接

6.3.5ResultMetaData接

ResultMctaData接口可以获取关于一个RcsultTable的列的信息,如类型、列名称等;ResultMcta-

Dala通过RcsultTable的getMetaData方法获取,提供关于对应RcsultTable的元信息。ResultMcta-

Dala提供如下信息:列数目、列名称、列类型、列显示时需要的宽度(字符宽度)、是否接受NULL值等。

ResultMetaData接口定义如表14所示。

12

GB/T29811.1—2013

表14ResultMetaData定义

成员返冋值/类型参数说明说明

getColumnCount整型无获取列数目

getColumnName字符串columnindex:整型获取列columnindex的名称

getColumnType整型columnindex:整型获取列columnindex的类型常量

getTableName字符串columnindex:整型获取列columnindex原先所属的表名

getColumnDisplaySize整型columnindex:整型获取列columnindex显示时需要多少字符宽度

isNullable布尔值columnindex:整型判断列columnindex是否可接受NULL值

isReadOnly布尔值columnindex:整型判断列columnindex是否只读

isWritable布尔值columnindex:整型判断列columnindex是否可写

isSearchable布尔值columnindex:整型判断列columnindex是否可以被搜索

6.3.6ResultTable接

ResultTable用来表示数据库查询结果,提供方法获得结果表格中每条记录的数据。ResultTable

继承cn.edu.celtsc.intf.common,base.Iterator,可以依次遍历ResultTable中的各个记录(行),进而读

取数据。ResultTable接口定义如表15所示,继承iterator接。

表15ResultTable定义

成员返回值/类型参数说明说明

getMetaDataResultMetaData无获得结果表格的原数据,如表名等

getBoolean布尔值columnindex:整型获得当前行列序号为columnlndex的布尔值

getlnt整型columnindex:整型获得当前行列序号为columnlndex的整型值

getDouble双精度型columnindex:整型获得当前行列序号为columnlndex的双精度值

get字符串字符串columnindex:整型获得当前行列序号为columnlndex的字符串值

getDate字符串columnindex:整型获得当前行列序号为columnlndex的Date值

getTime字符串columnindex:整型获得当前行列序号为columnlndex的Tim巳值

getBlobBlobcolumnindex:整型获得当前行列序号为columnlndex的Blob值

getClobClobcolumnindex:整型获得当前行列序号为columnlndex的Clob值

getBytes字节数组columnindex:整型以字节数组的形式获得当前行列序号为

columnindex的值

wasNull布尔值无判断结果表格是否为空

isFirst布尔值无判断当前位置是否在表格的第一行

isLast布尔值