




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖北工业大学硕士学位论文 摘要 基于校园网的学校内部各管理信息系统的数据共享和交换是学校信息化建设 的重要工作。要从根本上解决学校信息系统集成中由于各个子系统的数据格式不 一致,难以集成的问题,关键还是要遵循一定的规范。教育管理互操作框架规范 ( 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 k ,简称 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 ) 模式构建基于校园网的信息共享和数据集成平台。本 文正是在这种背景下,研究了e m i f 中报文传递的死锁问题。 本文在研究和分析e m i f 架构和e m i f 中系统间数据共享方式和传递方式的基 础上,研究了报文传递中3 大关键技术问题:死锁问题、传输中断问题和安全保 护问题。并对其中的死锁问题进行重点研究,提出两种解决报文传输中的死锁问 题的方法s m b 机制和代理当地队列机制,并进行初步的实现。 关键词:教育管理互操作,区域集成服务器,死锁,x m l 湖北工业大学硕士学位论文 a b s t r a c t w i t hd e v e l o p m e n to f t h ee d u c a t i o n a li n f o r m a t i o nb a s e do ni n f o r m a t i o np l a t f o r mo f c o m p u t e rn e t w o r ki ns c h 0 0 1 t l l cp r o b l e mi nd a t as h a r i n ga n de x c h a n g i n gb e c o m e s m o r ea n dm o r ev i s i b l ea n di m p o r t a n t a 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 l i n f o r m a t i o nm a n a g e m e n ti sn e e d e du r g e n t ly 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 n s 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 do f s 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 e d i 虢ro fd a t af o r m a t sa n dd i f f i c u l tt oi n t e g r a t e 1 1 l 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 g a n di n t e g r a t e sp l a t f o r mb yt h em o d e lo fa g e n t z i 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 fd e a d l o c kd u r i n g m e s s a g et r a n s f e r r i n g i nt h i sp a p e lb 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 em o d e o fd a t as h a r i n ga n dd a t at r a n s f e r r i n gb e t w e e ns y s t e m si ne m i f , w ep r o p o s et h r e ek e y o p e nt e c h n i q u ep r o b l e m sd u r i n gm 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 c 【p t a n ds a f e t y , a n dw ef o c u so nt h ep r o b l e mo fd e a d l o c km a dt w om a j o r m e c h a n i s m sn a m e da ss e l e c t i v em e s s a g eb l o c k i n g ( s m b ) a n da g e n tl o c a lq u e u e ( a l q ) a r ep 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 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 , z o n ei n t e g r a t i o ns e r v e r , d e a d l o c k ,x m l l l 佩l j l 工孽火罄 学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作所取 得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经 发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方 式标明。 出 日期:少“年莎月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留 并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授 权湖北工业大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采 用影印、缩印或扫描 学位论文作者签 日期州年莎 湖北工业大学硕士学位论文 第1 章引言 随着互联网络的迅速普及,基于网络的信息系统部署和实施已是大势所趋, 学习资源共享和教育信息系统互操作已经成为基本要求,学习资源共享是指一个 学习对象可被多个学习系统利用:系统互操作是指多个系统及组件之间能够交换 与使用彼此的信息。但目前教育信息化系统建设却是条块分割,各部门自行开发 自己的系统,缺乏标准化、规范化和兼容性,信息资源难以共享,出现了一个个“信 息孤岛”,与网络共享的基本要求背道而驰。比如在一个地区性的教育行政机构, 经常是人事部门维护着一个人事数据库,财务部门维护着一个工资数据库,这两 个系统中的人员信息,本应该是一致的,共享的,但往往是因为开发单位不一样, 数据结构不一致,系统之间无法交互,形成两个部门的“信息孤岛”,从而造成重复 建设和管理效率低下。 目前,随着不同管理系统之间数据共享与信息交换的需要不断增加,暴露出 的问题也越来越多,主要体现在以下几个方面。 ( 1 ) 教育管理信息横向交换与纵向传输的困难:由于缺乏数据交换的规范, 教育机关内部不同部门开发的教育管理信息系统( 简称信息系统) 之间不能进行 数据交换,而学校之间、学校与上级管理部门之间也不能直接传递数据,导致了 教育管理信息横向交换与纵向传输的困难。 ( 2 ) 妨碍管理部门的科学决策:由于信息传输困难,不能对教育管理信息进 行比较分析,各级各类教育管理部门就难以做出相应的正确决策,甚至还会对社 会经济发展的决策做出带来不良影响。 ( 3 ) 导致重复建设,造成人力、资金的浪费:由于系统之间的信息资源不能 共享,同样的数据需要录入多次,同样的系统功能也需要重复开发,这就极大的 浪费了人力与资金,而我国的教育投入本来就相对不高,这种浪费对教育的发展 实为不利。 ( 4 ) 行业垄断的危险:由于信息孤岛的问题,很多地区在软件的采购上采用 了一刀切的办法,要求所有的学校的教育管理机构都采用统一的软件,缺乏有效 的竞争和激励机制,必然导致行业垄断,使得优质服务将不可持续。 因此,急需一套与网络平台无关的教育管理信息系统规范,定义统一的数据 规范、共享和互访的操作机制实现各管理系统间数据的无缝集成和互操作。 国际上已有不少国家的企业机构和学术团体致力于教育管理信息系统相关标 湖北工业大学硕士学位论文 准的研究,1 9 9 6 年e d u c o m ( 美国大学校际交流委员会) 设立了一个称为1 m s ( 教学管理系统) 的研究项目,后来发展成为非赢利性的i m s 全球学习联合公司, 专门从事教学系统技术标准制订和推广工作。其中,1 m se n t e r p r i s es p e c i f i c a t i o n ( i 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 i a s c x l 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 m b i l i t yf r a m e w o r k ) ,它的目标是使得学校管 理方面的各种应用程序能够交换和使用彼此的信息,并能够交换环境内的多种数 据。该规范对开发应用程序所需用到的硬件和软件不做任何假设,而是只定义体 系结构、软件组件以及他们之间的接口。不同应用系统之间通过一台区域集成服 务器( z l 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 i f 靠拢。 教育管理信息的标准化是整个国家教育管理信息化建设的基础,是将来实现 全国范围内教育信息资源交流与共享的必要条件,关于这些方面的规范,我们国 家非常很重视。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 2 湖北工业大学硕士学位论文 f r a m e w o r k ) 。该规范借鉴了s i f 的思路,不仅规定了系统之问互换数据格式,更 重要的是还规定了系统之间互换数据的机制,将教育信息系统互操作的领域推前 了一步,推动“校校通”工程中应用软件的无缝互联。 e m i f 采用x m l 技术,由体系结构,报文规范,数据规范三个标准草案所组 成,它旨在解决教育系统内管理软件之间数据共享与互操作的问题。教育管理信 息系统之间的互操作有两个层面:一是学校内部各管理部门之间的信息系统互操 作问题;二是学校与上级教育管理部门之间以及学校与学校之间的信息系统互操 作问题。在e m i f 实现的互操作中,最重要的一点就是利用报文的传递来实现不同 应用程序之间的数据查询与获取。这就涉及到报文的内容,报文的安全,报文的 传递模式,报文传输的协议等方面的问题。 报文在代理和z i s 之间传递时,可能会出现“死锁( d e a d l o c k ) ”现象。“死锁” 一般发生于这样的情况:一个代理收到了某个事件报文,但不能立即处理该报文, 因为处理该报文的前提是必须先处理另一个报文,而那个报文又在这个事件报文 之后送到,必须等事件报文处理完成后才能处理,这时就会发生死锁。死锁常常 引发系统超常时间的等待,数据的不准确,如果处理不好,会造成很坏的后果。 本论文主要研究报文传递中的死锁问题,并提出和实现了解决该问题s m b 方法。 湖北工业大学硕士学位论文 第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 ( 可扩展标记语言) 的缩写。正如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 ( 企业一企业) 通信 等操作的通用交换格式。x m l 完全面向数据内容,是自描述语言,可以描述线性 表、树、图形等数据结构,从而能成为不同应用系统之间的一种通用数据接口标 准,便于不同系统之间信息的传输。 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 文件中的元素、 湖北工业大学硕士学位论文 元素的属性以及元素与元素属性的关系,规定了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 操 作系统上的) 和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 类型的应用程序及解析器用来识别文档,以及对数据执行一些操 作。 可以是有效的( 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 i ( 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 ) i 作的。对象模型的代表是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 基于树的思想,一次性将一篇结构化文档 全部解析,然后生成一个对象树来描述该文档,之后对于该文档的所有操作( 如修 改、查询等) ,均在该对象树上进行。然而d o m 也有一个很大的缺陷,因为d o m 将整个文档都读入内存,资源负载会很重。这就经常造成应用程序运行缓慢甚至 瘫痪。文档越大越复杂,这种缺陷就越明显。 2 1 6 约束x m l 约束x m l 是利用它所引用的d t d 或者模式中设置的限定条件,除了可以使 6 湖北工业大学硕士学位论文 x m l 文档的用户理解数据如何被表示以及数据表示什么外,约束x m l 文档还可 以帮助应用程序理解x m l 文档。约束x m l 的目的: ( 1 ) 保证一个文档既是良构的,同时也是有效的。 ( 2 ) 约束x m l 文档有助于避免文档中元素产生歧义。 ( 3 ) 可移植性:除了帮助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 i s ) 组成的开放 型网络,任何符合规范的e m i s 系统都可以成为e m i f 框架的一部分,并与e m i f 框架内的任意一个系统交换和使用彼此的信息。凡是遵循该规范开发或者修改的 软件产品,都可以加入到该框架中来,只要是该框架的组件,都可以方便地进行 数据共享和互访。 2 2 1e m i f 架构 e m l 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 1 1 单区域结构 一个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 l s 作为中介进行联系。通过z i s 的 管理,代理之间可以进行复杂的通信。e m i f 通过一台z l s 将各个管理系统及其代 理程序相连,就可以形成一个逻辑上的实体。z i 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 1 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 _ 2 数据交换模式 e m i f 内各个子系统之间的互操作主要实现两类数据交换的功能: 一个子系统获取另一个子系统的数据。 一个子系统的数据变化时,其他共享其数据的子系统的相应数据也得到更新。 e m i f 根据这两类功能创建了两类数据传递模式。一个是“请求与应答模式”, 想要获取数据的系统向z i s 发出请求报文,z i s 传递给可以提供数据的系统,该系 统i 吉i z i s 发回相应的应答报文,z i s 再将其返回给数据的请求者。另一个是“发布与 预约模式”,一个系统向z i s 发出“预约”报文,预约某数据的更新信息,当被预约的 数据所在系统数据更新时,该系统要i 向z i s 发布“事件”报文,z i s 迅速将事件报文发 送给预约者,从而实现数据的迅速更新。 2 2 2 1 请求与应答模式 当一个应用程序( 即“请求者( r e q u e s t e r ) ”) 想要从一个数据对象那里收集数 据时,首先需要发送一个请求报文( e m i fr e q u e s t ) 给z i s 。在大多数情况下,请 求报文中不标明应答服务器的i d ( e m i f 定由谁来提供这些数据,这时,z 1 s 将通过查找该数据的提供者( p r o v i d e r ) 的名 单,选择该数据对象的应答者( r e s p o n d e r ) 。作为该数据提供者的应用程序此时 就是默认的应答者。 湖北工业大学硕士学位论文 要作为数据的提供者,应用程序必须向z i s 发送一个提供报文( e m i fp r o v i d e ) 。 每个区域的每个数据对象只能有一个提供者,而一个区域内指定的对象却可能有 多个应答者。为了控制哪些数据可以互换,以及谁可以获得这些数据,z i s 必须提 供一个存取控制系统( a na c c e s sc o n t r o ls y s t e m ) ,来限制谁可以发送请求报文 ( e m i f 和应答报文( ) ,以及哪些数据可以允许被提供_ r e q u e s t )e m i f _ r e s p o n s e ( p r o v i d e ) 、被请求( r e q u e s t ) 、被应答( r e s p o n d ) 、以及被预约( s u b s c r i b e ) 。 该存取控制系统必须对每个已注册的应用程序坚持使用同样的原则( p o l i c i e s ) 。 如果请求者知道谁是应答者,或希望指定应答者,它必须将应答者的代理的i d 放在请求报文标题( h e a d e r ) 信息中的e m i fd e s t i n a t i o n l d 元素中。z i s 会检查每个 报文的标题部分,如果存在e m i fd e s t i n a t i o n l d 元素,z i s 必定会遵从存取控制安全 原则,将请求报文送交到指定的目的地。有时,即使一个应用程序指明了应答程 序,但安全保障系统仍然会阻止指定的应答者发送应答报文。 如果一个应用程序想要给别人提供对自身数据进行访问的权限,那么它可以成 为一个应答者。这些应用程序将支持一个或多个e m i f 数据对象。当它收到一个请 求报文时,它将发出一个或多个应答报文,这些报文将通过z i s 传递给请求者。应 答者必须把请求者的代理的i d 放在应答报文的e m i fd e s t i n a t i o n l d 元素中。 作为e m i f 区域的一部分的应用程序,能够友好地处理所有的e m i f 报文,包括它们 不支持的报文或数据对象。在遇到不支持的报文时,应该返回一个表示错误信息 的e m i fa c k 报文给z i s 。所有应用程序都可以返回一个表示成功信息的e m i fa c k 报文,忽略对报文的不支持。 当一个应用程序接受到了个请求报文,而它并不支持所请求的对象时,它必 须返回一个包含空的e m i fo b j e c t d a t a 元素的应答报文,用e m i fe r r o r 元素表示 错误的原因,用e m i fm o r e p a c k e t s 元素表示将不再其它的应答信息。 例如,假定一个学校内的e m i f 框架中包含学生管理系统、图书馆管理系统以 及教学管理系统, 如果后两个系统需要从i j 仃一个系统获取学生信息的数据,那么他们三者之间的报 文传递过程是这样的( 见图2 3 ) 1 登记:各系统的代理向z i s 发出登记报文,进行注册,具有了各自的i d 。 2 代理3 向z i s 发出“提供”报文,成为某数据对象的提供者( p r o v i d e r ) , p r o v i d e r 是该数据对象默认的应答者( r e s p o n d e r ) 。 3 代理1 和代理2 分别发出各自的请求报文,请求获得某数据对象。 4 z i s 根据已登记的提供者名单,找到数据的提供者为代理3 ,将请求报文发 送给该代理3 。 1 0 湖北工业大学硕士学位论文 5 代理3 分别根据两个数据请求报文的内容,返回相应的两个应答报文,送 回z i s ,z i s 再将其转发给相应的数据请求者。 2 2 2 2 发布与预约模式 图2 3 请求与应答模式 代理程序可以通过发布关于e m i f 数据对象的添加、改变、删除的事件报文来 传递数据的更新信息。如果其它应用程序需要随时得到这些更新信息,就需要由 代理程序进行预约。预约的方法就是发出一个或多个预约报文( e m l fs u b s c r i b e ) 给z i s 。每当应用程序发布事件后,z i s 都会将这一事件按照预约清单将这一事件 发送给每个预约程序。这一更新数据的过程称为事件报告生成。 例如,图书馆管理系统和教学管理系统在获得学生管理系统的某类数据后,希望随时获得改 数据的更新信息,那么他们就可以使用“发布与预约模式”实现这一过程。 具体过程如下( 见图2 4 ) ; 1 代理1 和代理2 分别预约代理3 中的某个数据对象; 2 代理3 中的数据对象的值发生改变时,会向z i s 发出一个表示数据变化的事 件报文( e m i fe v e n t ) 。 3 z i s 根据数据的预约情况将该事件报文传递给相应的预约者。 图2 4 发布与预约模式 湖北工业大学硕士学位论文 一旦一个应用程序向z i s 成功发送了一个事件报文,z i s 将立即此报文传递给它 的预约者,而不用通知报文制作者。报文制作者并不知道有多少应用程序将获得 他的事件报文,也不会知道报文是否传递给了预约者。 z i s 必须提供一个存取控制系统来限制谁可以发出事件报文,谁可以预约事件 报文,以及哪些数据对象可以被发布和预约。在应用程序使用z i s 提供的服务之前 必须向z i s 发送一个注册报文( e m i fr e g i s t e r ) 来进行注册。注册时不用特别声 明作为事件的发布者,任何注册了的应用程序都可以发布事件报文,但要遵守存 取控制系统的安全规定。 对于一个给定的数据对象,可由多个应用程序来发布事件报文。注册为数据提 供者的应用程序必须能够预约该对象的事件,但不一定必须预约。如果一个应用 程序改变了一些数据并发布了相应的事件报文,而z i s 拒收这个报文,我们建议 这个应用程序撤销对数据的改动,但应用程序也可以不这么做。 可见,e m l f 需要定义多种类型的报文,除了上面涉及到的报文,还要定义确 认报文是否接受的通知报文,定义取消注册的报文,取消提供数据的报文。还有 一种叫做“系统控制”的报文,该报文与别的报文不同,它本身并不携带数据信息, 只包含子报文,这些子报文用来表示报文的发出者是否处于工作状态,是否可以 处理报文等,以便接收者控制是否向它继续发送报文。e m i f 定义的基本报文共1 1 种。 由于不同类型报文的处理是不同的,因此必须定义报文处理协议,以使不同报 文表达的古义能够被正确地理解与反馈。同时,为了保证报文传递的安全性,身 份验证、加密保护、访问权限控制等手段的应用也是e m i f 的重要内容。作为报文 的内容的数据对象和事件对象的定义,以及报文的x m l 格式的定义,更是e m i f 规范中不可或缺的组成部分。 2 2 3 通信安全 2 3 3 1 通信模式 为了确保可测量性和可靠性,e m i f 要求代理和z i s 之间使用异步通信方式。z i s 和代理并不保证它们可以获得直接的应答。 在异步通信模式下,发出消息的人并不知道对方何时能收到消息。使用异步通 信的e m i f 可以使得软件设计具有高可测性与高可靠性。例如,即使一个代理当前 没有与e m l f 建立连接,但其它应用程序仍然可以向它发送报文,因为z i s 将保存这 个报文,并在该代理连接时继续发送。 湖北工业大学硕士学位论文 2 3 3 2 通信安全 e m i f 为应用程序的代理提供如下功能:对所有其他要与自己的数据进行交换 的代理进行加密保护和身份验证。e m i f 数据传递使用的各种通信协议,包括e m i f h t t p s ,在内部都提供了对加密保护与身份验证的支持。而且,z i s 的存取控制可 以允许区域管理员控制哪些代理可以获得别的代理的哪些数据。以保证信息交换 过程的安全性。e m l f 的安全模式有三个方面:加密保护( e n c r y p t i o n ) ,身份验证 ( a u t h e n t i c a t i o n ) 和存取控制( a c c e s sc o n t r 0 1 ) 。 1 加密保护 加密保护提供了这样一种机制:只有特定的发送者和收件人可以看到报文的内 容。在完全的安全模式下,代理s n z l s 之间所有的通信都要需要加密保护。所有代 理和z i s 必须支持的e m i fh t t p s 协议,是一个安全的传递模式,提供了数据交换 中的加密保护。如果使用其他通信协议,很重要的一点是要先知道这种传输是否 能够保障数据传递的安全。e m i f 为代理提供了这样- 种j j w 密途径:由代理告诉z i s , 它与z i s 之间通信要达到何种加密级别,z i s 的执行必须保证在与收件人通信时达 到这种加密级别,而不去考虑使用何种传递方式。如果z i s 不能满足要求的级别, 那么z i s 就不能在这种不够安全的渠道中传递报文。我们建议z i s 将种情况记入日 志。 对于数据的传输担负着安全保障的职责的是制作报文的代理或区域管理员。例 如,如果报文制作者在报文中对安全渠道提出了很高的要求,那么报文传递就不 能随意选择不可靠或不够安全的渠道,而必须选择z i s 支持的那种安全渠道。如果 数据传递渠道不安全,那么区域管理员可以阻止这种事情发生,办法是规定该区 域的z i s 和代理应该有一个最低级别的安全渠道,低于这个级别就不能传输。 2 身份验证 身份验证的作用是确认报文的作者是实际的作者,它可以避免区域外的代理伪 造报文来改变e m i f 数据。另一点很重要的是确保报文能够符合e m i f 的有效性检 验,并且能够正确传递到目的地。 3 存取控制 e m i f 规定了在数据交换过程中应用软件可具有以下七类数据操作权限:包括 提供、请求、应答、预约、添加、删除、修改。这些权限由z i s 的管理员针对每 一类数据分配给每一个应用软件。 存取控制是保证系统安全的安全机制。存取控制是在身份验证完成后,对代理 程序发往z i s 的数据存取报文进行访问权限检查,并保证只有有权限的代理程序才 能通过z i s 对该数据对象进行数据存取操作。 湖北工业大学硕士学位论文 z i s 实现存取控制的基础是存取控制列表( a c c e s sc o n t r o ll i s t ,a c l ) ,如表 2 1 。存取控制列表实际上相当于一系列可以分类并记录访问权限的操作,对送至 z i s 的数据存取报文进行管理,z i s 的所有行为都是根据存取控制列表中的信息来 实施的。 表2 1 存取控制列表示例( 其中:y 表示具有权限,n 表示没有权限) 存取控制列表中的各项信息类称为一个域,域的值就记录了与z i s 通信的代理 程序的数据存取权限( 其含义如表2 2 所示) 。 表2 2 存取控制的各域的说明 域 注释 代理标识 数据对象 提供者 预约者 添加权限 更新权限 删除权限 请求权限 应答权限 代理程序的唯一标识码( 由e m i f _ r e g i s t e r 报文中的s o u r c ei d 提供) 被操作的数据对象( 如“学生基本信息”) 代理程序是否注册为该数据对象的提供者 代理程序是否注册为该数据对象的预约者 代理程序是否可以请求添加数据 代理程序是否可以请求更新数据 代理程序是否可以请求删除数据 代理程序是否可以请求获取该数据对象的信息 代理程序是否可以应答基于该数据对象的请求 当然,z i s 在进行存取控制时并不真的需要存在这样一张表,它只是对z i s 进行 存取控制的一种形象化表示,而存取控制功能的具体实现应当交e h z l s 的供应商来 完成。 z i s 根据存取控制列表可能会拒绝某一代理程序的数据存取请求,这主要发生 在代理程序没有通过z i s 的身份验证或是代理程序使用t z i s 并不支持的专有协议 湖北工业大学硕士学位论文 等情况下。为避免报文注册失败导致不良操作,这就要求代理程序必须具有处理 报文在z 1 s 中注册失败的能力。如在表1 中所示,第二条数据存取报文在z i s 的存取 控制列表中都注册为“否”( n ) ,z i s 根据这一信息做出的反应是拒绝代理程序的 数据存取请求,当这种情况发生时,代理程序必须能够决定报文注册失败后应如 何继续操作。 需要说明的是,通过访问控制,可以保证数据的一致性,即一类数据只由一个 软件提供,其他软件都以它为依据进行更新。 湖北工业大学硕士学位论文 第3 章e m i f 中报文传递 如前所述,系统之间的互操作是通过报文的传递来实现的。 3 1 报文分类 数据对象和事件对象必须放在报文中才能够传递,报文( 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 类,他们的作用分别是: 1 e m i fa c k :用来通知一个请求是否成功执行。 2 e m i fe v e n t :用来传递e m i f 定义的事件对象,如对一个数据对象的增删 的事件。 3 e m i fp r o v i d e :应用程序用来公布可提供的数据对象。 4 e m i fr e g i s t e r :应用程序或其它发送者向z i s 进行注册登记的报文,注册 时需要提供其标识信息,由z i s 检查并确保它拥有当地唯一的标识。 5 e m i f :用来向一个代理程序发出获取数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新联兴职业学校(邯郸永年校区)公开招聘教师62名模拟试卷附答案详解(突破训练)
- 2025年烟台市人民警察培训学校公开招聘工作人员模拟试卷及答案详解(各地真题)
- 2025广东广州市中山大学孙逸仙纪念医院皮肤科技术助理岗位招聘1人模拟试卷参考答案详解
- 2025年4月四川成都师范学院考核招聘人员(第二批)考前自测高频考点模拟试题及答案详解(典优)
- 2025辽宁中国地质科学院岩溶地质研究所招聘交流选调人员1人考前自测高频考点模拟试题及答案详解1套
- 2025金华市天禾实业有限公司招聘2人模拟试卷及答案详解(有一套)
- 2025安徽池州市投资控股集团有限公司招聘24人笔试题库历年考点版附带答案详解
- 2025年台州仙居县卫生健康系统公开招聘卫技人员8人考前自测高频考点模拟试题有完整答案详解
- 2025福建技术师范学院招聘44人模拟试卷及参考答案详解一套
- 2025年个人土地转让协议
- 阅读还原六选五15篇(期中复习)八年级英语上册基础知识专项讲练(人教版)
- 【尿素生产中的热量衡算2400字】
- 按期支付进度款的催告函(过程进度款到期前提示支付)(联系单)
- 云南师大附中2024年数学高一下期末联考试题含解析
- 供应链管理综合实验实验报告
- (正式版)JBT 5300-2024 工业用阀门材料 选用指南
- 2024量子人工智能技术白皮书-量子信息网络产业联盟-2024.1
- 公务员考试培训-判断推理通关秘籍
- 第13课《警惕可怕的狂犬病》 课件
- 《C++语言基础》全套课件(完整版)
- HSK标准教程5下-课件-L2
评论
0/150
提交评论