(计算机应用技术专业论文)基于soa的非税收入管理系统的研究与设计.pdf_第1页
(计算机应用技术专业论文)基于soa的非税收入管理系统的研究与设计.pdf_第2页
(计算机应用技术专业论文)基于soa的非税收入管理系统的研究与设计.pdf_第3页
(计算机应用技术专业论文)基于soa的非税收入管理系统的研究与设计.pdf_第4页
(计算机应用技术专业论文)基于soa的非税收入管理系统的研究与设计.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机应用技术专业论文)基于soa的非税收入管理系统的研究与设计.pdf.pdf 免费下载

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

文档简介

摘要 摘要 大型应用软件往往非常复杂,而一般的软件架构设计缺乏有效的模块复用, 导致软件内部很容易出现功能模块冗余和无法满足快速开发业务新需求功能等问 题。而s o a 软件体系设计架构则可以最大程度减少模块或系统之间的耦合,提高 可重用性,提高系统的灵活性和可扩展性,有利于系统新功能的快速开发。 本文对实际的非税收入管理系统进行分析,引入s o a 软件架构,利用相关各 种关键技术重新设计了新的非税收入管理系统。利用了s o a 技术的优点改善和去 除原系统的缺点。针对这些目标,本论文主要做了以下方面的工作: 1 对原系统进行详细的分析,得出它的缺陷; 对原非税收入管理进行业务和数据的流程分析,根据此得到目前存在的各种 缺陷。 2 s o a 技术在非税收入管理系统的理论应用: 原非税收入管理系统具有各种各样的缺陷,而使用s o a 技术则可以改善和去 除这些缺点。所以文章里对原系统使用s o a 技术重新进行理论上的研究设计,得 出新的系统结构。 3 根据s o a 的设计目标,对非税收入管理系统进行层次化的详细设计。 根据s o a 架构进一步详细研究设计每一层,同时设计了与系统相关的w e b 服 务,提高了系统的重用性和适应能力,使得该系统能够脱离地区性和银行性,能 够满足不断变化的业务需求;并且根据新的用户需求,设计了新的用户模块和安 全性部分,增强了系统与用户之间的交互和保障了系统的安全。 本文的特色在于: 1 在分析原有系统的基础上,使用了面向服务( s o a ) 的组件模块形式来改善 系统的缺陷,设计了一个具有良好的可扩展性和可重用性的多层架构,该系统设 计具有较高的实用性和必要性,可以重用服务,维护简单。 2 对原有系统进行增加了实用性的功能模块( 用户个人信息和打印等模块) 等,从而实现与用户的交互性,与原系统不能和用户进行交互对比有了很大的改 进;同时也增加了安全性的考虑,使用了“用户登陆 ,“r b a c 访问权限管理 广东工业大学硕士学位论文 和“数字认证 等方法来解决新系统的安全性问题。 关键字:非税收入管理系统:s o a :w e b :t u x e d o a b s t r a c t a bs t r a c t l a r g e s c a l ea p p l i c a t i o n sa l eo f t e nv e r yc o m p l e x , a n ds o f t w a r ea r c h i t e c t u r ed e s i g n g e n e r a l l yl a c k e f f e c t i v er e u s a b l e m o d u l e s ,l e a d i n gt h a t i n t e r n a ls o f l w a r e sh a v e r e d u n d a n c ym o d u l e sa n da l eu n a b l et om e e tt h ed e m a n df o rr a p i dd e v e l o p m e n to fn e w b u s i n e s sf u n c t i o n sa n ds oo n s o ad e s i g na n da r c h i t e c t u r eo fs o f t w a r ec a nb er e d u c e d t oam i n i m u mb e t w e e nt h em o d u l eo rs y s t e mc o u p l i n g ,e n h a n c et h er e u s a b i l i t y , f l e x i b i l i t ya n di m p r o v es y s t e ms c a l a b i l i t y , i sb e n e f i c i a lf o rr a p i dd e v e l o p m e n to fn e w s y s t e mf e a t u r e s i nt h i sp a p e r , i ta n a l y s i st h ea c t u a ln o n - t a xi n c o m em a n a g e m e n ts y s t e ma n a l y s i s , a n dl e a d st h es o as o f t w a r ea r c h i t e c t u r e ,r e d e s i g n san e wm a n a g e m e n ts y s t e mf o r n o n - t a xi n c o m eu s i n gav a r i e t yo fk e yt e c h n o l o g i e sr e l e v a n tt os o a u s i n ga d v a n t a g e o fs o a t e c h n o l o g i e s ,i ti m p r o v e sa n dr e m o v e s t h es h o r t c o m i n g so f t h e o r i g i n a ls y s t e m i nr e s p o n s et ot h e s eo b j e c t i v e s ,t h i sp a p e rm a i n | yt h ef o l l o w i n ga r e a s : 1 ad e t a i l e db u s i n e s sa n a l y s i so fi t ss h o r t c o m i n g sa b o u tt h eo r i g i n a ls y s t e m ; i ta n a l y s i st h eb u s i n e s sa n dd a t af l o wo ft h eo r i g i n a ln o n - t a xi n t o m em a n a g e m e n t , a n dh a v eav a r i e t yo fe x i s t i n gd e f e c t s 2 i th a st h ea p p l i c a t i o no ft h e o r yi nt h en o n - t a xi n c o m em a n a g e m e n ts y s t e m u s i n gs o at e c h n o l o g y ; t h eo r i g i n a ln o n - t a xi n c o m em a n a g e m e n ts y s t e mh a saw i d er a n g eo fd e f e c t s ,a n d t h eu s i n go fs o a t e c h n o l o g yc a ni m p r o v ea n dr e m o v et h e s es h o r t c o m i n g s t h e r e f o r e , t h ea r t i c l er e d e s i g n st h es t r u c t u r eo fan e ws y s t e mu s i n go fs o a t e c h n o l o g yi nt h e o r y , 3 a c c o r d i n gt os o ad e s i g ng o a l s ,i th a sd e t a i l e dd e s i g no ft h en o n - t a xi n c o m e m a n a g e m e n ts y s t e m a c c o r d i n gt os o a f r a m e w o r ki td e s i g n sf u r t h e rd e t a i l e ds t u d yo f e a c hl a y e r , a tt h e s a m et i m et h es y s t e mw a sd e s i g n e dw i t hw e b r e l a t e ds e r v i c e s ,t oe n h a n c et h es y s t e m r e u s a b i l i t ya n da d a p t a b i l i t y , w h i c hn q a k e st h es y s t e ma n db a n k sf r o mt h er e g i o n , a n d s a t i s f i e st h ee v e r - c h a n g i n gb u s i n e s sn e e d s ;a n da c c o r d i n gt ot h en e wu s e rn e e d s ,i t m 广东工业大学硕士学位论文 d e s i g n sn e wu s e r s m o d u l ea n dt h e s a f e t yo ft h es y s t e m , s oe n h a n c e si n t e r a c t i o n b e t w e e nt h eu s e ra n dt h es y s t e m , p r o t e c t st h es a f e t yo f t h es y s t e m i n n o v a t i o n so f t h i sa r t i c l ea r e : 1 i na n a l y z i n gt h eb a s i so f t h eo r i g i n a ls y s t e m , t h eu s i n go fas e r v i c e - o r i e n t e d ( s o a ) c o m p o n e n t so ft h em o d u l ei m p r o v e st h ed e f e c t so ft h es y s t e m , w ed e s i g n e da h a v eg o o ds c a l a b i l i t ya n dr e u s a b i l i t yo ft h em u l t i - s t o r e ys t r u c t u r e ,t h ed e s i g no ft h e s y s t e mh a st h ep r a c t i c a l i t ya n dn e c e s s i t yo fr l i g h e r , y o uc a nr e u s es e r v i c e s ,m a i n t e n a n c e s i m p l e 2 o nt h eo r i g i n a ls y s t e m , i ti n c r e a s e st h eu s e f u lf u n c t i o n a lm o d u l e s ( t h eu s e r s p e r s o n a li n f o r m a t i o na n dp r i n t i n gm o d u l e s ) a n ds oo n , a n da c h i e v e si n t e r a c t i v i t yw i t h u s e r s ,w i t ht h a tt h eo r i g i n a ls y s t e mc a nn o ti n t e r a c tw i t ht h eu s e r si th a si m p r o v e d c o n t r a s t ;a tt h es a m et i m ei th a sa l s oi n c r e a s e ds e c u r i t yc o n s i d e r a t i o n s ,u s i n gt h e ”u s e r l o g i n ”,”r b a ca c c e s sm a n a g e m e n t ”a n d ”d i g i t a lc e r t i f i c a t e ”f o rd e s i g n i n gt h en e w s y s t e ms e c u r i t y k e y w o r d s :n o n - t a xi n c o m em a n a g e m e n ts y s t e m s ;s o a ;w e b ;t u x e d o i v 广东工业大学硕士学位论文 独创性声明 秉承学校严谨的学风与优良的科学道德,本人声明所呈交的论文是我个人在 导师的指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以 标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,不包 含本人或其他用途使用过的成果。与我一同工作的同志对本研究所做的任何贡献 均已在论文中作了明确的说明,并表示了谢意。 本学位论文成果是本人在广东工业大学读书期间在导师的指导下取得的,论 文成果归广东工业大学所有。 申请学位论文与资料若有不实之处,本人承担一切相关责任,特此声明。 f b 具伪 第一章绪论 1 1引言 第一章绪论 伴随着软件开发方法和i n t e r n e t 应用的发展,软件开发的规模越来越大,复 杂程度度逐渐增加,传统的瀑布型等的软件工程方法在处理复杂项目的时候,常 常面临着多数相同功能的需求重复开发的尴尬,传统工程下的软件系统无法脱离 平台的相关性,缺乏平台无关性的数据交流能力,容易造成“数据孤岛 等状况。 面对日益复杂的业务逻辑需求,不断变更的业务需求常导致不断地更换软件系统, 造成资源浪费,并且同时给开发人员带来繁琐的维护工作。同时在现有软件结构 下,系统难以及时向高层提供信息,使得企业的运行成本居高不下。 因此,为了更好的重用己开发的模块,且使得软件的重用可以脱离平台的相 关性,早在1 9 9 6 年,g a r t n e r 就提出了一种面向服务的体系结构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 架构的服务的出现,使得企业在改变工t 系统的灵活性得到很大提 高。面向服务的s o a 架构定义了搭建企业软件架构的一种新方法,将任何共享应 用和数据服务定制为能满足特定业务需求的复合型应用,使一些大企业或地理分 布范围比较广的开发队伍能够更好地合作,降低开发成本,提高系统集成度和响 应速度,同时帮助解决因为系统升级带来的困难,因为这些s o a 架构下的中间件 业务模块都能够被重新配置或以新方式优化以满足新的需求。 1 2国内外研究现状 s o a 架构在国外被视为下一代w e b 服务的基础架构,基于s o a 架构的系统,注 重于业务组件的开发和重用,把构件技术灵活应用在互联网上,使得系统能够适 应灵活多变的业务需求。目前,国外专注组件开发的厂商包括i b m 、微软、甲骨 文等软件厂商巨孽,都十分推崇s o a 架构,并认为未来的软件开发将朝着s o a 方 广东工业大学硕士学位论文 向发展,企业应用不再是传统的建房子模式,而是通过松散藕合的各业务部件, 有机的联系在一起瞳1 。根据2 0 0 8 年的在纽约举行的s o a 世界大会和博览会的参加 者和参展商的评估得出:软件行业继续与围绕s o a 的大肆宣传作斗争。人们一直 宣传s o a 是解决系统的毛病的技术,然而,大多数大型企业已经超越了探索阶段, 正处在实施s o a 的阶段。 开放s o a 合作组织( o p e ns o ac o l l a b o r a t i o n ,0 s o a ) 是一个非正式的厂商 联盟,他的作用是使得各厂商能够共同开发一个语言中立的编程模型。该编程模 型帮助企业软件开发人员能够最大限度的发挥s o a 架构的特性和优势。目前加入 o s o a 的厂商包括i b m 、b e a 、s a p 、o r a c l e 等。o s o a 在2 0 0 7 年发布s c av 1 0 规 范,不久之后加入o a s i s ( 0 r g a n i z a t i o nf o rt h ea d v a n c e m e n to fs t r u c t u r e d i n f o r m a t i o ns t a n d a r d s ,s o a 标准组织) , 并且这个规范也成为其的正式标准, 在2 0 0 8 年这个规范的中文版本发布。 在国内,作为参与国际s o a 标准制定的唯一中国软件企业,普元软件在s o a 中国的发展中从参与标准制定到s o a 产品在诸多行业的推广实践,走出了一条跻 身上游、扶助下游的全程s o a 研发与推广之路。普元并推出普元e o s ( p r i m e t o n e n t e r p r i s eo p e r a t i n gs y s t e m ) 企业应用开发平台。普元推出普元e o s ( p r i m e t o n e n t e r p r i s eo p e r a t i n gs y s t e m ) 企业应用开发平台。普元e o s 是针对不断变化的 需求而设计的面向构件的中间件平台,它将构件技术、x m l 企业总线技术和可视 化开发技术完美结合,通过图形化的构件单元作为应用系统的基本组成元素,使 应用系统可以快速高质量的搭建,同时拥有最强的需求变化响应能力,并通过构 件积累来持续积累软件知识财富。 2 0 0 8 年1 1 月4 日,由计算机世界报社主办的2 0 0 8s o a 应用年会在北京举 行,在会上主要关注“如何帮助企业、技术提供商以及服务咨询机构共同实现s o a 的商业目标 ,并且邀请了s o a 相关技术领域,实力雄厚的软件厂商和独立软件开 发商及集成商专家进行s o a 主流技术发展及应用趋势,“s o a 行业部署”和“建 立s o a 生态链 等焦点的探讨和交流口1 。 1 3论文课题研究的主要内容 本论文通过对s o a 服务架构怎么和非税收入管理系统的结合的研究,并根据非 税业务需求特点来重新设计非税收入管理系统的;并在这个框架上详细按照s o a 2 第一章绪论 架构化层次进行层层设计。 一开始,分析了原非税收入管理的整个流程,同时分析讲述了它的缺陷;之后 进行创新性的整个系统的重新设计,把整个架构都进行s o a 化,并且对功能进行 修改和增加,对整个系统进行了彻底的修改和完善。 从用户接触到到开发员接触到的每个层次,都进行了详细的分析和设计。利用 w e b 服务设计改变了用户缴费的一般方式,达到了用户网上缴费和管理的目标; 使用b p e l 来设计业务层,让系统可以重复利用各种底层服务;同时使用b e a 公司 的中间件软件设计了系统的底层核心,数据层和业务层的分开,让程序员不用考 虑整个系统的数据层的性能考虑,让程序员的负担大大降低。这些的核心设计为 非税收入管理系统的变更和升级提供了很灵活的解决方案。 本论文的主要研究内容包括如下方面: 1 对原系统进行详细的分析,得出它的缺陷; 2 s o a 技术在非税收入管理系统的理论应用; 3 根据s o a 的设计目标,对非税收入管理系统进行层次化的详细设计。 根据s o a 架构进一步详细研究设计每一层,同时设计了与系统相关的w e b 服 务,提高了系统的重用性和适应能力,使得该系统能够脱离地区性和银行性,能 够满足不断变化的业务需求;并且根据新的用户需求,设计了新的用户模块和安 全性部分,增强了系统与用户之间的交互和保障了系统的安全。 1 4论文课题研究的特色 1 在分析原有系统的基础上,使用了面向服务( s o a ) 的组件模块形式来改善 系统的缺陷,设计了一个具有良好的可扩展性和可重用性的多层架构,该系统设 计具有较高的实用性和必要性,可以重用服务,维护简单。 2 对原有系统进行增加了实用性的功能模块( 用户个人信息和打印等模块) 等,从而实现与用户的交互性,与原系统不能和用户进行交互对比有了很大的改 进;同时也增加了安全性的考虑,使用了“用户登陆 ,“r b a c 访问权限管理” 和“数字认证等方法来解决新系统的安全性问题。 3 广东工业大学硕士学位论文 1 5论文的组织结构 第一章绪论部分。介绍论文的相干知识,并说明了s o a 的国内外现状,同 时说明了对本课题研究的主要内容和创新点。 第二章s o a 的软件架构设计。介绍s o a 的概念、结构模型以及关键技术, 其中包括b e a 公司的重要中间件产品t u x e d o 等,还讲述了b p e l 业务编排知 识。 第三章原非税收入管理系统分析。分析原非税收入业务系统的业务流程和数 据流程,还有功能,并因此分析出它的缺陷。 第四章s o a 架构化的新系统的概要设计。本章是此文重要的章节部分之一, 它根据第三章的分析研究出重新设计的业务和数据流程,并且增加了新的功能模 块;同时根据s o a 架构的特点,结合原系统的基础,重新设计了新的系统的结 构图。 第五章s o a 架构化的新系统的详细设计。本章也是此文重要的章节部分。 它根据第四章重新设计出的s o a 架构化结构重新按表现层,业务逻辑服务层, 数据层等几大层进行一层层详细设计。在表现层,设计了用户连接服务层的几种 方式;在业务逻辑服务层,又细分了几个层:基本服务层,业务编排和w e b 服务 层来进行详细分别设计;在数据层,则在原来数据库表中进行修改和完善,详细 设计了新的需求的表;同时也在“中间件层”设计了新旧系统的结合,成功把新 旧系统设计整合在一起;最后还讲述了关于系统安全性方面的设计,确保系统安 全运行。 最后就是总结。回顾和总结本文所做的工作。并且说明了系统的进一步的可 能改进的工作。 4 第二章s o a 软件架构设计 2 1s o a 的概念 第二章s o a 软件架构设计 软件系统规模在迅速增大的同时,软件开发方法也经历了一系列的变革,软 件开发经历了面向过程、面向对象、面向组件、面向集成的发展过程,每一个阶 段都有其自身的特点,面向过程的代码高度耦合,可以为企业提供高效率,但无 法满足企业业务变化的需求。面向对象技术通过继承、多态和重载等一系列特性 提高了软件的重用,使得整个i t 基础架构能够满足需求的快速变化,但它的重用 仍然停留在代码共享的级别。面向组件技术加速了适应业务变化的步伐,但在异 构系统操作中仍然存在着许多问题。面向集成把系统的概念提升到了一定的高度, 但它们是针对独立的应用提供的服务,系统的体系结构面向特定的应用,使系统 在企业中的可实施性较差。在这种情况下,面向服务的体系架构( s o a ) 因此产生 h 1 ,它是一种更加活跃的自由的高效的软件复用机制。 现在业界对s o a 的认识和实践都在做各种探讨,所以对s o a 的定义也存在不 同的理解: i b m 给出s o a 的概念:面向服务的体系结构( s e r v i c eo r i e n t e d a r c h i t e c t u r e ,s o a ) 是一个组件模型,它将应用程序的不同功能单元( 称为服务) 通过这些服务之间定义良好的接口和契约联系起来障1 。其中,定义良好的接口应该 是平台无关性的,基于这样的体系结构的系统具备松散耦合结构,这样的结构有 两个好处:一是灵活性,可以针对不断变化的业务做快速反应:二是当服务内部结 构改变时,整个应用程序可以在不发生任何改变的情况下继续存在。 s e r v i c e a r c h i t e c t u r e c o m 将s o a 定义为:“本质上是服务的集合。服务间 彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进 行某些活动,服务问需要某些方法进行连接。所谓服务就是精确定义、封装完善、 独立于其它服务所处环境和状态的函数 1 。 l o o s e l y c o u p l e d c o m 将s o a 定义为:“按需连接资源的系统。在s o a 中,资 源被作为可通过标准方式访问的独立服务,提供给网络中的其它成员。与传统的 系统结构相比,s o a 规定了资源间更为灵活的松散耦合关系”n 1 。 5 广东t 业大学硕士学位论文 g a r t n e r 则将s o a 描述为:“客户端n 务器的软件设计方法,一项应用由软 件服务和软件服务使用者组成s o a 与大多数通用的客户端服务器模型的不同之 处,在于它着重强调软件组件的松散耦合,并使用独立的标准接口 嘧3 。 虽然定义有所差别,但是能从不同方面反映出了s o a 的一些关键特性: 1 s o a 是一种软件体系结构风格。 2 服务是对s o a 体系结构系统的关键抽象,服务与具体实现无关。 3 松散耦合是s o a 体系结构元素关系的重要约束。 由于s o a 具备这样的特性,所以在系统中采用s o a 可以极大地提高系统的柔 性和可重用性。 在s o a 架构中,服务是核心的抽象手段,业务被划分为一系列大粒度的业务 服务和业务流程。业务服务相对独立、自包含、可重用,由一个或者多个分布的 系统所实现,而业务流程由服务组装而来。一个“服务”定义了一个与业务功能 或业务数据相关的接口,以及约束这个接口的契约,接口和契约采用中立、基于 标准的方式进行定义,它独立于实现服务的硬件平台、操作系统和编程语言,这 使得构建在不同系统中的服务可以以一种统一的和通用的方式进行交互、相互理 解,除了这种不依赖于特定技术的中立特性,通过服务注册库来支持动态查询、 定位、路由和中介的能力,使得服务之间的交互是动态的,位置是透明的。正是 技术和位置的透明性,使得服务的请求者和提供者之间高度解耦,这种松散耦合 系统的好处有两点:一是它适应变化的灵活性;二是当某个服务的内部结构和实 现逐渐发生改变时,不影响其它服务。 总结起来,s o a 的基本实体是软件服务母q 。这种服务的概念,是比对象、构 件具有更高的抽象级别、更大的粒度与更强的独立性与可用性,因此便于使用者 直接使用。面向服务的体系结构( s o a ) 是一种架构模型和一套设计方法学,其目的 是最大限度地重用应用程序中的服务,以提高i t 适应性和效率。它可以根据需求 通过网络,对松散藕合的粗粒度应用组件进行分布式部署、组合和调用。服务层 是s o a 的基础,可以直接被应用调用,从而有效控制系统中与软件代理互的人为 依赖性。s o a 的关键是“服务”的概念,w 3 c 将服务定义为:“服务提供者完成一 组工作,为服务使用者交付所需的最终结果。最终结果通常会使使用者的状态发 生变化,但也可能使提供者的状态改变,或者双方都产生变化。n 2 3 在面向服务的 体系结构中,s o a 定义的流程、原则和方法都是面向服务的( 也称为面向服务开发, 6 第二章s o a 软件架构设计 s e r v i c e - o r i e n t e d d e v e l o p m e a t ) :s o a 选择的开发工具是面向创建和部署服务 的:s o a 提供的运行时基础设施也是面向执行和管理服务的。在面向服务的架构 ( s o a ) 中,服务是用作下列用途的基本单元n 3 1 : 1 进行跨部门和应用边界的业务信息共享 2 进行跨部门和应用边界的业务信息更新 2 2s o a 的结构模型 s o a 的结构模型由服务提供者、注册机制、服务消费者和服务契约等四部分 组成1 钔: 1 服务提供者( s e r v i c ep r o v i d e r ) 服务提供者是一个可通过网络寻址的实体,它接受和执行来自消费者的请求。 它将自己的服务和接口契约发布到服务注册中心,以便服务使用者可以发现和访 问该服务。它主要实现以下功她o m : ( 1 ) 定义可提供的服务功她o r e ; ( 2 ) 设计并实现这些功能; 用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 ,网络服务描述语言) 描述这 些服务,并用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 文档。 2 注册机制( r e g i s t e r ) 服务注册机制是一个包含服务的网络寻址目录,它接收并存储服务契约的实 体,以便服务消费者定位服务。主要实现以下功能: ( 1 ) 增加、删除或修改已发布服务提供的服务数据; ( 2 ) 按用户的请求从注册表中查询服务数据。 ( 3 ) 服务消费者( s e r v i c ec o n s u m e r ) 服务消费者可以是一个请求服务的应用、服务或者其它类型的软件模块,它 从注册机制中定位其需要的服务,并通过传输机制来绑定服务,然后通过传递契 约规定格式的请求来执行服务功能。该模块主要完成以下功能: ( 1 ) 发现提供所需服务的w s d l 文档,通常使用访问服务注册表项来实现; ( 2 ) 在w s d l 的基础上,通过s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c o l ,简单 对象访问协议) 协议来与要访问的服务通信。 7 广东1 二业大学硕士学位论文 3 服务契约( c o n t r a c t ) 服务契约是服务消费者和服务提供者间交互方式的规范,指明了服务请求和 响应的格式。 在s o a 结构模型中,服务的提供者与服务的消费者是彼此分开的,注册机制 中的服务信息位于两者之间,它将服务提供者所提供的服务按一定的标准组织并 分类,并向消费者发布服务接口,消费者使用查询功能发现提供者。服务提供者 与服务消费者通过事先定义好的契约进行交互。其结构模型如图2 1 所示: 图2 - ls o a 基本框架 f i g u r e2 - 1t h eb a s i cf i a m e w o r ko fs o a 2 3s o a 的关键技术 2 3 1x m l 技术 ) 【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 司是一种平台无关 的表示数据的方法。因为x m l 是建立在基于标记技术基础之上的,所以使用x m l 创建的数据可以被任何应用程序在任何平台上读取,甚至可以通过手动编码来编 辑和创建) ( m l 文档,它具备如下语言特性: 1 - 可扩展性 x m l 在两个意义上是可以扩展的。首先,它允许开发者创建他们自己的d t d ( d o c u m e n tt y p ed e f i n i t i o n ,文档类型定义) 和s c h e m a 模式,有效地创建可被 用于多种应用的可扩展标志集。其次,使用几个附加的标准,开发者可以对x m l 进行扩展,这些附加标准可以向核心的x m l 功能模块集增加样式、链接和参照能 力。企业可以用x m l 为电子商务和供应链集成等应用定义自己的标记语言,作为 8 第二章s o a 软件架构设计 该领域信息共享和数据交换的基础。 2 互操作性 x m l 可以在多种平台上使用,而且可以用多种工具进行解释。因为文档的结 构是相容的,所以解释它们的语法分析器费用较低。x m l 支持用于字符编码的许 多主要标准,允许它在全世界许多不同的计算环境中使用。 3 开放性 x m l 标准本身在w e b 上是完全开放的,可以免费获得。其文档自己也较为开 放,任何人都可以对一个结构良好的x m l 文档进行语法分析,如果提供了d t d 和 s c h e m a ,则还可以校验这个文档。 4 灵活性 x m l 提供了一种结构化的数据表示方式,使得用户界面和结构化数据分离。 在x m l 中可以使用样式表,另外,x m l 文档事件的超链接功能由独立的m l i n k 来 支持。 5 自描述性 x m l 文档通常包括一个文档类型声明,因而x m l 文档是白描述的。x m l 文档中 的数据可以被任何能够对x m l 数据进行解析的应用所提取、分析和处理,并以所 需的格式显示。用x m l 表示数据真正做到了数据独立于应用系统,并且这些数据 能够被重用。 6 简单性 与s g m l ( s t a n d a r dg e n e r a liz e dm a r k u pl a n g u a g e ,标准通用标志语言) 相 比,) ( m l 简单、易学、易用且易实现,此外,x m l 采用u n i c o d e 字符编码系统,从 而支持几乎所有主要语言,并且不同语言的文本可以在同一文档中混合使用,支 持x m l 的软件能处理所有这些语言的任何组合。因此x m l 使得信息交换可以跨越 民族和文化的界限。 下面简单介绍一下x m l 技术的相关标准。 1 x m l 名称空间( n a m e s p a c e ) :用于在一个全局命名系统中对元素进行定位。 x m l 是可扩展的,但是,如果使用不当,可扩展性会带来一系列问题。因为x m l 允许用户进行自由地定义标志,这样同一个标志也许就有了不同的含义。为了识 别x m l 元素,必须声明名称空间,这个声明将u r i ( u n i f o r mr e s o u r c ei d e n t i f i e r , 统一资源标识符) 跟前缀联系起来,并把该前缀放在元素前面进行元素的识别。 9 广东工业大学硕士学位论文 2 d t d 和x m ls c h e m a :d t d 和x m ls c h e m a 模式用来验证x m l 文档的合法性。 d t d 比较成熟,但没有数据类型的概念、不支持命名空间、不支持继承和子类等 面向对象的技术、不适合数据交换和应用集成等缺点,因此w 3 c 开发了x m l s c h e m a ,它使用x m l 语法,并专门为了x m l 文档编写,适合数据交换和企业应用 集成。 3 x l l - x l l ( e x t e n s i b l el i n kl a n g u a g e ,可扩展链接语言) 包括x li n k ( x m l l i n kl a n g u a g e ,x m l 链接语言) 和x p o i n t e r ( ) ( m lp o i n t e rl a n g u a g e ,x m l 指针 语言) 。该标准用于提供一种在文档间建立关联和超链接的机制,它们都是x m l 语法写成,其中x l i n k 定义了一个文档如何与另一文档相关联,x p o i n t e r 定义了 文档的各部分如何寻址。 2 3 2w e b 服务 w e b 服务自是包含的、基于网络的、分布式的模块化组件,它执行特定的任 务,遵守具体的技术规范,这些规范使得w e b 服务能与其它兼容的组件进行互操 作n 明。w e b 服务可以在网络( 通常为w e b ) 中被描述、发布、查找以及调用,它是由 企业发布的完成商务需求的在线应用服务,其它公司或应用软件能够通过 i n t e r n e t 来访问并使用这项应用服务。w e b 服务可以是独立的,也可以连接在一 起向外部世界提供更强大的系统功能。 w e b 服务的一个主要思想,就是未来的应用将由一组服务组合而成。只要两 个等同的服务使用统一标准和中性的方法在网络上发布信息,那么从理论上说, 一个应用程序就可以根据价格或者性能的标准,从两个彼此竞争的服务之中选出 一个。除此之外,一些服务允许在机器之间复制,因而可以通过把有用的服务复 制到本地储存库,来提高运行在特定的计算机上的应用程序的性能。 w e b 服务反映了一种新的面向服务的构造思想,这种思想基于发现并执行网 络上可获得的服务。w e b 服务的实现独立于具体的编程语言和操作系统,w e b 服务 的执行依赖于已存在的传输技术( 如h t t p ) 和标准数据编码技术( x m l ) ,因为构建 于这些标准之上,开发者得以用基于功能的方式来访问发布在网络上的应用程序, 而不是基于程序如何运行和程序如何编写。 w e b 服务体系结构是面向对象分析与设计的一种逻辑演化和合理发展,和面 l o 第二章s o a 软件架构设计 向对象系统一样,封装、消息传递、动态绑定、服务描述和查询也是w e b 服务中 的基本概念,而且,w e b 服务另外一个基本概念就是:所有东西都是服务,这些服 务发布一个a p i 供网络中的其它服务使用,并且封装了实现细节。 2 3 3s o a p 技术 s o a p 是基于x m l 的简易对象访问协议,可使应用程序在h t t p ( h y p e r t e x t t r a n s f e tp r o t o c o l ,超文本传输协议) 之上进行信息交换n 吼 1 ,简单地说:s o a p 是用于访问网络服务的协议。一条s o a p 消息就是一个普通的x m l 文档,包含下 列元素: 1 必需的e n v e l o p e 元素,可把此x m l 文档标识为一条s o a p 消息; 2 可选的h e a d e r 元素,包含头部信息; 3 必需的b o d y 元素,包含所有的调用和响应信息; 4 可选的f a u l t 元素,提供有关在处理此消息所发生错误的信息。 完整的s o a p 消息结构如下: 其中具体语法及语义如下: 1 e n v e l o p e 广东工业大学硕+ 学位论文 ( 1 ) 元素名为e n v e l o p e ; ( 2 ) 该元素必须在s o a p 消息中出现,一般是根元素; ( 3 ) 该元素可以包含命名空间申明和额外的属性。如果出现额外属性,则必 须使用命名空间修饰。类似的,该元素可以包含额外的子元素,这些子 元素如果出现,必须有命名空间修饰并且必须跟在s o a pb o d y 元素之后, 也就是说e n v e l o p e 的直接子元素h e a d e r 和b o d y 必须排列在最前面。 2 h e a d e r ( 1 ) 元素名为h e a d e r ; ( 2 ) 该元素可以在s o a p 消息中出现,但并不是必须出现的。如果出现,该元 素必须是s o a pe n v e l o p e 元素的第一个直接子元素; ( 3 ) 该元素可以包含一系列的h e a d e r 条目,这些条目都应当是h e a d e r 元素 的直接子元素,并且h e a d e r 所有直接子元素必须有命名空间修饰; ( 4 ) h e a d e r 条目自身可以包含下级子元素,但这些元素不是h e a d e r 条目, 而是h e a d e r 条目的内容。 3 b o d y ( 1 ) 元素名为b o d y ; ( 2 ) 该元素必须在s o a p 消息中出现,同时必须是s o a pe n v e l o p e 元素的一个 直接子元素。若该消息中包含h e a d e r 元素,则b o d y 元素必须直接跟随 h e a d e r ,为h e a d e r 元素的相邻兄弟元素。若h e a d e r 不出现,则其必须 是e n v e l o p e 的第一个直接子元素; ( 3 ) 该元素可以包含一系列的b o d y 条目,这些条目都应当是b o d y 元素的直 接子元素。b o d y 的所有直接子元素必须有命名空间修饰。s o a p 定义了 s o a pf a u l t 元素,它用来指示调用错误的信息; ( 4 ) b o d y 条目自身可以包含下级子元素,但这些元素不是b o d y 条目,而是 b o d y 条目的内容。 2 3 4w s d l 技术与u d di 技术 w s d l 是一种使用x m l 编写的文档,这种文档可描述某个w e b 服务,它规定服 务的位置,以及此服务提供的操作( 或方法) ,同时它将w e b 服务描述为一组端点, 1 2 第二章s o a 软件架构设计 这些端点会处理包含面向文档或面向过程的信息的消息n 6 1 引。操作和消息都是被 抽象描述的,然后它们会被绑定到一个具体的网络协议和消息格式,用来定义端 点。相关的具体端点被合并到抽象的端点或服务中。w s d l 可以扩展为允许端点和 其消息的描述,而不管使用哪种消息格式或网络协议。 一个w s d l 文档的主要结构如下代码所示: d e f i n i t i o no ft y p e s d e f i n i t i o no fam e s s a g e d e f i n i t i o no fap o r t d e f i n i t i o no fab i n d i n g 其主要元素说明如下: 1 w s d l 端口: 元素是最重要的w s d l 元素。 它可描述一个w e b 服务、可被执行的操作,以及相关的消息,可以把 元素比作传统编程语言中的一个函数库( 或一个模块、或一个类) 。 2 w s d l 消息: 元素定义一个操作的数据元素。 每个消息均由一个或多个部件组成,可以把这些部件比作传统编程语言中一 个函数调用的参数。 3 w s d lt y p e : 元素定义

温馨提示

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

最新文档

评论

0/150

提交评论