




已阅读5页,还剩68页未读, 继续免费阅读
(计算机科学与技术专业论文)面向服务的企业应用研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西北工业大学硕十论文面向服务的企业应用研究与实现 摘要 面向服务的体系结构因其固有的松散耦合与互操作性,成为许多企业应用的 自然选择,而w e b 服务是当前实现面向服务体系结构非常优秀的技术,同时作 为构架企业级系统的j 2 e e 组件技术又对w e b 服务提供了非常好的支持。这样, 使用j 2 e e1 4 提供的w e b 服务功能可以很容易地构建能够访问现有业务流程 的s o a 系统。 论文首先介绍了面向服务体系架构的结构特征,并对w e b 服务和w e b s e r v i c ef o r j 2 e e 规范等相关技术进行了介绍和分析。 然后根据目前企业应用存在的问题和业务需求,比较了面向组件与面向服务 的不同之处;在分析了面向服务体系结构特征和实现技术基础上,分析设计了基 于j 2 e e 实现s o a w e b 服务的企业级系统的架构,并对这种架构下的关键组件 进行了描述。 根据上述的分析,论文接着设计实现了基于s o a w e b 服务的陕西省电子运 维管理系统,其中包括客户端、业务服务、注册中心、安全性控制。 接下来总结了目前技术条件下这种架构在企业应用中的优缺点,同时,简单 分析了s o a 的发展前景。 最后,进行全文的总结与展望。 关键字:面向服务的体系结构、j 2 e e 、w e b 服务、安全性 两北工业大学烦十论文面向服务的企业应用研究与_ 妾现 a b s t r a c t t h el o o s ec o u p l i n ga n di n t e r o p e r a b i l i t yi n h e r e n ti ns o am a k ei tan a t u r a lc h o i c e f o rm a n ye n t e r p r i s ea p p l i c a t i o n s n o w , w e bs e r v i c ei sam o s te x c e l l e n c et e c h n o l o g y , a n dj 2 e ea sat e c h n o l o g yb u i l d i n ge n t e r p r i s es y s t e m ,s u p p o r t sw e bs e r v i c ea b s o l u t e l y s ot h ew e bs e r v i c e sf e a t u r e sa v a i l a b l ei nj 2 e e1 4m a k ei te a s yt ob u i l ds o a s y s t e m s t h a tp r o v i d ea c c e s st ot h el e g a c yb u s i n e s ss y s t e m st h a ty o ua l r e a d yh a v e t h i sp a p e ri n t r o d u c e sf e a t u r e so fs o a ,a n da n a l y z e sw e bs e r v i c ea n dw e b s e r v i c ef o rj 2 e ef i r s t l y a n d t h e n ,a c c o r d i n gt ot h ep r o b l e m sa n db u s i n e s sr e q u i r e m e n t si nb u i l d i n gt h e a r c h i t e c t u r eo f e n t e r p r i s es y s t e mr e c e n t l y , a n a l y z e s t h ed i f f e r e n c e sb e t w e e n b e a n - o r i e n t e da n ds e r v i c e - o r i e n t e d ;a n a l y z e sa n dd e s i g n st h e e n t e r p r i s es y s t e m f r a m e w o r ko fj 2 e e b a s e ds o a w e b s e r v i c eb y a n a l y z i n gt h ef e a t u r e s a n dt h e i m p l e m e n t i n gt e c h n o l o g yo fs o a , a n d d e s c r i b e st h ek e yb e a n s a c c o r d i n gt ot h ea b o v ea n a l y s i s ,t h ep a p e rd e s i g n sa n di m p l e m e n t sa ne n t e r p r i s e s y s t e m n a m e dt e l - e m s ( s o a w e b s e r v i c e b a s e d ) i ti n c l u d e s c l i e n t ,b u s i n e s s s e r v i c e s ,s e r v i c er e g i s t r ya n ds e c u r i t y a n dt h e n ,t h ep a p e rs u m su pt h ea d v a n t a g e sa n dd i s a d v a n t a g e so ft h i sf r a m e w o r k i nb u i l d i n ge n t e r p r i s es y s t e m so nt h ec o n d i t i o no ft h er e c e n tt e c h n o l o g y , a n da n a l y z e s t h ef u t u r eo fs o a s i m p l y k e yw o r d s :s o a 、j 2 e e 、w e bs e r v i c e 、s e c u r i t y i i 西北t 业大学硕上论文面向服务的企业出用研究与实现 第1 章绪论 本章主要内容: 本文研究背景和研究意义。 国内外研究现状。 本文研究内容。 本文结构安排。 1 1 本文研究背景和研究意义 到目前为止,传统的编程技术所形成的软件系统都是刚性的。也就是说, 一旦开发完成并投入运行,就是固定不变的,不能在使用过程中进行调整和 改变。在业务流程中,软件系统严格按照预先设定的目标,各功能模块按照 确定的顺序执行。如果数据结构或者业务逻辑发生改变,就必须对所有相关 的软件模块、数据源和消息逐个进行修改。就算是有了e a i 中间件,这种情 况也并没有得到根本性的改变。 而全球化和电子商务加快了企业改变的步伐。全球化带来了激烈的竞争, 产品周期缩短了,每个公司都想赢得超过竞争对手的优势。在竞争产品和可 以从i n t e r a c t 上获得的大量产品信息的推动下,客户要求更快速地进行改变。 因而,在改进产品和服务方面展开的竞争进一步加剧了。 为了满足客户提出的越来越多的新要求,技术方面的改进也在不断地加 快。企业必须快速地适应这种改变,否则就难以生存,更别提在这个动荡不 安竞争激烈的环境中取得成功了,而i t 基础设施必须支持企业提高适应能 力。 如何使r r 环境更灵活且更快地响应不断改变的业务需求昵? 如何使这 些异构系统和应用程序尽可能无缝地进行通信呢? 如何达到企业目标而不使 企业走向破产的深渊叱? 诸如此类余业在,啊刷。p 遇到的难题,关键在一f 能甭改汁出种先进的系 西北工业人学硕士论文面向服务的企业应用研宄与实现 统架构。为了减少异构性、互操作性和不断改变要求的问题,这样的体系结 构应该提供平台来构建具有下列特征的应用程序服务:松散耦合,位置透明、 协议独立,这种体系结构便是面向服务的体系结构( 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 。而目前w e b 服务则是s o a 最流行的一种实现方法, 这种基于s o a 和w e b 服务技术的应用集成是业务集成技术上的一次重要的 变化,被认为是新一代的应用集成技术。集成的对象是一个个的w e b 服务或 者是封装成w e b 服务的业务处理。w e b 服务技术由于是基于最广为接受的、 开放的技术标准,支持服务接口描述和服务处理的分离、服务描述的集中化 存储和发布、服务的自动查找和动态绑定以及服务的组合,成为新一代面向 服务的应用系统的构建和应用系统集成的基础设施。 1 2 国内外研究现状 面向服务的体系结构是基于“软件变服务”的思想,提出了一种新的解 决软件重用和软件集成的方案。通过采用面向服务的体系结构,企业能够迅 速便捷的构建开放的、模块化的、可重用的软件组件。这种模式尤其适合面 向广域异构环境的大规模应用场景,如跨企业的电子商务系统( 如供应链管理 和b 2 b 等) 、跨地域或者跨部门的电子政务系统、i n t e m e t 环境下的协同计算( 如 网格计算、虚拟组织等等) 。 在基于面向服务的软件体系结构的研究中,目前业己实现了s o a 的较有 代表性的工作是s u n 的j i n i 技术以及得到各大公司广泛关注的w e b 服务技术。 作为s o a 的一种实现手段,w e b 服务提供了基于x m l 标准接口的若干 中间件,具有完好的封装性、松散的耦合性、协议规范的标准性、以及高度 的可集成性等特点,能够很好的满足s o a 应用模式需求。 目前己经有一系列基于x m l 的w e b 服务标准被业界广泛接受,形成了 w e b 服务的核心技术:服务的提供者可以用w s d l 描述w e b 服务;用u d d i 注册中心发布、注册w e b 服务;服务的请求者通过u d d i 进行查询,找到所 需的服务后可以利用s o a p 渊用这些服务。w e b 服务继承了x m l 浯言的优 势,是一种与丌发语言、平台无关的开发技术,并采用和支持国际公丌的r 放技术标准规范。 西北t 业大学硕士论文面向服务的企业应用研究与实现 针对业己公布的标准,许多大型企业( i b m 、m i c r o s o f t 、b e a 等) 已经开始 着手对基于w e b 服务的面向服务的体系架构予以实现和推广。 1 3 本文研究内容 基于目前企业系统的设计与实现中遇到的难题,结合s o a 体系结构的特 点、w e b 服务的不断火热以及j 2 e e 在企业级系统开发中的优势,本论文通过 三者结合在一起分析实现企业级系统架构,来寻求种构建松耦合、可移植 性、互操作性及安全性都比较好的企业级系统架构解决方案。在本文中,主 要的研究内容有以下几个方面: 1 1 根据目前企业级系统架构存在的各种问题,通过分析讨论面向服务与 面向组件在企业应用架构中的不同点以及s o a 的不同实现技术,分析 设计了面向服务的企业应用框架,并对核心组件进行了描述; 2 ) 针对基于j 2 e e 实现s o a w e b 服务的企业级应用框架思想,设计实现 了面向服务的企业级系统一一陕西省电子运维管理系统。 3 1 综合分析了s o a 在企业级应用中的优缺点和发展前景。 1 4 本文结构安排 本文分为六章: 第1 章:绪论。主要介绍本文的研究背景和研究意义,目前国内外研究 现状,本文的研究内容和结构安排等。 第2 章:面向服务体系结构和相关技术介绍。主要介绍面向服务体系结 构相关概念和结构特征;同时简要介绍w e b 服务和w e bs e r v i c ef o rj 2 e e 规范 的一些概念等相关内容。 第3 章:面向服务的企业应用架构分析。首先分析目前企业应用存在的 问题,通过面向服务与面向组件的比较,以及基于j 2 e e 实现s o a w e b 服务 的可行性,分析设计面向服务的企业应用系统框架,并对框架中的核心组件 进行描述。 第4 章:基丁s o a w e b 服务的t e l e m s 系统设i i 与实肌。本章主要设 计和实现基于j 2 e e 的s o a w e b 服务架构的仑业应用系统一一陕两省电子运 西北工业大学预上论文面向服务的企业应用研究与实现 维管理系统,其中包括架构分析、客户端的设计与实现、业务服务的设计与 实现、注册中心的设计与实现、服务安全性控制的设计与实现等。 第5 章:面向服务的企业应用综合分析和发展前景。本章主要综合分析 面向服务体系结构在企业应用中的优缺点和发展前景。 第6 章:结论与展望。总结本文的工作和下一步的研究方向。 西北工业大学硕十论文 面向服务的企业应用研究与实现 第2 章面向服务体系结构及相关技术介绍 本章主要内容: 面向服务的体系结构描述。 w e b 服务简介。 w e bs e r v i c ef o rj 2 e e 规范介绍。 2 1 面向服务的体系结构描述 2 1 1 框架描述 早在面向组件构架企业级系统时期,就涉及了服务的概念,“它是将组件 描述成提供相关服务的物理黑盒封装的可执行代码单元。它的服务只能通过 一致的已发布接口( 它包括交互标准) 进行访问。组件必须能够连接到其他 组件( 通过通信接口) 以构成一个更大的组”。服务通常实现为粗粒度的可发 现软件实体,它作为单个实例存在,并且通过松散耦合的基于消息通信模型 来与应用程序和其他服务交互。图2 - 1 展示了重要的面向服务术语: 服务:逻辑实体,由个或多个已发布接口定义的契约。 服务提供者:实现服务规范软件实体。 服务使用者( 或请求者) :调用服务提供者的软件实体。传统上,它 称为“客户端”。服务使用者可以是终端用户应用程序或另个服务。 服务定位器:一种特殊类型的服务提供者,它作为一个注册中心, 允许查找服务提供者接口和服务位置。 服务代理:一种特殊类型的服务提供者,它可以将服务请求传送到 一个或多个其他的服务提供者。 西北1 二业大学顿上论文面向服务的企业应用研究与实现 图2 - 1 面向服务的术语 面向服务的体系结构【9 l 提供了一种方法,通过这种方法,可以构建分布式 系统来将应用程序功能作为服务提供给终端用户应用程序或其他服务。其组 成元素可以分成功能元素和服务质量元素。图2 2 展示了体系结构堆栈以及 在一个面向服务的体系结构可能观察到的元素。 图2 - 2 面向服务的体系结构的元素 体系结构堆栈分成两半,左边的一半集中于体系结构的功能性方面,而右边 的一半集中于体系结构的服务质量方面。 2 1 2 功能性方面描述 恨据体系结陶堆f e ,其【由能性方面包括: 传输是种机制,用于将束自服务使用者的服务晴求传送给服务 西北t 业大学硕上论文面向服务的企业应用研究与实现 提供者,并且将来自服务提供者的响应传送给服务使用者。 服务通信协议是种经过协商的机制,通过这种机制,服务提供 者和服务使用者可以就将要请求的内容和将要返回的内容进行 沟通。 服务描述是一种经过协商的模式,用于描述服务是什么、应该如 何调用服务以及成功地调用服务需要什么数据。 服务是实际可供使用的服务。 业务流程是一个服务的集合,可以按照特定的顺序并使用一组特 定的规则进行调用,以满足业务要求。注意,可以将业务流程本 身看作是服务,这样就产生了业务流程可以由不同粒度的服务组 成的观念。 服务注册中心是一个服务和数据描述的存储库,服务提供者可以 通过服务注册中心发布它们的服务,而服务使用者可以通过服务 注册中心发现或查找可用的服务。服务注册中心可以给需要集中 式存储库的服务提供其他的功能。 2 1 3 服务质量方面描述 根据体系结构堆栈,其服务质量方面包括: 策略是一组条件和规则,在这些条件和规则之下,服务提供者可 以使服务可用于使用者。策略既有功能性方面,也有与服务质量 有关的方面;因此,我们在功能和服务质量两个区中都有策略功 能。 安全性是规则集,可以应用于调用服务的服务使用者的身份验 证、授权和访问控制。 传输是属性集,可以应用于一组服务,以提供一致的结果。例如, 如果要使用一组服务来完成一项业务功能,则所有的服务必须都 完成,或者没有个完成。 管理是属性集,可以应用于管理提供的服务或使剧的服务。 西北工业夫学硕上论文面向服务的企业应用研究与实现 2 1 4 协作方式 图2 3 展示了面向服务的体系结构中的协作。这些协作遵循“查找、绑 定和调用”范例,其中,服务使用者执行动态服务定位,方法是查询服务注 册中心来查找与其标准匹配的服务。如果服务存在,注册中心就给使用者提 供接口契约和服务的端点地址。下图展示了面向服务的体系结构中协作支持 “查找、绑定和调用”范例的实体。 图2 - 3 面向服务的体系结构中的协作 2 2w e b 服务简介 w e b 服务【7 】建立在开放标准和独立于平台的协议的基础之上。w e b 服务 通过h r r p 使用s o a p ( 一种基于x m l 的协议) ,以便在服务提供者和消 费者之间进行通信。服务通过w s d l ( w e bs e r v i c ed e f i n i t i o nl a n g u a g e ) 定 义的接口来公开,w s d l 的语义用x m l 定义。u d d l 是一种语言无关的协 议,用于和注册中心进行交互以及查找服务。所有这些特性都使得w e b 服务 成为开发s o a 应用程序的优秀选择。另外,因为s o a 中的组件相互之间必 须能够进行交互,才能进行上述三种操作,所以在w e b 服务的实现中使用了 一些标准技术,包括服务描述( u d d i 、w s d l ) 、通讯协, s ( ( h t t p 、s o a p ) 以及 数据格式( x m u 等。这样一来,开发者就可以开发出平台独立、编程语- k 独 立的w e b 服务,从而充分利用现有的软硬件资源和人力资源。 西北工业大学硕士论文 面向服务的企业应用研究与实现 2 2 1s o a p 介绍 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 0 1 ) 简单对象访问协议1 2 】是在分散或 分布式的环境中交换信息的简单的协议,是一个基于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 l 命名空i h q ( n a m e s p a c e ) 中,这样使得定义 更加简单。 s o a p 消息是一个x m l 文档,包括一个必需的s o a p 封装,一个可选的 s o a p 头和一个必需的s o a p 体。一个s o a p 消息包括以下部分: 在表示这个消息的x m l 文档中,封装是顶层元素。 应用s o a p 交换信息的各方是分散的且没有预先协定,s o a p 头 提供了向s o a p 消息中添加关于这条s o a p 消息的某些要素 f f e a t u r e ) 的机制。s o a p 定义了少量的属性用来表明这项要素 ( f e a t u r e ) 是否可选以及由谁来处理。 s o a p 体是包含消息的最终接收者想要的信息的容器。 s o a p 为s o a p 体定义了一个f a u l t 元素用来报告错误信息。 2 2 2w s d l 介绍 w s d l 【3 l 是一种x m l 格式,用于将网络服务描述为一组端点,这些端 点对包含面向文档信息或面向过程信息的消息进行操作。这种格式首先对操 作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定 义端点。相关的具体端点即组合成为抽象端点( 服务) 。可以对w s d l 进行 扩展,这样无论通信时使用何种消息格式或网络协议,都可以对端点及其消 息迸f j - 描述。w s d l 史件剧r 存w e bs e r v i c e 提供者干u 使川肯之削交换接l j 西北t 业大学硕士论文面向服务的企业应用研究与实现 信息。通过w s d l 描述,客户端可以使用w e bs e r v i c e 的功能,而无需了解 w e bs e r v i c e 的实现细节。w s d l 文档将服务定义为网络端点或端1 2 的集合。 在w s d l 中,由于端点和消息的抽象定义已从具体的网络部署或数据格式绑 定中分离出来,因此可以对抽象定义进行再次使用:消息,指对交换数据的 抽象描述;而端口类型,指操作的抽象集合。用于特定端口类型的具体协议 和数据格式规范构成了可以再次使用的绑定。将网络地址与可再次使用的绑 定相关联,可以定义一个端口,而端口的集合则定义为服务。因此,w s d l 文 档在网络服务的定义中使用下列元素: t y p e s 数据类型定义的容器,它使用某种类型系统( 如x s d ) 。 m e s s a g e 通信数据的抽象类型化定义。 o p e r a t i o n 对服务所支持的操作的抽象描述。 p o r t t y p e 一操作的抽象集合,这些操作由一个或多个端点支持。 b i n d i n g 特定端口类型的具体协议和数据格式规范。 p o r t 定义为绑定和网络地址组合的单个端点。 s e r v i c e 相关端点的集合。 2 2 3u d d i 介绍 u d d l1 4 】基于现成的标准,如x m l 和s o a p 。u d d i 的所有兼容实现都 支持u d d i 规范。 图2 4u d d i 的分层w e b 睢务阱f = _ :c 栈 u d d i 包含f 完整的w e b 吸务朗议钱之内,而且是 鬻j蕊一)_二誊寥。:。, ,。0誓i纛f;i_i+一 一 、;|ljjlj;j,j,iii;v, 阁测测一 ,j硼1一_薯,;。ij一|。;,+ ;j _ 女i , 喜弓房 ,i+_i ;i 、 三三一 西北工业大学硕士论文面向服务的企业应用研究与实现 协议栈基础的主要部件之一,支持创建、说明、发现和调用w e b 服务。 u d d i 构建于网络传输层和基于s o a p 的x m l 消息传输层之上。诸如 w 曲服务描述语言( 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 ) 之类的服务 描述语言提供了统一的x m l 词汇( 与交互式数据语言( i n t e r a c t i v ed a t a l a n g u a g e ,d l ) 类似) 供描述w e b 服务及其接口使用。您可以通过添加分 层的功能搭起整个基础,比如使用w e b 服务流程语言( w e bs e r v i c e sf l o w l a n g u a g e ,w s f l ) 的w e b 服务工作流描述、安全性、管理和服务质量功能, 从而解决系统可靠性和可用性问题。 u d d i 注册中心包含了通过程序手段可以访问到的对企业和企业支持的 服务所做的描述。此外,还包含对w e b 服务所支持的因行业而异的规范、分 类法定义( 用于对于企业和服务很重要的类别) 以及标识系统( 用于对于企 业很重要的标识) 的引用。u d d i 提供了一种编程模型和模式,它定义与注 册中心通信的规则。u d d i 规范中所有a p i 都用x m l 来定义,包装在 s o a p 信封中,在h t t p 上传输。 u d d i 注册中心里的数据从概念上可以分为四类,每一类表示u d d i 最 上层的一种实体。每个这样的实体都指定有自己的u u i d ,利用这个标识符 总能在u d d i 注册中心的上下文中找到它: 技术模型( t e c h n i c a lm o d e l ) 。 企业( b u s i n e s s ) 。 企业服务( b u s i n e s ss e r v i c e ) 。 服务绑定( s e r v i c eb i n d i n g ) 。 u d d i 注册中心由u d d i 规范的一种或多种实现组成,它们可以互操作 以共享注册中心数据。i b m 和m i c r o s o f t 共同经营第1 版的u d d i 业务注 册中心节点,这两个公司以及h p 和s a p 目前正在经营能支持大部分的第 2 版u d d i 规范的b e t a 测试站点。这四家公司都支持版本2 生产注册中 心。每家公司都支持由u d d i 规范定义的s o a p a p i 。通过商务合同来确保 一致。几家公司可以自由提供超出舰范所要求的服务范围之外的附加服务, 比如,荩于浏览器的用户界面。 两北工业大学硕十论文 面向服务的企业应用研究与实现 2 3w e bs e r v i c ef o rj 2 e e 规范介绍 2 3 1w e bs e r v i c ef o r j 2 e e 概述 w e bs e r v i c e sf o rj 2 e e 规范【6 1 定义了所需的体系结构关系,它是一种逻辑 关系,对容器提供者结构化容器和过程没有任何需求。添加到j 2 e e 平台的 内容包括依赖于由w e b 和e j b 容器提供的容器功能的端口组件,还有 s o a p h t t p 传输。w e bs e r v i c e sf o rj 2 e e 需要端口能够从客户机、w e b 和 e j b 容器引用。 2 3 2w e b 服务组件 规范定义了两种实现在j 2 e e 环境中运行的w e b 服务的方式,但并不 把w e b 服务实现局限为仅仅这两种方式。第一种方法是基于容器的 j a x r p c 编程模式的扩展,它将w e b 服务定义为在w e b 容器中运行的 j a v a 类。第二种方法将使用e j b 容器中的无状态会话e j b 的受限实现。还 可能有其它的服务实现情况,但它们并不在规范的定义之列。 2 3 3w e b 服务容器 容器提供了服务实现的生命周期管理、方法调用的并发管理以及安全性 服务。容器提供了专门在j 2 e e 环境中支持w e b 服务的服务。规范不需要 实现新的容器。可以使用已有的j 2 e e 容器,而且规范希望使用已有的容器 柬托管w e b 服务。w e b 服务实例生命周期和并发管理依赖于服务实现在哪 个容器中运行。w e b 容器中的j a x r p c 服务端点实现遵循标准的s e r v l e t 生命周期和并发需求,而e j b 容器中的e j b 实现遵循标准的e j b 生命周 期和并发需求。 2 3 4 客户端编程模型 客,1 ,机使,hw e bs e r v i c e sf o rj 2 e e 运行时来访问并渊f dw e b 服务的方 西北工业大学颀士论文面向服务的企业应用研究与实现 法。客户机可以是以下任意一种:j 2 e e 应用程序客户机、w e b 组件、e j b 组 件和另外的w e b 服务。 w e b 服务的客户机视图是代表客户机执行业务逻辑一组方法。客户机无 法区分方法是本地执行还是远程执行的,也不能确定服务是如何实现的。最 后,客户机必须假定w e b 服务的方法在多次w e b 服务方法调用中不具有持 久的状态。客户机可以认为w e b 服务实现是无状态的。 按照【j a x r p c 】规范中所定义,客户机使用服务端点接口来访问w e b 服务。对w e b 服务实现的引用决不应传递到另一个对象上。客户机决不应直 接访问w e b 服务实现。这样做将跳过可能会打开安全漏洞或导致反常行为的 容器的请求处理。图2 5 说明了客户机调用模型。 c o r t a i n e r 幽2 5w e b 服务客户机调用模型 按照 j a x r p c 】所定义,客户机使用j n d 查找来访问实现服务接口 的服务( s e r v i c e ) 对象。服务对象是由客户机用来获取实现服务端点接口的 存根( s t u b ) 或代理的个工厂。存根是w e b 服务实例的客户机表示。 按照j a x r p c 所定义,服务接口可以是普通的j a v a x x m l r p c s e r v i c e 接 口,也可以是继承了j a v a x x m l r p c s e r v i c e 的生成的服务接口( g e n e r a t e d s e r v i c ei n t e r f a c e ) 。除非另行指定,本文中接下来对服务接口的引用指的是一 般接口或生成的接口。 客户机不能控制服务器上w e b 服务实现的生命周期。客户机并不创建或 销毁w e b 服务实例( 电就是我们所说的端口) 。客户机只访问端口。端口的 生命周期或者w e b 服务实现的实例是由托管w e b 服务的运行时管理的。端 口没有标识。这就意味着,客户机不能将端口与其它端口相比较来确定它们 是否相同或相符,客户机也不能访问特定的端l 】实例。如果在w e b 服务访问 的过程t p 发7 l 了崩溃或者重新启动,客户机无法确定服务器是西崩溃或苔重 西北工业大学硕十论文面向服务的企业应用研究与实现 新启动。 w e b 服务的每个客户机j n d i 查找都是通过一个逻辑名称进行的。客户 机开发者选择客户机代码中要使用的逻辑名称,并将它在w e b 服务客户机 部署描述符中随所需的服务接口一起声明。客户机应该使用接口,而不是存 根。 服务接口方法可以分为两类:存根代理和d i i 。存根代理方法提供 了两种对端口进行访问的方法,一种是特定于服务( 客户机需要w s d l 信息) 的,另一种是与服务无关的( 不需w s d l 信息) 。d 1 1 方法在客户机需要与 w e b 服务进行动态的、不基于存根的通信时使用。 客户机可以使用服务接口的存根代理方法来获取端口存根或动态代 理。特定于w s d l 的方法可以在客户机开发者能够得到服务的完整w s d l 定义时使用。与w s d l 无关的方法必须在客户机丌发者只有部分w s d l 定 义( 只包含端口类型和绑定) 的情况下使用。 2 3 5 服务端编程模型 w 曲s e r v i c e sf o rj 2 e e 定义了两种实现w e b 服务的方法。一种是基于 j a x r p cs e r v l e t 容器的j a v a 类编程模型来实现在w e b 容器中运行的 w e b 服务,另外一种是无状态会话e j b 编程模型来实现在e j b 容器中运行 的w e b 服务。这两种实现方法提供了定义端口组件,从而将可移植应用程序 引入w e b 服务编程范型的方法。 端口组件( 有时称为端口) 定义了w e b 服务的服务器视图。每个端1 3 都 充当w s d l 端口地址定义的一个位置。端口组件充当w s d l 端口类型定义 的操作请求。每个端口组件都有一个服务端点接口和一个服务实现b e a n 。服 务端点接口是w s d l 端口类型的j a v a 映射和与w s d l 端口相关联的绑 定。服务实现b e a n 根据端口部署所在的容器可能会有所不同,但一般来讲, 它是实现服务端点接口定义的方法的j a v a 类。w s d l 端口只存地址上有区 别,彼映射为单独的端f j 组件,每个都带有可能是唯的但也许是共享的服 务实现b e a n 。图2 - 6 在下面说明了这一点。 西北丁业大学硕 论文面向服务的企业戊用研究与实现 图2 6 各器 端口的生命周期与容器有关,而且完全由容器控制,但大体上与容器本 身的生命周期相同。端口在w s d l 端口地址接收到的第一个请求可以使用之 前由容器创建并初始化。端口在容器认为必要的时候被容器销毁,比如在容 器关闭的时候销毁。 端口的实现和它运行所在的容器是紧密相关的。j a x r p c 服务实现 b e a n 总是在w e b 容器中运行。f a b 服务实现类总是在e j b 容器中运行。 端口组件将服务实现b e a n 与w s d l 端口关联。一般来讲,端口组件将 服务需求定义委托给j 2 e e 组件的部署描述符。容器为w s d l 端口地址提 供侦听器,并提供一种将请求分派到服务实现的方法。容器还向用于引用分 布式对象和资源的物理映射提供运行时服务,如安全性约束和逻辑。 w e b 服务生命周期管理与服务实现方法有关。 服务提供者实现特定于所使用的服务实现方法的容器回调方法。请参阅 【j a x r p c 】规范和e n t e r p r i s ej a v a b e a n 规范以了解关于容器回调方法的详 细内容。 容器管理w e b 服务所需的运行时服务,如安全性服务。w e b 服务不会 在全局事务上下文中执行。如果客户机用事务上下文访问端口,那么在端口 被访问前上下文就会被暂挂。 服务提供者必须避免妨碍容器操作的编程习惯。这些限制是由j 2 e e1 4 、 s e r v l e t2 3 和【e j b l 规范定义的。 打包j 2 e e 馍块中的w e b 服务与服务实现厅法有关,但遵循j 2 e e 对 西北工业人学硕士论文面向服务的企业应用研究与实现 e j b j a r 文件或w a r 文件的需求。 及w e b 服务的w s d l 文档。另外, 义w e b 服务端口和它们的结构。 2 3 6 处理程序 它包含服务端点接口的j a v a 类文件以 它包含一个x m l 部署描述符,用来定 处理程序会让人联想到s e r v l e t 过滤程序,因为它是一种能够在w e b 服 务组件处理请求之前检查并可能修改请求的业务逻辑。它还可以在组件处理 请求之后,检查并可能修改响应。在请求被发送到远程主机之前和客户机收 到响应之后,处理程序还可以在客户机上运行。 j a x r p c 处理程序只特定于s o a p 请求,不能被其它非s o a pw e b 服 务使用。处理程序可以被独立传送。举例来说,j a x r p c 定义的处理程序除 了可以用于s o a p h t r p 之外,如果提供了j m s 协议绑定,还可以用于 s o 创) j m s 。非s o a p 编码的处理程序还没有被定义。 处理程序是特定于服务的,因此与服务接口的特定p o r t 组件或端口相关 联。这种关联以一种称为h a n d l e r c h a i n 的有序方式进行,这种方式由部署描 述符定义。 可以在几种情况下考虑使用处理程序。其中包括特定于应用程序的 s o a p 头处理、目志纪录和高速缓存。还可能使用种有限的加密形势。对 特定于应用程序的s o a p 头处理来说,客户机和服务器必须在不需要说明语 义需求的w s d l 定义的帮助下在头处理语义上达成一致,这非常重要。加密 仅限于文档文字绑定,其中s o a p 消息部分将映射到s o a p e l e m e n t 。在 种情况下,只要对值的加密不会改变s o a p e l e m e n t 的结构,s o a p e i e m e n t 中 的值就可以被加密。 规范不支持 j a x r p c i 规范中描述的某些处理程序情况。举例来说,审 计就无法被完全支持,因为没有办法让处理程序获取p r i n c i p a l 。安全股票报 价示例就无法按规定支持,因为对主体加密将使容器不能决定请求应该被定 向到哪个p o r t 组件,也就不能决定哪个处理程序应该对主体加密。 处理程序总是在应用程序逻辑的执行f - p 文中运行。在客户机端,存根 代理控制处理雕r 执行,簖l 端处理枉! 卜n 仃f 【代理组彭:消,怂 i 运f :, 西北工业大学顶士论文面向服务的企业应用研究与实现 不过要在容器服务和传输绑定发生之前运行。服务器端处理程序在容器服务 ( 包括方法级别授权) 运行之后运行,但要在分解s o a p 消息并将s o a p 消 息分派到端点之前运行。处理程序可以访问1 a v a :c o m p e n v 上下文,以访问 与处理程序关联的p o r t 组件定义的资源和环境条目。 处理程序受j 2 e e 受管环境的约束。处理程序不能将请求重新定位到不 同的组件上。处理程序不能改变w s d l 操作,也不能改变消息部件类型和部 件数。在服务器上,处理程序只能与使用m e s s a g e c o n t e x t 的组件的业务逻辑 通信。在客户机上,处理程序无法与客户机的业务逻辑通信。处理程序没有 标准的方法能够访问与请求关联的安全标识,因此处理程序不能可移植地根 据安全标识执行处理。处理程序的生命周期由容器控制。 处理程序与服务器上的p o r t 组件相关联,因此在w e b 和e j b 容器两 者中运行。规范将e j b 容器中的处理程序支持定义为可选的是因为所需的 e j b 容器发生了变化,而它是实现处理程序支持所必需的。希望将来的j 2 e e 规范能够将f _ j b 处理程序支持定义为必需的。 2 3 7 服务安全性要求 w e b 服务安全性面临的挑战是如何理解并评估当前使基于w e b 的服务 安全化可能要付出的风险,同时紧随新兴的标准并理解它们如何部署,从而 减少将来的风险。任何安全性模型都必须说明数据可以如何在应用程序和网 络拓扑结构中传送,以满足业务定义的需求,而不会将数据暴露在不当的风 险下。w e b 服务安全性模型应该支持与协议无关的声明性安全策略( w e b s e r v i c ef o rj 2 e e 提供者可以实施) ,以及附加在服务定义后的客户机可以用 来安全地访问服务的描述性安全策略。 为了保证信息交换的安全,需要强调五点安全性要求: 认证一申请人是否有权使用声明的标识和或专利集合的验 证。 授权一赋予某个标识对资源执行特定操作的权力。 完整性一确保消息存传送中没有破意外或故意修改。 保密性一保旺消息的内容没有被透露给术披授权的个体, 西北工业大学硕士论文面向服务的企业应用研究与实现 不可抵赖性一保证消息的发送者不能否认他发送了消息。该请 求也暗示了消息的原始认证。 与这些要求有关的风险可以通过结合j 2 e e 环境中各种已有和新兴的技 术及标准来避免。有很多基本的业务原因构成了各种安全性机制以减轻上面 总结出的各种安全性风险。实体的认证是必需的。这有助于根据w e b 服务 调用者的标识提供访问。数据完整性的商业原因在于事务中的每一方都可以 对商业事务有信心。它还是商业合法性问题,使审计追踪和某些不可抵赖性 的证据可以解决可靠性问题。越来越多的企业开始注意到来自员工或防火墙 量厨的其它人对其应用程序产生的内部威胁。某些商业事务要求在服务调用 或其数据( 如信用卡号码) 上提供保密性。因特网上的企业还需要保护自身 免受正在发起的拒绝服务攻击。这就是我们需要插入安全性服务模型的环境。 2 4 本章小结 面向服务的体系结构是一种理想的企业应用架构,对于面向服务的体系 结构来说有很多实现的技术,而目前使用j 2 e e 来实现s o a w e b 服务是一种 目前比较不错的选择,本章首先对面向服务的体系结构作了简单的描述;本 章接下来对w e b 服务和w e bs e r v i c ef o rj 2 e e 规范作了简单的讨论和分析。 西北t 业大学硕士论文面向服务的企业应用研究与实现 第3 章面向服务的企业应用架构分析 本章主要内容: 目前企业应用架构存在的问题。 企业应用需求分析。 s o a 构架企业应用分析。 设计面向服务企业应用框架。 3 1目前企业应用架构存在的问题 在过去的4 0 年里,软件开发人员试图处理日益增长的软件复杂性。但是, 复杂性仍在继续增加。同时,i t 组织的传统需要仍然继续存在;比如,需要 对新的业务需求进行快速的反应,需要不断地减少业务中i t 的成本,以及 吸收、集成新的业务伙伴和新的客户群。 从c o r b a 扩展到在完全不同的异类平台上应用程序一直到现在,集成 应用程序的问题不断出现,通常是因为有那么多不同的( 非c o r b a 兼容的) 对象模型流行起来;因而,很多架构师和工程师都陷入了解决此类问题的泥 淖中,开发一种更健壮的体系结构来实现简单、快速和安全的系统和应用程 序集成的承诺并没有兑现。然而,问题却在继续增加,并且日益复杂。使很 多架构师不停地寻找更好的解决方案;但是,越来越觉得“点解决方案( p o i n t s o l u t i o n s ) ”不能解决这样的基本问题。接下来通过简单分析目前企业应用系 统架构中仍存在的基本问题,来寻求更好的企业系统架构的解决方案。 1 复杂性: 一些事情总是相同的,特别是i t 组织所面对的业务问题。公司管理层 总是努力争取更好地利用i t 、获取更大的投资回报率( r o i ) 、集成历史上 分离的系统和更快地实现新系统;但是时至今日,事情发生了些许变化。现 在,遇到的是更复杂的环境。必须重用而币是替换遗留系统,到勾考虑到更 有限的预算,替换的成本是高 a 的。而目前赞用低廉、正处4 ;住的i n t e r n e t 圻 西北工业丈
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽省滁州市来安县第三中学2026届化学高一第一学期期末考试模拟试题含解析
- 供应商促销活动策划方案
- 绿化植树活动方案
- 山东生理学试题及答案
- 家电公司采购付款管理规章
- 超市收货员试题及答案
- 插班面试题问题及答案
- 渣女测试试题及答案
- 心理健康咨询师考试试题及答案
- 焊接材料考试题及答案
- (2025年标准)离职手协议书
- 2025年团场人员考试题库
- 班组质量管理
- 2025年四川省建筑施工企业安管人员考试(企业主要负责人·A类)历年参考题库含答案详解(5卷)
- 2025版金属材料买卖合同终止及废旧材料回收利用协议
- 智慧监狱AI大模型数字化平台规划设计方案
- 危大工程安全智能化管理措施
- 内能的利用单元练习 2025-2026学年物理人教版(2024)九年级全一册
- 铁路建设工程质量安全监督管理办法
- 数字经济与市场结构-洞察及研究
- 医疗器械经营质量管理规范培训
评论
0/150
提交评论