基于EMIF的教育管理信息系统的互操作

来源 :硅谷 | 被引量 : 0次 | 上传用户:qazwsx07555
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]随着国家教育信息化工程的全面推进,高校的校园教育管理信息化系统之间需要实现数据共享和互访,使教育部门内部各应用软件之间实现互操作;使互操作过程与操作系统无关、与传输协议无关、与程序语言无关。
  [关键词]ZIS EMIF 教育管理信息系统 互操作 教育管理信息化
  中图分类号:C94 文献标识码:A 文章编号:1671-7597(2008)1010059-02
  
  教育管理信息系统互操作规范是为了使各类教育管理软件(教育管理信息系统)之间能够彼此交换和使用教育管理信息而制定的一套技术规范。教育管理信息系统互操作框架(education management information system interoperability framework,简称EMIF)是由各类教育管理软件,它们的代理(agent)和一个区域集成服务器(zone integration server,简称ZIS)构成的开放型网络系统。
  ZIS作为各教育管理软件之间通信的中介,处于所有信息通道的中间,任何信息交换过程都通过ZIS间接实现。代理是附属于教育管理软件的一个应用程序,它是教育管理软件与ZIS之间实现通信的接口。EMIF规范正是基于此框架的,由全国信息技术标准化技术委员会教育技术分技术委员会提出,由全国信息技术标准化技术委员会教育技术分技术委员会负责解释,由北京师范大学现代教育技术研究所起草,目标是使任何符合EMIF规范的应用软件都可以成为EMIF的组件,并与EMIF中其他组件实现信息交换。使用本规范可以解决以下问题:
  1.使教育部门之间各应用软件之间实现互操作;
  2.使互操作过程与操作系统无关、与传输协议无关、与程序语言无关;
  3.兼容不同厂商的软件产品,避免行业垄断;
  4.通过互操作避免软件重复开发和资源浪费;
  5.通过互操作为教育管理的科学决策建立基础。
  Emif规范在制订中借鉴了大量现有技术,如TCP/IP和HTTP协议;XML、DTD和XML Schema;加密、身份认证和数字签名;数据库等等。emif规范的适用范围是国内应用的各类教育管理软件,用于解决各级教育行政区域内教育管理软件之间的互操作问题,这个区域可以小到一间学校,大到一个市或省,甚至一个国家。EMIF最适宜解决两类典型的互操作问题:一是学校内部或教育管理部门内部各教育管理软件之间的互操作问题,二是学校和教育管理部门之间的教育管理软件之间的互操作问题。
  EMIF是一个分布式开放型网络系统,它由一个ZIS和若干应用软件代理构成。EMIF的基本结构是:EMIF中各应用软件以代理作为接口,通过ZIS间接实现信息交换(见图1)。
  


  代理的主要功能是将应用程序提交的数据绑定为符合EMIF规范的XML报文,或将XML报文解析成应用程序可理解的数据格式。代理作为EMIF的组件,不必是一个独立的应用程序,它可以作为一个逻辑部件集成在应用软件内部,也可以作为一个独立实体挂在应用软件外部。
  ZIS是EMIF中的管理中心,它处于所有信息通道的中间。ZIS的主要功能是将发信方代理的报文恰当的转发给接收方代理。发信方代理和接收方代理之间不直接进行通信,它们之间的通信都通过ZIS间接实现。
  图一是EMIF在学校区域的典型应用架构模型。假设在一个学校内已有如下应用软件:学籍管理系统、成绩管理系统、图书馆管理系统、人事管理系统等。按照EMIF的要求,给各应用软件增加一个代理,并增设一台ZIS,上述应用软件就构成了一个EMIF区域(如图1所示)。EMIF区域中的各应用软件已经具备了信息交换的能力,如果成绩管理系统和图书馆管理系统需要共享学籍管理系统的学生信息,那么通过ZIS,学籍管理系统的学生信息就可以及时更新到成绩管理系统和图书馆管理系统中。
  在EMIF区域中的交换数据都已格式化,被描述为数据对象,数据对象只有封装在用XML表示的报文中传递。
  在EMIF区域中执行互操作的应用程序称为组件,典型的EMIF组件包括区域集成服务器ZIS、应用程序及其代理。区域集成服务器负责在代理之间转发报文、控制信息流动;代理是应用程序的接口,它负责实现应用程序与区域集成服务器之间的信息交流。各组件之间的数据交换主要包括两类,一是获取数据,一是更新数据。基于这两类数据交换,EMIF定义了两种数据交换模型,即“请求-应答模型”和“发布-预约模型”。其中,请求-应答模型是指当代理需要数据时即制作一个请求报文发送给ZIS,ZIS将请求报文转发给应答代理,应答方代理即反馈一个应答报文,并通过ZIS转发给原请求方代理。发布-预约模型是指当应用程序更新本地数据后即通过它的代理制作一个事件报文发送给ZIS,ZIS负责将该事件报文发布给所有关心该数据的其他代理。
  下面举例说明请求应答模型的实现。假设在一个EMIF区域中已有学生管理系统、图书馆管理系统和教学管理系统,现在图书馆管理系统和教学管理系统需要从学生管理系统中获取学生数据,那么它们之间的报文传递关系如下所述(见图2):
  
  1. 注册:各代理向ZIS发送注册报文,注册成为区域中的组件。(已注册则不必重复此过程)
  2. 提供:代理3向ZIS发送提供报文,成为学生数据的提供者。(已成为提供者则不必重复此过程)
  3. 请求:代理1和代理2分别向ZIS发送请求报文,请求获取学生数据。
  4. 转发:ZIS接收代理1的请求报文1,指定代理3为应答者,并将请求报文1传递给它(同样处理请求报文2)。
  5. 应答:代理3处理请求报文1,返回应答报文1给ZIS(同样处理请求报文2)。
  6. 转发:ZIS接收代理3的应答报文1,将该报文转发给代理1(同样处理应答报文2)。
  由于数据对象的更新事件包括数据的添加、修改和删除。当应用程序更新了它的数据对象时,应通过事件报文将更新事件传递给ZIS。数据对象的使用者(应用程序)如果希望及时获取数据的更新情况,应向ZIS预约数据对象的更新事件。预约通过向ZIS发送预约报文实现。事件发布者将数据对象的更新事件传递给ZIS后,ZIS负责将它传递给所有预约该数据对象更新事件的预约者。ZIS转发事件报文时不会通知原事件发布者,因此事件发布者在完成事件发布后,就无需关心将有哪些应用程序接收更新事件,以及更新事件是否已传递给预约者。下面举例说明发布预约模型的实现。假定在一个EMIF区域中已有学生管理系统、图书馆管理系统和教学管理系统,现在图书馆管理系统和教学管理系统需要与学生管理系统的数据更新同步,那么它们之间的报文传递关系如下所述(见图3):
  1.预约:代理1和代理2分别发送预约报文给ZIS,预约学生数据的更新事件。
  2.发布:代理3在更新学生数据后即向ZIS发送事件报文,发布学生数据的更新事件。
  3.转发:ZIS将代理3的事件报文分别转发给各预约者代理1和代理2。
  在EMIF中代理与代理之间的通信本质上是采用异步通信方式,即当发信方代理将报文传递给ZIS后,ZIS不保证接收方代理可以立即收到发信方代理的报文,也不保证发信方代理可以立即收到接收方代理的应答报文。这种异步通信模型类似于现实中的e-Mail或邮局通信:发信人送出了信件,但无法确定信件何时到达,以及何时将收到回信。采用异步通信能够保证通信达到较高的可靠性和可测性。代理与ZIS之间的报文循环应采用同步方式,即当代理发送报文给ZIS后,ZIS应实时的将通知报文反馈给代理;相反,当ZIS使用“推”模式向代理传递报文后,代理也应实时的将通知报文反馈给ZIS。
  EMIF的安全模型包括三个方面:加密、身份认证和存取控制。加密和身份认证机制允许发信方代理向ZIS要求建立传输通道时应达到某种加密和身份认证级别,存取控制机制允许区域管理员手工实现对代理的操作权限实行控制。加密的作用是保证只有报文发信方和接收方能够看到报文内容。如果从完全安全的角度考虑,代理和ZIS之间的任何通信都应进行加密。这里数据加密不依赖于传输层实现,采用XML加密。身份认证的作用是保证报文作者是真实作者。一方面,身份认证可以防止区域外的代理伪装成区域内的合法代理,伪造报文以获取或篡改EMIF数据。另一方面,身份认证可以防止EMIF报文在传输过程中被他人恶意篡改。这里建立在XML数字签名的基础上。存取控制的作用是管理代理对数据对象的访问权限,包括提供、预约、发布、请求、应答等。存取控制功能由ZIS实现。代理和ZIS都应具有一个区域内唯一的标识。所有EMIF数据对象都有一个RefId属性(或学生RefId、学校RefId,诸如此类)作为数据对象的标识。为保证标识的唯一性和标识产生的一致性,规范中要求采用GUID作为数据对象的标识。应用程序在成为EMIF组件之前配置一个代理。代理作为应用程序的扩展,主要用于完成与ZIS的通信。很多情况下,代理被视为是应用程序的一个特殊客户端,运行于应用程序的后台,执行EMIF的要求。代理首先支持并使用EMIF HTTP协议与ZIS建立连接,但也可以使用其他通信协议,如SMTP、HTTPS等。代理的实现程序有权决定使用哪一种传输协议与ZIS通信。如果代理在使用其他协议与ZIS建立连接时发生失败,那么代理将继续使用EMIF HTTP协议重新建立连接,以保证通信可以完成。代理可以通过注册报文(EMIF_Register)向ZIS注册或更新已注册信息。ZIS根据代理的注册报文获知代理有哪些能力和要求。一旦ZIS需要代理的服务,并且代理能够接受ZIS的连接时,ZIS即根据代理的注册信息建立与代理的连接。代理还可以通过提供报文(EMIF_Provide)向ZIS提供某些数据对象,通过预约报文(EMIF_Subscribe)向ZIS预约某些数据对象的更新事件。代理要向ZIS发布数据更新。代理能应答请求报文。如果某代理是数据对象的提供者,那么它应能够处理该数据对象的请求报文,即它应能够根据请求报文的查询条件检索应用程序数据库,并将查询结果组织成应答报文(EMIF_Response)返回。根据请求报文的查询条件,应答报文的内容可能包括数据对象的全部元素或者部分元素。如果请求报文中包含应答方代理不支持的数据对象,那么应答方代理返回一个包含EMIF_Error元素、表示不支持被请求数据对象的应答报文。如果应用程序不支持数据对象的某些可选元素,那么应答报文中省略这些元素,但不出现空元素。代理能对应用程序做必要的修改。据应用程序与其代理的一般架构方式,应用程序可能需要做一定的修改,如应用程序应能够捕获添加、修改、删除等数据更新事件,并临时存储下来,直到代理将更新事件发布到ZIS为止。有些架构方式,因为本身具有在服务器层提供捕获数据更新的能力,因此应用程序就不需再做修改。为保证数据准确性,应用程序将数据更新通过某种可靠的贮存机制(如数据表、本地报文队列等)存储下来。应用程序在发布数据更新事件时,只将更新的数据元素写入事件报文。代理能采取选择性报文阻塞机制解决死锁。
  ZIS是区域中的代理管理中心,它负责将代理的注册信息和数据存取权限保存下来并进行管理。ZIS的实现程序可以采用任何方式来实现这个管理机制。作为示例,这里描述了一个使用数据库来实现管理的方式,即建立一个由提供者、预约者、代理和存取控制等实体(如表)构成的数据库。ZIS能实现代理(包括ZIS)的注册,并将注册信息保存,在今后与代理通信过程中遵循注册信息的约定。具有存取控制列表来实现一种互操作安全机制。如果代理已向ZIS注册并取得访问权限,ZIS应接受该代理的提供报文(EMIF_Provide)。EMIF允许一个数据对象存在多个提供者,因此,当不止一个代理向ZIS提供同一数据对象时,ZIS都应遵循报文处理协议正常处理。如果代理已向ZIS注册并取得对某数据对象的预约权限,ZIS接受该代理对该数据对象的预约报文(EMIF_Subscribe)。ZIS实现报文队列机制以保证报文稳定性,即不会中断报文传递。ZIS或其他程序能够控制报文队列的访问入口,禁止代理直接向ZIS报文队列写入或读取报文。定义代理与ZIS之间使用何种通信协议。配置代理能否与ZIS建立连接;配置各数据对象的存取控制权限;为同一区域的ZIS和代理安装证书。启动与终止ZIS。添加与删除代理。捕获、分析ZIS产生的错误日志;跟踪报文,确认报文已送达目的地或是被暂存等待发送。生成ZIS统计信息的报告,其中包括已注册代理的统计信息。检测已注册代理是否在运行,能否应答信息。
  EMIF报文规范定义了十一类报文用于在代理与ZIS之间进行信息交换,包括:
  1.EMIF_Ack:用于通知是否已成功接收或处理报文。
  2.EMIF_Event:用于发布数据对象更新事件。
  3.EMIF_Provide:用于提供数据对象。
  4.EMIF_Register:用于注册代理。
  5.EMIF_Request:用于获取数据对象。
  6.EMIF_Response:用于应答对数据对象的请求。
  7.EMIF_Subscribe:用于预约数据对象更新事件。
  8.EMIF_SystemControl:用于控制数据流动。
  9.EMIF_Unprovide:用于取消对数据对象的提供。
  10.EMIF_Unregister:用于取消注册。
  11.EMIF_Unsubscribe:用于取消对数据对象更新事件的预约。
  另外,在XML报文的预处理指令中应指定所用字符集为“UTF-8”。
  各个报文在到达ZIS或其他代理时,都需要进行报文验证,以确定报文是否符合要求,并丢弃错误报文。
  
  参考文献:
  [1]钟晓燕,西部农村中小学面向信息化的教师培训模式研究[D].西南大学,2007.
  [2]雷菡,基于概念地图的网络化学习路径控制研究[D].西南大学,2006.
  [3]庞海涛,XML在异构数据交换中的研究与应用[D].武汉理工大学, 2006.
  [4]段维清,知识可视化方法的教学应用之研究[D].西南大学,2007.
  [5]高玉军,XML在数据集成中的应用研究[D]曲阜师范大学,2006.
  [6]曹兰,基于农村中小学远程教育的教师信息素养研究[D].西南大学,2007.
  [7]毛春,基于SCORM的网络课程适应性编列研究[D].西南大学,2006.
