关键词:教育管理信息系统互操作框架; 代理; 报文处理; 数据共享; 互操作
中图分类号:TP302.1文献标志码:A
文章编号:1001-3695(2007)12-0257-03
教育管理信息的共享和互操作对促进整个国家教育信息化和现代化有着重要的意义。迄今为止,我国各级各类教育行政管理部门及学校开发了各种类型的教育管理信息系统(EMIS)。由于历史的原因,这些系统采用的开发平台、数据结构、数据定义等均存在较大的差异,使得各个管理信息系统之间缺乏兼容性,难以实现数据共享和互操作。
目前实现软件互操作的架构方式主要有三类,即P2P架构方式(基于点对点技术)、Web service架构方式(基于端到端技术)和基于中间件技术的架构方式。P2P采用的是两个应用软件之间直接进行信息交换,不通过第三方软件或组件,该方式只适合于在互操作软件数量不多的情况下使用;Web service是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以在网络(通常为Web)中被描述、发布、查找以及通过Web来调用,该架构方式实现互操作需依赖于Web服务的调用,即需要通过服务注册中心;使用中间件技术实现信息共享,信息发送方与信息接收方必须通过中间件的转发来间接实现数据交换。该架构方式的最大优点就是通信双方可以是异步通信,中间件可暂存信息。
为了在我国实现各类EMIS信息共享和互操作,中国教育部教育信息化技术标准委员会制定和发布了EMIF。当前其最新版本为EMIF CD1.1。EMIF规范是CELTS(China e-learning technology standards,中国教育技术标准与规范)中的重要组成部分,其架构源于美国SIF(schools interoperability framework,学校互操作框架)。SIF是由美国一些软件公司和教育机构为帮助克服数据共享的技术障碍而发起的。SIF致力于创建一套规则和定义,以允许不同公司的软件程序能快速、无缝、安全地共享信息。EMIF或说SIF采用中间件技术实现数据的共享和互操作。
1EMIF架构
EMIF结构示意图如图1所示。它是一个分布式系统,由一个或多个EMIF区域组成,每个区域均由一台区域集成服务器(ZIS)和多个应用程序(EMIS)及其agent构成。
1.1单区域结构
单区域 EMIF结构是指一台区域集成服务器连接一个或多个应用程序及其代理的结构,如图2所示。
1.2多区域结构
EMIF可以有多个区域,各个区域的ZIS互连可以使不同区域间实现互操作,各区域的ZIS通过代理进行通信。
通信代理是EMIS的延伸,是EMIS与ZIS的通信接口。Agent的主要作用是把EMIS的数据绑定成符合EMIF规范的XML报文,或者把收到的XML报文解读成EMIS能理解的格式,并与EMIS及ZIS接口。Agent与ZIS之间使用异步通信方式。Agent具有两种数据传输模式,即请求—应答与发布—预约模式,分别用于实现EMIF内各个子系统之间下列数据交换的功能:一个EMIS获取另一个EMIS的数据;一个EMIS的数据变化时,其他共享其数据的EMIS的相应数据也得到更新。
2EMIF中agent的需求分析
根据EMIF框架中对agent功能的定义,agent运行于EMIS的后台,它主要负责与ZIS和EMIS进行交互,包括提取EMIS中的数据,根据互操作协议将其封装打包成标准报文格式;同时也能将ZIS接收的报文解析成EMIS需要的数据。因此,符合EMIF规范的agent应具备以下功能:
a)与ZIS建立连接。基于HTTP或其他网络传输协议建立与ZIS的通信机制,并生成符合要求的注册报文(EMIF_register message),发送给ZIS,将agent信息注册到ZIS。
b)向ZIS发布数据更新。对其他agent预约的数据对象,在属于EMIF数据对象变更时,通过ZIS向其他agent发布数据对象更新信息。
c)数据请求与应答。生成数据查询条件和请求报文,或在收到应答报文后解析检索到的信息为EMIS可辨识的数据,包括报文合法性验证功能。
d)应用程序的必要修改。主要通过调用agent的应用程序接口和数据处理接口,实现agent与应用程序的融合,以及对数据库作必要的修改。
e)报文生成与解析。通过调用不同的类接口,实现报文简便生成与解析,也包括数据库数据与XML间的转换功能。
f)报文队列处理。类似ZIS的队列处理机制,将不能立即处理的报文在本地暂存,放入报文队列等待处理,并处理死锁问题,清理无效报文。
当agent接收到报文后,首先进行报文预处理过程(即有效性验证、身份验证、报文分类过程),对符合EMIF规范的有效报文,依据报文类别调用不同的报文处理过程。若需生成应答报文,则将报文处理信息反馈给报文制作模块,生成符合要求的应答报文。若与EMIS有数据交互,则通过数据提取功能导入、导出和指令提取功能,实现EMIS数据库数据与报文信息之间的转换。Agent的详细功能结构如图3所示。
依据EMIF框架中规定的报文规范、报文处理方法和报文通信机制,本文设计了报文处理模块。同时实现了以“推”模式为主的报文处理方式,以及“拉”模式的报文传输功能。报文处理模块中的报文服务和传输流程及模型如图4所示。
3EMIF中agent的实现
EMIF中agent的实现包括报文处理与传输功能模块、通信接口功能模块以及数据对象处理模块等功能模块的实现。其中数据对象处理模块实现数据对象权限设置、数据对象命名标准化、数据结构标准化转换功能。限于篇幅,下面仅对前两个功能模块(特别是报文处理模块)的实现作一些论述。
3.1报文处理与传输机制
报文的处理及传输是agent实现的重点和难点。该功能模块主要实现报文的生成与解析、报文传输、报文队列的处理机制等关键问题。本文设计实现的agent通过生成各种报文的通用接口类,调用这些接口实现对EMIF框架报文规范中11种报文的生成和解析功能;用ASP技术和HTTP,基于Web服务器机制实现了报文的传输功能;用选择性报文阻塞解决死锁问题,实现了类似ZIS的报文队列处理机制,从而保证报文队列高效处理。
基于agent技术的EMIF数据共享与互操作的设计与实现由800论文网收集整理,转载请注明出处!

