(计算机应用技术专业论文)emif报文传输中断问题研究.pdf_第1页
(计算机应用技术专业论文)emif报文传输中断问题研究.pdf_第2页
(计算机应用技术专业论文)emif报文传输中断问题研究.pdf_第3页
(计算机应用技术专业论文)emif报文传输中断问题研究.pdf_第4页
(计算机应用技术专业论文)emif报文传输中断问题研究.pdf_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖北工业大学硕士学位论文 摘要 随着网络和教育信息化的迅速发展,我国各级教育行政部门和各级各类学 校己经开始采用计算机和网络辅助教育管理工作,并建立相应的管理信息系 统。但是,由于缺乏有关教育管理方面的标准和规范,教学资源的共享和教学 系统的互操作成为了一个十分重要也十分迫切的问题。在教育部的领导下,我 国开始了远程教育技术规范的研究和制定工作,着重解决上述两个问题。从根 本上解决学校信息系统集成中由于各个子系统的数据格式不一致,难以集成的 问题,关键还是要遵循一定的规范。教育管理互操作框架规范( e d u c a t i o n m a n a g e m e n ti n f o r m a t i o ns y s t e mi n t e r o p e r a b i l i t yf r a m e w o r k ,简称e m i f ) 是教 育部新近推出的一套教育管理信息系统的互操作规范,规范的特点是在不需要 改变现有系统基础上,采用客户端代理和区域集成服务器( z o n ei n t e g r a t i o n s e r v e r ,简称z i s ) 模式构建基于校园网的信息共享和数据集成平台。本文正 是在这种背景下,研究了e m i f 中报文服务中的中断问题。 本文在研究和分析e m i f 架构和e m i f 互操作原理的基础上,研究了报文 服务中的3 大关键技术问题:死锁问题、传输中断问题和安全保护问题。并对 其中的中断问题进行重点研究,设计了一个报文服务中的中断解决方案。 关键词:教育管理互操作规范,区域集成服务器,报文,中断 湖北工业大学硕士学位论文 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fn e t w o r ka n di n f o r m a t i o ne d u c a t i o n ,v a r i o u s k i n d so fo u re d u c a t i o ns e r v i c ea n ds c h o o lb e g i nt ou s ec o m p u t e ra n dn e t w o r kt o a s s i s t a n tt h ew o k eo fe d u c a t i o n ,a n de s t a b l i s h c o r r e s p o n d i n gm a n a g e m e n t i n f o r m a t i o ns y s t e m b u ts h a r i n go fl e a r n i n gr e s o u r c e sa n di n t e r o p e r a t i n go f l e a r n i n gs y s t e m sb e c o m e sav e r yi m p o r t a n ta n di m p e n d e n ti s s u e s oo u rc o u n t r y b e g a nt h er e s e a r c ha n dt h ee s t a b l i s h m e n to fd i s t a n c el e a r n i n gt e c h n o l o g ys t a n d a r d s u n d e rt h el c a do ft h em i n i s t r yo fe d u c a t i o nt os o l v et h ea b o v ep r o b l e m sa sar e s u l t , as e r i e so fc r i t e r i o n si ne d u c a t i o n a li n f o r m a t i o nm a n a g e m e n tj sn e e d e du r g e n t l y e d u c a t i o nm a n a g e m e n ti n f o r m a t i o ns y s t e mi n t e r o p e r a b i l i t yf r a m e w o r ki sak i n d o fs u c hc r i t e r i o n i t sp u r p o s ei st os o l v et h ed i f f e ro fd a t af o r m a t sa n dd i f f i c u l tt o i n t e g r a t e t h i sc r i t e r i o nd e s c r i b e sad a t as h a r i n ga n di n t e g r a t e sp l a t f o r mb vt h e m o d e lo fa g e n t z l sw i t h o u tc h a n g i n gl e g a c ys y s t e m s t i n d e rs u c hb a c k g r o u n d s , t h i sp a p e rm a k eas t u d yo ft h ep r o b l e mo fi n t e r r u p td u r i n gm e s s a g es e r v i c e i nt h i sp a p e r , b yd i s c u s s i n ga n da n a l y z i n gt h ea r c h i t e c t u r eo fe m i fa n dt h e p r i n c i p l eo fi n t e r o p e r a b i l i t y , w ep r o p o s et h r e ek e yo p e nt e c h n i q u ep r o b l e m sd u r i n g m e s s a g et r a n s f e r r i n g :t h ep r o b l e mo fd e a d l o c k ,i n t e r r u p ta n ds e c u r i t y , a n dw ef o c u s o nt h ep r o b l e mo fi n t e r r u p t a n das c h e m ef o rs o l v i n gt h ei n t e r r u p ti nm e s s a g e s e r v i c ei sp u tf o r w a r d k e y w o r d s :e d u c a t i o nm a n a g e m e n t i n f o r m a t i o n s y s t e mi n t e r o p e r a b i l i t y f r a m e w o r k , z o n ei n t e g r a t i o ns e r v e r ,m e s s a g e ,i n t e r r u p i i 诹i 3 l 童工孽火秀 学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作所取 得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经 发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方 式标明。本声明的法律结果由本人承担。 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留 并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授 权湖北工业大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采 用影印、缩印或扫描等复制手段保存和汇编本学位论文。 日期:扩辞年6 月) 日日期:年月 日 湖北工业大学硕士学位论文 第1 章引言 网络化教育,即以计算机网络为支撑技术的多媒体远程教育,是当今国际国 内教育发展新的生长点,也是现代教育技术的主流发展方向。远程网络教育有其 独特的优势:资源可以共享和重复利用;教育不受时间空间的限制;系统有很大 的丌放性;协作的多样性等。伴随着网络教育的普及,各类教育源正在迅速扩张。 政府部门通过网络开设课程,直接向正在进行正教育和终生学习的人提供教育资 源,一些商业性的出版商也瞄准了个大市场。以计算机网络为支撑技术的多媒体 远程教育,是当今国际国内教育发展新的生长点,也是现代教育技术的主流发展 方向。远程网络教育有其独特的优势:资源可以共享和重复利用;教育不受时间 空间的限制;系统有很大的开放性;协作的多样性等。同时,现在的远程网络教 育还存在着很多的问题,其中最为突出的有两个问题是:教学资源无法做到有效 共享和不同系统互操作能力的欠缺。远程网络教育作为一种教育的形式是以教育 资源为基础的。虽然现在很多单位和组织都有自己丰富的教学资源,但彼此资源 的格式和组织方式等却大相径庭。对于现有的各自的教学平台,彼此之间也是不 兼容的。它们有各自所识别的教学资源的格式,有各自的数据传输和消息传输的 通讯协议,也有各自的学习者模型和学习过程记录方式。这在很大程度上阻碍了 资源的共享和教育的发展。克服这一问题的有效措施就是建立网络教育应用层次 的技术标准,从技术上保证教育资源的可共享性和不同体系之间的互操作性。学 习资源共享是指一个学习对象可被多个学习系统利用:系统互操作是指多个系统 及组件之间能够交换与使用彼此的信息。 目前,随着不同管理系统之间数据共享与信息交换的需要不断增加,暴露出 的问题也越来越多,主要体现在以下几个方面。 ( 1 ) 教育管理信息横向交换与纵向传输的困难:由于缺乏数据交换的规范, 教育机关内部不同部门开发的教育管理信息系统( 简称信息系统) 之间不能进行 数据交换,而学校之间、学校与上级管理部门之间也不能直接传递数据,导致了 教育管理信息横向交换与纵向传输的困难。 ( 2 ) 妨碍管理部门的科学决策:由于信息传输困难,不能对教育管理信息进 行比较分析,各级各类教育管理部门就难以做出相应的正确决策,甚至还会对社 会经济发展的决策做出带来不良影响。 ( 3 ) 导致重复建设,造成人力、资金的浪费:由于系统之间的信息资源不能 湖北工业大学硕士学位论文 共享,同样的数据需要录入多次,同样的系统功能也需要重复开发,这就极大的 浪费了人力与资金,而我国的教育投入本来就相对不高,这种浪费对教育的发展 实为不利。 ( 4 ) 行业垄断的危险:由于信息孤岛的问题,很多地区在软件的采购上采用 了一刀切的办法,要求所有的学校的教育管理机构都采用统一的软件,缺乏有效 的竞争和激励机制,必然导致行业垄断,使得优质服务将不可持续。 因此,急需一套与网络平台无关的教育管理信息系统规范,定义统一的数据 规范、共享和互访的操作机制实现各管理系统间数据的无缝集成和互操作。 国际上已有不少国家的企业机构和学术团体致力于教育管理信息系统相关标 准的研究,1 9 9 6 年e d u c o m ( 美国大学校际交流委员会) 设立了一个称为i m s ( 教学管理系统) 的研究项目,后来发展成为非赢利性的i m s 全球学习联合公司, 专门从事教学系统技术标准制订和推广工作。其中,i m se n t e r p r i s es p e c i f i c a t i o n ( 1 m s 企业接口规范) 是研究企业开发的教学管理系统之间互操作规范。但是i m s 企业接口规范只是针对同一个公司或组织开发的不同系统之间的接口,对不同企 业开发的管理系统的互操作无能为力。而且该规范在信息模型方面并不适合我国 国情。 美国教育部教育统计中心( n c e s :n a t i o n a lc e n t e rf o re d u c a t i o ns t a t i s t i c s ) 于 1 9 8 8 年设立了一个称为“中学后教育电子数据交换标准化”和“学生与学校永久 电子记录交换”的研究项目,简称s p e e d e e x p r e s s ,结果产生了一套教育电子 数据交换标准,并于1 9 9 2 年经美国国家标准研究院批准成为a n s ia s cx 1 2 试用 标准。这项标准在i m s ,s i f 相关规范中得到了引用。 2 0 0 0 年由美国一些企业组织发起制定的中小学学校管理系统互操作标准 学校互操作框架s i f ( s c h o o l si n t e r o p e r a b i l i t yf r a m e w o r k ) ,它的目标是使得学校管 理方面的各种应用程序能够交换和使用彼此的信息,并能够交换环境内的多种数 据。该规范对开发应用程序所需用到的硬件和软件不做任何假设,而是只定义体 系结构、软件组件以及他们之间的接口。不同应用系统之间通过一台区域集成服 务器( z i s ) 作为中介,通过遵循共同的以x m l 编写的s i f 词汇和语法,就可实 现数据共享与互操作。这一方案是对解决系统互操作问题在思维上的一大突破, 抛开了传统的a p i 的开发问题,而是定义共同遵循的一种数据交换格式,即x m l 词表。它作为一种x m l 的应用程序在美国得到了大力的推广和广泛的应用。目前, 美国已有越来越多的公司加入s i f ,同时很多x m l 开发、解析、浏览工具也表示 在新版本中增加或即将增加对s i f 的支持,就连i m s 关于企业接口的标准也在力 求向s 环靠拢。 2 湖北工业大学硕士学位论文 教育管理信息的标准化是整个国家教育管理信息化建设的基础,是将来实现 全国范围内教育信息资源交流与共享的必要条件,关于这些方面的规范,我们国 家非常很重视。2 0 0 1 年,教育部成立了现代远程教育标准化委员会,2 0 0 3 年正式 命名为“全国信息技术标准化技术委员会教育技术分技术委员会”,也称为教育信 息化技术标准委员会,专门从事教育信息化相关技术标准的制定和推广工作。该 标准的开发工作以实现资源共享、支持系统互操作、保障远程教育服务质量为目 标,通过跟踪国际标准并结合我国实际情况,力求形成有本国特色的现代远程教 育标准体系。该标准体系的解决教育信息系统互操作的主要规范为教育管理信息 系统互操作规范( e m i f e d u c a t i o nm a n a g e m e n ti n f o r m a t i o ns y s t e mi n t e r o p e r a b i l i t y f r a m e w o r k ) 。该规范借鉴了s i f 的思路,不仅规定了系统之间互换数据格式,更 重要的是还规定了系统之间互换数据的机制,将教育信息系统互操作的领域推前 了一步,推动“校校通”工程中应用软件的无缝互联。 教育管理信息系统之间的互操作有两个层面:一是学校内部各管理部门之间 的信息系统互操作问题;二是学校与上级教育管理部门之间以及学校与学校之间 的信息系统互操作问题。在e m i f 实现的互操作中,最重要的一点就是利用报文的 传递来实现不同应用程序之间的数据查询与获取。这就涉及到报文的内容,报文 的安全,报文的传递模式,报文传输的协议等方面的问题。 e m i f 是由各类教育管理软件,它们的代理和一个区域集成服务器( z o n e i n t e g r a t i o ns e r v e r ,简称z i s ) 构成的开放型网络系统。该框架中的所有组件( 代理 和z 1 s ) 通过e m i f 报文来传递数据,e m i f 报文使用x m l 表示。因为报文在传 输中,会由于多种原因发生传输的中断,比如服务器死机、网络中断等。一旦发 生这种情况,原有的报文传输状态就会被打破,导致传输错误。而这种状况又是 无法避免的。所以需要通过一些技术手段,使得发生传输错误后能够及时恢复, 避免数据的丢失。本论文主要来研究报文服务中的中断问题,并通过制订特有的 系统控制报文进行解决。 湖北工业大学硕士学位论文 第2 章相关理论及技术基础 2 1x m l 技术基础 x m l 即e x t e n s i b l em a r k u pl a n g u a g e ( n 司r 扩展标记语言1 的缩写。正如j a v a 带来 了一种完全可移植的变成语言,x m l 将带来一种完全可移植的数据格式。 本节将从x m l 的特点及其相关的技术论述x m l 作为可移植性数据为异构数 据库环境下数据的互操作提供了一个好的技术支持。 2 1 1 什么是x m l x m l 是一种具备一定移植性和可读性的、用于在程序问交换文字和数据的格 式。x m l 起源于父标准s g m l ,理解x m l 的一种方式是,它是对h t m l 的一种 整理和加强,并且增添了定义自定义标签的功能。与h t m l 相比,它带有能够标 识信息内容而不仅仅是格式的标签。x m l 是跨i n t e m e t 进行b 2 b ( 企业一企业1 通信 等操作的通用交换格式。x m l 完全面向数据内容,是自描述语言,可以描述线性 表、树、图形等数据结构,从而能成为不同应用系统之f 白j 的一种通用数据接口标 准,便于不同系统之间信息的传输。 2 1 2x m l 相关技术 x m l 是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部 件加以标识。它也是元标记语言,即定义了用于定义其它与特定领域相关的、语 义的、结构化的标记语言的句法语言。同h t m l 一样,它也是网络上的通用语言, 但x m l 是结构化的文档,它分离了数据的内容与表现的形式,用户可以自己定义 所需的标记及属性名,具有相当的灵活性。 一个完整的x m l 主要包括四个元素: ( 1 ) x m l 文档 ( 2 ) 文档类型定义d t d ( c a s c a d i n gs t y l es h e e t s l ( 3 ) 可扩展的样式语言x s l ( e x t e n s i b l es t y l el a n g u a g e ) 、 ( 4 ) 可扩展链接语言x l i n k ( e x t e n s i b l el i n kl a n g u a g e ) 或x m l 指针语言 x p o i n t e r ( x m lp o i n t e rl a n g u a g e ) 。 x m l 文档中描述了存储数据的实体内容;d t d 定义了x m l 文件中的元素、 4 湖北工业大学硕士学位论文 元素的属性以及元素与元素属性的关系,规定了x m l 文档的逻辑结构;c s s 或 x s l 规定了文档的具体表现形式;x l i n k 或x p o i n t e r 则建立了x m l 文档与w e b 上 的简单链接。 2 1 3 使用x m l 的目的 ( 1 ) 简化数据交换:x m l 提供了行业成员之间的信息电子共享的标准数据 定义。例如,图书馆可能希望从学生信息中心的学生信息数据库中提取所选的学 生的基本信息。如果学生信息中心使用了业界承认的x m l 标记描述学生信息数据 库中的学生基本信息的话,那么就简化了学生基本信息的查询。 ( 2 ) 组织文档:x m l 使公司可以方便地标识可以用x m l 标记重新调出的文 档组件。例如,学校w e b 站点通常要筛选学生的一些信息发布在互联网上以便用 人单位进行选择。这包括学生的一些可以公布的基本信息,以及其他一些可以发 布信息,通常这些信息分布在学校内部各个子系统的数据库中。利用x m l 各子系 统可以非常方便地提供这些信息,因为学校w e b 站点是用x m l 标记学生的一些 信息的组件。 ( 3 ) 可复用的文档元素:公司可以通过引用现有文档中的元素并利用这些 x m l 标记创建新的文档。假设学校希望创建学生信息中特困生的基本信息,可以 通过引用常规学生基本信息目录中选定的x m l 标记,就可以将这些特困学生的基 本信息轻易地组装到学校特困生信息的目录中。 ( 4 ) 标准化信息的显示:用基于x m l 语言创建的文档,每一个元素都包括 显示元素的规则。例如,产品价格信息的显示格式与描述价格信息的x m l 标记相 关联。因此,x m l 提供了信息显示的一致性。 ( 5 ) 可用浏览器读取:i n t e r n e te x p l o r e r s ( 包括用于m a c r o t o s h 和w i n d o w s 操 作系统上的1 和n e t s c a p e 6 浏览器可以显示x m l 文档。 2 1 4 创建x m l 一个x m l 文档可以分成两个基本部分:首部( h e a d e r ) 和内容( c o n t e n t ) 。首部给 出了x m l 解析器和x m l 应用程序信息,从而指明了处理该文档的方式;内容就 是x m l 数据本身。 对于x m l 文档,有两个重要概念: 有良好的结构:任何x m l 文档对任何类型的应用以及证确的解析都必须具有 良好的结构“w e l l f o r m e d ) ,一个结构良好的文档应当是,每一个打开的标签必须 有匹配的结束标签,不得含有次序颠倒的标签,并且在语句构成上符合技术规范 湖北工业大学硕士学位论文 的要求。x m l 文档没有任何语法规则,但是必须服从一定的句法规则。这些规则 以后将被x m l 类型的应用程序及解析器用来识别文档,以及对数据执行一些操 作。 可以是有效 笋j ( v a l i d ) :所谓有效性是指符台其文档类型定义( d t d ) 的文档,简 单地来说,d t d 为x m l 格式定义了语法和标签集。如果一个文档指定了一个d t d 格式并且符合该d t d 的规则要求。这个文档就可以称为有效文档。x m l 文档也 可以用一种模式( s c h e m a ) 来约束。这种模式是种规定x m l 格式的新方法,并且 将取代d t d 。如果一个文档符合一个模式的规定,这个文档称为是“模式有效的” ( s c h e m av a l i d ) 。 对于x m l 文档的创建,一般是用x m l 编辑器创建静态的x m l 文档和利用 j a v a 动态的创建x m l 文档。现在利用更多的是越来越多的新型技术在内存中创建 x m l 文档,一些通用应用程序,包括x m l 编辑器和开发环境等需要修改和创建 x m l 数据。一般做法是利用x m l 的解析程序进行处理,如:s a x ,d o m ,j d o m 等。 2 1 5 解析x m l 程序化地处理x m l 时,首先要做的事情之一,是获取一个x m l 文件并解析 它。当该文档被解析后,其中的数据对使用解析器的应用程序就可用了,这样我 们就得到了x m l 应用程序。从应用的角度看,在一个x m l 文档的生命周期中有 两个基本的阶段,首先是解析文档,然后是如何操作文档中的数据。 s a x 是简单a p l ( s i m p l ea p if o rx m l ) 的缩写。它提供了一个用来解析x m l 数据的基于事件的框架,它扫描整个文档,并将数据拆解成几个有用部分的一种 处理过程。在该过程的每一步中,s a x 都定义了可能发生的事件。 树是作为对象模型( o b j e c tm o d e l ) 工作的。对象模型的代表是d o m ( d o c u m e n t o b j e c tm o d e l ) od o m 是w 3 c 的推荐标准,定义了用于访问和修改x m l 文档 的样式、结构和内容的编程接口。d o m 基于树的思想,一次性将一篇结构化文档 全部解析,然后生成一个对象树来描述该文档,之后对于该文档的所有操作f 如修 改、查询等1 ,均在该对象树上进行。然而d o m 也有一个很大的缺陷,因为d o m 将整个文档都读入内存,资源负载会很重。这就经常造成应用程序运行缓慢甚至 瘫痪。文档越大越复杂,这种缺陷就越明显。 2 1 6 约束x m l 约束x m l 是利用它所引用的d t d 或者模式中设置的限定条件,除了可以使 湖北工业大学硕士学位论文 x m l 文档的用户理解数据如何被表示以及数据表示什么外,约束x m l 文档还可 以帮助应用程序理解x m l 文档。约束x m l 的目的: f 1 1 保证一个文档既是良构的,同时也是有效的。 f 2 1 约束x m l 文档有助于避免文档中元素产生歧义。 f 3 ) g 移植性:除了帮助x m l 文档的用户理解数据如何被表示以及数据表示什 么之外,约束x m l 还有助于其他应用程序理解x m l 数据。 d t d 的工作是定义数据如何被格式化。它必须定义x m l 文档所允许的每个 元素、每个属性以及每个元素可以接受的属性值、每个元素的嵌套和事件以及任 何可能的外部实体。d t d 通过定义数据的结构,使这些数据被许多不同的程序以 多种方式使用。 x m l 模式是w 3 c 推出的一个新的工作草案,目的是为了称补d t d 存在的问 题以及局限性。除了能更精确地处理x m l 结构约束的表示之外,x m l 模式还可 以为约束数据的处理提供一个x m l 样式。模式实际上是x m l 文档,这些文档带 有标准格式,并且是有效的。这允许解析器和能够读取x m l 文档的应用,能够以 一种类似处理其他x m l 文档的方式来处理x m l 模式文档,而不像处理d t d 文 档那样,需要采用专门的技术。 2 2 e m i f 简介 e m i f 规范提出了一个教育管理信息系统互操作框架的概念,通过对框架及其 组件的描述,展现了一个由任意多个教育管理信息系统( 简称e m l s ) 组成的开放 型网络,任何符合规范的e m i s 系统都可以成为e m i f 框架的一部分,并与e m i f 框架内的任意一个系统交换和使用彼此的信息。凡是遵循该规范开发或者修改的 软件产品,都可以加入到该框架中来,只要是该框架的组件,都可以方便地进行 数据共享和互访。 2 2 1 e m i f 架构 e m i f 是一个分布式的联网系统,由一个或多个e m i f 区域组成,每个区域都 由一台区域集成服务器( z o n ei n t e g r a t i o ns e r v e r ,简称z i s ) 和多个应用程序及其 代理( a g e n t ) 组成。 2 2 11 单区域结构 一个e m i f 区域的结构是:一个或多个应用程序及其代理程序( a g e n t ) 通过 一台区域集成服务器( z i s ) 相连( 如图2 1 所示) 。 湖北工业大学硕士学位论文 图2 1 单区域的e m i f 结构 z i s 和a g e n t 叫做e m i f 的组件。z i s 和a g e n t 通过使用e m i f 规定的报文进 行数据交换与系统互操作。报文是规范的x m l 文档,包含数据和对数掘进行操作 的信息。代理程序的主要作用是把应用程序的数据绑定成符合e m i f 规范的x m l 报文,或者把收到的x m l 报文解读成应用程序理解的格式。代理程序可以在开发 应用程序时就集成到程序内部,也可以对已有的应用程序挂接一个新增的代理程 序。 区域集成服务器( z i s ) 是一个信息流控制中心,z i s 的主要作用就是负责把 报文送交给指定的组件,或根据需要向某个组件索取报文。这些组件可以是本区 域的a g e n t ,也可以是另一个区域的z i s 。 代理程序之间并不直接通信,而是通过z i s 作为中介进行联系。通过z 1 s 的 管理,代理之问可以进行复杂的通信。e m i f 通过一台z i s 将各个管理系统及其代 理程序相连,就可以形成一个逻辑上的实体。z 1 s 和代理都支持e m i f 规定的x m l 词汇和语法,通过叫做“报文”的x m l 文档的传递进行数据交换。这样由一个 z i s 控制下的实体看作是e m i f 的一个“区域( z o n e ) ”。区域的大小并没有限制, 完全取决于用户的需要。 2 2 1 2 多区域结构 e m i f 可以有多个区域,各个区域的z i s 互联可以使不同区域间实现互操作( 如 图2 2 所示) 。这样就可以建立学校与学校之间,以及学校与教委之间的互联系统。 湖北工业大学硕士学位论文 图2 2 多区域互联的e m i f 结构 可见,z i s 是整个架构的核心,它的作用是管理应用软件的互操作权限,转发 代理的报文。代理是附加在应用软件之上的一个逻辑组件或者一个独立的应用程 序它的作用是代替应用软件与z i s 实现通信。 z i s 的基本原理是:代理将交换数据发送给z i s ,由z i s 转发给目标代理,具 体内容包括:数据交换和通信安全。 2 2 2e m i f 互操作的原理 e m i f 通过数据对象、事件对象以及报文实现数据的共享与互操作。 2 2 2 1 数据对象和事件对象 通常,学校使用数据库来存储各种信息,比如学生信息,可以使用“学生姓 名、“性别、“籍贯”、“生日”等字段来描述。但是数据库依靠平台,不同平台 的数据库要实现数据交换就必须使用a p i ,通过编写脚本来实现数据交换,这样势 必耗费人力物力。于是,人们想象有一种与平台无关的中间格式的存储,任何数 据在交换前都转换成这种通用的格式,并且对特定数据对象的描述方式作出统一 规定。x m l 恰好能够实现这一点。x m l 是一种与平台无关的结构化存储方式, 它的标签可扩展性恰好可以对数据对象的描述方式进行统一规定。这样,使用x m l 语言,将学校范围内的数据对象的描述方式进行统一规定,就为数据共享和互操 作提供了便利的日u 提。 e m l f 正是这样解决的:e m i f 的执行规范中对不同的数据对象及其描述方式 进行了定义。例如,学生信息用“学生基本信息”描述,以d t d 的方式定义它的 数据结构( s c h e m a l ,规定描述学生信息的元素及其属性,以及元素的嵌套关系和出 现次数、顺序。一个元素有一对标签来描述,在打开标签中包含了元素的属性, 属性的值域以及数据类型在d t d 中也有规定。标签中的内容的数据类型也在d t d 湖北工业大学硕士学位论文 中有所规定。这样,遵循数据对象的d t d 进行描述的数据就有了共同的结构。 在e m l f 中,除了数据对象使用x m l 绑定外,还有一种对象也可以使用x m l 绑定,这就是事件对象。如果把数据对象看作是对静态信息的描述,那么事件对 象就可以看作是对动态信息的描述。一个学生的基本信息可以用x m l 描述,对学 生基本信息的内容进行更新、增删的操作也可以用x m l 描述。只不过,使用的元 素中包含了描述动作的属性,如“a c t i o n ”,取值范围是“c h a n g e ”,“a d d ”,“d e l e t e ”。 2 2 2 2 报文( m e s s a g e ) 数据对象和事件对象必须放在报文中才能够传递,报文( m e s s a g e ) 可以看作 是数据对象和事件对象的包装器。报文同样使用x m l 绑定,不同类型的报文有各 自的d t d 。任何报文都提供报文的名字空间,报文名称,报文来源,发送时间等。 使用不同的报文可以实现数据交换以及互操作的功能。 为了保证互操作性,e m i f 定义了一组用于代理程序和z i s 之间交流的报文。 这些报文用来执行各种各样的操作,诸如数据提供、数据预约、数据请求与回复、 以及z i s 管理。 这些报文共1 1 类,他们的作用分别是, e m i fa c k :用来通知一个请求是否成功执行。 e m i f _ e v e n t :用来传递e m i f 定义的事件对象,如对一个数据对象的增删的 事件。 e m i fp r o v i d e :应用程序用来公布可提供的数据对象。 e m i f _ r e g i s t e r :应用程序或其它发送者向z i s 进行注册登记的报文,注册时 需要提供其标识信息,由z i s 检查并确保它拥有当地唯一的标识。 e m l f _ r e q u e s t :用来向一个代理程序发出获取数据对象信息的请求。 e m i fr e s p o n s e :用来对e m i f 报文进行回复。_request e m i fs u b s c r i b e :用来预约事件对象。 e m i fs y s t e m c o n t r o l :用来控制一个e m i f 节点和另一个e m i f 节点的数据流。 e m i f _ u n p r o v i d e :与e m i f _ p r o v i d e 作用相反,用来取消可提供的数据对象。 e m i f _ u n r e g i s t e r :用来取消注册 e m i fu n s u b s c r i b e :用来取消预约。 上面1 1 类报文,大体可以分为三类: ( 1 ) 运行前准备报文:如e m i fr e g z s t e r ,e m i fp r o v i d e r ,e m i fs u b s c r i b e , e m i f - u n r e g i s t e r ,这些报文是客户端代理加入区域时必须提供的包含系统信息的 报文,用来添加或修改系统数据库中的信息,是保证系统的e 常运行必须的信息、。 1 0 湖北工业大学硕士学位论文 ( 2 ) 系统运行时报文:主要是e m i fa c k ,e m i fe v e n t ,e m i fr e q u e s t , e m i fr e s p o n s e 报文,是系统运行时必须能处理的报文。 ( 3 ) 系统控制报文:e m i f 用来提供系统的控制操作。systemcontrol 按照上面的分类,这1 1 类报文可以分成三个优先级别,系统运行准备报文优 先级最高,其次时系统控制报文,最后才是系统运行时报文。 2 2 2 3e m l f 中的功能模型 对象和报文的规定是e m i f 互操作功能的前提,为了实现互操作,还需要建立 一些功能模型,功能模型规定了实现不同功能所使用各种报文的流程。 e m l f 的目标是实现不同应用程序间可靠、有效、安全的交换数据。可靠是指, 当一个应用程序向一个预定接收器发送报文时,必须保证收到;报文到达该接收 器的顺序与发送他们的顺序相同,每次报文只发送一次。有效意味着e m i f 实现必 须主持不同应用程序之间的实时数据交换一批交换数据除外。同时必须伸缩性好。 安全包括三个方面:加密,确认与权限设置。发给e m i f 的每份报文必须加密并确 认,以限制访问指定的应用程序。 ( 1 ) 数据供应:请求( r e q u e s 0 和回复( r e s p o n s e ) 模型 当一个应用程序( 即“请求者”) 想要从一个数据对象那里收集数据时,首先需 要发送一个请求给z i s 。这个请求中可以指定数据的提供者f 即某个应用程序服务 器1 ,也可以不指定。如果报文中没有指定提供者,那么z i s 也可以为这一数据请 求寻求合适的提供者。任何应用程序服务器都可以成为数据对象的提供者,但首 先必须向z i s 进行登记。利用登记报文e m i f r e g i s t e r 在z i s 中登记,得到一个统 一的标识符。然后还要使用e m i fp r o v i d e 报文,将自己可以提供的数据对象向 z 1 s 公布。这样,z i s 在收到数据请求时,根据已有的登记就可以迅速找到数据的 提供者,将数据请求发送给数据提供者,然后将数据的反馈传递回最初发出数据 请求的应用程序。这里指的应用程序包含了各自的代理程序,代理程序能够读懂 e m i f 的报文。 ( 2 ) 事件报告:发布和预约模型 代理程序通过发布关于e m i f 数据对象的添加、改变、删除的事件报文来传递 数据的更新信息。如果其他应用程序需要随时得到这些更新信息,就需要由代理 程序进行预约。预约的方法就是发出一个或多个预约报文e m i fs u b s c r i b 给z i s 。 每当应用程序发布事件后,z i s 都会将这一事件按照预约清单将这一事件发送给每 个预约程序。这一更新数据的过程成为事件报告生成。 ( 3 ) 通信方式:异步传输模型 湖北工业大学硕士学位论文 为了确保可测量性和可靠性,e m i f 要求代理和z i s 之问使用异步通信方式。 z i s 和代理并不保证它们可以获得直接的应答。 在异步通信模式下,发出消息的人并不知道对方何时能收到消息。使用异步 通信的e m i f 可以使得软件设计具有高可测性与高可靠性。例如,即使一个代理当 前没有与e m i f 建立连接,但其它应用程序仍然可以向它发送报文,因为z i s 将保 存这个报文,并在该代理连接时继续发送。 这种方式使在某一代理与z i s 的连接发生故障时仍然能够保证数据更新的手 段。它通过类似电子邮件等异步传输方式保证报文的传递。 ( 4 ) 报文传递 把报文传递给代理有两种模式,“推”模式和“拉”模式。代理在向z i s 注 册时,可以指定它将使用那一种模式。 “推”模式:z i s 可以在代理发出请求前,主动将报文传递给一个代理的行为。 当z i s 收到代理的一个报文,且该代理不是处于“休眠”状态时,z i s 可以主动与 代理建立连接,并发送报文。 “拉”模式:是一个代理程序向z i s 明确地要求一个报文的行为。当代理准 备接收报文时,它要向z i s 发送一个“拉”请求,来获取保存在z i s 中的该代理 报文队列中的一条报文。z i s 收到拉请求后,会查找代理队列,返回一条报文,如 果没有报文发送,就返回一个通知报文报告这一情况。 湖北工业大学硕士学位论文 第3 章e m i f 中报文服务 如前所述,系统之间的互操作是通过报文服务来实现的。报文的基本元素是 e m i fh e a d e r 和e m i fm e s s a g e 。 3 1 报文处理协议 3 1 - 1 报文预处理( i n i t i a lm e s s a g ep r o c e s s i n g ) 刚收到报文时,首先要验证该x m l 报文的有效性,以及该代理是否有获得报 文所要求数据的资格。如果报文无效,或未被许可,收件人将会对发件人返回 个包含e m i fe r r o r 元素的e m i fa c k 报文,并且不再对收到的报文作其他的处理。 表3 1 报文预处理 步骤处理程序控制流程 1 验证x m l 报文有效性。x m l 有效性验证是可选的。有效,跳至3 准备一个包含e m i f _ e r r o r 元素的e m i f a c k 报文,设定 e m i f _ e r r o r e m i f _ c a t e g o r y 的值为“l ”来表示类型为x m l 一的有效性,为e m i f e r r o r e m i f _ c o d e 和e m i f e r r o r 停止报文处 e m i fd e s c 填写合适的错误代码和描述。可以在e m i fe r r o r 理。 e m i fe x t e n d e d d e s c 中填写其他解析器的信息。将此 e m i fa c k 报文返回给发送者。x m l 有效性验证是可选的。 检查报文的e m i f r j l e a d e r ,获取e m i fs o u r c e i d 和 e m i f _ m e s s a g e ,获得报文类型信息。 使用e m i f _ s o u r c e l d 查询a c l ( 存取控制列表) 来确定有许可权,跳 发件人是否对这种类型的报文及该类对象的操作有许可权。 至6 准备一个包含e m i f e r r o r 元素的e m i f a c k 报文,设 一定e m i f e r r o r e m i f c a t e g o r y 的值为“4 ”柬表示类型为许停止处理该 可权, 为 e m i fe r r o r e m i fc o d e 和e m i fe r r o r 报文。 e m i f d e s c 设置适当的值。将e m i fa c k 报文返回给发送者。 6 根据报文的类型,传递给相应的处理者。 湖北3 - 业大学硕士学位论文 3 1 2 注册( r e g i s t r a t i o n ) 在一个代理开始使用e m i f 之前,必须先进行注册,以便告知z i s ,它可以提 供哪些数据进行交互使用。这一过程是通过对e m i f _ r e g i s t e r 报文的处理来实现 的。 表3 2 注册报文e m i f r e g is t e r 的处理 步骤处理程序控制流程 1 检查e m i f _ v e r s i o n 来确定z i s 是否能处理这一版本能,处理跳至3 2 准备一个包含e m i f _ e r r o r 元素的e m i fa c k 报文,停止处理该报文。 设定e m i f e r r o r e m i fc a t e g o r y 的值为5 来表示 类型为注册,为e m i fe r r o r e m i f e m i f _ e r r o r e m i fd e s c 设置适当的值。,表明z i s 不能处理该版本的e m i f 报文。将e m i f a c k 报文返 回给发送者。 3 检查e m i f _ m a x b u f f e r s i z e 并验证该值是否大于等若是,跳至5 。 于z i s 要求的最小值。 4 准备一个包含e m i f _ e r r o r 元素的e m i l a c k 报文, 停止报文处理。 设置e m i f e r r o r e m i f _ c a t e g o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论