(计算机应用技术专业论文)基于soa架构的通用数据交换平台的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于soa架构的通用数据交换平台的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于soa架构的通用数据交换平台的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于soa架构的通用数据交换平台的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于soa架构的通用数据交换平台的设计与实现.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机应用技术专业论文)基于soa架构的通用数据交换平台的设计与实现.pdf.pdf 免费下载

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

文档简介

华北电力大学硕士学位论文 摘要 在企业信息化建设过程中,随着企业规模的扩大和计算机技术的发展,不同时 期构建的业务系统可能基于不同操作系统和数据库平台,结果造成相互间数据交换 效果较差。如何利用现有的网络技术实现各业务系统之间的信息互联互通,提高运 营效率就成为一个急需解决的问题。 本文提出的数据交换平台( d x p ) 旨在为国家电网公司建立总部与网省公司间的 数据交换体系,统一数据交换标准。该平台在分析s o a 体系架构的基础上,以x m l 作为异构系统之间数据交换的标准格式,利用w e bs e r v i c e s 将其服务发布到i n t e r u e t 上,根据业务流程对这些w e b 组件进行动态的组合和集成,很好的实现了数据交换 和共享的目的。目前,该系统已经在国家电网公司范围内投入运行。 关键词;数据交换,s o a ,x m l ,w e bs e r v i c e s a b s t r a c t w i t ht h ee x p e n d i n go fe n t e r p r i s eb u s i n e s sa n dt h ed e v e l o p m e n to fc o m p u t e r t e c h n o l o g y , e n t e r p r i s ed e s i g na l lk i n d so fb u s i n e s ss y s t e m sb a s e do nd i f f e r e n to p e r a t i o n s y s t e ma n dd a t a b a s em a n a g e m e n ts y s t e m b u tt h e s eb u s i n e s ss y s t e m sc a n te x c h a n g e d a t af r o mo n et oa n o t h e ro n es m o o t h l y t h ep r o b l e mo fc o n s t r u c t i n gad a t ae x c h a n g e p l a t f o r m ( d x p ) t or e a l i z et h ei n t e r c o n n e c t i o no fi n f o r m a t i o na m o n gb u s i n e s ss y s t e m s a n di m p r o v et h ew o r k i n ge f f i c i e n c yb yu s i n gt h ee x i s t i n gn e t w o r kt e c h n o l o g yi sv e r y u r g e n tf o ru st os o l v e t h i sp a p e rp r e s e n t st h ed x pt h a ta i m st oe s t a b l i s ht h ed a t ae x c h a n g en e t w o r k s y s t e m b e t w e e nt h eh e a d q u a r t e r so fs t a t eg r i da n dp r o v i n c i a li n t e r - c o m p a n y t h ed x pi sb a s e d o ns o aa r c h i t e c t u r e i tu n i f i e sd a t ae x c h a n g es t a n d a r d sb yu s i n gx m l b yu s i n gd x p , e v e r yc o r p o r a t i o nd e p a r t m e n tw o u l dp u b l i s ht h e i rs e r v i c e so nt h ei n t e r u e tu s i n gw e b s e r v i c e sa n di n t e g r a t e st h o s ew e bs e r v i c e sc o m p o n e n t sd e p e n d i n go nt h e i rb u s i n e s s r e q u i r e m e n t s a tp r e s e n t ,t h es y s t e mh a sb e e np u ti n t oo p e r a t i o nw i t h i nt h es t a t eg r i d h o uj i a n ( c o m p u t e ra p p l i c a t i o n ) d i r e c t e db yp r o f o uj u n h u a k e yw o r d s :d a t ae x c h a n g e ,s o a , x m l ,w e bs e r v i c e s 声明 本人郑重声明:此处所提交的硕士学位论文基于s o a 架构的通用数据交换平台 的设计与实现,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究 工作和取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得华北电力大学或其他教育机 构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在 论文中作了明确的说明并表示了谢意。 学位论文作者签名:刍塞:i 羹。日期:2 皿:! :多 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权保管、 并向有关部门送交学位论文的原件与复印件:学校可以采用影印、缩印或其它复制手 段复制并保存学位论文;学校可允许学位论文被查阅或借阅:学校可以学术交流为 目的,复制赠送和交换学位论文;同意学校可以用不同方式在不同媒体上发表、传播学 位论文的全部或部分内容。 c 涉密的学位论文在解密后遵守此规定) 作者签名导师签名: 日期:勘掣日期:趁z 巫 华北电力大学硕士学位论文 1 1 选题背景和意义 第一章绪论 在企业的信息化建设过程中,由于企业业务的复杂性和计算机技术的不断发 展,在不同时期构建的业务系统可能基于不同操作系统平台和数据库技术,因而, 各个系统之间不能有效地实现信息共享和交互,形成了“信息孤岛”现象,而且日益 严重。随着企业规模及其业务系统的不断发展,各个系统在数据交换及数据共享方 面存在的局限越来越大,主要体现在; 1 无法适应企业发展的需要 随着业务的发展,需要为企业各部门提供统一和一致的服务。这就要解决信息 孤岛的问题,实现这些大量的不同位置,不同格式的数据的共享和交换,集成相关 的业务数据。 2 无法实现真正的协作 在应用系统中,根据实际工作的需要,经常要进行数据的交换以实现协同工作, 比如报表的数据发送、接收、管理,都需要从一个系统传递数据到另一个系统,或 者从公司的下级部门传递到上级部门,由于系统本身相对独立的建设方式,导致无 法合理的将数据传递或交换过去,也就无法实现真正意义的协同工作。 3 存在安全隐患 传统方式应用系统的安全结构无法实现真正的业务整合方式的安全,不能根据 业务的实际情况集成安全机制和方法,达到整个业务过程全面的安全控制和管理【1 1 。 综上所述,公司部门的业务系统需要进行合理的整合,在不破坏现有系统的情 况下,将各种应用系统集成起来,发挥各自的优势,满足公司发展的需求。 在以往的解决方案中,不同系统的数据交换,一般都是采用点对点的方案来实 施的。即根据特定连接需求,满足特定问题。这样,对于每个应用,都要为每个需 要的资源或外部资源编写连接代码,以使得应用得以运行。当增加了一个新的系统, 就需要重新和所有的系统之间建立点对点的连接。由于每个应用都有其特有的基础 架构,这些应用在部署、更改和维护上的代价都非常昂贵。这就要求公司部门每套 应用配置特有的专业技术人员,并保持与不同技术供应商或解决方案提供商的密切 联系。并且开发接1 1 1 也是相当复杂,成本昂贵的。点对点数据交换的接口繁多,如 图1 - 1 所示,数据交换的接口数将多达1 2 个。 1 华北电力大学硕士学位论文 图1 - 1 点对点数据交抉的接口 这就迫切需要利用统一的技术,建立一个独立的连接系统,能够利用统一的方 式,支持不同的平台,实现各系统之间不同结构和格式的数据的相互交换。各个系 统都通过这个连接系统与其他应用系统进行数据交换,才能够真正实现不同数据源 的无缝连接。这个连接系统我们称之为数据交换平台,它实现了应用系统的数据交 换和共享。采用数据交换平台后数据交换的接口明显减少,如图1 2 所示,可使交 换接口数减至8 个。业务系统越多时,其效果将越明显。 图1 - 2 采用数据交换平台后所需的接口 针对这一需求,建立统一的数据交换平台是适应长期信息交换和共享的有力手 段。本文提出了一种基予s o a 体系架构的通用数据交换平台,该平台采用s o a 思 想、基于j 2 e e 应用服务器的三层体系结构实现【2 1 。 数据交换平台能为各类应用系统的数据交换提供一个统一的、规范化的数据交 换框架,为分布式的异构应用系统提供信息共享和数据整合的手段,提高数据传输 共享的效率和可靠性。该系统无论是在应用上和技术研究上,都具有较高价值。 从应用上看,数据交换平台将会带来的好处有: 1 能够降低软件维护成本和开发成本 以前为了实现应用间数据的交换传递,大多都是重复的编写了大量代码来解 决。使用该数据交换平台,不仅可以节约人力,还减少了开发和维护成本 2 优化企业应用集成 使企业应用集成走出网状“点对点”的误区,代之以有序的“星型”的集成,保护 企业已有的投资,避免系统改造,并为以后的扩展降低了难度。 3 数据传输高效低成本 2 华北电力大学硕士学位论文 数据交换平台提高了数据传输效率,降低了企业管理成本,提高了办事效率, 增强了企业的灵活性和适应性【3 1 。 1 2 国内外发展现状 目前,异构系统之间进行数据交换与共享主要方式有两种,一种是采用消息中 间件,如m s m q 、i b mm q 等或者j a v a 消息服务( j a v am e s s a g es e r v i c e 。j m s ) 来实现 在异构系统之间传递数据封装后的消息,从而完成异构系统的交换与共享:另一个 是采用s o a p 消息机制和w e bs e r v i c e s 技术,利用w e bs e r v i c e s 技术的跨平台特性 和s o a p 消息的简单通用、穿透力强的特性,使用s o a p 消息封装数据,通过调用 w e bs e r v i c e s 完成异构系统的数据交换与共享【4 1 。 国内外有很多数据交换共享类的产品和解决方案,从产品的定位和主要功能来 看,大致可以分为这样几类: 1 以企业应用集成为目标设计的产品,在m q 等消息中间件的基础上,使用 对象技术和工作流合成进行业务数据的交换和共享,各系统紧密耦合,如i b m i n t e g r a t i o n 产品族。 2 按照传输的数据类型和流量等,定义不同的传输通道,绑定不同的传输组 件。这类产品如s y b a s ed x p ( s y b a s e 电子数据交换平台) ,它根据数据交换技术对安 全性、开放性、灵活性等技术特性的需求,将数据交换平台进一步细分为:大量实 时数据传输和低带宽定时或批处理方式传输、异构和同构数据交换、企业问数据交 换,并根据不同类型数据交换平台的业务特色和技术特点,量身定制了相应高效的 数据交换解决方案。 3 结构化数据整合,提供统一数据视图。如c e n d p ( 中关智能数据平台) ,它 采用元数据管理形成的“虚拟数据库”,为用户屏蔽了下层分散异构的各种数据。虚 拟数据库是物理数据经由元数据定义,映射而成的逻辑数据库。虚拟数据库技术不 需改变原来的数据结构,使得数据整合方案更简单经济;同时获得的是实时数据, 更利于决策支持,但是它的数据交换功能比较弱【5 】。 4 以企业和政务应用集成为背景,使用x m l 、w e b 服务消息中间件技术。如 e s t a r c o n n e c t ( 易达讯数据交换平台) ,交换系统采用国际先进的基于j a v a 、x m l 和 w e bs e r v i c e s 技术的多层体系结构,利用统一的服务信息交换软总线、信息交换流 程管理和信息交换规则实现各部门之间数据交换和业务流程协调。 5 建立在数据的提供者和使用者之上,对数据的交换的方法和策略形成一种 共识、一种约定或者说契约之上的数据交换和共享。这种方案类似网络上的协议, 是建立在双方形成的共同约定之上,并不一定要有集中式的传输控制。链接契约式 的数据交换与共享的目标是使数据从任意的数据源都可以被标识、交换、链接和同 步到一个机器可读的x m l 文档格式,因此基于链接契约的数据交换的出现为可信 3 华北电力大学硕士学位论文 数据交换的发展提供了很大的潜力。 这些产品和解决方案各有特色,它们都是面向不同领域、不同应用而开发的, 在实现上也使用了不同的技术。在整个数据交换平台的构架方面,可以从易达讯的 数据交换平台中得到很多启示:在数据整合方面,c e n d p 的元数据技术及元数据的 管理给我们提供了很好的参考;在数据交换传输方式上,可以吸取s y b a s ed x p 的 有益经验;基于链接契约的数据交换为未来的可信数据交换提供了理想的解决方 案。这些成功案例对于本数据交换平台的设计开发和实现都具有很高的参考价值。 1 3 课题内容 本课题的主要研究内容涵盖以下几个方面的内容; 1 深入研究s o a 体系架构,该架构采用面向服务的先进思想,缩短了企业1 1 r 系统与业务之间的距离,提高了企业r r 系统的投资回报,降低了企业r r 系统的总 体拥有成本。 2 s o a 相关技术的研究 ( 1 ) w e bs e r v i c e s 技术 通过w e bs e r v i c e s 技术实现异构平台连接的无缝集成 ( 2 ) x m l 技术 通过x m l 技术制定数据交换标准,解决异构数据库之间数据交换的问题。 3 提出一个数据交换平台的设计方案,该平台使用了目前数据交换领域内最 新最热点的可扩展标记语言x m l 技术作为数据交换标准,改进了传统数据交换平 台缺乏通用性和扩展性的闯题。 4 结合国家电网公司建设统一数据交换平台项目的具体需求,提出一个数据 交换平台的实现方案,能够完成横向部门与纵向单位间的数据交换与共享。在此基 础上,给出了具体编码实现过程。目前,该项目已经成功投入使用。 1 4 论文章节安排 本论文共分五章: 第一章介绍了论文的选题背景、研究现状及研究内容 第二章研究了s o a 架构的特点及原理,介绍了相关技术,包括x m l 、w e b s e r v i c e 等,并给出了s o a 的应用程序架构模型。 第三章对数据交换平台的整体架构及其各个组成部分的构成、功能逐一做了 概括和介绍,并给出了设计方案。 第四章在数据交换平台设计的基础之上,完成了国家电网公司数据交换平台 项目的开发。 第五章总结本论文的研究工作,并给出了进一步的展望。 4 华北电力大学硕士学位论文 第二章基于s o a 的应用程序体系架构 2 1 面向服务的架构 2 1 1s 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 的系统并不 排除使用面向对象的设计来构建单个服务,但是其整体设计却是面向服务的。由于 考虑到了系统内的对象,所以虽然s o a 是基于对象的,但是作为一个整体却不是面 向对象的。不同之处在于接口本身。s o a 系统原型的一个典型例子是通用对象请求 代理体系结构( c o r b a ) ,它已经出现很长时间了,其定义的概念与s o a 相似。 然而,现在的s o a 因为基于一些更新的软件技术已经有所不同了,这些技术是 以可扩展标记语言( x m l ) 为基础的。通过使用w e b 服务描述语言( w e bs e r v i c e s d e f i n i t i o nl a n g u a g e ,w s d l ) ,这种基于x m l 的语言来描述接口,服务已经转到更 动态且更灵活的接口系统中,非以前c o r b a 中的接口描述语言可比了【6 j 。 w e b 服务并不是实现s o a 的唯一方式。上述的c o r b a 是另一种方式,同样面向 消息的中间件也是一种方式。但是为了建立体系结构模型,所需要的并不只是服务 描述,而是需要定义整个应用程序如何在服务之间执行其工作流。尤其需要找到业 务的操作和业务中所使用的软件的操作之间的转换点。因此,s o a 应该能够将业务 的商业流程与它们的技术流程联系起来,并且映射这两者之间的关系。 5 华北电力大学硕士学位论文 最后,所有这些都必须处于一个信任和可靠的环境之中,以同预期的一样根据 约定的条款来执行流程。因此,安全、信任和可靠的消息传递应该在任何s o a 中都 起着重要的作用。 2 1 2s o a 的基本特征 s o a 是一种粗粒度、松耦合的服务架构,其服务之间通过简单、精确定义的接 口进行通讯,不涉及底层编程接口和通讯模型。这种架构具有下面几个特征: 1 松散耦合 s o a 是“松散耦合”组件服务,这一点区别于大多数其他的组件架构。松散耦合 旨在将服务使用者和服务提供者在服务实现和客户如何使用服务的方面隔离开来。 服务提供者和服务使用者间松耦合背后的关键点是服务接口作为与服务分离的实 体而存在。这使服务实现能够在完全不影响服务使用者的情况下进行修改。大多数 松散耦合方法都依靠基于服务接口的消息。基于消息的接口可以采用同步和异步协 议实现。 2 粗粒度服务 服务粒度指的是服务所公开功能的范围,一般分为,细粒度和粗粒度。其中, 细粒度服务是那些能够提供少量业务流程可用性的服务。租粒度服务是那些能够提 供高层业务逻辑的可用性服务。选择正确的抽象级别是s o a 建模的一个关键问题。 设计中应该在不损失或损窖相关性、一致性和完整性的情况下,尽可能的进行粗粒 度建模。通过一组有效设计和组合的粗粒度服务,业务专家能够有效组合出新的业 务流程和应用程序 3 标准化的接口 s o a 通过服务接口的标准化描述,使得该服务可以提供给任何异构平台和任何 用户接口使用。这一模式囊括了与服务交互需要的全部细节,包括消息格式、传输 协议和位置。该接口隐藏了实现服务的细节,允许独立于实现服务所基于的硬件或 软件平台和编写服务所用的编程语言而使用服务。近年来出现的两个重要标准x m l 和w c bs e r v i c e s 增加了全新的重要功能,将s o a 推向更高的层面,并大大提升了s o a 的价值。x m i 瘌w e bs e r v i c e s 标准化的开放性使企业能够在所部署的所有技术和应 用中采用s o a 。w e bs e r v i c e s 使应用功能得以通过标准化接口( w s d l ) 提供,并可基 于标准化传输方式( r t t p 和j m s ) 、采用标准化协议( s o a p ) 进行调用【7 1 。 面向服务体系架构以其高度的抽象性和灵活性,无论是从软件开发企业的开发 技术角度还是从客户原有资源的整合角度,都有着诸多的优势。 1 从技术开发角度讲,服务体系架构提供了一个更加灵活的企业开发架构模 式,使得软件企业无论是开发方法、实现技术还是开发的效率都得到了革命性的变 革。具体的讲,服务架构开发的采用从技术上有如下一些优点: 6 华北电力大学硕士学位论文 ( 1 ) 屏蔽了业务逻辑组件的复杂性;服务架构通过服务提供者和服务使用者 的松散耦合关系,屏蔽了系统内部复杂的业务逻辑。对于系统的表示层而言,只能 看到服务接口,至于接口内部的具体实现细节不需要关心。 ( 2 ) 跨平台和重用性:通过标准接口,不同服务之问可以自由的引用,而不 必考虑所要引用的服务在什么地方,处于什么平台,或者是由什么语言开发的。从 而实现了真正意义上的远程、跨平台和跨语言服务架构的核心思想是通过松散耦 合的服务组合来完成系统,因此实现了更高层次的重用。 ( ”易维护和良好的伸缩性:依靠服务设计、开发和部署所采用的架构模型 实现了伸缩性。服务提供者可以独立调整服务以满足新的需求,服务使用者则可以 通过组合变化的服务来实现新的需求。服务提供者和服务使用者的松散耦合关系及 对开放标准的采用确保了系统的易维护性和良好的伸缩性 ( 4 ) 开发角色更加明确:服务架构要求应用程序分层,业务流程组织人员只 专注于高层的服务组织来实现业务,服务组件开发人员只负责服务组件的实现,而 客户端开发人员则只根据自己熟悉的平台去开发自己的界面。在项目中,不同层的 开发小组的专业分工,提高了开发的效率,使得大规模流水线生产成为可能。 ( 5 ) 支持更多的客户端类型:只要遵循标准的协议,客户端的开发可以使用 任何平台以及任何开发语言。通过精确定义的服务接口和对x m l 、w e bs e r v i c e s 标 准的支持,可以支持多种客户类型,甚至包括p d a 、手机等新型访问渠道。 2 从资源的整合角度讲,面向服务的体系结构可以基于现有的系统投资来发 展,而不需要彻底重新创建系统。如果组织将开发力量集中在创建服务、利用现有 的技术、结合基于组件的方法来开发软件上,将获得如下几方面好处: ( 1 ) 利用现有资源:通过使用适当的s o a 框架并使其可用于整个企业,可以将 业务服务构造成现有组件服务的集合。使用这种新的服务只需要知道它的接口和名 称。服务的内部细节以及在组成服务的组件之间传送的数据的复杂性都对外界隐藏 了。这种组件的匿名性使组织能够利用现有的投资,从而可以通过合并构建在不同 的机器上、运行在不同的操作系统中、用不同的编程语言开发的组件来创建服务。 遗留系统可以通过w e bs e r v i c e s 接口来封装和访问。 ( 2 ) 商品化基础架构:在所有不同的企业应用程序之间,基础架构的开发和 部署将变得更加一致。现有的组件、新开发的组件和从厂商购买的组件可以合并在 一个定义良好的s o a 架构内这样的组件集合将被作为服务部署在现有的基础架构 中,从而使得可以更多的将基础架构作为一种商品化元素来加以考虑。 ( 3 ) 更快的产品上市速度和较低的成本:易组织的服务库将成为采用s o a 框架 组织的核心资产。s o a 通过对现有服务和组件的新的创造性重用,从而缩短了设计、 开发、测试和部署产品的时间,加快了产品的上市速度。同时,通过采用s o a 框架 和服务库,组织现有的服务来增强或创建新的服务的成本也大大的减少了【引。 7 华北电力大学硕士学位论文 2 1 3 基于s o a 的应用程序架构模型 基于s o a 的诸多优点,本论文采用了面向服务的新型软件体系结构,整个软件 体系架构由5 层构成,具体采用的架构模型如图2 - 1 所示。 用户交互界面 i w m a o w s 界面ii w e b 界面i 工 l 服务接d ( w e bs e r v i c e s ) i 匾圈匮亟习匝囫 工 1 业务逻辑组件 i 营销管理i i 项目管理i i 综合管理l u l 数据访问层组件 队库数据访问 暾据格式转化 i 出库数据访问l 工 | 数据层( 多种数据格式) i 文件 l i 数据库i i x m l 文档i 图2 - 1 基于s o a 的应用系统体系架构图 表示层:主要是提供友好的用户界面,使得最终用户能够方便的使用该系统。 服务发布层:主要提供标准化的服务接口,从而使得该服务可以提供给在任何 异构平台和任何本地或者远程用户使用。通过w e bs e r v i c e s 发布各种业务,接受界 面层的调用,该层是面向服务的一层,通过该层实现s o a 架构的服务发布。 业务逻辑层:主要提供系统的业务逻辑和控制,该层主要实现细粒度服务。通 过该层实现s o a 架构的服务功能。 数据访问层:主要负费业务逻辑层和数据存储层之间的交互。 数据层;主要提供数据信息和数据逻辑,所有与数据有关的安全性、完整性、 数据的一致性、并发操作等都在数据层。 8 一表示层一 丽务发布星 亚务逻辑星 夏据访问星 一数据层一 华北电力大学硕士学位论文 系统的层次化结构,使得系统在各层次上的组件能单独更新、替换或增加、删 除。因此,系统维护更加方便。又因为各组件互相独立,更换组件对系统其他部分 并无影响,所以更新维护更加安全可靠系统的层次化结构,可以使得软件开发的 专业化分工成为可能。开发团队可以按照系统层次来分成专业化小组,各开发小组 只根据层间的标准契约来实现自己负责的那一层内容。 从整体架构来看,基于s o a 的应用系统由若干服务和服务组合构成。在概念上, 可以将服务视为整个解决方案的组件对于单个服务来说其内部都是由软件组件组 成,就像是其他任何应用程序一样,也呈现出层次的结构。其中服务发布层用x m l , w e bs e r v i c e s 将业务逻辑封装,业务逻辑层采用j a v a 组件来实现。整个系统采用j 2 e e 作为基础开发环境,其总体技术实现架构如图2 2 所示。 2 2s o a 相关技术 图2 - 2 技术实现架构图 w 3 c w e b s e r v i c e s a r c h i t e c t u r e 小组达成一致意见的w e bs e r v i c e s 的暂行定义如 下:w e bs e r v i c e s 是由u r i 标识的应用程序,其接口和绑定可以通过x m l 构件进 行定义、描述和发现,w b s e r v i c e s 支持通过基于因特网的协议使用基于x m l 的消 息与其他应用程序直接交互【9 】。 w e bs e r v i c e s 的最大优势是提供了异构平台无缝连接的技术手段。它是一种编 程模型,提供可缩放的、松耦合的和非特定平台的环境下交换信息的能力,长久以 来,人们一直在摸索异构平台互通的解决方案。当然,如果所有的用户都是用同样 的硬件平台、同样的操作系统、同样的软件,采用相同的协议通信。这样或许根本 9 华北电力大学硕士学位论文 就不会产生互通的问题。 当网络产生时,整个网络连接了各种各样的计算机,上面运行着各种系统软件, 他们都采用相同的通信协议t c p f l p 互相对话,各种服务随之诞生。但这种互通的 层次是传输层实现的,应用软件之间的直接对话还不可能。 随着h t t p 协议和h t m l 的广泛使用,w e b 诞生了互联网迎来了第二次发展 高峰。w e b 提供了丰富的信息展示能力,通过将应用程序转变为w e b 应用,只要有 浏览器,客户端就可以通过h t t p 协议在网络中访问应用程序。 但应用程序的用户并不总是满足于仅通过浏览器访问。需要有一种更直接的方 式把应用嵌入到自己的应用。例如,用户不希望每次都访问部门a 的网站以查看即 时气象检测信息,相反,他们希望在自己的应用程序中集成该功能,这时h t m l 就 无能为力了。 现在w e bs e i c e s 正好满足了这种需求。部门a 把即时气象检测信息查询转变 为w e bs e r v i c c s ,然后该服务信息公布在某公共站点b ,用户c 通过访问b 了解到 服务s 的信息,其中包括s 的服务描述。然后c 将根据s 的服务描述生成本地代理, 借助于该代理用户获取s 提供的即时信息。 有了w e bs e r v i c e s ,整个w e b 应用就不止是提供信息,它还将拥有处理信息的 无限潜力。任何两个应用程序,只要能读写x m l 文件,就能互相通信。 同时,利用w e bs e n ,i c e s ,可以采用任何语言在任何平台下把一组功能包装成 w e bs e r 、,i e e s ,然后将其注册到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 e bs e r v i c e s 模块进行组合,从而能够搭建新的应用系统,实现软件设计 中的复用。 w e bs e r 、,i c e s 可用基于x m l 的s o a p 来表示数据和调用请求,并且通过h t r p 协议传输x m l 格式数据。这样,w e bs e r v i c e s 的调用请求和回应消息可以透过防火 墙,避免了通过特殊端口进行通信而无法穿越防火墙导致的失败【1 0 j 。 从上述定义可以看出w e bs e r v i c e s 的一个特点是基于开放的标准协议,最大的 优点是实现了异构平台的交互。在w e bs e r v i c c s 中另外一个基本概念就是:所有东 西都是服务,这些服务发布一个a p i 供网络中的其他服务使用,并且封装了实现细 节。 采用w e bs o i c e s 技术,充分利用其特性建立数据交换平台,将系统的数据展 示和需求都看作一种服务,通过服务的请求和调用实现系统间的数据交换和共享, 从而实现应用的整合。 为了更好的阐述数据交换平台的建设构架,下面将对涉及到的w e bs e r v i c e s 概 念、体系做一个简单介绍。 1 0 华北电力大学硕士学位论文 w e bs e r v i c e s 使用s o a 架构如图2 3 所示,该架构由三个参与者和三个基本 操作构成。三个参与者分别是服务提供( s e r v i c ep r o v i d e r ) 、服务请求者( s e r v i c e r e q u e s t o r ) 和月艮务代t 里( s e r v i c er e g i s t r y ) ,而三个基本操作分别为发布( p u b l i s h ) 、查 图2 - 32 面向服务的体系结构 找( f i n d ) 和绑定( b i n d ) n i 。服务提供者将它的服务发布到服务代理的一个目录上;当 服务请求者需要调用该服务时,它首先到服务代理提供的目录上去搜索该服务,得 到如何调用该服务的信息;然后根据这些信息去调用服务提供者发布的服务。在 w e bs e r v i c e s 体系中,使用w s d l 来描述服务,u d d i 来发布、查找服务,s o a p 用来执行服务调用。w s f l 则将分散的、功能单一的w e bs e r v i c e s 组织成一个复杂 的有机整体。 从外部的使用者的角度而言,w e bs e r v i c e 是一种部署在w e b 上的对象组件, 它具备以下特征: 1 完好的封装性。w e bs e r v i c e 既然是一种部署在w e b 上的对象,自然具备对 象的良好封装性,对于使用者而言,他能且仅能看到该对象提供的功能列表。 2 松散耦合。这一特征也是源于对象组件技术,当一个w e bs e r v i c e 的实现发 生变更的时候,调用者不会感到这一点的,对于调用者来说,只要w e bs e r v i c e 的 调用界面不变,w e bs e r v i c e 实现的任何变更对他们来说都是透明的,甚至是当w e b s e r v i c e 的实现平台从j 2 e e 迁移到了n e t 或者时反向的迁移,用户都可以对此一无 所知;对于松散耦合而言,尤其是在因特网环境下的w e bs e r v i c e 而言,需要有一 种适合因特网环境的消息交换协议。而x m l s o a p 正是目前最合适的交换协议。 3 使用标准协议规范。作为w e bs e r v i c e ,其所有公共的协约完全需要使用开 放的标准协议进行描述、传输和交换。这些标准协议具有完全免费的规范,以便由 任意方去实现。一般而言,绝大多数规范将最终由w 3 c 作为最终版本的发布方和 维护方。 4 高度可集成能力。由于w e bs e r v i c e 采取简单的、易理解的标准w e b 协议作 为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是 c o r b a 、d c o m 还是e j b 都可以通过这一种标准的协议进行互操作,实现了在当 前环境下最高的可集成性【1 2 】。 w e bs e r v i c e s 是一个全新的技术架构,在这个技术架构中,为了支持技术架构 1 1 华北电力大学硕士学位论文 的各种特性,各种各样的技术规范被不断地开发出来。整个w e bs e r v i c e s 的技术系 列被称为是”w e bs e r v i c e ss t a c k ”,他们就像一个堆栈那样,按照这样地方式共存协 作着。 图2 - 4 展示了一个概念性w e bs e r v i c e s 协议栈。上面的几层建立在下面几层提 供的功能之上:垂直的条表示在协议栈的每一层中必须满足的需求,左边的文本表 示协议栈的那一层所应用的标准技术。 w s f l u d d i u d d i w s d l s o a p h t t p 、f i v 、e m a i l 、m q 等明 圈2 - 4w e bs e r v i c e ss t a c k w e bs e r v i c e s 协议栈的基础是网络层,w e bs e r v i c e s 要被服务请求者调用,就 必须通过网络访问。因特网上可供访问的w e bs e r v i c e s 必须使用普遍部署的网络协 议,而h t t p 凭借其普遍性,成为因特网可用的w e bs e r v i c e s 真正的标准网络协议。 w e bs e r v i c e s 还可以支持其他因特网协议,包括聊、s m t p 、m q ( 消息队列) 上的 远程方法调用( r e m o t em e t h o di n v o c a t i o n ,r m i ) ,e m a i l 等,应使用哪种网络协议和 应用程序的具体需求有关【”】。 s o a p s o a p 是在分布式的环境中交换信息的简单协议,是一个基于x m l 的协议。随 着异构计算环境的不断增加,各种系统间的互操作显得越来越必要,要求系统间能 够无缝的进行通信和共享数据,从而在因特网环境下,消除巨大的信息孤岛,实现 信息共享、进行数据交换,达到信息的一致性。而s o a p 是实现“基于w e b 无缝集 成“,提供一种完全跨平台、跨系统访问服务和对象的可行技术【1 4 】。 s o a p 采用x m l 作为编码方式,作为一种标准语言,x m l 首先带来的是消息 的易读性,另外很容易为它编写编码器和译码器。可以用很少或无系统开销相对不 修改的将x m l 数据发送到x m l - r p c 调用。还允许使用不同格式的x m l - r p c 系统 方便的从一种格式转换到另一种格式的x m l ( x s l t ) 1 5 】。 s o a p 是实现w e bs e r v i c e s 的核心协议之一,几乎成为w e bs e r v i c e s 的同义词。 使用w e bs e r v i c e s 的应用程序通常通过绑定到s o a p 的特定实现的a p i 来完成工作。 u 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 e bs e r v i c e s 中所使用的技术方 1 2 嚣 华北电力大学硕士学位论文 法解决的一些问题。u d d i 具有非凡的技术简单性,为w e bs e r v i c e s 在技术层次上 提供了三个重要支持: 1 。标准化的、透明的、专门描述w e bs e r v i c e s 的机制; 2 调用w e bs e r v i c e s 的简单机制; 3 可访问的w e bs e r v i c e s 注册中心 公司可以利用u d d i 协议将自己开发的w e b 服务发布到网上,使得这些w e b 服 务很容易被找到,并被其他部门的应用所使用【1 6 】。 w s d l w s d l ( w e bs e r v i c ed e s c r i p t i o nl a n g l l a g e ) 是一种w e b 服务描述语言,它以某种 结构化的方式( 即x m l ) 对w e b 服务的调用通信加以描述,定义了一套基于x m l 的 语法,将w e b 服务描述为能够进行消息交换的服务访问点的集合。它提供了w e b 服务的全部信息,用户通过w s d l 就可以了解如何调用w e b 服务和它会返回什么 结果【1 7 1 。 x m l 是e x t e n s i b l em a r k u pl a n g u a g e 的缩写,即可扩展标记语言。它是1 9 9 8 年 w 3 c ( w o r l dw i d ew e b c o n s o r t i u m ) 组织创建的一种针对网络应用的可扩展的标记语 言,具有数据描述功能、高度结构性和可验证性1 1 8 1 ; x m l 起源于s g m l ,s g m l 是标准通用标记语言( s t a n d a r dg e n e r i cm a r k u p l a n g u a g e ) ,它被广泛用于美国政府、大型制造公司和科技信息出版商。但s g m l 过于复杂,实现成本高,只能被应用于大中型企业。小型企业和个人难以使用到这 一强大的技术。 x m l 是s g m l 的一个子集,它继承了s g m l 的可扩展性、结构性好的特点, 同时又具备了简单、易于使用的特点,因此开始被广泛应用于数据表示和数据交换。 一篇x m l 文档由内容( c o m e n t ) 和标记( t a g ) 组成。内容记录x m l 数据,标记表 明x m l 数据所表示的意义和各数据间的结构。一个简单的x m l 文档如图2 5 所示。 x m l 的语法要求严格,一个格式正确的x m l 文档( w e l l f o r m e d ) , 必, 须符合以下 几点: 1 有而且只有一个根元素,所有元素( e l e m e n t ) 构成一个层次数; 2 结束标记( t a g ) 匹配相应的起始标记,元素正确嵌套,标记不重叠; 3 元素定义不重复,对于个元素来说,没有多个相同名称的属性的实例( 元 素大小写敏感) ; 4 属性( a t t r i b u t e ) 有唯一的名称,并且被正确的包括在某二元素中; 华北电力大学硕士学位论文 s 标记字符被正确的转义,没有对外部实体的引用【1 9 1 ; 报表 磙头 报表名称 发电厂生产情况年报表可报表名称 报表类别 年报甜报表类别) 报表期别 2 伽1 0 :帜表期别 吲表头 表体, 计量单位 千瓦 当年值) 2 0 0 0 0 0 0 o o o o 指标代码埘z ,1 1 0 备注 发电正常备注 序号 1 1 0 “序号 表体 图2 - 5 简单的x m l 文件:s a m p l e x m l 1 特点 x m l 有以下几个特点: 1 文档本身是文本 x m l 本身是文本,这决定了x m l 可以方便的使用哪传输,可以应用在 i n t e r a c t 上 2 可扩展性 x m l 标记是使用者自己定义的,因此开发人员根据应用程序的需要进行标记。 可扩展性是x m l 的重要特征。 3 格式简单易懂 x m l 的数据格式设计简单,不仅方便计算机处理,人也可以很容易的读懂,格 式上的简单便于应用程序编写、浏览、移植和传输。x m l 文档本身只定义了数据的 结构和内容,并没有定义数据的显示方式,至于数据以怎样的形式显示在终端设备 上是由c s s 、x s l 等其他技术来做,这样做便于信息显示方式的修改,便于数据的 搜索。 4 x m l 没有版权限制,平台独立 x m l 是公开的标准,不依赖某厂商的应用程序。x m l 独立于平台,这是x m l 应用广泛的原因之一【捌。 1 4 华北电力大学硕士学位论文 2 应用 设计之初,x m l 的目标之一是取代h t m l ,为新出现的复杂的w e b 应用提供 标准的i n t e r n e t 语言。然而,由于x m l 在可扩展性、可移植性和结构

温馨提示

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

评论

0/150

提交评论