




已阅读5页,还剩58页未读, 继续免费阅读
(计算机应用技术专业论文)soa技术在网络教育资源共享中的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华东师范大学硕士学位论文 摘要 搞好网络教育是建立终身教育体系和学习型社会的关键所在,网络教育资源 的建设和有效合理地使用是当前网络教育中有待解决的重要任务。本文在研究分 析了国内外网络教育资源的建设和使用现状后,总结了一些经验,指出了一些不 足,并提出了解决网络教育资源共建共享的方法和思路。 s o a 技术是一种构建分布式系统的指导方法,能指导建立一个资源共享、 关系松散耦合的既节约成本又扩大效益的资源共享平台。w e bs e r v i c e s 技术是实 现s o a 的最好技术方式之一。基于s o a p 、w s d l 和u d d i 规范的w e bs e r v i c e s 应用是目前研究的热点: 本文利用s o a 技术的优势,结合网络教育资源共建共享的实际需要,设计 实现了网络教育资源共建共享平台( n e r p l a t f o r m ) 。n e r p l a t f o r m 平台是用w e b s e r v i c e s 技术实现的s o a 应用系统。平台由网络教育资源注册中心、网络教育 资源提供者和消费者三部分组成。 文中给出了n e r p l a t f o r m 平台的总体框架和各部分的详细设计,并以典型 的网络教育资源( 网络课程) 为例,实现了从资源服务的发现、规约、创建、发 布到查询和使用的整个流程。将s o a 技术应用在网络教育领域,从而提高网络 教育的教学质量是本文的研究意义和出发点。设计和实现n e r p l a t f o r m 平台是 本文的主要工作。 关键词:s o a ,网络教育资源,w e bs e r v i c e s ,共享,n e r p l a t f o r m 华东师范大学硕士学位论文 a b s t r a c t t h ee f f e c t i v en e t w o r ke d u c a t i o ni st h ek e yp o i n to fe s t a b l i s h i n gt h es y s t e mo f l i f e - l o n ge d u c a t i o na n dt h es o c i e t yo fp e o p l ek e e p i n go ns t u d y i n g t h ec o n s t r u c t i o n a n de f f e c t i v ea p p l i c a t i o no fn e t w o r ke d u c a t i o nr e s o u r c e sa r et h ei m p o r t a n ti s s u e so f n e t w o r ke d u c a t i o n a f t e rr e s e a r c h i n ga n da n a l y z i n gt h ec o n s t r u c t i o na n da p p l i c a t i o n o ft h ed o m e s t i ca n di n t e r n a t i o n a ln e t w o r ke d u c a t i o nr e s o u r c e s ,t h i sa r t i c l eh a s s u m m a r i z e ds o m ee x p e r i e n c e ,h a sp o i n t e do u ts o m ef a u l t ,a n dh a sp u tf o r w a r ds o m e m e t h o da n ds o l u t i o no ft h ec o n s t r u c t i n ga n ds h a r i n go fn e t w o r ke d u c a t i o nr e s o u r c e s t h es o a t e c h n o l o g yi s ag u i d a n c em e t h o do fc o n s t r u c t i n gd i s t r i b u t e ds y s t e m , a n dc a ng u i d et oe s t a b l i s hal o o s e - c o u p l i n gr e l a t i o n ,e c o n o m i c a la n de f f e c t i v e r e s o u r c e - s h a r i n gp l a t f o r m w e bs e r v i c e si so n eo ft h eb e s tt e c h n o l o g yo fr e a l i z i n g s o a s o a p , w s d la n du d d ia r et h ef o c u so fc u r r e n t l yr e s e a r c h t h i sa r t i c l eu t i l i z e st h ea d v a n t a g eo fs o & c o m b i n e st h ea c t u a ln e e do fn e t w o r k e d u c a t i o nr e s o u r c es h a r i n g , d e s i g n sa n di m p l e m e n t st h en e t w o r ke d u c a t i o nr e s o u r c e p l a t f o r m ( h e r p l a t f o r m ) ,w h i c hi sas o as y s t e mr e a l i z e db yw e bs e r v i c e s t h e p l a t f o r mc o n s i s t so fn e t w o r ke d u c a t i o nr e s o u r c er e g i s t e rc e n t e r , n e t w o r ke d u c a t i o n r e s o u r c ep r o v i d e ra n dc o n s u m e l t h i sp a p e rp r o v i d e st h eo v e r a l lf r a m eo fn e r - p l a t f o r ma n dd e t a i l e dd e s i g no f e v e r yp a r to ft h ep l a t f o r m t a k i n gat y p i c a lr e s o u r c e ,n e t w o r kc o u r s e ,a sa ne x a m p l e , t h ep a p e rd e s c r i b e st h ew h o l ep r o c e d u r ef r o md i s c o v e r y , s t i p u l a t i o n s ,c o n s t r u c t i o n , p u b l i c a t i o n ,q u e r yt oa p p l i c a t i o no fn e t w o r ke d u c a t i o nr e s o u r c e a p p l y i n gs o a t e c h n o l o g yt ot h en e t w o r ke d u c a t i o n a lf i e l d ,t h u si m p r o v i n gt h et e a c h i n gq u a l i t yo f n e t w o r ke d u c a t i o na r cr e s e a r c h m e a n i n g h e r e i na n d s t a r t i n gp o i n t i ti st h e g r o u n d w o r kt od e s i g na n dr e a l i z en e r p l a t f o r m k e y w o r d s :s o an e t w o r ke d u c a t i o nr e s o u r c e ,w e bs e r v i c e s , s h a r i n g , n e r p l a t f o r m i l 学位论文独创性声明 本人所呈交的学位论文是我在导师的指导下进行的研究工作及取得的研究 成果。据我所知,除文中已经注明引用的内容外,本论文不包含其他个人已经发表 或撰写过的研究成果对本文的研究做出重要贡献的个人和集体,均已在文中作了 明确说明并表示谢意 作者签名:日期: 学位论文授权使用声明 本人完全了解华东师范大学有关保留、使用学位论文的规定,学校 有权保留学位论文并向国家主管部门或其指定机构送交论文的电子版 和纸质版有权将学位论文用于非赢利目的的少量复制并允许论文进入 学校图书馆被查阅。有权将学位论文的内容编入有关数据库进行检索 有权将学位论文的标题和摘要汇编出版保密的学位论文在解密后适用 本规定 学位论文作者签名:辛口掀 日期:州t 华东师范大学硕l 学位论文 1 1 研究背景及意义 第一章绪论 中国要建立终身教育体系和学习型社会,重要的基础和前提就是要发展现代 远程教育。通过远程教育和网络教育,建立开放性、标准化、信息化和社会化的 学习平台,共享开放的网络教育资源,实现终身学习。在现代远程教育的质量管 理链中,网络教育资源的质量和应用水平,在很大程度上决定了网络教育的质量 和效益。我国高校在网络教育资源的建设上,已投入了相当大的人力、物力和财 力,取得了令人瞩目的成绩。 在我国网络教育资源建设获得了长足发展的同时,也应该看到这背后隐藏着 的一些问题:在网络教育资源的建设和使用上普遍存在着重视开发而轻视应用的 倾向;在网络资源的共建共享上,重视资源的自我开发和本校资源的使用,轻视 资源的共建共享;在网络资源的评价上重视专家评奖、轻视学生评价:资源低水 平重复开发的现象仍很严重等。正是由于这些问题的存在,实现网络教育资源共 建共享就显得尤为紧迫。 s q a ( s e r v i c e o r i e n t e d a r c h i t e c t u r e ) 是一种构造分布式系统的方法,它将业 务应用功能以服务的形式提供出来,以便更好的复用、组装和与外部系统集成, 从而降低开发成本,提高开发效率。 在网络教育中采用s o a 技术能带来的好处:能将现有的网络教育资源以服 务的形式共享出来,达到资源重用的目的:能利用s o a 技术的服务接口和服务 实现问的松耦合关系来改善网络教育资源的集成和管理;服务接口和实现的动态 绑定能更快地反映网络教育资源的更新变化;资源的共享就可以减少资源建设的 成本和提高网络教育的质量。本文应用s o a 技术来设计实现一个灵活、可扩展 的网络教育资源共建共享平台来更好地满足我国教育的需要。 1 2 论文的研究内容和创新之处 本文研究分析了网络教育资源的种类及建设和使用情况,分析总结出了网络 教育资源的建设成果和存在的不足,发现了一些急待解决的问题,并以此为出发 点,寻找解决的方案。s o a 技术随着w e bs o i c e s 的出现而变得切实可行。本 文研究探讨了s o a 相关技术的理论和实践,并结合当前网络教育的需要,设计 华东师范大学硕卜学位论文 实现了用s o a 技术来解决网络教育中的资源共建共享难题的方案。 将当前正在兴起的s o a 技术用于解决网络教育资源共建共享问题,是本文 的着力点和创新之处。网络教育资源共建共享平台( n e r p l a t f o r m ) 的设计和实 现是本文的主要工作。 1 3 论文的内容安排 第一章,绪论 介绍本论文的研究背景、目的和意义,论文的研究内容和创新点。 第二章,s o a 技术介绍 本章首先介绍了s o a 技术的概念和几个关键点。接着介绍了采用s o a 技术 的前提( 即组建s o a 开发团队) ,然后介绍了一些s o a 开发的相关问题,最后 给出了一些采用s o a 应注意的问题。 第三章,w e bs e r v i c e s 技术 本章介绍了w e bs e r v i c e s 技术( 目前最好的s o a 实现技术) 的基本规范和 扩展规范,对后面章节要用到的s o a p 、w s d l 和u d d l 进行了着重阐述,最后 结合后面的平台实现环节给出了u d d i 和w s d l 之间的关系。 第四章,网络教育资源的共建共享 本章研究探讨了我国网络教育资源的现状,指出了建立网络教育资源共建共 享的紧迫性,并给出了一些建立共享平台的思路。 第五章,网络教育资源共建共享平台的设计 本章结合上一章的内容,采用s o a 技术设计出了网络教育资源共建共享平 台( n e r p l a t f o r m ) ,通过文字、图片阐述了平台的总体框架、总体设计和局部 设计,并对部分网络教育资源进行了服务建模。 第六章网络教育资源共建共享平台的实现 本章首先介绍了平台的运行环境,然后结合前面章节的设计,对平台的各个 组成部分进行了框架实现,并对具有代表性的网络教育资源进行了应用实现。 第七章总结和展望 本章对论文做了总结,为后续工作提出了一些建议。 2 华东帅范大学顾k 学位论文 第二章s o a 技术介绍 2 1 面向服务的体系架构( s o a ) s o a ( 面向服务的体系架构) 是一种构造分布式系统的方法,它将业务应用 功能以服务的形式提供出来,以便更好的复用、组装和与外部系统集成,从而降 低开发成本,提高开发效率。s o a 提供一系列程序设计方法,程序可以通过s o a p ( 简单对象访问协议) 或r e s t ( 代表性状态传输) 与其它程序进行联系。对于 使用s o a 的企业来说,s o a 提供了一种机制,可以将现有的业务软件转变为 w e b 服务中的一个软件组件或者一个网络协议”1 。 g a r t n e rg r o u p 从组织方式层面对s o a 进行了定义:s o a 是一种客户机l j l t 务器软件设计方法,其中应用由软件服务提供者和软件服务使用者组成。 企业采用s o a 技术的益处:充分利用现有资产;系统易于集成和管理;更 快的响应和上市速度;减少成本和增加重用;说到做到随需应变。 s o a 中关键的概念包括服务、松耦合、代码重用和服务粒度等,下面将逐 个讨论。 2 1 1 服务 服务是s o a 中的关键概念,是对现实世界中业务活动的一种抽象与建模1 2 ”。 w 3 c 组织对服务的定义是:服务提供者完成一组工作,为服务使用者交付所需 的最终结果。最终结果通常是使用者状态发生变化,但也可能是提供者状态发生 变化,或者两者都发生变化。 一个服务表现为一个软件组件,从服务请求者的角度来看,它就像是一个自 包含的函数,实际上服务的实现可能包含在一个企业内部的不同计算机上或者在 许多业务合作伙伴拥有的计算机上执行的很多步骤。 服务一般具有接口和实现两个部分陋1 。 接口部分定义了服务使用者和服务提供者问进行程序访问的契约。服务接口 必须包含服务的i d 、服务详尽的输入输出数据以及数据在服务中的作用和目的 等信息,这些信息通常通过w s d l 文档来描述。 服务的实现部分包含了服务的作用或商业逻辑等信息。服务的实现部分对于 服务的使用者是透明的,使用者也没有必要知道服务实现的具体做法。 一般服务分为五种类型: 3 华东师范大学_ 颐七学位论文 ( 一) 数据访问服务:数据访问服务允许用户访问、集成、翻译以及转换整 个企业的各种关系型和非关系型的数据资源。这些服务通常隐藏了对资源的直接 访问,隐藏了基本格式的复杂性,也隐藏了数据的直接转换和操纵。它们提供了 一个统一的a p i 、松散祸合、一个公共的数据模型以及整个应用程序中一致信息 的重用。数据访问服务是s o a 架构中最常见的,使用最广泛的,同时也是最容 易实现的服务,数据层和应用层的分离通常是很直接的。随着数据资源的广泛访 问和共享,它们己成为服务实现的首要目标。x m l 广泛应用于应用程序间的数 据交换。一个可以对任何数据源进行抽象的、统一的数据访问的基础架构对于 s o a 实现是很有价值的。x m l 数据服务( x d s ) 提供了对多种数据资源的访问, 数据建模功能,物理数据向逻辑数据的翻译和转换以及对逻辑数据的基于x m l 的访问。 ( 二) 组件服务:提供访问打包应用的服务。组件服务是粗粒度服务,无论 这些服务是否是打包应用程序,例如企业资源规划 e r p 、客户关系管理 c r m 或者供应链管理 s c m ,它们都可以从一个单一的企业资源来发布。这些服务 被认为有足够的价值,所以可以直接发布。组件服务实现的方法是用各个应用程 序a p i 来提供可重用的功能的。这些服务可以用分布式计算技术,例如j 2 e e 日b 、c o m d c o m 以及c o r b a 来实现。 ( 三) 业务组件:提供多项功能的打包或定制应用的复杂服务。业务服务的 功能( 由业务应用程序提供) 执行一个或者多个业务操作。业务服务通常是由多 个应用程序的多个业务事务处理构成。它们可以是端到端的业务流程,该流程通 常由b p e l 语言来编排。 ( 四) 复合服务:集合上述服务创建的一种新服务,这个服务包括新的和已 经存在的功能。组合式应用程序是通过将新的逻辑与事务处理进行合并创建而成 的,现有的应用程序将这些事务处理作为如业务或者组件服务提供出来。应用集 成技术和业务流程管理工具在创建复合应用程序中扮演着关键的角色。 ( 五) 共享或企业基础结构服务:即底层服务,譬如消息日志等,可重用并 快速创建新的高层服务。s o a 所提供的最大的价值在于它能够通过重用现有的 服务快速一致地合成应用程序。 2 1 2 松耦合 服务间的松耦合是指具有中立的接口定义,没有强制绑定到特定的实现上的 服务特征。简单的说,就是服务提供者和服务使用者可以用定义良好的接口来独 立丌发。服务提供者可以更改服务的接口、数据或者消息版本,而不会对服务使 4 华东师范丈学顽:t 学位论文 用者造成任何影响。从而将服务使用者和服务提供者在服务实现和服务使用方面 分离开来。 服务请求者到服务提供者的绑定与服务之间的松祸合关系意味着,服务请求 者不知道提供者实现的技术细节,譬如程序设计语言、部署平台等等。服务请求 者往往通过消息调用操作,如请求消息和响应,而不是通过使用a p i 或文件格 式来使用服务。 松耦合使得会话一端的软件可以在不影响另一端的情况下发生改变,前提是 消息模式保持不变。在一个极端的情况下,服务提供者可以将以前基于遗留代码 ( 例如,c o b o l ) 的实现完全用基于j a v a 语言的新代码取代,同时又不对服务 请求者造成任何影响。这种情况在企业应用集成时是很常见的,只要新代码支持 相同的消息模式。 松耦合的优点是灵活,当组成整个应用程序的一个服务的内部结构和实现发 生变化时,不影响其它部分继续存在。而紧祸合是应用程序的不同服务的接口与 其功能结构是紧密相连的,一个接口实现的更改会牵涉到很多部分的修改。 松耦合方式的缺点是它的效率不如紧耦合松耦合是s o a 中的关键概念之 也是s o a 的一个显著特点。 2 1 3 服务重用 重用并不是一个新概念,它是面向对象编程中重用概念的扩展。面向对象编 程中引入的数据封装和多态的概念对软件重用有很大的贡献。 s o a 技术通过服务共享和重用把网络上的应用连接起来,这些应用之间存 在着一种共生关系。w e b 服务可以在s o a 里部署,它们一起将成为下一代企业 应用的化身。有理由认为,下一代企业应用将是松耦合模块化的网络服务。可重 用的设计原则使应用变得更加灵活,并为开发人员节省了大量时间。开发人员可 以把这些服务连接起来,在不需要太多定制编码的情况下,创建复杂灵活、随需 应变的企业应用。 2 1 4 服务粒度 服务粒度指的是服务所公开功能的范围。它包括细粒度和粗粒度。细粒度服 务是那些能够提供少量商业流程可用性的服务,如基本的数据访问服务等。细粒 度服务实现最小的功能,同时接收和返回最小量的数据。细粒度服务可以用w e b 毕东师范大学硕士学位论文 服务来实现,也可以利用基于r m i 、n e t 或者c o r b a 的分布式对象来实现。 细粒度服务的优点是可在粒度级实施严格的安全和访问策略。实现和单元测试都 很简单,而且相互独立,细粒度服务的接口主要用于企业内部。粗粒度服务比细 粒度服务实现更多的功能,并消耗不同数量的结构化数据或者消息。它们返回类 似的数据或者消息,可能还含有内嵌的上下文。粗粒度服务不需要通过网络多次 调用来提供有意义的业务功能。 2 2 如何组建s o a 开发团队 随着s o a 技术的飞速发展,软件开发领域的发展趋势正从传统软件体系结 构过渡到面向服务的体系结构。在传统软件体系结构中,将项目视为单个新应用 程序的交付。在s o a 中,将项目视为集成服务的交付。无论其规模和预算如何, 几乎所有信息技术部门当前都在考虑进行过渡到s o a 的工作。因此,组建一支 成功的s o a 开发团队显得尤为重要。 一个完整的s o a 团队应包含有架构师、开发人员、业务分析人员和项目经 理。每个角色的职责与传统软件开发团队中的略有不同。 2 2 1 架构师的角色 在企业开发组织中,通常有两个体系结构小组。其中企业体系结构小组定义 组织内的每个应用程序小组都必须遵循的控制策略、最佳实践和过程。而应用程 序体系结构小组则负责其特定应用程序的体系结构,确保体系结构能够支持当前 和将来的业务需求。两个小组对应的分别是企业架构师和应用程序架构师。 在s 0 a 团队中,企业架构师的角色是推动和促进s o a 的采用。他们需要帮 助应用程序架构师和各个开发小组理解s o a 的基础知识并将业务需求转换为有 意义的服务,以便这些小组进行实现和公开,仅由自己的应用程序或业务流程使 用的服务几乎没有价值。企业架构师需要确保所有应用程序架构师定期讨论其项 目,以确定他们可以公开或使用的服务,促进对现有服务的重用。在不能重用现 有服务的情况下,企业架构师还需要确保充分利用构建新服务的每个机会。最后, 他们必须确认服务是在可靠的技术之上构建的,且能够满足所确立的服务水平协 议。 企业架构师负责定义测定和跟踪服务水平协议的机制。他们定义有关控制、 安全、灾难恢复等等的策略和过程。他们通常是涉及到w e b 服务管理、编排和 6 华东师范大学硕上学位论文 企业服务总线的解决方案的主要决策者。 应用程序架构师的角色是确保所编写的代码是面向服务的,且遵循可用于面 向服务的开发的最佳实践和流程。他们需要在不会对解决方案进行过度设计的前 提下将业务需求转换为有意义的服务。典型的服务创建和使用比代码的直接调用 开销更大,因此,确定作为服务公开的粒度级别以及如何进行公开是此角色的主 要工作职能。应用程序架构师还要与组织中的企业架构师及其他应用程序架构师 紧密合作,以确保充分利用每个服务重用机会,且恰当地对服务进行构建、发现、 使用、测定和安全保护。 应用程序架构师最终负责服务交付和使用的所有技术方面的工作,包括服务 水平协议遵循情况的可测定性、符合控制策略、执行和确保安全策略等等。 2 2 2 开发人员的角色 从传统的开发团队到s o a 开发团队,最大的转变是从组合应用程序交付过 渡到组合服务交付。传统软件开发人员通常构建应用程序中的一个模块,或典型 的三层体系结构中的单个层的一部分。在s o a 环境中,开发人员将负责服务实 现,他们并不需要知道何时或如何调用服务以及谁调用服务,他们所关心的就是 服务进行什么工作以及需要符合什么样的服务水平协议。 成功的s o a 开发人员将能同时理解业务流程和功能。他们会恰当构建所需 的服务来满足业务流程的需求。越来越重要的是,他们要执行用于错误处理、跟 踪审核、数据转换和安全性的良好设计原则,并确保将其加入到任何服务代码 中。由于s o a 的核心原则之一是重用,所以开发人员必须放弃传统开发人员希 望构建一切的想法,如果某个方面的服务已经存在,请使用这个服务,而不要自 己从头构建。 2 2 3 业务分析人员的角色 业务分析人员是s o a 团队中极为关键的角色,他们的工作变化展大。无论 开发环境如何,业务分析人员都执行两个主要职能:与使用人员和策略级的用户 沟通,以了解其对系统的要求;与技术团队成员沟通,以将确定的需求转换为能 进行编码和测试的技术规范。 在s o a 团队中,业务分析人员还有两项新职能:与整个开发团队合作,让 他们开始以服务的方式思考问题;与技术团队合作,以设计和构建必要的服务, 7 华东师范大学硕k 学位论文 可能会利用已经存在的现有服务。在很多企业中,由于组织使用的技术的局限性, 业务分析人员通常会不断更改相关要求。虽然这个问题很难消除,但是在s o a 团队中,业务分析人员进行服务设计的空间更大,而不应过多地担心技术。 2 2 4 项目经理的角色 s o a 开发团队中的项目经理与传统开发团队中的主要差异在于项目生命周 期无论s o a 团队采用何种开发方法,项目经理通常都需要为每个服务计划较 短的交付周期。他们与业务用户和不同服务使用者一起定义服务水平协议。此外, 他们必须与多个r r 小组( 如基础设施支持小组) 共同确保这些服务水平协议是 可以实现的。项目经理在服务运行时进行协调和跟踪方面的角色比跟踪日常服务 交付更为重要。 2 3 如何进行s o a 开发 在理解掌握s o a 技术和组建好一个s o a 开发团队后,就要进行实际的s o a 开发任何单位组织或个人在进行实际的s o a 应用前,都要深思熟虑而后行。 本文仅给出了一些设计开发原则和专业开发平台介绍 2 3 1 面向服务的设计和开发原则 转向采用s o a 技术来创建解决方案的企业必须重新考虑他们正在建立的系 统种类、重新评估他们组织中的技能、重新定义团队成员协作的方式。更为重要 的是,采用面向服务的方法来开发解决方案必须重新考虑它的影响。面向服务的 设计和开发涉及一系列广泛的能力、技术、工具和技能,譬如: ( 一) 管理服务的生命周期,包括发现、应用、改进和维护服务。 ( 二) 建立一个平台和编程模型,这包括在特定的运行平台中连接、部署 和管理服务。 ( 三) 采用能使团队在解决不断变化的业务需求方面有效地创建和组装服 务的实践和工具。这包括提炼现有的应用程序束发现潜在的服务,包装现有的功 能来使这些功能能够作为服务被访问和创建新服务。 8 华东师范人学顽七学位论文 2 3 2 业务驱动的s o a 解决方案 在i b m 称为b u s i n e s s d r i v e nd e v e l o p m e n tf o rs o a 的解决方案中,业务目 标和需求推动下阶段设计、开发和测试,从而将业务流程转换为对业务进行了自 动化和整合的复合式应用,这样需要跟踪整个生命周期中的需求,从业务目标到 软件设计与编码资产,再到复合式应用,同时应该设计整合的解决方案,确保它 是灵活的,能够随着企业需求变更而适用,最后还应该最大限度地提高资产重用、 减少冗余。 、 业务驱动的开发缩短了业务和l t 之间的距离,确保基于业务需求建立解决 方案的成功实施。同时,交付的解决方案更加灵活,使业务能够迅速理解不断变 化的业务需求,并进行适当地响应。 2 3 3 针对s o a 的专业软件开发平台 m mr a t i o n a l 软件歼发平台为s o a 开发团队提供了一个完整、开放、模块 化和经过验证的专业开发环境,可用于灵活的基于业务驱动的s o a 解决方案的 开发。它的专业特点和功能包括: ( 一) 基于标准的、使业务流程建模的许多方面实现了自动化的新型编程 模型,这些方面包括服务设计、构造和组合,这些自动化功能能极大地削减项目 时间和成本。 ( - - ) 行业领先的过程和产品组合管理以及软件配置管理解决方案,这些 解决方案引导开发人员通过s o a 开发生命周期的每个阶段,最大限度地提高资 产可重用性、促进项目成功和结果可预测性。 ( 三) 基于角色的工具为业务和技术人员提供了各自需要的准确的功能集 合,通过促进协作缩4 , t 业务和r r 之问的差距,确保业务需求推动下阶段开发, 并提供了自始至终的对需求的跟踪能力。 2 4 采用s o a 应注意的问题 采用s o a 技术带来的益处,如提高灵活性、互操作性以及降低维护成本等, 使越来越多的企业开始采用s o a ,企业决定采用s o a 技术将导致s o a 相关活 动的增加,如对遗留应用系统进行s o a 化的迁移工作。s o a 倡导者和采用者在 9 乍东师范丈学硕 学位论文 应用s o a 时需要保持警惕,因为采用s o a 的过程并不总是一帆风顺或完全不出 问题。如果决策者和架构师在未进行全面而细致的前期工作的情况下贸然采用 s o a 就可能遇到很大困难。为了成功采用s o a 技术,应该注意下列问题: ( 一) 注意供应商专有服务产品。不要局限于实际上具有专有特征的s o a 供应商产品,这可能会导致失去真正s o a 的互操作性和灵活性好处。 ( - - ) 寻求使用开放标准的稳定性行业中的最新开放标准规范并不一定是 最稳定的,可能并不成熟,因此不适合采用。 ( 三) 仔细评估遗留资产现代化工作。选择特定遗留系统进行现代化工作时, 要从企业的全局出发进行考虑。s o a 过渡中的竖井方法可能导致出现冗余。 ( 四) 避免“瀑布”式开发和缺少服务版本控制的情况。s o p * 过渡本质上 应该具有迭代的特征。服务生命周期管理应该具有维护服务的多个版本的功能。 ( 五) 了解遗留系统的技术限制。在进行遗留资产现代化工作前,要充分考 虑遗留系统的所有技术限制。 ( 六) 不要将s o a 等同于w e b 服务。了解s o a ( 一种体系结构样式) 和 w e b 服务( 一组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 系统。 1 0 华东师范大学硕t 学位论文 第三章w e bs e r v i c e s 技术 近年来人们对s o a 技术的热衷,很大程度上是因为w e bs e r v i c e s 技术的成 熟应用使得实现s o a 变得切实易行作为实现s o a 的最好技术方式,w e b s e r v i c e s 技术很值得学习探讨。 3 1 基本w e b 服务规范 ( 一) s o a p ( s i m p l eo b j e c tp r o c e s sp r o t o c 0 1 ) :s o a p 规范是所有基于s o a p 信息交换的w e b 服务的基础,它详细说明了实际消息的格式。其中还详细说明 了应用程序应如何对待消息的特定方面,从而可以创建特定类型的应用程序 ( 二) w s d l ( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ) :w s d l 是详细说明描 述基于s o a p 信息的w e b 服务的标准方式的规范,包括消息应采用的形式以及 应将其发送到何处。其中还详细说明了此类消息的响应。当与相应的工具结合使 用时,w s d l 允许以编程方式创建对w e b 服务的调用,甚至不用知道所查找的 w e b 服务是什么,应用程序可以从w s d l 文件中提取这些详细信息,并提供要 使用的编程接口。 ( 三) u d d i ( u n i v e r s a ld e s c r i p t i o n 。d i s c o v e r ya n di n t e g r a t i o n ) :u d d i 是 一项从最初提出后发生了一系列变化的标准。其最初的目的是为了给各个公司提 供在全球注册中心中注册服务并在此注册中心中搜索可能想使用的服务的机制。 不过,由于很多公司对于将其系统对外开放的问题上都相当保守,这个目标并没 有完全实现。但是,很多公司已将u d d i 作为内部的服务及服务信息注册中心使 用。 3 2 扩展w e b 服务规范 总共有数十种w s 一事规范,其中几种对企业尤为有用。 ( 一) w s s e c u r i t y :此规范处理加密和数字签名,允许创建特定类型的应 用程序,以防止窃听消息,且能实现不可否认功能。 ( 二) w s p o l i c y :此规范对w s s e c u r i t y 进行了扩展,允许更具体地说明 谁可以采用何种方式使用服务。 ( 三) w s i :尽管w e b 服务应设计成具有互操作性,但在实际中,各个规 1 1 华东师范大学硕七学位论文 范对不同实现的解释的灵活性常常足以导致出现问题。w s i 提供了一组可用于 防止出现这种问题的标准和实践,并提供了标准化测试来检查问题的存在性。 ( 四) w s b p e l :单个服务很好处理,但组合成应用程序后在大多数情况 下则较难处理。企业级计算要求至少将多个服务组合为一个完整的系统,而 w s b p e l 提供了用于指定创建此类系统所必需的交互( 如分支和并发处理) 。 3 3 简单对象访问协议( s o a p ) s o a p 是基于可扩展标记语言( x m l ) 的,是w e bs e r v i c e s 技术里服务提供 者和服务请求者交换信息的载体形式s o a p 规范包含如下的内容。 s o a pe n v e l o p :w e b 服务消息的基本单元是实际的s o a p 信封。这是包含 处理消息所必需的所有信息的x m l 文档。它包含有h e a d e r 、b o d y 和a t t a c h m e n t 三部分。 s m 址h e a d e r :s o a p 消息中的h e a d e r 用于提供有关消息本身的信息,即对 应于应用程序的信息。例如h e a d e r 可以包括路由信息,即有一个w s a d d r e s s i n g 元素其中包含有关消息将送达何处以及应将应答送达何处的信息。 s o a pb o d y :发送s o a p 消息时,都是有目的性的。在尝试告诉接收者执行 某种操作,或尝试向服务器传递相关信息。此信息称为“有效负载”。有效负载 位于e n v e l o p e 的b o d y 中。 s o a pa t t a c h m e n t :附件可以用来负载一些特殊的应用程序信息,如二进制 数据或流媒体文件等,常采用二进制优化打包协议( x o p ) 来处理这些信息。 样式和编码:有两种不同的主流s q a 消息编程样式。第一种是r p c ( r e m o t e p r o c e d u r ec a l l ) 样式,基于使用s o a p 消息创建远程过程调用的概念。第二个样 式称为d o c u m e n 仉i t e r a l 样式,即将相应的数据直接添加到消息中。 消息交换模式:实质而言只有两种模式。第一是请求响应,在该模式中, 以s o a p 消息的形式发送请求,然后直接等待发送回响应。请求可以为同步的, 也可以是异步的。第二是单向消息传递,这种情况也称为“f i r ea n df o r g e t ”模 式,发送请求但并不等待响应。可以在仅传递信息时或并不关心接收者对此如何 响应时使用此模式。 3 4w e b 服务描述语言( w s d l ) w s d l 是w e b 服务描述语言。w s d l 提供了一种语法,将服务描述为交换 1 2 毕东帅范人学硕卜学位论文 消息的端点集。w s d l 文档的作用是用与平台无关的x m l 语言来描述一个或多 个服务它描述了服务、访问服务的方式以及需要返回的响应的类型,即类型 ( t y p e ) 、消息( m e s s a g e ) 、端口类型( p o r t t y p e s ) 、绑定( b i n d i n g ) 和服务 ( s e r v i c e ) 等信息。可以用w s d l 来把w e b 服务描述成一组运行在消息上的 端点,可以私下交换w s d l 文档,也可以将其发布到u d d i 注册中心( 公共的 或者私有的) ,以允许更广泛的访问。w s d l 提供了一个中立的、标准化的定义 接口的格式。 在w s d l 中,消息描述了客户端和服务之间的通信( 通过交换的数据类型 来描述) 。操作包括输入和输出消息。p o r t t y p e s 包括一组操作。而且,p o r t t y p e s 被约束在某些协议上( 这称为绑定b i n d i n g ) w s d l 支持绑定到s o a pll 、m w g e i p o s t 或m i m e 协议。然而,w s d l 是可扩展的,并且可以与其他类型的 网络协议和消息格式一起进行使用。 w s d l 文档的根成员是一个声明( d i f i n i t i o n s ) 元素,它定义服务的名称, 声明文档其它部分要用的名称空间,并且包含所有服务元素。t y p e s 是一个使用 特定类型规则定义的数据类型容器,描述了在消息定义中需要的所有数据类型。 m e s s a g e ( 包含零或多个p a r t 元素,p a r t 能够提交消息参数和消息返回值) 是通 信消息的数据结构的抽象类型化定义,用来描述一个单向的请求或响应消息。 p o r t t y p e ( 包含o p e r a t i o n 元素,o p e r a t i o n 是对消息的操作的抽象定义) 是对于某 个访问入口点类型所支持的操作的抽象集合,具体定义了一种服务访问入口的类 型,即输入输出消息的模式及其格式。b i n d i n g 是针对端口类型的协议和数据格 式,定义端口类型如何被映射到特定的传输协议,其主要作用就是将一个特殊的 协议绑定到消息和操作定义上。s e r v i c e ( 包含p o r t 元素,p o r t 是协议数据格式 绑定与具体w e b 访问地址的结合) 是一组包含服务定义的关联端口( p o r t ) 的集 合,用来定义调用具体服务的地址。 w s d l 的文档样式包括:d o c u m e r l t ,:l i t e r a l 、w r a p p e d 、r p c l i t e r a l 和 r p c e n c o d e d 样式。不同的样式适合不同的场合,如d o c i l m e n t l i t e r a l 样式能提 高w e bs e r v i c e s 间的互操作性。 3 5 统一描述、发现和集成( u d d i ) 3 5 1 为何使用u d d i 当所有应用程序都位于本地时,通过建立一个集中式的处理中心,能非常容 华东师范大学硕e 学位论文 易地找到需要的功能服务。不过,在使用w e b 服务之类的基于i n t c r n e t 的分布式 系统时,就得不到通过建立处理中心所能带来的好处,同时分布式系统也容易发 生更改,这不是紧祸合的处理中心所能解决的。集中式处理中心的这些不足之处 正是u d d i 的用武之地。最初形成时,它被认为是一种“通用业务注册中心”。 其想法是,企业可以使用以下三种方法之一搜索合作伙伴。 ( 一) 白页:白页与电话簿中用于查找公司信息的白页类似。例如,如果您 知道公司的名称,就可以在其中查找公司的地址、联系方式、以及联系人等。 ( 二) 黄页:同样,黄页也与电话簿中的黄页一样,可以在其中根据分类查 找公司。u d d i 指定了各种分类法,每个公司据此对自己进行分类。 ( 三) 绿页:电话簿中没有缘页,这里的想法是,公司可以使用此搜索方法 来查找实现了特定服务的贸易合作伙伴l l 引。 u d d i 同时也被认为是一种保持分布式应用程序长期运行的方法。其想法是 可以缓存有关访问特定服务的信息,如果客户机崩溃,应用程序将自动回到注册 中心并进行检查,以确定信息是否已更改。如果已更改,则可以直接在应用程序 内进行更改( 在理想的情况下将自动进行更改) 并重发请求。 3 5 2u d d i 的实际应用 由于一些非技术上的原因,u d d ! 通用注册中心到目前为止还未建成。在现 实中u d d i 更多地用于建设私有注册中心。各个公司创建自己的注册中心,并在 其中输入自己的服务。u d d i 还可以用作内部的业务注册中心。本文的网络教育 资源注册中心是设想建立在教育网上的公用资源服务注册中心。 3 5 3u d d l 数据结构 u d d i 注册中心中的信息包含五种
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年神经内科临床实践模拟考试答案及解析
- 关于烟草新质生产力的建议
- 工程力学 课件 力的性质
- 2025年产科妇科妇科护理常见问题考察试卷答案及解析
- 2025年病理科白细胞计数的实验操作模拟考试答案及解析
- 2025年麻醉药理学专业知识检测答案及解析
- 2025年护理学基本技能实操考核答案及解析
- 2025年消化内科十二指肠溃疡并发症预防评估试卷答案及解析
- 2025年病毒学HIV病毒的抗病毒治疗模拟考试卷答案及解析
- 2025年麻醉科无痛分娩操作技能考核模拟试卷答案及解析
- 全国行政区域身份证代码表(EXCEL版)
- 新麻醉记录单
- 社区合理用药讲课
- 2022 CSCO胃癌诊疗指南
- GB/T 26955-2011金属材料焊缝破坏性试验焊缝宏观和微观检验
- 马克思主义基本原理概论 第六章
- 急诊急救护理教学课件
- 最新医疗安全十八项核心制度课件
- 住宅小区供配电系统设计课件
- 社保费和非税收入课件
- “三高”讲座-课件
评论
0/150
提交评论