




已阅读5页,还剩67页未读, 继续免费阅读
(计算机应用技术专业论文)基于面向服务体系结构的软件开发模式的研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 在硬件技术和网络技术快速发展的前提下和新的企业应用需求推动 下,迫使软件技术需要不断更新,传统的软件体系结构已经很难满足企业 新的需求,面向服务体系结构正是在这样的情况下产生的。采用面向服务 软件体系结构可以消除不同协议和平台带来的问题,实现应用的无缝整 合。面向服务体系结构是基于标准以及松散耦合的。广泛接受的标准提供 了在各不同厂商解决方案之间的交互性。而松散耦合将分布计算中的参与 者隔离开来,交互两边某一方面的改动并不会影响到另一方。这两者的结 合意味着公司可以实现某些w 曲s e r v i c e s 而不用对使用这些w e bs e r v i c e s 的客户端的知识有任何了解。 本文的研究工作围绕面向服务体系结构展开,通过深入研究分析与面 向服务体系结构相关的理论体系,提出了一种基于面向服务体系结构的软 件开发模式。面向对象的分析、业务流程执行语言和e j b 这些现有设计与 实现规则为我们提供了高质量的实践方法,但遗憾的是这些实践各自单独 应用时达不到面向服务体系结构的要求。本文将面向服务的分析、业务流 程执行语言和e j b 中的这些规则与一些独特的新理论组合起来,使得成功 地进行s o a 开发更加容易,并在此基础之上设计和实现了烟草企业销售 管理系统。 本文立足实践,将面向服务架构理论模式引入企业软件项目开发。本 文提出的基于面向服务软件体系结构的软件开发模式,可以指导企业应用 的开发实践,使企业应用系统能够敏捷服务且重用原有资源。 关键词:面向服务体系结构,w s d l ,b p e l ,e j b 重庆邮电大学学士论文 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 fh a r d w a r ea n dn e t w o r kt e c h n o l o g y , a n dt h e a p p l i c a t i o nr e q u i r e m e n to fe n t e r p r i s e s ,s o f t w a r et e c h n o l o g yn e e d st o b e u p d a t e d t r a d i t i o n a l s o f t w a r ea r c h i t e c t u r ec a n t s a t i s f y w i t ht h en e w r e q u i r e m e n t so fe n t e r p r i s e s 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 ea p p e a r si nt h i s c a s e 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 ec a na v o i dp r o b l e m sc a s e db yd i f f e r e n t p r o t o c o l sa n dp l a t f o r m s ,a n ds e a m l e s s c o u p l i n g c a nb ea c h i e v e d 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 ei sb a s e do ns t a n d a r d sa n di n c o m p a c tc o u p l i n g 。 w i d e l ya c c e p t e ds t a n d a r d sp r o v i d ei m e r a c t i v i t ya m o n gs o l u t i o n so fd i f f e r e n t c o m p a n i e s p a r t i c i p a n t so fd i s t r i b u t e dc o m p u t i n ga r ei n s u l a t e db yi n c o m p a c t c o u p l i n g m o d i f i c a t i o no fo n es i d eo ft h ei n t e r a c t i v i t yw i l ln o ta f f e c tt h eo t h e r s i d e i tm e a n st h a te n t e r p r i s ec a nr e a l i z ew e bs e r v i c e sw h i l ek n o w l e d g eo f c l i e n t s i d en e e d sn o tb eu n d e r s t o o d t h er e s e a r c ho ft h et h e s i sc e n t e r sa b o u ts e r v i c e 0 r i e n t e da r c h i t e c t u r e a s o f t w a r ed e v e l o p m e n tm o d eb a s e do ns e r v i c e o r i e n t e da r c h i t e c t u r ei s p r e s e n t e db yd e e ps t u d yo fs y s t e mi n f oa b o u ts 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 e x i s t i n ga n a l y s i sa n di m p l e m e n tr u l e so f0 b j e c t o r i e n t e da n a l y s i s ( s u c ha s b u s i n e s sp r o c e s se x e c u t i o nl a n g u a g ea n de j b ) p r o v i d eh i g h q u a n t i t y i m p l e m e n tm e t h o d s b u t t h e s e i m p l e m e n t s c a n tm e e tt h en e e do f 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 ew h e nt h e ya r eu s e d s e p a r a t e l y , r u l e so f s e r v i c e o r i e n t e da n a l y s i s ,b u s i n e s sp r o c e s se x e c u t i o nl a n g u a g e ,e j ba n d n e wt h e o r i e so fs e r v i c e o r i e n t e da r c h i t e c t u r ea r el i n k e dt o g e t h e r a sar e s u l t , s u c c e s s f u ls o ad e v e l o p m e n tb e c o m e sm o r ee a s i l y a n dt o b a c c oe n t e r p r i s e s a l em a n a g e m e n ts y s t e mi sd e v e l o p e d t h i st h e s i si sb a s e do na p p l i c a t i o n 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 em o d e i sp u tu s ei n t oe n t e r p r i s es o f t w a r ed e v e l o p m e n t t h es o f t w a r ed e v e l o p m e n t m o d eb a s e do ns e r v i c e - o r i e n t e da r c h i t e c t u r ep r e s e n t e di nt h i st h e s i sc a l l g u i d et h ed e v e l o p m e n to fe n t e r p r i s ea p p l i c a t i o n a sar e s u l t ,e n t e r p r i s e a p p l i c a t i o ns y s t e mc a np r o v i d er a p i ds e r v i c ea n dt h er e s o u r c e sc a nb eu s e d r e p e a t e d l y k e yw o r d s :s a l em a n a g e m e n ts y s t e m ,r e q u i r e m e n ta n a l y s i s ,e r p ,j 2 e e 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及 取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论 文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得重庆 酆虫太堂或其他教育机构的学位或证书而使用过的材料。与我一同工作 的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢 意。 学位论文作者签名:锄留签字吼秒9 7 年莎月娟 学位论文版权使用授权书 本学位论文作者完全了解重庞鲣电太堂有关保留、使用学位论 文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权重麽邮立太堂可以将学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等 复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:樗多殇 导师签名:石荔似 y ,l 签字嗍加7 年f 月f 如签字啉叩年月f 5 自 第一章绪论 第一章绪论 1 1 软件体系结构的发展 在硬件技术和网络技术快速发展的前提下和新的企业应用需求推动 下,迫使软件技术需要不断更新,而在传统的软件体系结构下很难满足企 业新的需求,因此人们必须思考和探索新的软件体系结构1 。而面向服务 体系结构f 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 ) 正是在这样的情况下产生 的。软件体系结构的发展经历了以下几个阶段: 1 1 1 终y _ , 而t t l 大型机应用模型 终灞 太黧+ 耗飘 图1 1 主机终端模型 这一模型出现在上世纪6 0 7 0 年代的大型机时代。当时的计算机应 用系统是以大型机为中心的计算模式,即主机终端模式( 集中式计算模 式) 。运行在主机系统上的操作系统是个多用户、多任务和多进程的操 作系统,用户终端实际上只是个哑终端。这种模式具有数据库安全性高、 一致性好、系统控制容易等优点,在民航订座系统、银行查询系统等应用 系统中获得较好应用。但它的优点又是它的缺点,即高度的集中式控制, 造成了这种计算模式过于封闭,系统伸缩性较小,难以适应灵活多变的系 统需求柏。 重庆邮电大学学士论文 1 1 2 客户机( 浏览器) 服务器应用模型 数 ( o 黛妻请球 囊 i 簸 玳 _ 缝 晌戍 弹 - 1 鬻藉 押 囊 l 、- 一 簧 图1 2c s 模式逻辑结构示意图 客户机( 浏览器) 服务器系统的结构是指把一个大型的计算机应用系 统变为多个能互为独立的子系统,而服务器便是整个应用系统资源的存储 与管理中心,多台客户机则各自处理相应的功能,共同实现完整的应用。 随着互联网的发展壮大,这些传统模式已经不能适应新的环境,于是就产 生了新的分布式应用系统,即所谓的“浏览器服务器”结构、“瘦客户机” 模式。在“主机终端”模型中,客户端直接连接到数据库服务器,在客户 机f i e 务器模型中由二者分担业务处理p 】。 1 1 3 三层服务器应用模型 ii( ) 燧 请球1 零毳 i 渚隶 蒸 爱 响琏i 辍 霆 i i 翻斑 她 蒸 务 銎 l 辑 i 辑 l 辑 图1 3b s 模式逻辑结构示意图 三层服务器模型把传统的c l i e n t s e r v e r 模式中的服务器部分分解为一 个数据库服务器和若干个应用服务器( w e b 服务器) ,其中关键技术是w e b 页面与数据库的动态连接。服务器主要负责控制返回的结果,同时控制这 些结果在浏览器( b r o w s e r ) 上如何显示,而浏览器只需解释h t m l 标记。 2 第一章绪论 1 1 4w e b 多层分布式服务器应用模型 圈 ; 芒 囝 颤 罾 务 嚣 器嚣 客户墙段势嚣盔囊逻辍套夔铸恩幕缝 图1 4 多层分布式逻辑结构示意图 随着i n t e r n e t 的普及和发展,对服务器的性能要求也越来越高,三层 结构亦不能满足这种性能要求,于是又出现了多层分布式服务器应用模 型。多层分布式服务器模型是由多台服务器及多个网端,利用i n t e r n e t 把 数据、软件等资源分布在不同的服务器上,合理分配和共享。目前,有基 于j 2 e e 的四层分布服务器模型包括四部分:客户端、服务器、商业逻辑 和企业信息系统【4 1 。 1 1 5 面向服务体系结构 图1 5s o a 参考模型 而以上所述的软件体系结构都不能满足企业按需求变化的要求,要满 足这些要求软件必须具有分布式、松散耦合和平台无关等特性,s o a 就是 人们为解决这些问题提出了一种新的软件体系结构。目前,对s o a 虽然 还没有形成一个普遍接受的明确的定义,但是对s o a 必须具有的一些特 性却是一致的。例如:松散耦合、明确定义的接口、状态无关的服务设计、 3 重庆邮电大学学士论文 粗粒度的接口定义等。s o a 是指为了解决在i n t e r n e t 环境下业务集成的需 要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。 具体一点讲,面向服务的体系结构( 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 ) 是一个组件模型,它将应用程序的不同功能单元( 称为服务) 通过这些服 务之问定义良好的接口和契约联系起来。接口是采用中立的方式进行定义 的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构 建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互 5 1 。 1 2s o a 软件体系结构 1 2 1s o a 概述 随着企业计算的发展,企业级应用需求要求新的软件系统不再是从底 层做起,而只是依据企业逻辑需求重新组织己有的数据存储,将现有的数 据和事务通过新的渠道,比如i n t e r n e t 浏览器或者手持设备呈现给用户。 另外,为了提高企业计算的高效性、可用性、规模性,现有许多的操作系 统都是分布式操作系统,运行在许多机器之上。这样的企业级解决方案就 必须协调运行在群组硬件之上的功能。 实现这种系统的一种方法就是将该系统组织成群组服务的模式。每一 个服务都提供一组定义良好的功能集合。整个系统其实就被设计和实现为 一组相互交互的服务,而将功能以服务的形式展现出来是该系统灵活性的 关键。它使得系统中的某些服务能够充分利用其他的服务同时却无需考虑 其物理位置。系统通过添加新的服务来不断的升级,这样就应运而生了面 向服务的体系结构( 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 6 。 s o a 本身并不是一个新的概念,比如在2 0 0 0 年就己经有了对s o a 这 种应用模式的评价:“面向服务的解决方案,应用程序以独立的交互服务 的形式开发,为潜在的用户提供定义良好的接口。同样的。也必须提供给 应用程序开发人员相应的技术支持,比如使他们能够浏览所有的服务,并 且选中感兴趣的服务,用这些服务组装而成新的功能” 7 1 。 s o a 是一种架构模型,它可以根据需求通过网络对松散耦合的租粒度 应用组件进行分布式部署、组合和使用。服务层是s o a 的基础,可以直 4 第一章绪论 接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。s o a 的关键是“服务”的概念,w 3 c 将服务定义为:“服务提供者完成一组工 作,为服务使用者交付所需的最终结果。最终结果通常会使使用者的状态 发生变化,但也可能使提供者的状态改变,或者双方都产生变化” s l 。 s e r v i c e a r c h i t e c t u r e c o t r l 将s o a 定义为:“本质上是服务的集合。服务 间彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服 务协调进行某些活动。服务问需要某些方法进行连接。所谓服务就是精确 定义、封装完善、独立于其他服务所处环境和状态的函数。” 9 1 l o o s e l y c o u p l e d c o r n 将s o a 定义为:“按需连接资源的系统。在s o a 中,资源被作为可通过标准方式访问的独立服务,提供给网络中的其他成 员。与传统的系统结构相比,s o a 规定了资源问更为灵活的松散耦合关 系。” g a r t n e r 则将s o a 描述为:“客户端服务器的软件设计方法,一项应用 由软件服务和软件服务使用者组成s o a 与大多数通用的客户端h a 务 器模型的不同之处,在于它着重强调软件组件的松散褪合,并使用独立的 标准接口。”g a r t n e r 相信b p m 和s o a 的结合对所有类型的应用集成都大 有助益一“s o a 极大的得益于b p m 技术和方法论,但是s o a 面临的真 正问题是确立正确的企业意识,即:强化战略化的s o a 计划( 针对供应 和使用) 并鼓励重用。” m e t a 将s o a 定义为:“一种以通用为目的、可扩展、具有联合协作 性的架构,所有流程都被定义为服务,服务通过基于类封装的服务接口委 托给服务提供者,服务接口根据可扩展标识符、格式和协议单独描述。” 虽然不同厂商或个人对s o a 有着不同的理解,但是我们仍然可以从上 述的定义中看到s o a 的几个关键特性:一种粗粒度、松耦合服务架构, 服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯 模型。 1 2 2s o a 的基本特征 s o a 的实施具有几个鲜明的基本特征。实旌s o a 的关键目标是实现企 业i t 资产的最大化重用。要实现这一目标,就要在实施s o a 的过程中牢 记以下特征: 可从企业外部访问 随时可用 5 重庆邮电大学学士论文 粗粒度的服务接口 分级 松散耦合 可重用的服务 服务接口设计管理 标准化的服务接口 支持各种消息模式 精确定义的服务契约 下面依次以上概念进行解释: 1 可从企业外部访问 通常被称为业务伙伴的外部用户也能像企业内部用户一样访问相同的 服务。业务伙伴采用先进的b 2 b 协议( e b x m l 或r o s e t t a n e t ) 相互合作。 当业务伙伴基于业务目的交换业务信息时,他们就参与了一次会话。会话 是业务伙伴问一系列的一条或多条业务信息的交换。会话类型( 会话复杂 或简单、长或短等) 取决于业务目的。除了b 2 b 协议外,外部用户还可以 访问以w e b 服务方式提供的企业服务【1 0 】。 2 随时可用 当有服务使用者请求服务时,s o a 要求必须有服务提供者能够响应。 大多数s o a 都能够为门户应用之类的同步应用和b 2 b 之类的异步应用提 供服务。同步应用对于其所使用的服务具有很强的依赖性。许多同步应用 通常部署在前台,其最终用户很容易受到服务提供者短缺的影响。很多情 况下,同步应用利用分布式服务提供者,这样可以响应更多的用户请求。 但是,随着提供特定服务功能的服务器数量的增长,出现短缺的可能性也 呈指数级上升。相比之下,异步应用要更为稳健,因为其采用队列请求设 计,因此可以容许出现服务提供者短缺或迟滞的情况。异步应用大多数情 况下部署在后台,用户通常不会觉察到短暂的短缺。大部分情况下异步应 用能够稳健应对短时间短缺,但是长时间短缺则会引发严重问题。在服务 短缺解决、队列引擎将罕见的大量工作推到共享的应用资源中时,可能会 出现队列溢出甚至服务死锁1 1 1 。服务使用者要求提供同步服务时,通常是 基于其自身理解或使用习惯。在多数情况下,采用异步模型可以达到同样 的效果,但更能够体现s o a 的最佳特性。当然,并不是所有情况下都应 当采用异步设计模式。但大多数情况下,异步消息可以确保系统在不同负 荷下的伸缩性,在接口响应时间不是很短时尤其如此。 3 粗粒度服务接口 6 第一章绪论 粗粒度服务提供一项特定的业务功能,而细粒度服务代表了技术组件 方法。采用租粒度服务接口的优点在于使用者和服务层之间不必再进行多 次的往复,一次往复就足够。i n t e r n e t 环境中有保障的t c p i p 会话已不再 占据主导、建立连接的成本也过高,因此在该环境中进行应用开发时粗粒 度服务接口的优点更为明显1 1 2 】。除去基本的往复效率,事务稳定性问题也 很重要。在一个单独事务中包含的多段细粒度请求可能使事务处理时间过 长、导致后台服务超时,从而中止。与此相反,从事务的角度来看,向后 台服务请求大块数据可能是获取反馈的唯一途径。 4 分级 个关于粗粒度服务的争论是此类服务比细粒度服务的重用性差,因 为粗粒度服务倾向于解决专门的业务问题,因此通用性差、重用性设计困 难。解决该争论的方法之一就是允许采用不同的粗粒度等级来刨建服务。 这种服务分级包含了粒度较细、重用性较高的服务,也包含粒度较粗、重 用性较差的服务。在服务分级方面,须注意服务层的公开服务通常由后台 系统( b e s s ) 或s o a 平台中现有的本地服务组成。因此允许在服务层创 建私有服务是非常重要的。正确的文档、配置管理和私有服务的重用对于 i t 部门在s o a 服务层快速开发新的公开服务的能力具有重要影响【1 ”。 5 松散耦合 s o a 具有“松散耦合”组件服务,这一点区别于大多数其他的组件架 构。该方法旨在将服务使用者和服务提供者在服务实现和客户如何使用服 务方面隔离开来。服务提供者和服务使用者间松散耦合背后的关键点是服 务接口作为与服务实现分离的实体而存在。这是服务实现能够在完全不影 响服务使用者的情况下进行修改。大多数松散耦合方法都依靠基于服务接 口的消息。基于消息的接口能够兼容多种传输方式( 如h t t p 、j m s 、t c p i p 、 m o m 等) 。基于消息的接口可以采用同步和异步协议实现,w e b 服务对于 s o a 服务接口来讲是一个重要的标准。当使用者调用一个w e b 服务时, 被调用的对象可以是c i c s 事务、d c o m 或c o r b a 对象、j 2 e ee j b 或 t u x e d o 服务等,但这与服务使用者无关。底层实现并不重要。消息类 w e b 服务通常是松散耦合和文档驱动的,这要优于与服务特定接口的连接。 当客户调用消息类w e b 服务时,客户通常会发送的是一个完整的文档( 如 销售订单) ,而非一组离散的参数。w e b 服务接收整个文档、进行处理、 而后可能或者不会返回结果信息。由于客户和w e b 服务间不存在紧密耦合 请求响应,消息类w e b 服务在客户和服务器间提供了更为松散的耦合i l “。 6 可重用的服务及服务接口设计管理 7 重庆邮电大学学士论文 如果完全按照可重用的原则设计服务,s o a 将可以使应用变得更为灵 活。可重用服务采用通用格式提供重要的业务功能,为开发人员节约了大 量时间。设计可重用服务是与数据库设计或通用数据建模类似的最有价值 的工作。由于服务设计是成功的关键,因此s o a 实施者应当寻找一种适 当的方法进行服务设计过程管理【”】。服务设计管理根本上讲是服务设计问 题,服务设计需要在两点间折衷一一走捷径的项目战术与企业构建可重用 通用服务的长期目标。超越项目短期目标进行服务接口的开发和评估是迈 向精确定义服务接口的重要一步,同时还需要为接口文档、服务实现文档 及所有重要的非功能性特征设立标准。在大型组织中实现重用的一个先决 条件是建立通用( 设计阶段) 服务库和开发流程,以保证重用的正确性和 通用性。此外,对记述服务设计和开发的服务文档进行评估也是成功利用 服务库的关键【l “。 简言之,不按规则编写服务将无法保证可提供重用性的s o a 的成功实 施。在执行规则的过程中会产生财务费用,需要在制定s o a 实施计划时 加以考虑。 7 标准化的接口 近年来出现的两个重要标准x m l 和w e b 服务增加了全新的重要功能, 将s o a 推向更高的层面,并大大提升了s o a 的价值。尽管以往的s o a 产 品都是专有的、并且要求i t 部门在其特定环境中开发所有应用,但x m l 和w e b 服务标准化的开放性使企业能够在所部署的所有技术和应用中采 用s o a e l 7 】。这具有巨大的意义! w e b 服务使应用功能得以通过标准化接口( w s d l ) 提供,并可基于 标准化传输方式( h t t p 和j m s ) 、采用标准化协议( s o a p ) 进行调用。 例如,开发人员可以采用最适于门户开发的工具轻松创建一个新的门户应 用,并可以重用e r p 系统和定制化j 2 e e 应用中的现有服务,而完全无须 了解这些应用的内部工作原理。采用x m l ,门户开发入员无须了解特定的 数据表示格式,便能够在这些应用间轻松地交换数据。你也可以不采用 w e b 服务或x m l 来创建s o a 应用,但是这两种标准的重要性日益增加、 应用日趋普遍。尽管目前只有几种服务使用者支持该标准,但未来大多数 的服务使用者都会将其作为企业的服务访问方法【i s 。 8 支持各种消息模式 s o a 中可能存在以下消息模式。在一个s o a 实现中,常会出现混合采 用不同消息模式的服务。 无状态的消息。使用者向提供者发送的每条消息都必须包含提供者处 8 第一章绪论 理该消息所需的全部信息。这一限定使服务提供者无须存储使用者的状态 信息,从而更易扩展。 有状态的消息。使用者与提供者共享使用者的特定环境信息,此信息 包含在提供者和使用者交换的消息中。这一限定使提供者与使用者间的通 信更加灵活,但由于服务提供者必须存储每个使用者的共享环境信息,因 此其整体可扩展性明显减弱。该限定增强了服务提供者和使用者的耦合关 系,提高了交换服务提供者的服务难度。 等幂消息。向软件代理发送多次重复消息的效果和发送单条消息相同。 这一限定使提供者和消费者能够在出现故障时简单的复制消息,从而改进 服务可靠性。 9 精确定义的服务接口 服务是由提供者和使用者间的契约定义的。契约规定了服务使用方法 及使用者期望的最终结果。此外,还可以在其中规定服务质量。此处需要 注意的关键点是,服务契约必须进行精确定义。 m e t a 将s o a 定义为:“一种以通用为目的、可扩展、具有联合协作 性的架构,所有流程都被定义为服务,服务通过基于类封装的服务接口委 托给服务提供者,服务接口根据可扩展标识符、格式和协议单独描述。” 该定义的最后部分表明在服务接口和其实现之间有明确的分界0 9 1 。 1 2 3s o a 的优点 以上对s o a 的定义和基本特征,现在我们再来看看s o a 潜在的优点: 1 编码灵活性 可基于模块化的低层服务、采用不同组合方式创建高层服务,从而实 现重用,这些都体现了编码的灵活性。此外,由于服务使用者不直接访问 服务提供者,这种服务实现方式本身也可以灵活使用。 2 明确开发人员角色 例如,熟悉b e s 的开发人员可以集中精力在重用访问层,协调层开发 人员则无须特别了解b e s 的实现,而将精力放在解决高价值的业务问题 上。 3 支持多种客户类型 借助精确定义的服务接口和对x m l 、w e b 服务标准的支持,可以支持 多种客户类型,包括p d a 、手机等新型访问渠道。 4 更易维护 9 重庆邮电大学学士论文 服务提供者和服务使用者的松散耦合关系及对开放标准的采用确保了 该特性的实现。 5 更好的伸缩性 依靠服务设计、开发和部署所采用的架构模型实现伸缩性。服务提供 者可以彼此独立调整,以满足服务需求。 6 更高的可用性 该特性在服务提供者和服务使用者的松散耦合关系上得以体现。使用 者无须了解提供者的实现细节,这样服务提供者就可以在w e b s p h e r e 集群 环境中灵活部署,使用者可以被转接到可用的例程上。 s o a 可以看作是b s 模型、x m l w e bs e r v i c e 技术之后的自然延伸。 s o a 将能够帮助我们站在一个新的高度理解企业级架构中的各种组件的 开发、部署形式,它将帮助企业系统架构者以更迅速、更可靠、更具重用 性架构整个业务系统【2 0 1 。较之以往,以s o a 架构的系统能够更加从容地 面对业务的急剧变化。 1 3 研究意义 本论文具有以下研究意义: 1 s o a 对软件体系结构的研究有重要的意义。它是对现有体系结构的 继承和发展。较好的解决了面向对象和面向组件分析与设计方法无法解决 可重用和可维护性的问题,并消除了不同协议和软硬件平台带来的整合问 题。 2 s o a 对分布式的企业级应用开发有很强的现实指导意义。传统的软 件体系架构已经无法满足现代企业级应用的要求,而s o a 架构使i t 环境 可以更加灵活且更快地响应不断改变的业务需求,同时使异构系统和应用 程序尽可能无缝地进行通信,达到削减成本和最大限度地利用现有技术的 目的。 1 4 本文主要内容 第一章介绍了软件体系结构的发展及面向服务体系结构的特征和优点 以及本文的研究意义。 第二章主要介绍面向服务体系结构的相关理论。 第三章设计了一种基于面向服务体系结构的软件开发模式。 1 0 第一章绪论 第四章使用第三章设计的基于面向服务体系结构的软件开发模式设计 了烟草企业销售管理系统,并用e j b 实现了该系统。 第五章总结全文,提出与本系统相关的进一步工作。 重庆邮电大学学士论文 第二章面向服务体系结构的相关理论 2 1w e b 服务定义语言 2 1 1w e b 服务定义语言概述 w e bs e r v i c e s 通过定义一套标准的协议和机制来完成程序之间的描述、 定位以及程序之间的通讯。w e bs e r v i c e 的协议栈包含了一组协议,w s d l ( w e bs e r v i c e sd e f i n i t i o nl a n g u a g e ,w s d l ) 是其中的一种主要协议。w s d l 是一种描述w e bs e r v i c e s 的x m l 语言,它定义了描述w e bs e r v i c e s 接口 规范的标准格式。从概念上讲,就像在c o r b a 中使用i d l 文件一样,w s d l 是用来描述w e bs e r v i c e s 的编程接口。调用者可以通过接口了解通信所需 的数据类型、消息结构、传输协议等信息,从而调用相关服务。w s d l 文 件是客户与服务器之间的一个协约,在服务提供者、服务代理和服务请求 者这三者之中起着重要的联系作用 2 1 1 。 w e b 服务定义语言( w s d l ) 又是一种x m l 文档,它用来描述w e b s e r v i c e 的调用规范。w s d l 提供了访问和使用w e bs e r v i c e 所需的全部信 息。 w s d l 是w e b 服务的接口定义语言,它描述了w e b 服务的几个属性, w s d l 文档描述w e bs e r v i c e 将做些什么,也就是服务能提供的操作;如何 访问服务,即数据的格式和访问服务操作的协议:它如何进行通信以及它的 位置在哪里,比如网络地址,如u r l 等。w s d l 信息模型充分利用了抽 象的规范与具体实现的分离。也就是分离了服务接口定义( 抽象接口) 与服 务实现定义( 具体端点) f 2 2 1 。 w s d l 文件中的描述信息包括:数据类型定义、服务所支持的操作、输 入输出信息格式、网络地址以及协议绑定等。其中的信息可分为两个组, 即顶级组( t o pg r o u p ) 和底级组( b o t t o mg r o u p ) ,包括5 个部分,即类型 ( t y p e s ) 、消息( m e s s a g e s ) 、端口类型( p o r t t y p e s ) 、绑定( b i n d i n g s ) 和服务 ( s e r v i c e s ) 。其中顶级组由抽象定义( a b s t r a c td e f i n i t i o n s ) 组成,包括类型、 消息和端口类型3 个部分;底级组由具体描述( c o n c r e t ed e s c r i p t i o n s ) 组成, 包括绑定和服务两个部分1 2 3 】。 1 2 第二章面向服务体系结构的相关理论 2 1 2w s d l 文档结构 一个w s d l 文档将服务定义为一个网络端点的集合,或者说端口的集 合。在w s d l 里面,端点及消息的抽象定义与它们具体的网络实现和数据 格式绑定是分离的。这样就可以重用这些抽象定义。图2 1 是w s d l 文档 中的抽象接口和具体绑定中所包含的元素。 图2 1w s d l 信息模型 w s d l 这种将抽象接口和具体绑定相分离的结构,使得w s d l 具有如 下特点: 1 在描述端点和它们的消息时,不管消息格式和用于交换消息的网络 协议是什么; 2 将消息作为交换中数据的抽象描述; 3 将端口类型( p o r t t y p e ) 作为w e b 服务操作的抽象集合,这些端口类型 可以映射到具体的协议和数据格式。 w s d l 通过接口和实现相分离使得交互操作成为了可能,以便开发跨 编程语言、跨平台、机器、地址空间、内存模型的应用。w e b 服务是“中 间件的中间件”,所以特异性不可避免。因此,在w e b 服务描述语言w s d l 中将接口和实现相分离显得尤为重要。 我们可以将一个w s d l 文档简单的认为是一个定义集。d e f i n i t i o n s 元 重庆邮电大学学士论文 素作为根元素,服务定义在文档内部。下面代码说明了可能在w s d l 文档 中出现的主要元素: ( | s c h e m a ( p a r t 下面我们介绍w s d l 文档中所包含的主要元素: 1 元素 元素在w s d l 文档中作为服务描述的容器。它为名字空 间的全局声明提供了一个地方,可以在整个文档的其余部分看到这些名字 空问。 元素的t a r g e t n a m e s p a c e ( 目标名字空间) 属性定义由本文 档创建的名字空间。该属性用来代替 元素的名字属性。目标 名字空间会创建一个新的、唯一的标识符,由该文档定义的任何类型或者 1 4 第二章面向服务体系结构的相关理论 抽象定义都将落在这个目标名字空问中。在x m l 文档中,名字空间是通 过一个q n a m e 来限制的。q n a m e 是x m l 文档中紧跟在x m l n s :后面的 值,它是一个用于限制x m l 文档元素的值。如果从不同名字空间中导入 的两个元素具有相同的名字,就可以使用q n a m e 后紧跟一个冒号来限定 它们。 2 , 元素 元素的目的类似于c c + + 编程语言中的# i n c l u d e 指令。它能把 服务定义的元素分割成独立的文档并在主文档适当的地方包含它们。 元素的有效使用可以提高w s d l 文档的模块化程度并建立一个能 创建清晰的服务定义的重用环境。以这种方式组织的w s d l 文档更容易使 用和维护。可以有零或多个 :元素。 3 元素 类型声明 元素定义了该w e b 服务使用的所有自定义的数据类 型集合,这些数据类型将在 元素中被引用。目前,x s d ( x m l s c h e m a d e f i n i t i o n s ,x m l 模式定义) 是最广泛使用的数据类型定义方法,在 很大程度上,研究 元素就是研究x m l 模式。 元素有零个或 者多个 子元素。x m l 模式是一种用于为新的元素和属性定义结 构和限制的语言。新的元素通过 和 元素来定 义。 定义简单元素的格式,而 定义带有子元素 的元素。 4 元素 抽象消息 元素包括函数参数( 输入与输出分开) 或文档描 述, 元素引用在 部分中定义的类型。一个消息中包含一 个或多个 子元素, 子元素标识独立的数据块( 这些数据块是数 据消息的一部分) 和数据块所属的数据类型。 5 元素 端口类型 元素描述了w e b 服务的接口,可以说,理解了 ,也就清楚了w e b 服务能做些什么。因为w s d l 定义的其余元 素实质上是 所依赖的细节,它引用抽象消息部分中消息定义来 描述函数( 操作名、输入参数、输出参数) 。 元素还包含了 , , 子元素。 元素表示一项操作,它 是w e b 服务支持的某项活动的一个抽象定义。 元素类似于j a v a 的方法定义。w s d l 操作可能有输入和输出消息作为其活动的组成部分。 子元素通过n a m e 属性来定义操作名,通过 子元素来定 重庆邮电大学学士论文 义输入消息,通过 子元素来定义输出消息。 和 元素。 6 元素 元素描述w e b 服务所使用的具体通信协议、数据编码模型和 底层协议。它将w e b 服务的抽象定义映射为特定实现。 元素先 得至u 元素的抽象定义和输入输出消息,然后将它们映射为w e b 服务使用的具体协议( h t t p , s o a p 或者m i m e ) 。 7 元素 服务 元素包含一组相关的 元素。 元素一般都 出现在w s d l 文档的末尾并标识一项w e b 服务。w s d l 文档的主要目的 是描述抽象接口, 元素只在描述实际的服务端点时使用。 指定端点的网络地址。它把特定协议形式的地址联系到个别的 元素。 8 元素 操作 元素相当于j a v a 中的方法签名。操作定义了w e b 服务 的一个方法,它包括方法的名称、输入参数以及方法的输出或返回类型。 2 2u d d i 原理 在面向服务的体系结构图示中,我们用不同的技术来描述体系结构中 的不同的角色,w s d l 用来描述了服务提供者提供的服务描述,还包括服 务请求者检索的、作为服务查找的操作结果的描述。在这节,主要介绍服 务注册者这个角色的相关技术。 2 2 1u d d i 概述 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 ( 统一描述、发 现和集成) 的缩写。前面介绍了w s d l ( 月i 务描述语言) ,它是w e b 服务最通 用的服务描述机制,但是,为了能够调用w e b 服务,我们需要一种机制来 发现服务,如何为服务请求者和服务提供者之间建立桥梁,这是u d d i 承 担的角色。u d d i 协议是一套信息注册中心的实现标准,它是基于w e b 的、 分布式的、w e b 服务所专有的标准规范【2 4 1 。同时,它也包含了一组使企业 能将自身提供的w e b 服务加以注册,并使得别的企业能够发现和访问的协 1 6 第二章面向服务体系结构的相关理论 议标准。u d d i 注册中心的创建目的就是促进企业的w e b 服务的发展,并 使企业能发现所需的w e b 服务i z “。 u d d i 的核心组件是u d d i 商业注册,所有的u d d i 注册信息存储在 u d d i 商业注册中心中,通过使用u d d i 的发现服务,企业可以单独注册 那些希望被别的企业发现的自身提供的w e b 服务。当一个企业在u d d i 商业注册中心的一个节点中实旌注册后,其注册信息会被自动复制到其他 u d d i 根节点,于是就能被任何希望发现这些w e b 服务的人或单位所发现。 2 2 2u d d i 核心技术 u d d i 核心技术包括核心组件、u d d i 运用、互操作协议栈、技术发现 层、p 2 p 数据同步以及商务发布六部分。 1 u d d i 商业注册 u d d i 的核心组件是u d d i 商业注册,它使用一个x m l 文档来描述企 业及其提供的w e b 服务,包括白页、黄页和绿页三个部分: 白页:内容包括了公司名称、公司联络信息、公司地址和己知的企业 标识等有关企业的对人而言易读的描述。 , 黄页:包括基于标准分类法的行业类别、服务和产品索引、工业代码、 地理索引等内容。 绿页:包括关于该企业所提供的w e b 服务的技术信息,其内容形式有 电子商务规则、服务描述、应用的调用方法、数据绑定等,其发布形式可 能是一些指向文件或u r l 的指针,而这些文件或u r l 是为服务发现机制 服务的。所有的u d d i 商业注册信息存储在u d d i 工商业注册中心,通过 u d d i 注册,各企业可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年尾矿综合利用技术突破与生态修复模式探索报告
- 2025年制造业智能化生产线生产数据安全研究报告
- 内蒙古兴安盟2025届七下英语期末调研模拟试题含答案
- 江苏省淮安市清江浦区2025年英语八年级第二学期期末联考试题含答案
- 阅读教育实施成果与策略优化
- 家庭教育促进法解读(小学生版)
- 公正主题班会课课件
- 2024版经导管主动脉瓣置换术临床路径专家共识解读
- 2020年内蒙古自治区消防应急灯具产品质量监督抽查方案
- 八年级家长会课件教学
- 河北工业大学给水排水管道系统期末考试重点 版本2
- VERICUT整套教程完整
- 好书推荐-《三毛流浪记》77955课件
- 事业单位工勤人员技师考试职业道德复习试题
- The Old Man and The Sea 老人与海 中英文对照版
- 冷冻水管道工程施工工艺
- 混凝土拌合站拆除方案
- 对照品管理SOP双语
- 两台37kW三相交流电动机的动力配电柜设计(共21页)
- 积雪草提取物对胃粘膜的保护作用及其机制探讨
- 市中等职业学校学籍卡片(样表)
评论
0/150
提交评论