




已阅读5页,还剩59页未读, 继续免费阅读
(计算机应用技术专业论文)基于SOA的学生信息门户系统研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 面向服务架构( s e r v i c e - o r i e n t e da r c h i t e c t u r e ,s o a ) 是解决当前企业 底层i t 系统实现技术繁杂,企业资源不能有效集成的最有效的分布式软件架构 方法。企业实旌s o a 系统,能有效地集成企业内部资源,共享企业之间的现有 资源,提高企业的业务敏捷能力,降低企业的i t 开发成本,提高业务实现效率。 本文采用微软最新推出的窗口通讯基础( w i n d o w sc o m m u n i c a t i o n f o u n d a t i o n ,w c f ) 技术设计并实现了基于s o a 的学生信息门户系统的架构。通 过把遗留系统中的有价值的资源以服务的形式整合到新系统中,有效地复用了 企业现有的资源,减少系统架构成本;通过把新需求根据企业需求策略公开为 服务,为企业提供了更加灵活的资源整合方式,进而提高了企业的业务敏捷能 力。 在系统架构方面,结合微软现有的系统架构技术及资源,根据面向服务架 构自身的特点及开发方式,分析了在n e t 平台下架构s o a 的方法;并依据此架 构方法,分析了在n e t 平台下实现s o a 架构所需的相关技术,如n e t 框架、 a s p n e t 及w c f 等。 在业务流程分析方面,采用自项向下的面向服务的业务流程分析方法,从 系统的原始需求入手,逐步细化,分析系统业务流程,并根据这些流程的重要 性及系统与其他系统可能存在交互问题,把系统中重要的、易变的及能被其他 系统所使用的业务功能点提取成服务,从而在保证完成系统需求的基础上,尽 可能地为企业提供业务服务模型。 在系统实现方面,从系统u m l 入手,针对业务流程分析方案中提取的系统 功能点建立系统的用例图;整体上采用典型的三层架构模式,并根据w c f 实现 的原理及方法,在三层架构的基础上,基于面向接口编程、分层划分的原则, 最终由1 1 个子系统完成学生信息门户系统的架构。 在系统的应用方面,以考生报名为例,详细的介绍了上述1 1 个子系统中如 何把考生报名业务流程需求转换为实际的实现,并在完成服务功能的基础上, 结合w e b 网页,给出考生报名客户端的调用范例。 关键词:面向服务架构,w e b 服务,窗口通讯基础,n e t 框架,a s p n e t a b s t r a c t s o a ( s e r v i c e - o r i e n t e da r c h i t e c t u r e ) i st h em o s te f f i c i e n ts o f t w a r ea r c h i t e c t u r e t or e s o l v et h ec o m p l i c i t yo ft h ei n f r a s t r u c t u r a li ts y s t e mo fe n t e r p r i s e sa n dt h e i n e f f i c i e n c yo ft h ei n t e g r a t i o no ft h ee n t e r p r i s e sr e s o u r c e e n t e r p r i s e sc a ni m p r o v e t h e i rb u s i n e s s a g i l i t y ,d e c r e a s et h ec o s to fi td e v e l o p m e n ta n di m p r o v et h e i r e f f i c i e n c yb yi n t e g r a t i n gt h ei n t e r n a lr e s o u r c e sa n ds h a r i n ge a c ho t h e r sr e s o u r c e s t h r o u g hs o as y s t e m i nt h ed i s s e r t a t i o n ,t h ea r c h i t e c t u r eo ft h e p o r t a ls y s t e mo ft h es t u d e n t i n f o r m a t i o ni s d e s i g n e da n di m p l e m e n t e db yw c f ( w i n d o w sc o m m u n i c a t i o n f o u n d a t i o n ) w h i c hi sn e w l yi s s u e db ym i c r o s o f t t h ec u r r e n tr e s o u r c e sa r er e u s e d e f f i c i e n t l ya n dt h ec o s t sa r ed e c r e a s e dd r a m a t i c a l l yb yi n t e g r a t i n gt h ec u r r e n tr e s o u r c e i n t on e w s y s t e mi nt h ef o r mo fs e r v i c e s b yp u b l i s ht h en e wr e q u i r e m e n ta ss e r v i c e s a c c o r d i n gt ot h er e q u i r e m e n ts t r a t e g y ,m o r ef l e x i b l ei n t e g r a t i n gm e t h o d sa r ep r o v i d e d t ot h ee n t e r p r i s e sa n dt h e i rb u s i n e s sa g i l i t i e sa r ei m p r o v e da c c o r d i n g l y a sf o rt h es y s t e ma r c h i t e c t u r e ,t h ea r c h i t e c t u r a l a p p r o a c hi n n e tp l a t f o r mi s a n a l y z e da c c o r d i n gt ot h ec h a r a c t e r i s t i ca n dt h ed e v e l o p m e n ts t y l e o nt h eb a s i so f t h ea r c h i t e c t u r e ,s u c hr e l a t e dt e c h n i q u e sr e q u i r e di nt h ei m p l e m e n t a t i o no fs o a o n t h ep l a t f o r mo f n e ta s n e t f r a m e w o r k ,a s p n e ta n dw c fa r ea n a l y z e d m e a n w h i l e ,t o p - d o w no b j e c to r i e n t e da n a l y z i n gm e t h o do ft h es e r v i c ei sa d o p t e d t h em o s ti m p o r t a n t ,m o s tm u t a b l ea n dm o s t p o s s i b l yr e u s e df u n c t i o n sa r er e f i n e da s s e r v i c e sb yr e f i n i n gs t e pb ys t e pf r o mt h eo r i g i n a lr e q u i r e m e n t b ys u c ha p p r o a c h e s , e n t e r p r i s e sa r ep r o v i d e dw i t hs e r v i c e sm o d e la n dt h ea s s u r a n c et oc o m p l e t et h e i r s y s t e mr e q u i r e m e n t i nt h ep a r to fs y s t e mi m p l e m e n t a t i o n ,s y s t e mi n s t a n c eg r a p hi sc o n s t r u c t e d a c c o r d i n gt ot h ef u n c t i o np o i n tr e f i n e di nt h ef o r m e rs t e pw i t hu m l t y p i c a l t h r e e l a y e ra r c h i t e c t u r ei sa d o p t e da n d11s u b s y s t e m sa r ea d o p t e dt oc o m p l e t et h e p o r t a ls y s t e ma r c h i t e c t u r eo ft h es t u d e n ti n f o r m a t i o no nt h eb a s i so ft h et h e o r ya n d m e t h o do fw c f , o b j e c to r i e n t e dp r o g r a m m i n ga n dd i v i s i o nl a y e r b yl a y e r 1 1 a sf o r t h ea p p l i c a t i o no ft h es y s t e m ,t a k i n gt h es t u d e n te n r o l l m e n tb u s i n e s s p r o c e s sa ss a m p l e ,t h ei m p l e m e n t a t i o nm e t h o d so ft h e11s u b s y s t e m sa r ed e t a i l e d i n t r o d u c e da c c o r d i n gt ot h er e q u i r e m e n to ft h eb u s i n e s sp r o c e s s t h ec l i e n tc a l l i n g i n s t a n c e sa r ea l s op r o v i d e do nt h eb a s i so ft h ei m p l e m e n t a t i o no fs e r v i c e sf u n c t i o n t h r o u g hw e bp a g e s k e yw o r d s :s o a ,w e bs e r v i c e ,w c f ,n e tp l a t f o r m ,a s p n e t i i i 独创性声明 本人声明,所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成 果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说 明并表示了谢意。 研究生( 签名) : 关于论文使用授权的说明 日期型塑掣 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即:学校有权保留送 交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部内容,可以采用影 印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 研究生。签名,:硪导师( 签名,:l 重二墨一 武汉理工大学硕士学位论文 1 1 本文研究背景 第1 章绪论 在我国迈向国际化的发展过程中,我国的经济环境面临着更加严峻的考验, 每一个中国企业都面临更加激烈的挑战和变革,为了适应市场的需求及提高生 产效率,企业需要灵活的i t 运营环境来支持业务的变化,因而企业一般会持续 地部署新的应用系统来协助和推动企业的运营和变革1 。这些应用系统可能会在 某一程度上缓解了企业面临的压力,但是,当越来越多的信息系统集成到企业 中后,企业需要面对的是多种技术实现的,多个软件供应商提供的不同样式的 系统,这些基于不同平台、技术、消息格式的应用系统,使得这些系统间通信 变得越来越复杂,最终造成的是一个个信息孤岛和冗余死角心1 。企业不得不面对 严峻的企业应用集成与协同方面的问题,这将直接影响到企业的成本降低和效 率提升。 企业应用上的变化导致i t 职责也出现了转变,以前只需关注软件内部结构, 现在还需要考虑软件与软件之间应用、流程、数据之间的共享口1 。传统的解决两 个应用之间数据共享的方式是使用适配器把不兼容的接口转换为可兼容的接 口。这也是企业应用集成( e n t e r p r i s ea p p l i c a t i o ni n t e g r i t y ,e a i ) 所提倡 的h 3 ,但是,e a i 并不能从根本上解决企业应用之间复杂的交互问题,这是由e a i 自身的缺陷决定的,在使用e a i 实现企业应用集成时,存在以下问题: 1 和平台相关:当今广泛用于系统之间通讯的协议有三种:一种是基于 w i n d o w s 平台的d c o m c o m + 协议,一种是基于j a v a 语言的r m i 协议,另一种则 是c o r b a 协议1 ,由于c o r b a 技术实现难度很大,现在基于c o r b a 技术的应用并 不多,企业中的应用大多都是基于d c o m 及r m i 技术,这两种技术都紧密藕合于 各自的平台,因而d c o m 和r m i 之间通讯需要做大量的转换工作,解决两者之间 通讯需要花费大量的人力物力。 2 适配器的数据量呈几何级增长: 这些应用系统一般仅提供单一的功能, 用的e r p ( e n t e r p r i s er e s o u r c ep l a n , 当今,在企业中会存在多个应用系统, 如办公用的办公自动化系统,生产管理 企业资源计划) 、c r m ( c il e n tr e l a t i o n 武汉理工大学硕士学位论文 m a n a g e m e n t ,客户关系管理) 等系统,这些系统本质上是彼此相互独立的,除 了自身之外,并不了解及关心其他系统的存在。当这样的系统需要广泛交互时, 需要在交互的双方之间都建立适配器,从而导致适配器的数量随着交互的应用 系统增长而成倍增长,最终,企业应用将成为一个复杂的网状结构。 3 e a i 成本较高:由于是跨应用程序的集成,相对于同一平台、同一语言 实现的软件,实现难度更大。 4 e a i 鲜有成功的案例:在e a i 刚提出时,得到了广泛的研究与推广,但 那些实践e a i 的公司很快就发现,使用e a i 并不能减少生产成本。时至今日, e a i 成功案例很少,因此企业不敢轻易实践e a i 。 通过上面的分析可以发现,e a i 的出现只是暂时的缓解当前企业对应用集成 方面的需求,并不能从根本上解决企业信息化方面跨平台、跨应用的难题。 随着w e b 技术的兴起与流行及分布式应用需求的进一步提升,s o a ( s e r v i c e - o r i e n t e da r c h i t e c t u r e ,面向服务架构) 开始备受关注,s o a 为实 现异构系统之间通讯提供了一个标准的架构方法,相对于其他架构,s o a 具有以 下优点旧: 1 利用现有的资产:可以将现有的应用程序包装成提供企业功能的服务。 因而企业可以继续从现有的资源中获取价值,而不必重新从头开始构建。 2 更易于集成和管理复杂性:因为服务的可集成性与可发现性,企业可以 随时更换更适合的服务以便于企业应用的重新组合,因而更能体现企业的业务 敏捷性。 3 更快地整合现实:通过利用现有的构件和服务,可以减少完成软件开发 生命周期所需的时间。这使得可以快速地开发新的业务服务,并允许组织迅速 地对改变做出响应和缩短开发时间。 4 减少成本和增加重用:通过以松散耦合的方式公开业务服务,企业可以 根据业务要求更轻松地使用和组合服务。 通过上述s o a 优点可知,s o a 更适合作为当前企业应用集成的基础架构,相 比于e a i ,s o a 解决的问题更彻底,同时,对底层的i t 系统架构层次更加清晰。 1 2 国内外研究现状 就s o a 的整体发展水平而言,由于s o a 思想起源于国外,故而架构方面的 2 武汉理工大学硕士学位论文 思想己比较成熟,现已有成熟的s o a 套件发布,这其中包括i b m 的w e b s p h e r e , b e a 公司的w e b l o g i c 等,这些产品的上市,一方面会促进s o a 的广泛应用;另 一方面通过使用这些套件可及时地发现当前在s o a 应用方面的不足之处,从而 可制定、修订与s o a 相关的规范。所以可以认为,s o a 在国外发展水平正处于推 广阶段。 s o a 在国内起步较晚,当前s o a 提倡者多是以前的中间件、面向构件技术的 提供商,对于s o a 及相关技术,当前大部分企业仍然集中在论证、实验或某一 功能或部门级别的局部性部署阶段。国内还没有一个真正的、完整的s o a 产品, 国内s o a 的发展更多的是一些传统的中间件厂商在推动,通过使用中间件技术, 间接地实践s o a 。据最新的i d c 调查表明:“7 7 5 的接受调查的中国企业开始 考虑或着手实现s o a 架构,其中已经部署s o a 项目的企业占1 0 ,已经规划或 正在部署的占3 0 ,正在进行s o a 项目论证的为3 7 5 ,尚未论证或考虑s o a 项 目的仅有2 2 5 口1 。故而可以认为:s o a 在国内有着巨大的需求,但是,在技 术和经验上还存在着一些不足之处。 1 3 本文主要内容 当前,在软件架构方面有两大主流技术:一种是基于m i c r o s o f t 公司的n e t 技术,另一种则是基于s u n 公司的j a v a 技术,大量的企业应用都是基于这两种 技术架构的,故而当前在s o a 实现方面的研究主要集中在这两个平台之上。 在j a v a 方面,因为有i b m 、e b a 、o r a c l e 及s a p 等公司支持,s o a 在j a v a 平台的应用相对较为广泛,同时,j a v a 平台下的s o a 参考架构s c a s d o ( s e r v i c e c o m p o n e n ta r c hit e c t u r e s e r v ic ed a t ao b j e c t ,服务组件架构服务数据对象) 标准舾1 也很早就制定出来,从而从构架层次为企业实践s o a 提供了一个明确的指 导,也为s o a 理论学习提供了很大的方便。 在n e t 方面,虽然微软在s o a 初期也投入了大量的精力,如参与并制定s o a 所依赖的诸多规范,但由于微软近年对s o a 相关理论及实践投入不足,s o a 在n e t 平台下实现案例不多,和s o a 相关的应用仍然集中在使用a s m x 技术来实现w e b 服务,由于a s m x 技术中存在诸如安全、性能等方面的问题,因此它也常需要组 合w s e ( w e bs e r v i c ee h a n c e ,w e b 服务扩展) 来协助实现安全的w e b 服务,故 而实现起来较为困难:同时,由于架构理念的不同,微软实现s o a 技术架构方 3 武汉理工大学硕士学位论文 式也和i b m 、b e a 等公司有着不同,不像这些公司提供了详细的分层的架构模型, 微软实现s o a 更倾向于理论指导阳1 ,这些问题都为在n e t 平台下实现s o a 带来 了诸多困拢与不便。 基于对s o a 发展前景的认可,在微软新推出的n e t 框架3 0 中,微软推出 了w c f ( w i n d o w sc o m m u n i c a t i o nf o u n d a t i o n ,窗口通信基础) 技术,它可以认 为是n e t 平台下所有有关分布式开发技术的结合体,因而很好地解决了在n e t 平台下实现s o a 技术分散的问题口1 。当前国内针对在n e t 平台下使用w c f 技术 实现s o a 研究尚少,同时,完整地使用面向服务分析方法分析业务流程案例也 很少。故而本文从以下方面作为研究的主要内容: 1 研究与s o a 相关规范,并理解这些规范为实现s o a 所提供的功能。 2 参考s o a 理论及实践方法,研究在n e t 平台下实现s o a 的参考模型,从 而从架构层次上深入了解在n e t 平台下实现s o a 的方法与技术。 3 使用自顶向下的面向服务分析技术n0 】,分析华中科技大学软件学院在 职研究生教育系统( 学生信息门户系统) 业务流程,进而提取系统中所要公开 的服务。 4 使用w c f 、u m l 等技术,实现在n e t 平台下基于s o a 的学生信息门户系 统。 4 武汉理t 大学硕士学位论文 2 1s o a 简介 第2 章s o a 与w e b 服务 s o a 最初由g a r t n e r 咨询公司提出,其目标是“让i t 变得更有弹性,以更 快地响应业务单位的需求,实现实时企业( r e a l - t i m ee n t e r p r i s e ) ”( 1 羽。由于 当时技术环境限制,s o a 并没有真正的流行起来。近年来,随着分布式软件架构 思想迸一步发展及s o a 所依赖的技术一x m l 、s o a p 、w s d l 、w e b 服务及w e b 服务 扩展等规范的成熟,s o a 从理论研究开始转向实际的应用。 微软公司把s o a 定义为:“s o a 是一种基于标准的设计方法,可用于创建能 够对不断变化的业务需求进行快速响应的集成i t 基础结构。s o a 提供了必要的 原则和指导,可将公司现有的一系列异类的、分布式的、复杂的、不灵活的i t 资源转化为集成的、简化的、高度灵活的资源,这种资源可以进行改变和调整, 以便对业务目标提供更直接的支持。”n 3 1 。这段描述概括了s o a 的基本特征:首 先,s o a 是一种基于标准的设计方法,当前,这个标准主要是w e b 服务及其扩展 协议;其次,s o b 可以简化i t 系统底层复杂结构,无论这些底层的系统是基于 什么平台、语言开发的,通过使用s o a ,可以有效地把这些系统所提供的服务集 成到任一平台中,从而为企业提供更加灵活的资源存取方式;再者,s o a 是以业 务流程为中心的,通过把底层的业务功能抽取成服务并加以重新编排,从而能 更大承度上复用这些i t 资源。 更一般的认为是:“s o a 是一个组件模型,它将应用程序的不同功能单元一 一服务( s e r v i c e ) ,通过服务间定义良好的接口( i n t e r f a c e ) 和契约( c o n t a c t ) 联系起来。接口采用中立的方式定义,独立于具体实现服务的硬件平台、操作 系统和编程语言,使得构建在这样的系统中的服务可以使用统一和标准的方式 进行通信”u4 1 。 从架构的角度来看,s o a 是分布式应用系统发展的自然产物,也是“以复用 为中心”的软件开发模式新的复用方法。2 0 世纪8 0 年代,以面向对象为主导的 系统构架方法,使软件开发达到“类 级别的复用,通过使用继承、封装及多 态性来达到软件资源的再利用。2 0 世纪9 0 年代,把一些类封装在一起,通过向 5 武汉理工大学硕士学位论文 外界公开类问定义良好的接口,从而能在不了解这些类内部实现的基础上达到 更高的复用,这也是基于“组件 的复用方法。本世纪初,随着分布式应用技 术进一步发展,“组件”级的复用在处理更广泛的分布式系统时遇到了困难,从 本质上讲,“组件”级的复用也就是二进削级的复用,这种复用导致语言与开发 开台、环境紧密地藕合在一起,在跨平台、跨语言方面有着巨大的缺陷。当分 布式系统需要更高级的复用时,以服务为中心的s o a 应运而生。 “s o a 是传统的面向对象架构模型的替代模型,面向对象的模型是紧耦合 的,如果要使用面向对象技术所提供的类或组件,就需要了解实现这些类或组 件的语言及其通讯方式。虽然s o a 并不排除使用面向对象的设计方法来构建单个 服务,但是其整体设计却是面向服务的,因而能达到在不了解类或组件是如何实 现上达到服务的重用。因此可以被认为是更高级的分布式软件架构模型”n 5 1 。 在s o a 的发展过程中,w e b 服务无疑起到了推波助澜的作用,这也是人们常 把s o a 等同于w e b 服务的原因,其实,s o a 与w e b 服务有着本质的区别:s o a 是 一种架构理念,而w e b 服务是一种实现技术,s o a 并不依赖于w e b 服务,只要是 以服务为中心的,能提供与平台无关复用的,都可以认为是s o a 的。只是在当 前所能实现s o a 的诸多技术中,w e b 服务无疑是实现s o a 的最好方法,因此,s o a 也被称为第三代w e b 服务。 “w e b 服务是基于h t t p 协议提供的一组操作,这些操作使用标准的x m l 消 息传递机制。w e b 服务使用一种称为w s d l 的x m l 语言进行描述,这些描述包括 了与服务交互所需的所有细节。w e b 服务通过一种称为s o a p 的协议进行访问, 这种接口使用x m l 作为数据传输格式,使用h t t p 作为网络通讯协议,这种开放 式的接口使得基于w e b 服务的软件系统具有松散耦合、跨平台和语言实现阶段 特性 ir e ,由于w e b 服务的思想和s o a 非常接近,在当前的环境中,w e b 服务仍 是实现s o a 的最好方法,故而了解w e b 服务相关的概念有利于深入理解s o a 。 2 2w e b 服务协议栈 在了解w e b 服务时,最方便的入口点就是w e b 服务协议栈。w e b 服务协议栈 是由一系列子层组成,各层之间的关系如同一个栈结构,它是w e b 服务一系列 相关标准、规范的总和,w e b 服务协议栈n 0 7 3 如图2 1 所示: 6 武汉理t 大学硕士学位论文 图2 - 1s o a 计算环境的标准确协议栈 在w e b 服务协议栈中,由下到上可以两大部分,第一部分包括:x m l 、s o a p 、 w s d l 、u d d i 及w e b 服务,这也是通常人们所说的第一代w e b 服务,它解决了w e b 最基本的通讯、识别、调用及注册等问题。第二部分包括和w e b 服务业务流程、 策略、安全、事务及管理等相关规范,这些规范为w e b 的安全性、可靠性、组 合性等方面提供了有力的支持,通常称它们为“w s 一木”或第二代w e b 服务。下 面,根据w e b 服务协议栈中出现的各个层次,分别说明其作用。 2 2 1 可扩展标记语言( x m l ) x m l 解决了异构系统之间数据格式识别问题。通过使用x m l 技术,能提供与 编程语言、开发环境和软件系统无关的标准数据类型与结构。 x m l 是一种扩展性标记语言。它可以作为一种具有自描述性语言,即“定义 语言的语言川协一引。使用x m l ,将使人们更加容易理解其本身数据所携带的信息, 因此成功成为描述电子商务数据、多媒体演示数据、数据公式等各种各样数据 应用语言的基础语言。x m l 迅速发展得到了工业界和学术雾的认可和广泛支持, 通过x m l ,开发者能够给任何片段附加上意义和上下文,再跨越互联网协议传输。 x m l 不仅被用于以标准化的方式来表达数据,其语言自身还被用做一系列规范的 基础。x m l 的出现和发展为w e b 服务奠定了一个非常良好的技术基础。 一个简单的x m l 文件示例如下所示: 7 武汉理工大学硕士学位论文 1 0 4 9 7 2 0 5 1 0 0 8 张雷 2 7 在x m l 的第一行,一般都应包括x m l 申明,它定义了x m l 文档的版本号, 有时也会标记其编码规则。在上面的示例中表示文档将使用x m l l 0 规范。下一 行定义了文档里面的第一个元素( e l e m e n t ) ,也叫做根元素,上面示例中为 “s t u d e n t ”。在其下面定义了根元素的四个子元素( 分别为“s t u d e n t n o ”, “n a m e ”9 “g e n d e r 及“a g e ,) 。 在使用x m l 文件时,需要注意以下四个方面d 卵: 1 所有的x m l 元素都必须有一个结束标记:如上示例,当有 标记时, 必须有 标记以表示此元素结束了,当元素没有数据时,也可以简单地在 标记后加“ ,如“ ”所示。 2 ) ( m l 标记大小写敏感:必须确保开始标记与结束标记大小写一致,如 “ 与“ 就不匹配。 3 x m l 元素嵌套必须正确:如 张雷 就 不能正确识别,只能为: 张雷 。这种良好 的定义格式有利于对x m l 进行解释。 4 所有的x m l 必须有一个根标记,如上所示为“ 。 2 2 2 简单对象访问协议( s o a p ) s o a p 是分布式环境中交换信息的简单协议,它本身是一个基于x m l 的协议, 它包括四部分妇引:s o a p 信封( e n v e l o p ) ,信封定义了一个描述消息中的内容是 什么,是谁发送的,谁应该接受并处理它以及如何处理的框架;s o a p 编码规则 ( e n c o d i n gr u l e s ) ,用于表示应用程序需要使用的数据类型的实例;s o a pr p c 表示( r p cr e p r e s e n t a t i o n ) ,表示远程调用和应答的协定;s o a p 绑定( b i n d i n g ) , 使用底层协议交换信息。这四个部分为一个整体定义的,但他们在功能上是相 交的、彼此独立的。 s o a p 消息使用x m li n f o s e t ( ) ( m li n f o r m a t i o ns e t ,x m l 文档信息) 进行 定义。x m li n f o s e t 是w 3 c 的推荐标准,它定义了一种抽象的模型把x m l 文档描 8 武汉理- 大学硕十学位论文 述为一系列带有特定属性的对象。s o a p 消息包括三个x m l 文档信息项汹一: 、 及 ,如图2 2 心羽所示。e n v e l o p e 是s o a p 消息的根 元素,包含一个可选的h e a d e r 元素及一个必需的b o d y 元素。h e a d e r 元素是一 种以非集中的方式增加s o a p 消息功能的通用手法,每个子元素都被称为一个 h e a d e rb l o c k 。s o a p 预定了几个属性来指定应该由谁来处理h e a d e rb 1 0 c k 一 “r o l e ,以及这种处理是可选的还是必需的“m u s t u n d e r s t a n d ”标记,目前, h e a d e r 元素总是e n v e l o p e 的第一个子元素;b o d y 元素总是e n v e l o p e 的最后一 个子元素,也是供最终消息接收者的“有效负载”的容器。s o a p 本身没有定义 内置的h e a d e rb l o c k ,s o a p 中只定义了一个有效负载,那就是用于报告错误的 f a u l t 元素。 图2 - 2s o a p 组成格式 2 2 3w e b 服务描述语言( w s d l ) 服务提供者通过服务描述将所有用于调用w e b 服务的规范传送给服务的请 求者,要实现w e b 服务体系结构的松散耦合,并减少服务提供者和服务请求者 之间所需的了解程度和定制编程与集成的难度,服务描述就是关键n0 j 。例如, 不管是请求者还是提供者,都不必了解对方的底层平台、编程语言或分布式对 象模型。服务描述与底层s o a p 基础结构相结合,足以封装服务请求者的应用程 序和服务提供者的w e b 服务之间的这些细节。 w s d l 是w 3 c 用于描述w e b 服务的规范,被用来描述一个w e b 服务能够做什 么,该服务在什么地方,以及如何调用该服务。w s d l 是一种描述w e b 服务的标 准x m l 格式,它用一种与实现语言无关的抽象方式定义了给定w e b 服务收发的 有关操作和消息报,用于将网络服务描述为一组端点,这些端点作用于包含面 9 武汉理工大学硕士学位论文 向文档或面向过程( r p c ) 的信息的消息。操作和消息都是被抽象描述的,然后 它们会被绑定到一个具体的网络协议和消息格式用来定义端点。相关的具体端 点被合并到抽象的端点或服务中。w s d l 可以扩展为充许端点和其消息的描述, 不管使用哪种消息格式或网络协议进行通信都可以砼2 i 。 一个w s d l 文档可分成两组,上层的组包含抽象定义,而下层的组包含具体 说明,抽象定义层以独立于语言和平台的方式定义类型、消息和端口类型等元 素。与具体实现相关的问题被放到下层各节中。w s d l 的概念模型如图2 3 所示 【2 2 】: 图2 - 3w s d l 格式 在w s d l 中,w e b 服务描述中的主要元素如下玑2 纠: 1 类型t y p e s :定义了w e b 服务所使用的数据类型集合,可被消息片段( p a r t ) 元素所引用。 2 消息m e s s a g e ;通信数据结构的抽象类型化定义。一个消息由一个茸多 个逻辑片段( p a r t ) 构成。使用t y p e s 所定义的类型来定义整个消息的数据结 构。 3 操作o p e r a t i o n :对服务中所支持操作的抽象描述。一般单个操作描述 了一个访问入口的请求响应消息对。 4 端口类型p o r t t y p e :对于某个端口所支持操作的抽象集合。这些操作可 以由一个或多个服务端口来支持。 1 0 武汉理工大学硕士学位论文 5 绑定b i n d i n g :包含了如何将端口类型转变为具体数据表示的细节,也 就是定义了端口类型到特定访问协议和数据格式规范的映射。 6 端口p o r t :通过为绑定指定一个地址来定义一个服务访问端点。 7 服务s e r v i c e :将一组相关端口组合在一起。 2 2 。4 通用描述、发现和集成协议( u d d i ) u d d i 是一套基于w e b 的、分布式的、为w e b 服务提供信息注册中心的规范, 同时也包含一组使企业能将自身提供的w e b 服务加以注册,以使得别的企业能 够发现访问协议的标准。3 ,州。u d d i 是为了加速w e b 服务的推广,加强w e b 服务 的互操作能力而推出的一个计划,其目的是建立一个全球性的、与平台无关的、 开放式的架构,定义w e b 服务的发布与发现的方法,使得企业能发现彼此的服 务。u d d i 基于现成的标准,如x m l 和s o a p ,创建了一个平台独立、开放的框架, 通过i n t e r n e t 来描述服务,发现服务,并且整合服务。 u d d i 使用x m l 文档来描述提供w e b 服务的企业及其所提供的w e b 服务的相 关信息这些信息在逻辑上包括:白页、黄页和绿页乜钆2 引: 1 自页w h i l ep a g e :企业的一般信息,包括企业名称、地址、联系方式和 已知的企业标识等信息。其中,“标识 是用来唯一标识该企业的: 2 黄页y e ll o wp a g e :把企业分成产品与服务类别,包括基于标准分类法 的企业行业类别、服务和产品索引、工业代码、地理索引等内容。这样,就可 以通过类别一检索一类信息; 3 绿页g r e e np a g e :包括关于该企业所提供的产品、服务和w e b 服务的技 术信息。其内容有电子商务规则、服务描述、应用的调用方法、数据绑定等, 客户可以通过它们与相应的w e b 服务建立通信。其发布形式可能是一些指向文 件或u r l 的指针。 所有的w e b 服务注册信息存储在u d d i 注册表中。通过u d d i 注册表,各企 业可以将自身的描述、服务的描述以及服务访问方式的描述公开发布。 u d d i 注册表的主要数据结构以及它们之间的关系如图2 - 4 所示胁一副: 武汉理工大学硕+ 学位论文 b u s i n e s s e n t i t y 包含 b u s i n e s s s e r v i c e b u s i n e s s s e r v i c e 包含 b i n d t e m p l e t e i b i n d i n g t e m p l e t e 包含t m o d e l 的一些引用,这些引用指点服 务的规范 b i n d i n g t e m p l e t e :关于一个服f 务入口点和实现规范的技术信l 一一j 思i 图2 - 4u d d iv 3 的数据结构定义 获得授权的用户可凭借基于w e b 的用户界面或u d d ia p i 就u d d i 服务进行 查询,并对匹配项目实施发布,这些方法如表2 1 所示d 们: 表2 1u d d i 相关a p i u d d i 查询a p i u d d i 发布a p i f i n db i n d i n g a d d _ p u b l i s h e r a s s e r t i o n s f i n d b u s i n e s sd e l e t e _ b i n d i n g f i n d r e l a t e d b u s i n e s s d e l e t e b u s i n e s s f i n d t m o d e ld e l e t e p u b l i s h e r a s s e r t i o n s g e tb i n d i n g d e t a i l d e l e t e t m o d e l g e t b u s i n e s s d e t a i lg e t a s s e r t i o n s t a t u s r e p o r t g e to p e r t i o n a i l n f o g e t _ p u b l i s h e r a s s e r t i o n s g e t _ s e r v i c e d e t a i ls a v e b i n d i n g g e t t m o d e l d e t a i ls a v e b u s i n e s s s a v e _ s e r v i c e s a v e t m o d e l s e tp u b l i s h e r a = s s e r t i o n s 2 2 5w e b 服务 w e b 服务是在i n t e r n e t 上进行分布式计算的基本构造块,是组件对象技术 在i n t e r n e t 上的延伸,是一种部署在w e b 上的组件n0 1 8 1 。它融合了以组件为 基础的开发模式和w e b 的出色性能。w e b 服务和组件一样,能提供重用功能,同 时可以把基于不同平台开发的、不同类型的功能块集成在一起,提供相互之间 1 2 武汉理t 人学硕士学位论文 的互操作。从这点看,w e b 服务既是软件又是应用程序集成的平台。应用程序是 通过使用多个不同来源的w e b 服务构造而成的,这些服务相互协同工作,无论 它们位于何处或者如何实现。 w e b 服务的基本框架由三个角色和三个基本操作构成。三个角色分别为服务 提供者、服务请求者和服务注册中心。其中,服务提供者发布自己的服务,并 且对服务请求进行响应:服务注册中心注册已经发布的w e b 服务,对其进行分 类,并提供搜索服务:服务请求者利用服务注册中心查找所需的服务,然后使 用该服务。三者之间的关系如图25 所示: m h f m 服务请求者服务提供者 图2 5w e b 服务铁三角 对于利用w e b 服务的应用程序,必须发生以下三个行为:发布服务描述、 查询或查找服务描述以及根据服务描述绑定或调用服务。这些行为可以单次或 反复出现。这些操作具体为: 1 服务发布。为了使服务可访问,需要发布服务描述以使服务请求者可以 查找它。发布服务描述的位胃可以根据应用程序的要求而变化。 2 服务查找。在查找操作中,服务请求者直接检索服务描述或在服务注册 中心中查询所要求的服务类型。对于服务请求者,可能会在两个不同的生命周 期阶段中牵涉到查找操作:在设计时为了程序开发而检索服务的接口描述,而 在运行时为了调用而检索服务的绑定和位置描述。 3 服务绑定。最后需要调用服务。在绑定操作中,服务请求者使用服务描述 中的绑定细节来定位、联系和调用服务,从而在运行时调用或启动与服务的交互。 武汉理工大学硕士学位论文 2 3 研究综述 w e b 服务相关规范为实现s o a 提供了基本的通信功能,解决了当前企业应用 集成底层通讯协议复杂,数据格式不能识别及组件复用难的问题。 在实现学生信息门户系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 档案咨询方案模板范文
- 驾校春季营销工作方案
- 石家庄汽车租赁合同中对驾驶员责任及赔偿的具体规定
- 矿山地质环境恢复与可持续发展战略施工合同
- 二手房买卖定金及房产交易税费减免合同范本
- 离婚简易协议书制作与法律风险评估
- 车场租赁与地产开发:三方地产停车场租赁合同
- 离婚双方财产分配、子女监护权及共同债务分担协议书
- 离婚抚养费支付与子女法律权益保护合同范本
- 离婚协议6865B版:共同债务清偿及房产过户协议
- GB/T 212-2008煤的工业分析方法
- 冀教版8年级上英语各单元语法课件
- 国内外新能源现状及发展趋势课件
- 大班科学《玩转扑克牌》课件
- 高速公路改扩建桥梁拼宽施工技术及质量控制
- 双台110kV主变短路电流计算书
- DB1750-2019水电站(厂)防雷与接地性能测试技术规范
- 牛常见病防治课件
- 危险物品储存安全隐患排查整治表
- 装饰工程保修单
- IInterlib区域图书馆集群管理系统-用户手册
评论
0/150
提交评论