EMIF框架中区域集成服务器的设计
2023-11-13
来源:步旅网
第29卷 第20期 VO1.29 NO.20 计算机工程与设计 Computer Engineering and Design 2008年10月 Oct.2008 EMIF框架中区域集成服务器的设计 王艳凤, 鲍新龙 (华中师范大学信息技术系,湖北武汉430079) 摘要:介绍了一种实现教育信息共享与互操作的模型——教育管理信息系统互操作框架(EMIF)的基本概念,讨论了EMIF 的框架及数据交换模型,系统分析了EMIF框架中的核心部件——区域集成服务器(ZIS)的功能需求,给出了其功能模型。对 于Z1S中关键功能——报文处理,给出了基于消息服务、传输、管理的实现机制及其算法流程,并给出了一种提供报文的处 理流程实例 最后,简单地讨论了一个基于EMIF的校园网多系统实现区域互操作的体系结构。 关键词:教育管理信息系统互操作框架;数据交换模式;区域集成服务器;报文处理 中图法分类号:TP302.1 文献标识码:A 文章编号:1000.7024(2008)20—5297—04 Design of zone integration server in EMIF WANG Yah—feng,BAO Xin—long (Department of Information Technology,Central China Normal University,Wuhan 430079,China) Abstract:The basic concepts of education management information system interoperability rfamework(EMIF),a model for the data sharing and interoperation among educational management information systems(EMIS),are introduced.The rfamework structure and data exchange model ofEMIF re adiscussed.The systematic analyses for the requirements ofthe zone integration server(zJs),the core component ofthe EMIF,are made,and its functional model is given.The implementation mechanism nd aalgorithm based on message service,message transportation,and message management or fthe key functions such as message processing re agiven,and an instance or fproviding message processing is presented.Finally,the structure for the data interoperation among multi—EMIS on the campus net based OI1 EMIF iS discussed. Key words:EMIF;data exchange mode;zone integration server;message processing 0引 言 随着教育信息化进程的不断推进,越来越多的学校已经 其编号为CELTS一40,当前最新版本为EMIF CD1.1。它在体系 结构及报文规范上借鉴了美国一些组织制定的SIF(schoolsin. teroperability ramewo ̄)。f 建立了自己的校园网,并以此开展了自己的教学和管理应用。 同时,各级各地教育管理部门也建立了自己的教育管理信息 系统(EMIs),方便对各级各类的教育信息进行汇总与管理。这 些教育管理信息系统迫切需要实现数据共享和互操作。 EMIF体系由各类特定的教育管理软件(EMIs)、它们的代 理和一个区域集成服务器(zoneintegration server,ZIS)构成的开 放型网络系统。 ZIS作为各教育管理软件之间通信的中介,处于信息交换 控制枢纽的作用,任何信息交换过程都通过ZIS间接实现,应 用程序之间不能直接通信。代理是附属于EMIS的一个应用 程序,它是实现EMIS与ZIS之间通信的接口程序。EMIF多 区域的结构示意图如图1所示。 教育管理信息系统互操作框架(education management in— formation system interoperability rfamework,EMIF)提供了一 种较好的解决方案,能使分散的、孤立的信息串联起来,以 解决部门与部门之间、区域与区域之间的教育信息的共享 和互操作。 EMIF是建立在各种教育应用软件层次之上的一个高层 技术规范。它规定了其结构体系中各组件通信模式、接口及 EMIF是中国教育部教育信息化技术标准委员会制定和 发布的一套技术规范,目的是使各类教育管理信息系统之间 能够彼此交换和使用教育管理信息。 目前,EMIF已经成为中国教育技术标准与规范(China e— learning technology satndards,cELTs)体系中的重要组成部分, 收稿日期:2007—1 0-1 8 E—marl:wyfeng@mail.ccnu.edu.cn 基金项目:2003年湖北省教育厅重点科研基金项目(2Oo3x29)。 报文规范。遵循相应的接口,可以使各类教育应用软件实现 互操作:使互操作过程跨操作系统、跨平台,并与程序设计语 言无关,可兼容不同厂商的软件产品,不需要对原软件做大的 调整和修改。 作者简介:王艳凤(1965--),女,湖北武汉人,高级工程师,研究方向为信息系统设计与开发、计算机应用; 鲍新龙(1980--),男,硕士,助 教,研究方向为计算机应用。 5297・—— 图1多区域EMIF结构模型 1 EMIF的数据交换模型 EMIF区域中各组件之间的数据交换主要包括两类:获取 数据和更新数据。根据这两类数据交换,EMIF定义了两种数 据交换模型,即“请求一应答模型”和“发布一预约模型”。 (1)请求一应答模型 当应用程序需要获取某数据对象时,应通过代理向ZIS 传递一个请求报文。请求报文中一般不需要指明谁是应答者, ZIS会将该数据对象的所有提供者作为应答者,并将请求报文 传递给它们。 在EMIF区域中,每一类数据对象都可以有多个应答者。 数据对象的每一个应答者都有权等待和处理请求,并返回一 个或一组应答报文,通过ZIS转发给原请求者。 如图2所示,学校教务管理系统和财务管理系统需要某 研究生的个人信息,因此发出请求报文l、2,ZIS根据存取控制 列表查找数据的提供者(研究生管理系统),并将请求报文传递 给数据提供者,当数据提供者向ZIS发回相应的应答报文后, ZIS再将其返回给数据的请求者。 图2请求一应答模式 (2)发布一预约模型 数据对象的更新事件包括数据的添加、修改和删除。当 应用程序更新了它的数据对象时,应通过事件报文将更新事 件传递给ZlS。数据对象的使用者(应用程序)如果希望及时 获取数据的更新情况,应向ZIS预约数据对象的更新事件。预 约通过向ZIS发送预约报文实现。 事件发布者将数据对象的更新事件传递给ZIS后,ZIS负 责将它传递给所有预约该数据对象更新事件的预约者。ZIS 转发事件报文时不会通知原事件发布者,因此事件发布者在 完成事件发布后,就无需关心将有哪些应用程序接收更新事 ・——5298——— 件,以及更新事件是否已传递给预约者。 如图3所示,一个系统(图书馆管理系统)向ZIS发出“预 约”报文,预约某数据的更新信息,当被预约的数据所在系统 (学生管理系统)数据更新时,该系统要向ZIS发布“事件”报 文,ZIS迅速将事件报文根据存取控制列表发送给预约者,从 而实现数据的迅速更新。 图3发布一预约模型 在EMIF区域中,每一类数据对象都可以有多个事件发 布者,但谁可以取得事件发布权限则取决于ZIS的存取控制 管理。允许数据对象的提供者同时也可以成为数据对象的 预约者。 报文和数据规范是EMIF的核心内容。报文可以看作是 数据对象和事件对象的载体,数据对象和事件对象必须放在 报文中才能够传递。在EMIF中定义了若干种基本的报文,也 定义了报文规范及报文处理协议,以及数据的XML绑定规则。 在EMIF框架内,数据的共享与互操作都是通过报文的传 输进行的,报文中如何对数据对象进行封装打包,报文如何传 输,是由报文应用程序接口(API)来实现的。 这个接口使用XML描述,XML描述的优点在于可以不 依赖底层的传输方式,它保证基础报文的传输可以在各种通 信传输方式下进行。报文传输中要考虑到一个重大方面就 是数据的安全性问题,报文传输层可以通过数据加密、客户 端和服务器端的验证等方式保证数据传输的安全性,必要 的时候,还提供数据的压缩,这对于传输大量XML报文是 很重要的。 2 EMIF中ZIS需求分析 EMIF由一个ZIS和若干应用软件代理构成。EMIF的基 本结构是:EMIF中各应用软件以代理作为接口,通过ZIS间 接实现信息交换。 ZIS是EMIF叶|的管理中心,它处于所有信息通道的中 间。ZIS的主要功能是将发信方代理的报文恰当地转发给接 收方代理。发信方代理和接收方代理之问不直接进行通信, 它们之间的通信都通过ZIS间接实现。除此之外,ZIS还具有 注册代理、存取控制、转发报文、报文队列服务、建立安全通 道等功能。 具体分析,可以发现ZIS主要应该具备以下几个功能: 区域集成服务管理功能:主要定义哪些Agent(也可以 是ZIS)有权与Z1S建立连接;定义每个代理对数据对象的 存取控制权限,包括数据对象的提供、预约、添加、修改、删 除、请求与应答,并对数据对象的提供信息、预约信息进行 管理等。 提供Agent与ZlS的连接功能:为Agent提供连接服务, 并对Agent的每个请求进行身份验证。 报文处理功能:对接收到的报文进行处理,并向Agent发 送应答报文。 报文转发功能:对接收到的请求报文、事件报文和应答报 文先存储在报文队列服务器中,将注册为“推”模式的Agent的 报文自动转发给该代理。 因此,按功能需求来分,ZIS可分为6个子系统: (1)区域集成服务管理子系统,为ZIS进行管理提供服务; (2)Agent登录连接与验证服务子系统: (3)报文处理服务子系统: (4)报文转发服务予系统; (5)报文队列服务子系统: (6)数据访问子系统,实现对后台数据库的数据访问。 由此,可得出ZIS功能模型,如图4所示。 通知报文 ● I报 效 匾 性 有 1垄竺竺堡H亟甄 Agent 里 文 验 预 证 匮巫 —咂圃 塑墼塑壁J 报 _j Agent Z旦IES 文 处 理 身 l堕查竺 H 丝 型卜 文 队 ZIS 份 验 1l兰!兰三兰I 列 服 证 圆 - 务 文 图4 ZIS功能模型 根据以上的分析,EMIF中的ZIS和代理实际上可以抽象 为一个分布式的可管理的消息传输与处理系统。 EMIF的典型应用是学校区域。假设在一个学校内已有 如下应用软件:学籍管理系统、成绩管理系统、图书馆管理系 统、人事管理系统等。按照EMIF的要求,给各应用软件增加 一个代理,并增设 一台ZIS,上述应用软件就构成了一个EMIF 区域。EMIF区域中的各应用软件已经具备了信息交换的能 力,如果成绩管理系统和图书馆管理系统需要共享学籍管理 系统的学生信息,那么通过ZIS,学籍管理系统的学生信息就 可以及时更新到成绩管理系统和图书馆管理系统中。 3 ZlS的报文处理机制 根据EM1F规范的定义及以上的分析,可以发现ZIS的功 能主要是与Agent或其它ZIS之问建立连接,接受Agent或ZIS 传输过来的报文,进行处理,依照要求转发或回复报文。因此 报文处理功能是ZIS的核心功能。以下讨论我们设计的系统 中ZIS的报文处理机制。 对报文的处理与转发主要包括以下几点:建直注册信息 处理器、建立提供者数据库、建立预约者数据库、建立存取控 制列表和提供报文队列服务。 ZIS对报文处理的过程为:当ZIS接收到报文,首先对报 文进行预处理(也就是身份验证和有效性验证),确定报文的格 式是符合EMIF规范的有效报文,报文的发送者是实际作者: 然后把报文交给相应的处理器进行处理,如果属于注册报文、 提供报文或者预约报文,相应的处理器将对报文进行处理,并 将相关信息数据库中,如果属于请求报文、应答报文或者事件 报文,相应的处理器将把报文送入报文队列,等待时机把报文 转发出去。 ZIS是实施应用集成服务器的物理实体,对所有已注册的 Agent提供集成服务,负责所有的访问控制和系统内部的路由 并管理区域中的所有共享数据的程序。我们的ZIS用消息服 务机制、消息传输机制、管理机制以及数据库服务机制来保证 上述功能的实现,如图5所示。 图5 ZIS的消息与管理机制 3.1消息服务机制 消息服务机制主要解决报文的收发与处理问题。由_丁 EMIF定义了一套Agent与ZIS之间交流的报文规范,因此使 得双方能够顺利地进行通信,从而达到互操作。处理报文是 消息服务机制的核心,报文内容涵盖了规范中的l1类报文, 各类报文具体处理过程如图6所示。 3.2报文处理流程实例——提供报文的处理 在EMIF中,代理可以通过EMIF Provide报文将它的数 据对象提供给其它应用程序,或者使用EMIF Unprovide报文 来取消对数据对象的提供。 一个EMIF Provide报文或EMIF Unprovide报文可以一 次包含多个数据对象,即视为一个整体,如果在处理中,任意 一个数据对象出现错误,整个操作都将认为是失败的,也就是 不会将任何变化信息写入数据库的提供者数据表。 提供报文处理处理流程如图7所示,取消提供报文处理 流程图略。 3.3消息传输机制 为了确保所有的代理和ZIS之间能够互相通信而不用考 虑软件的生产厂家的差异,所有的代理和ZIS都应该支持 EMIFHTTP传输层协议。EMIFHTTP协议以HTTPI.1作为参 考规范。 报文的传输要考虑到的一个重大方面就是数据的安全性 问题,报文传输层可以通过数据加密、客户端和服务器端的验 证等方式保证数据传输的安全性,必要的时候,还提供数据的 压缩,这对于传输大量XML报文是很重要的。 ——5299・—— 接受到代理的注册请求 \/ 上Y rMIF SourceIdSourceI"-- ̄N _.竺 EMIF Version-'"---. ̄N.一 /持/ MaxBuferS黾/i ̄ 垦要笙 否符合Y :嚣 :兰 至 E螽否为“MIF● MPYush o de:/ N\ Yf将注册信息f  ̄Agent 发送包含EMIF_Error 1写入数据库l EMIFAek报文 Y 给Agent发送包含EMIFStatus f 的EMIF Ack报文 I图6 EMIFRegister处理流程 准备一个EMIF Ack报文 巡堡皇 l薹喜 /一 +Y 下一个数据对象\ 皇 / 上Y 发信方是否有~、— 兰限/—一 ‘Y Hl !萎量茎 <二二二 》 I厂 I EMIF Error的I I EMIF—Ack报文l ・——5300・—— 一f—务数—处据1站 一点1卜lL教-统———务代服—管理—务 f—器系 —LlI藉口-J忖I lf—— ,/— 一,、L_一 校域服园集务成器区 财务处 t-处站点 [ 用户 研究生处站点 图8利用EMIF规范实现校园网的信息通讯 方式,且客户端可以分担服务器的负担。 缺点是客户端需要装载专门的应用程序,每当服务器升 级时,客户端也必须跟着升级,维护不太方便,比较适合客户 端与服务器端耦合程度高的系统,在架构ZIS与Agent连接时 采用该结构;B/S结构通用性强,对客户端无任何要求,适合服 务器和客户端通信要求不高的系统,架构Web服务器时可以 采用该结构。 Ⅲ 5结束语 教育信息共享和系统互操作是教育管理信息系统的关键 问题之一。教育信息管理互操作框架规范(EMIF)对于实现当 前已大量部署了的系统之间的信息共享,是一种较为简单、代 价较小的方案。作者已实现了一个EMIF的ZIS原型系统,本 文给出了该原型系统中设计思想、关键处理模块——报文传 输与处理的设计方法。 本文讨论的报文处理方法及流程等,对EMIF中ZIS的实 现及大范围内教育管理信息系统的数据共享与互操作都有参 考价值。 参考文献: Schools interoperability framework implementation speciifca- tion,version 1.5r1[EB/OL].http:Hwww.siifnfo.org,2004. 彭文辉,杨宗凯.高校校园管理信息系统数据共享的设计[J】.计 算机工程与设计,2006,27(11):1970.1972. 张秋冬.基于J2EE的共享数据环境研究[J】_计算机工程与设 计,2005,26(3):588.589. 杨琰华.教育管理信息系统互操作标准化研究概述[J].开放教 育研究,2003(1):38—41. 彭文辉,王中国.基于Agent技术的EMIF数据共享与互操作 的设计与实现[J]-计算机应用研究,2007,24(12):257.259。 教育信息化技术行业标准CELTS一40—2004 CD 1.1,教育管理 信息系统互操作规范[s】. 周清雷,王艳梅.区域集成服务器的设计与实现[J].计算机应用 与软件,2005(8):64.66. 余亮.基于EMIF区域教育管理信息系统互操作的设计方案 【J].中国电化教育,2005(4):82—85.