其他文献
[摘要]智能卡在银行、金融、保密单位的使用很广泛,而且越来越成为人们日常生活的一个不可缺少的东西,对其原理进行基本了解是很有意义的。  [关键词]Java智能卡 体系结构 原理  中图分类号:TP2 文献标识码:A 文章编号:1671-7597(2008)1010057-01    一、智能卡分类    存储片的数量占现有卡片总数的一半以上,这种集成电路IC卡只有存储数据的能力,而不具有运算能力。
期刊
[摘要]介绍一种在国内外高校和电子技术界广为应用的电路计算机仿真软件,通过对模拟电子技术中的单管共射放大电路的应用,验证EWB技术在电子技术中的实用性、便利性和高效性。  [关键词]EWB 单管共发射极  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)1010038-01    一、概述    用于电子线路分析﹑设计的很多,其中EWB(ElectronicWorkbe
期刊
[摘要]为研究低成本的导电银浆天线性能,以超高频RFID标签天线为例,采用高效且环保的丝网印刷工艺制作了一款S形振子天线,并着重分析了其阻抗、回波损耗特性。通过软件仿真和实物测量结果对比发现,两者数据吻合良好,且性能符合标签天线的工程应用要求。这也表明,导电银浆可用于低成本的天线制造。  [关键词]射频识别 导电银浆 S形振子天线 标签天线   中图分类号:TN821.4 文献标识码:A 文章编号
期刊
[摘要]随着计算机和网络技术的迅速发展,基于Web的数据库应用越来越广,同时给数据库的维护和管理带来了很多安全问题。为提高Web应用程序中的数据库安全性,从构建系统体系模型,建立登入机制,进行存储访问控制,审计追踪,数据库备份与恢复,使用视图机制和数据加密技术等方面分析了基于Web的数据库应用系统的设计。  [关键词]Web应用程序 数据库 安全 分析与设计  中图分类号:TP3 文献标识码:A
期刊
[摘要]介绍一种基于图形化虚拟仪器编程软件LabVIEW的高速数据采集系统设计方案。系统以NI公司的高速数据采集卡PCI-488 为硬件平台,通过LabVIEW软件对数字源表的实时测试采集数据,并将数据存储到文本文件中。测试结果表明,该系统能够有效地完成对信号的高速数据采集和实时测试和图形显示。  [关键词]LabVIEW软件平台 PCI-488卡 数字源表(SourceMeter)  中图分类号
期刊
[摘要]svchost.exe是nt核心系统的非常重要的进程,对于2000、xp来说,不可或缺。很多病毒、木马也会调用它。Svchost本身只是作为服务宿主,并不实现任何服务功能,需要Svchost启动的服务以动态链接库形式实现。  [关键词]svchost.exe 进程 病毒  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)1010070-01    电脑启动后弹出
期刊
[摘要]从当今通信技术发展趋势出发,通过应用MATLAB仿真软件,对影响信号谱估计的四个参数作了定性研究,并比较它们之间的异同。  [关键词]信号谱估计仿真MATLAB   中图分类号:TN91 文献标识码:A 文章编号:1671-7597(2008)1010061-02    一、引言  近代谱估计方法已广泛应用于各个领域,如气象预报、市场预测、语声处理、图像加工、地震信号分析、地质勘探、信号识
期刊
[摘要]如何利用现代化的计算机技术和网络技术,为高校党务工作者提供一种高效率、手续简便的服务,以及更好地管理大量的高校学生党员,是高校党务管理部门面临的新课题。针对昆明冶金高等专科学校学生党员发展的业务流程和管理需求,应用统一建模语言UML进行分析。  [关键词]高校学生党员管理 信息系统 统一建模语言  中图分类号:G47 文献标识码:A 文章编号:1671-7597(2008)1010072-
期刊
[摘要]针对混沌系统中Lyapunov指数的估计问题,从受控角度出发,提出一种Lyapunov指数新的估计方法。得知只要离散系统中的向量场函数 f(x)对应的雅克比矩阵fx(x)满足一定的条件,就能得到系统Lyapunov指数的上界和下界。分析表明,该估计方法具有可计算性,而且容易操作。  [关键词]Lyapunov指数 特征值 奇异值  中图分类号:O13 文献标识码:A 文章编号:1671-7
期刊
[摘要]根据飞机概念设计系统同其他CAD/CAM系统通过IGES标准进行数据交换遇到的问题为例,介绍IGES图形交换标准的重要性,总结在飞机设计CAD/CAM系统中应用IGES标准传输图形数据时需要注意的问题和解决方法,满足飞机设计在研制过程中使用CAD/CAM时数据传输的需要。此外还分析在IGES标准基础上发展起来的STEP标准出现的原因及其应用前景。  [关键词]CAD/CAM IGES 飞机
期刊