王义卿
在信息化高速发展的今日,教育信息化也开始普及并发展,我国各高校已经开始采用计算机和网络辅助教育管理工作,并建立全校各方面的管理信息系统。特别是网络的发展,使得各类信息管理系统不再是单一集中地存在,学校内部各部门都有自己的管理系统,再通过网络,有机组合成整个学校的管理系统。但是,由于这类校园管理系统刚起步,各方面都不成熟,特别是缺乏有关专业方面的标准和规范,造成已建成的各个子管理系统或学校与学校间的管理系统之间兼容性较差或难以兼容,因此也难以实现相互之间信息和资源的交流和共享。为此,国家教委制定出台了《教育管理信息化标准》,该标准旨在推动教育信息化工作向规范化和健康化方向发展,最主要的是提出了教育管理信息系统之间互操作体系结构、数据和接口这3个规范。本文就在充分了解并学习教育管理信息系统之间互操作体系结构、数据和接口这3个规范的基础上,结合当前的其它管理信息系统之间数据共享和互操作的研究现状,设计了一个基于EMIF的互操作信息平台。
EMIF规范是中国E-Learning技术规范,CELTS(Chinese E-Learning Technology Standards)中《教育管理信息系统互操作规范(CELTS_40)》的简称[1]。
SIF(School Interoperability Frame-work学校互操作框架)是针对美国中小学的教育管理,并且 SIF 在数据对象的定义方面有着浓郁的美国文化特征。我国教育部通过对SIF规范的深入研究,并且在一定程度上参考借鉴SIF规范中的体系结构和报文结构,结合了我国的文化特色和实际情况,使用《教育管理信息化标准》的第一部分(学校管理信息标准)作为EMIF的数据规范部分,制定了我国教育管理信息系统互操作框架,也即EMIF。
EMIF规范主要由3个部分组成:
(1)EMIF数据规范:是对基于EMIS的教育信息管理系统导出的数据模式进行规定,是EMIF报文规范的基础;
(2)EMIF报文规范:建立在EMIF数据规范之上,通过报文将数据包装起来;
(3)EMIF的体系结构:描述了构成整个互操作框架的各类组件,以及各组件自身所具备的功能和互操作的实现模式。
EMIF是一个学校管理系统互操作的解决方案,它的体系结构主要是由若干个代理程序和一个称为 ZIS(Zone Integration Server,区域集成服务器)的中间层服务器构成,如图1所示:
图1 EMIF体系结构简单示意图
校园中的各类子系统由于对于管理数据都有自身的理解和侧重,造成各个子系统数据种类、分类、范围以及数据与数据间的关系等等各不相同。这些资源异构大致分为分类异构、描述范围异构、描述粒度异构、关系异构、属性类型异构、类与属性异构以及术语描述异构等7大类,而各子系统之间的资源异构又往往并不是上述 7类异构其中单一的一种,而是多种异构交织在一起,形成一个分布式异构环境,非常复杂[2,8]。
要设计一个全校范围内的基于EMIF的信息平台,就必须解决分布式异构环境下异构数据的集成问题。本系统采用的是客户端(各子系统)通过代理将数据统一封装成XML格式,在服务器端(平台)创建元数据库存储,提供元数据以及利用EMIF规范,定义元数据并通过各子系统的数据与元数据进行匹配,验证的方法来获得统一的数据。
本系统所设计的报文格式采用XML语言,具有如下几点原因:
(1)对于本系统的主要功能:整合不同的子系统,使其成为一个有机的整体。首先要解决不同子系统之间的数据异构问题,而XML本身具有DTD的标准文档定义,这为本系统解决数据异构,提供了有效途径,通过XML可以提供数据显示的一致性。
(2)对于本系统的主要工作内容:报文的封装、传输、存储和处理。XML本身是一种标记语言,可非常方便地进行各种信息的标识并根据现有文档中元素的XML标记创建新的文档,极大地方便了本系统的工作流程设计。
(3)对于本系统的通用性和兼容性:面向校园内不同的子系统,提供各子系统之间数据共享的平台。XML支持所有内核为IE(Internet Explorer)以及Netscape的浏览器,使得应用其编写的报文能在校园内的极大多数子系统上正确显示。
集群是指一组相互连接的计算机,紧密地工作在一起,以至于在很多方面看来,它们都像是一台机器[3,4]。使用集群技术,由局域网内通过高速网络联接的一组通用Web服务器(这些Web服务器可以是同构的,也可以是异构的)构成Web服务器集群系统。这个系统对外相当于一台高性能的Web服务器。一般由一台特殊的服务器(请求分配服务器)接受请求,并按照某种策略动态地分配到各个 Web服务器上处理。
本系统的ZIS部分将采用基于集群的Web服务器,这样做的好处是,可以通过设计一个有效的服务器负载算法,突破服务器的瓶颈效应,提高系统整体的工作效率。
本文重点研究信息平台上的消息机制,并在其基础上,给出一种基于分布式异构环境下的管理信息互操作平台的方案。其整个系统的模型,如图2所示:
图2 消息服务集成平台系统模型
如图2所示,整个平台主要由报文处理层、消息中间件以及报文处理层3个部分组成,另外还设计了一个元数据库专门存储用于验证各子系统的数据是否符合标准的元数据以及一个CA(Certificate Authority)中心提供证书的发放和认证。
报文处理层设计有MyHttp服务器、报文预处理模块以及相应的报文安全服务模块。
MyHttp服务器是在HTTP协议的基础上进行的一定扩充而成的,主要的功能是提供持久稳定的链接和主动服务机制。它的主动服务机制体现在当客户端代理申明是“推”模式时,MyHttp服务器一方面主动连接客户端,将ZIS返回的报文或者事件报文发送给客户端代理程序;同时还进行它基本的工作,即将从客户端代理程序接收到的报文发送给预处理模块。从它的工作内容来看,MyHTTP在其中既扮演了服务器的角色又扮演了客户端的角色。
报文预处理模块是报文进入报文队列的一个通道和关卡,其主要功能是保证进入JMS Server的报文的有效性。因此,它具备以下4个功能:
(1)报文的有效性验证:报文预处理模块接收到MyHttp服务器发送来的请求(报文)后,调用元数据库中的各种报文的DTD文档来验证报文的有效性,并将有效的报文进行解析;
(2)报文的解析:报文预处理模块只对报文进行初步解析,其目的主要是验证报文的发送方和判断报文的类型,并将此作为身份验证的依据;
(3)报文的权限验证:根据解析出来的数据,调用系统数据库的身份权限设定,判断报文发送方是否有权限对数据进行报文中所要求的操作;
(4)报文的优先级设置:报文预处理模块的最后,还要根据解析出的报文类型进行优先级的设置,并将这些重新生成的报文发送到JMS Server的入口队列中。
报文安全服务模块的安全机制,通过对比目前主流的几种加密技术如对称加密和非对称加密、消息摘要以及交换密钥等加密技术,选中了SSL(Secure Socket Layer)数据安全协议作为本系统的加密技术,SSL揉合了对称加密、非对称加密和交换密钥的加密算法,通过 SSL握手协议保证报文传输的安全。但是其对于保证非否认性方面还有所欠缺,为此,本系统还设计了一个CA中心,通过CA中心,可以进行数字证书签名以及构建客户端认证和服务器侧认证的双向认证体系,补充了SSL对于保证非否认性方面的不足。
消息中间件的主要作用是提供消息队列的存储和管理服务[5],本系统的消息中间件的设计通过比较分布式环境下3种主要数据交换技术的优缺点,选择了基于MOM(MOM-Message On Middleware,消息中间件)的数据交换技术,作为解决报文队列管理的方法,并且为了降低开发难度,采用第三方提供的 JMS消息中间件,构建了 JMS Server,并使用iLinkMQ对其进行实现。
报文处理层主要的作用是对报文进行相应的处理和转发,其中报文的转发由消息路由器完成,报文的处理由报文处理模块完成。
消息路由器一方面需要通过解析器进行解析,取得XML报文中的报文类型、对应的元素名、元素值、属性名和属性值这些数据,然后根据该报文的类型将其路由到相应的处理组件进行处理;另一方面还需要处理由处理组件完成返回的结果,并将其发送到JMS Server中对应的代理队列。本系统设计采用Apache Xerces解析器对报文进行解析,采用IBM的XML4J对报文进行EMIF_Ack报文的XML格式封装。
报文处理模块设计了注册模块、预约模块、提供模块、请求模块以及事件报文处理模块5个子模块,其中注册模块包含注册和取消注册两个子功能,这两个子功能分别通过EMIF_Register报文和EMIF_Unregister报文来完成。预约模块:包含预约和取消预约两个子功能,这两个子功能分别通过EMIF_Subscribe报文和EMIF_Unsubscribe报文来完成。提供模块:包含提供数据和取消提供数据两个子功能,这两个子功能分别通过 EMIF_Provide报文和EMIF_Unprovide报文来完成。请求模块:包含请求和应答请求两个子功能,这两个子功能分别通过 EMIF_Request报文和EMIF_Response报文来完成。事件报告处理模块:通过EMIF_Event报文完成。
整个平台的设计均采用模块化的设计思想,各功能模块之间松散耦合,具有较好的系统开放性。
本文重点是建设基于EMIF的消息平台,EMIF规范通过 3类报文来实现数据的共享和互操作:EMIF_Event、EMIF_Request和EMIF_Response。实验的目的就是要实现上述两种传递模式,包括报文的“推”和“拉”传输模式的测试。
首先进行客户端代理的设置,如表1所示:
表1 客户端代理列表
本实验中共设置了3个代理,一个采用“拉”模式通信,另两个采用“推”模式通信,这3个客户端代理和ZIS的通信协议均是HTTPS,状态均是激活状态。并且默认这3个客户端代理已通过ZIS的验证。
数据对象提供者设置,如表2所示:
表2 数据提供者列表
上面一共有4个数据对象:课程基本信息、学生基本信息、学生注册信息和收文处理基本情况,分别由上述3个客户端代理提供。本实验以“学生基本信息”这个数据对象为例进行,如图3所示:
图3 应用系统与ZIS数据交换信息流示意图
数据对象预约者设置,如表3所示:
表3 预约者数据列表
在表3中,客户端代理WSJSCLS预约了数据对象:学生基本信息和学生注册信息,在本次试验中将以学生基本信息为例进行测试。这里默认客户端代理加入区域时已由提供的注册报文和预约及提供者报文来交付的运行前信息,并且客户端在注册后,已通过ZIS系统管理员的身份认证,能相互之间交换信息。
代理A向ZIS发出一个获取满足条件的学生基本信息的请求,ZIS将请求转发给代理B,代理B解析请求,将结果用XML封装后发送到ZIS,ZIS再将结果反馈给代理A。
代理B如果对数据对象学生基本信息进行操作:添加、修改或者删除,若作为数据提供者,则必须发出一个事件报文给ZIS,ZIS收到这一事件报文,将这一事件报文复制发送到对这一数据对象进行预约过的客户端代理,在本测试报告中应该是代理A。
该工作流程图为图3,工作流程为:
(1)课程管理系统通过Agent A向ZIS发送请求数据(已经过报文预处理封装成通用的XML格式);
(2)ZIS向Agent B转发数据(已经过报文预处理封装成Agent B的格式);
(3)学生管理系统通过Agent B接收到该请求,并根据条件返回相应的数据;
(4)ZIS向Agent A返回数据;
(5)课程管理系统接收数据。
本文“分布式异构环境下基于 EMIF的互操作信息平台设计”初步探讨了EMIF两种结构体系中的单区域结构以及该结构下的系统之间互操作问题,首先,是初步设计了一个基于EMIF单区域结构的互操作消息平台,然后对其中的主要组成部分:报文传输层、消息中间件以及报文处理层进行了进一步的研究和设计。
Agent 都具有自主性,在求解过程中都按照自己的目的、知识进行,因此由Agent参加的交互活动常会出现①彼此双方在服务描述与需求描述无法互相理解②无法量化需求目标与候选者间的符合程度。矛盾的突显使得自动协商成了Multi-Agent System研究中亟待解决的重要问题。解决的基本思路是基于语义Web实现多Agent间的智能交互,本体(Ontology)作为语义 Web的基础是某领域知识概念化和模型化的方法,利用本体描述多Agent自动协商模型中代表各方利益的Agent的语义信息,变无序数据为有序知识,从而丰富Agent服务发现、匹配和组合,提高自动化程度[6,7]。这在下一步研究工作中,将作为重点研究的方向。
[1]教育管理信息系统互操作规范——教育管理互操作框架EMIF[S],CELTS-40 WD1.0,教育部教育信息化技术标准委员会 发布,2002,(8).
[2]殷苌茗 何桂华 龚红仿.分布式异构数据库系统的设计与实现.[J]长沙电力学院学报.2001,(8).
[3]罗清 罗宇.网络应用系统服务器集群技术研究 .[J]计算机工程与科学.2004,(7).
[4]姚自明 赵岳松 柳异青.WWW 服务器集群技术 .[J]计算机工程.2000,(7).
[5]高建斌 董传良 谢莉 夏恩询.数据集成中消息中间件的设计.[J]计算机工程.2003,(10).
[6]王祥瑞,李力东.语义网的产生与发展.[J]吉林建筑工程学院学报,2007,(03).
[7]李洁,丁颖.语义网、语义网格和语义网络.[J]计算机与现代化,2007,(07).
[8]Clustering works its way down[C].Alan Radding,23 Jun 2005 | SearchWinSystems.c