(计算机科学与技术专业论文)基于soa的信息复用技术研究与应用.pdf_第1页
(计算机科学与技术专业论文)基于soa的信息复用技术研究与应用.pdf_第2页
(计算机科学与技术专业论文)基于soa的信息复用技术研究与应用.pdf_第3页
(计算机科学与技术专业论文)基于soa的信息复用技术研究与应用.pdf_第4页
(计算机科学与技术专业论文)基于soa的信息复用技术研究与应用.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机科学与技术专业论文)基于soa的信息复用技术研究与应用.pdf.pdf 免费下载

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

文档简介

摘要 随着当今信息技术的高速发展,企业信息化管理成了提升企业竞争力的有效 途径。然而伴随着企业需求的不断变化,企业内部以及企业之间的遗留信息系统 越来越多,各遗留系统所构建的平台不一并且往往出现模块重复。各应用系统集 成不足,信息复用不够,缺乏交互,这些都严重阻碍了企业的信息化进程。 面向服务的体系架构( 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 框架,总结出基于s o a 的信息复用技术。 关键字:企业信息化,信息复用,s o a ,异构系统 a b s t r a c t n o w 础l v s 弱t h er a p i dd e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g y , 螂s 鹤 i n 细n 撕翻6 衄脚础雷咖钮ti sb e c o m i n g av a l i dw a yo fm a k i n ge n t e r p r i s em 哦 c o m p e t i t i v e th o w e v e r , d u e t ot h eb u s i n e s sr e q u i r e m e n t sf o re n t e r p r i s e sk 印tc 班g m o r ea n dm o 陀l e g a c yi n f o r m a t i o ns y s t e m s t h a tu s e di ne n t e r p r i s e0 r 锄n g 咖e r p r i s 铝a r ea r i s e i t s c o m l l l o nt h a tt h e s el e g a c ys y s t e m sa r eb a s eo nd 1 扛f a 伽 d c v e l o p m 饥tp l a t f o r mm e a n w h i l eh a v i n gm a n y s a m es i m i l a rm o d u l e s ,w l l i c hc a u s e l i t t l ec o n n e c t i o 璐觚dr e s o u r c e s l o wr e u s i n gb e t w e e ns y s t e m s s o i t sn o t 哪yt 0 c a r r yo u tt h ei n f o r m a t i o np r o g r e s so fe n t e r p r i s e t h es e r v i c e s o r i e n t e da r c h i t e c t u r ei s al l e wa r c h i t e c t u r ei ns o f t w a r ef i e l d , w h i c hd a t e s 丘1 0 n le 融yc o m p o n e n td i s t r i b u t e dc o m p u t i n g m o d e l i t sa d v a n t a g e s 黜 m o r er e u s e 。m o r en e x i b i l 奴m o r ee x p a n s i b i l i t y a n dm o r ec o m m o n a l i t y i tc a i l d e c r e a s ec o u p l i i l g sa n di n c r e a s et h er e u s ea m o n gs y s t e m st ot h em a x l i i l u l t t c x t c n tb y a d o p t i n gs o a i t ,sm o r e u s e f u lw h e nt h eh e t e r o i ds y s t e m sn e e dt oc o 舳u n l c a t ew l m e a c ho t h c rw h i l et h e ya r er u n n i n go nd i f f e r e n tp l a t f o r m sa n dd e v e l o p e db y d 1 丘e r e n t t e c h n o l o g i e s a f t e ra n a l y z i n gt h ec u r r e n te n v i r o n m e n ti ne n t e r p r i s ea p p l i c a t i o nm t e g r a t l o n , s u c ha sw h a tt e c l m o l o 舀e su s e di ni n t e g r a t i o n ,t h ec h a r a c t e r i s t i c s o fd i f f e r e n tm e t h o d s , t h et e x tp o s e dan e wm 砒o dt oi n t e g r a t ee n t e r p r i s ea p p l i c a t i o n s a n dd e s 锄b e d a s o l u t i o nt 0i r n p l 鼬e n ts o a i nd e t a i l ,i nt h ee n d ,g a v eo u tae x a m p l et oi l l u s t r a t eh o w t od e p l o vs o aa n dc o m et oac o n c l u s i o nh o w t or e u s ei n f o r m a t i o nb ys l j a k e yw 。r d s :e n t e r p r i s ei n f o r m a t i z a t i o n ,i n f o r m a t i o nr e u s a b i l i t y , s o a ,h e t 啪i ds y s t 锄 i i 学位论文版权使用授权书 本人完全了解同济大学关于收集、保存、使用学位论文的规定,同意如下 各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学 位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存 论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务; 学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版;在 不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术 活动。 学位论文作者签名:吕 乱舀 纠、,扩年1 月? 姻 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 年月 日年 月 日 同济大学学位论文原创性声眼 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 学位论文作者签名:吕 ;l 穴jb 哆年1 月塔日 第l 章绪论 1 1 引言 第一章绪论 据统计,在过去的近十年里,全球企业在信息系统上投资约2 0 多万亿美元。 巨大的投资为它们建立了点对点的信息系统,以进行内部及外部业务的处理和 管理工作。现代企业普遍面临的问题是有价值的商业信息被储存在各种不同的 应用系统中,并且由于传统的集成方法无法以最有效率的形式充分地整合信息, 无法在各个系统间建立起联系,往往使企业错失许多商机。例如,客户关系管 理( c r m ) 是一个非常重要的课题,许多公司都了解将不同系统中顾客的相关资料 整合在一起,能有效提升公司的经营管理。所以如何在已有系统问建立联系, 充分利用各系统的资源便成为企业经营管理的关键之一。 随着软件开发方法研究的发展和分稚式技术应用的深入,基于多种开发平 台和工具的软件系统得到大量应用,使得企业中的软件系统变得r 益庞大和复 杂,l l - , 女n ,在零售业的i t 系统建设,总店和各个分店由于成立的时间有先后, 其信息系统常常是用不同的语言开发并建立在不同的平台之上,这些系统之间 有许多功能属于重复开发,既浪费资源又不便于管理,各系统之间也很难进行 信息共享。此外,由于传统的软件开发使用的平台,开发工具,操作系统在结 构上的紧耦合,以致这些位置分散的独立系统逐渐形成了所谓的“信息孤岛”。 为了更好的重用己有模块,加快软件开发速度,使这种重用可以不用考虑 各自运行平台和开发环境的差异,并使被重用的模块可以方便地有旧系统纳入 新系统,因此就需要一种新的软件开发方法来达到以上目的。 1 2 信息复用、资源整合的研究现状及发展趋势 软件的可重用性一直是软件工程所追求的目标之一,软件工程界希望有一 天能和其它工业领域一样,利用标准化的软件模块快速构建特定的应用系统。 事实上,这种努力也取得了相当大的进展。 上世纪8 0 年代,以c + + 等为代表的面l 甸对象技术( 0 0 ) 开辟了软件重用新篇 第1 章绪论 章。到了9 0 年代,以c o r b a 等为代表的分布式面向对象技术( d 0 0 ) 对于如何保 留利用已有传统软件,并使已有传统软件与新开发软件能够互操作运行方面提 供了有效的解决方案。9 0 年代至今,以c o m 、c o r b a 3 0 、e j b 和w e bs e r v i c e s 等为代表的软件构件技术又使软件重用达到了一个新的高度。特别是w e b s e r v i c e s 的出现,在允许重用代码的同时,可以重用代码后面的数据,使用w e b s e r v i c e s 再也不用像以前那样从第三方购买,安装软件组织,再从应用程序中 调用这个组件,只需要直接从远端调用这个w e bs e r v i c 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 e ) 的软件设计方法被提了出来,s o a 不是一种 语言,也不是一种具体的技术而是一种软件系统架构,它尝试给出在特定环境 下推荐采用的一种架构,从这个角度上来说,它更像一种模式( p a t t e r n ) 。s o a 架构中所有的功能都是相互独立的服务模块,通过其定义良好的接口和契约联 系起来。而接口是采用中立的方式进行定义的,它应该是独立于实现服务的硬 件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以 一种统一和通用的方式进行交互。 s o a 由一系y , j h 互交互的服务组成,每种服务都能提供对该定义功能集的访 问。s o a 整体上设计和实现为一系列相互交互的服务,这种将业务功能实现为服 务的方法可以增强系统的灵活性,系统通过增加新的服务来实现演化。s o a 定义 了系统由哪些服务组成,描述了服务之间的交互,并将服务映射到一个或多个 具体技术的实现。通过应用s o a ,一个企业可以使用一组分布式服务来构成并组 织应用程序。这样,企业就能通过重用他们自己的资源和他们的伙伴的业务功 能来构造新的应用程序并组织应用程序。 在o m 6 $ h i o n a 的推动下,目前s o a 已成为了一个大家所广泛认可的规范。 不同于传统的软件重用方法的是,在s o a 中,围绕服务的所有模式都是以基 于标准的技术实现的。虽然大部分的通信中间件系统,女h r p c ,c o r b a ,d o o m ,e j b s h r m i ,也同样如此。可是它们的实现都不是很完美的,在权衡交互性以及标准 定制的可接受性方面总是存在问题。s o a 试图排除这些缺陷。因为几乎所有的通 信中间件系统都有固定的处理模式,女h r p c 的功能、c o r b a 的对象等等。然而, 服务既可以定义为功能,又可同时对外定义为对象、应用等等。这使得s o a 可适 应于任何现有系统,并使得系统在集成时不必刻意遵循任何特殊定制。s o a 通过 2 第1 章绪论 服务来实现集成,并且服务是标准的,这也正是企业间不同应用系统能够顺畅 通信的基石。 目前,w e bs e r v i c e s 由于其广泛普及、简单、集成成本低和平台独立而成 为实现s o a 的最主要方式之一。其实,不少c o r b a 部署就是面向服务架构,而 且c o r b a 的初衷与w e bs e r v i c e s 的目标非常相似。然而,在互操作方面这点上, 在c o r b a 中,要实现传输的互操作就必须使用c o r b a 的接口定义语言( i n t e r f a c e d e f i n i t i o nl a n g u a g e ) ,这就意味着使用c o r b a 部署的分布式计算连接的两端 要遵循同样的a p i 约束,从而加大了耦合性。而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 可以很好在不同产商解 决方案间提供交互性。因此,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 ) 描述服务、使用统一描述、发现与集成( u d d i ) 来发布和查找服务, 使用简单对象访问协议( s o a p ) 来执行服务调用。 1 3 本文主要研究内容 由于当前还没有对s o a 的统一概念,市场上很多中间件产品都宣称支持s o a 。 众多厂商成为了s o a 技术架构的推动者,其中包括i 酬、b e a 、m i c r o s o f t 、o r a c l e 、 h p 和s a p 。他们都纷纷推出自己的基于s o a 架构的技术产品。以i b m 为例,在 2 0 0 5 年i b m 已经成功实施了超过1 0 0 0 个s o a 项目。它以w e b s p h e r e 为核心,辅 以其他四大产品家族d b 2 、t i v o l i 、l o t u s 和r a t i o n a l ,提出了流程、信息、人 员的整合方案。 本文重点研究了零售业行业中,企业如何在适应业务需求变化的同时最大 程度的复用企业已有信息资源。在运用典型的w e bs e r v i c e s 技术如w s d l 、u d d i 、 s o a p 、x m l 等技术构建出企业的s o a 架构的前提下,进而完成异构系统问的有效 交互解决方案。 本文基于s o a 的信息复用技术研究与实现为题,共分为六章。 第一章绪论,阐述本文的研究背景、意义等。目前,国内多数零售企业所 面临的一个挑战就是企业问的许多应用系统信息集成度不足。企业内部存在许 多基于不同平台开发的遗留系统。这种异构的信息系统构架使得企业的业务应 用难以延伸扩展。各异构系统问缺乏良好的交互和资源复用。针对这些问题与 第1 章绪论 不足,本文采用s o a 技术架构、最新的开源技术,对异构平台下企业间的应用 集成展开研究,为国内零售企业的信息化进一步发展提供新的应用方案。 第二章企业信息整合的发展,对企业信息整合和复用需要解决的问题和最 终要达成的目标进行了阐述,并分析了传统的信息整合方法进行了比较,分析 了各自的优缺点,并最终提出采用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 是实现企业s o a 体系的最佳技术选择。 在这些分析的基础上本章对企业间s o a 体系的建立进行了探索,提出了一种实 用的企业间的s o a 体系。 第四章基于s o a 的w e bs e r v i c e s 设计,阐述了作为s o a 核心概念的服务的 本质和如何识别出服务以及服务在s o a 架构中的作用。介绍了s o a 最典型经济 的实现方式即w e bs e r v i c e s 及其相关技术,并提出了基于s o a 的w e bs e r v i c o s 的设计原则。在此原则下,采用目前获得广泛应用的a x i s 开源技术来进行w e b s e r v i c e s 的开发,可以最大程度地节省企业的投入,同时还可以轻松便捷地实 现应用的集成。 第五章异构平台下基于s o a 的异构系统交互设计与实现,本章中以异构平 台下利用w e bs e r v i c e s 实现零售企业中总店和分店之间的系统交互为例。该应 用印将交互双方的主要系统功能以服务为单位,将各自的服务从识别到设计再 到发布最终到调用服务。总店和分店系统分别采用j a v a 与n e t 两种不同的技术 体系来实现,即反映了零售业信息系统的现状又体现了s o a 框架和w e bs e r v i c e s 技术的平台无关性。 第六章结论及展望,本章对本文的研究工作进行了总结,明确了研究成果 与不足,并对研究的课题做了进一步的展望。 4 第2 章企业信息整合的发展 第二章企业信息整合的发展 2 1 企业信息整合和复用的目标 企业应用集成( e a i :e n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n ) 是指对企业 中完成不同业务功能的应用系统进行集成,在它们之间建立起可供数据交流和 应用沟通的纽带,进而使他们之间的信息交互成为可能。通过这种方式使用户可 以访问企业的整体信息,而不必考虑这些具体信息到底是属于哪一个应用系统 的,即各个不同应用系统对用户来说是透明的。 企业软件之间的集成和交互的目标就是集成跨越不同的应用系统,同时使 企业的员工、决策者和商业伙伴能够较方便的访问企业和客户的数据,而不管 这些数据具体的存储位置。它更进一步的目标是集成跨企业和跨组织的信息和 过程,包括实现传输流、数据流、信息流和过程流等。 从企业的高层来看,企业应用集成的根本目的都是降低成本、提高效率并 且对市场和机遇做出快速的反应。从技术应用的角度来看,企业应用集成的设 计目标一般有以下几个方面: 适应性的系统和过程。由于技术变革、全球化,以及企业自身业务产生变 化等因素,导致了企业所面临的环境是快速变化的,并且面临着激烈的竞争。 企业的应用系统和过程必须能够适应这种变化。而且在很多的企业中,应用系 统是和企业的业务过程紧密结合的。一旦企业的业务流程发生变化,相应的应 用系统也必须发生变化,这就要求系统和过程的再开发。如果企业的应用系统 不能适应这种变化,那么企业必将遭受损失。所以,系统和过程的可适应性是 企业信息整合和复用的最主要设计目标之一。 有效的信息管理。企业的信息来源广泛,并且多种多样。信息反映了企业 内部和外部的变化,以及企业物流和资金流的情况。企业的运行需要信息的指 导,同时也为控制质量和成本提供了依据。所以企业应用系统必须能够保证:数 据的一致性、及时准确性、可访问性、规则一致性、处理过程一致性,同时必 须能够提供异常报告和对历史数据的分析。 对电子商务的支持。i n t e r n e t 的快速发展使得电子商务成为企业应用集成 中的重要方面。电子商务使得企业的信息系统得以延伸至上下游企业和最终消 5 第2 章企业信息整合的发展 费者。从消息的角度看,电子商务可以看作是受一系列规则约束的数据交换过 程。 安全性问题。由于w e b 服务器连接在i n t e r n e t 上并可以被任何人访问,而 且为了方便企业间的协作,企业的业务系统也需要提供远程调用的能力,这就 带来了许多潜在的风险。所以安全性必须作为一个整体性的要求提出。安全性 的要求必须具备验证、授权、完整性、保密性和不可否认性等要素。 开放性及标准化。由于应用系统是处于变化的环境中,随着环境的改变系 统也需要变化。在系统的重构( 或再开发) 时,标准化是最重要的需求之一。从 软件的发展趋势看,从非结构化到结构化再到面向对象的设计方法都是使用黑 箱的系统描述方式,接着就是从面向对象到对象之间协作的发展,分布式的组 件技术是明显的例子,所以软件的开放性非常重要 2 2 传统方法进行企业信息整合的分析 传统的企业应用集成的层次主要有数据级集成、应用接口级集成、业务逻 辑级集成等。数据级集成是一种简单的企业应用集成方式,以共享或合并多个 应用程序之间数据的方式实现集成,属于面向信息的集成方式。应用接口级集 成是指应用程序之间通过调用彼此的应用程序接口,即a p i ( a p p l i c a t i o n p r o g r a mi n t e r f a c e ) 实现集成,属于面向接口的集成方式。而业务逻辑级集成 则是由应用程序之间通过共享业务逻辑的方式来实现的,属于面向过程的集成 方式。这三种集成方式虽然都能实现企业应用程序集成的目的,但它们的应用 都具有一定的局限性。 数据级集成需要交互的应用程序之间共享或合并数据库,这就需要被集成 的应用程序具有相同类型的数据库或能够转换成相同类型的数据库。若共享的 应用程序数据库的类型不相同,则不适合采用这种方法。数据级集成方式可能 会导致损坏数据,打开数据库的安全缺口等。 应用接口级集成通过互相调用应用程序接口实现应用系统集成,这种技术 性的集成方式需要调用者对被调用的接口非常熟悉。调用者只有在对a p i 熟悉 的基础上,才能对他们进行调用和修改。当对a p i 接口进行修改时,将导致新 的、大量的调试工作量,也可能会增加现有应用系统的不稳定性。由于采用的 是接口调用方法,通常需要调用者程序和被调用者程序具有相同的实现机制和 6 第2 章企业信息整合的发展 运行环境。 业务逻辑级集成通过共享业务逻辑的方式进行系统集成,采用开发高层虚 拟组件的方式。该方式不仅暴露了应用程序的业务逻辑,而且由于业务逻辑的 交叉,导致了各个集成系统之间的紧耦合性,降低了单个应用系统的灵活性, 增加了整个系统维护的难度。 上述这三种方式是非功能层的集成方式,属于紧耦合的应用系统集成方式。 这种紧耦合的集成方式将影响系统的灵活性和扩展性,阻碍业务的流程调整和 优化,不利于企业的业务发展。 事实上,我们实施e a i 项目的目标无外乎包含下面几个:各个分离的信息 系统的实现互联互通,消除信息孤岛,实现信息的共享;在e a i 平台上,把各 个信息系统的对外提供的应用处理程序接口统一地封装起来,这样的好处是以 后有其它的客户端再需要接入时,可以使用统一地从e a i 接口接入,接入的协 议也是标准的;把各个系统的接口进行组合,这样可以得到新的应用功能。 然而,在实施e a i 平台的项目旱,我们最困难的恐怕就是处理与各种各 样的后台系统的接口了,而众多的e a i 项目的失败几乎都是因为后台系统的复 杂性而导致的。现在,似乎还没用一个e a i 产品能够理想地解决了对后台系统 统一接入的问题。 2 3 基于面向服务架构( s o a ) 的企业应用集成分析 2 2 分析了三种传统方法进行企业信息集成的特点以及不足,总结了实施 e a i 平台的项目时经常会遇到难以很好解决的困难。因此,为了解决上述问题, 我们需要一种面向功能层的企业应用集成方式。该方式不仅能保证原有系统的 数据安全性和逻辑安全性,而且还能够实现各系统之间的松耦合,方便系统流 程的重组和优化。这种方式就是基于面向服务架构( s o a ) 的企业应用集成方式。 面向服务的体系结构具有跨平台、语言独立、松散耦合等优点。 1 语言独立。e a i 通常需要集成早期开发的多个企业应用系统。这些系统 一般都是在不同时期由不同的软件开发商采用不同的软件开发方法和软件开发 工具开发的。由于s o a 架构具有语言独立的优点,因此采用它能将不同语言和 不同版本的企业应用系统集成起来。 2 实现松耦合。s o a 是松散耦合组件服务,这一点区别与大多数其他组件 7 第2 章企业信息整合的发展 框架。松散耦合旨在将服务使用者和服务提供者服务实现和客户如何使用服务 分离开来。松耦合特性能方便企业中单个系统流程的优化,适合企业需求变化 的动态性。使得交互双方中一方的改动不会影响到另一方,降低单个企业软件 升级时带来的附加成本。 3 跨平台。s o a 通过服务接口的标准化描述,使得服务可以提供给任何异 构平台和任何用户接口使用,接口的标准化描述隐藏了实现服务的细节,允许 独立于实现服务所基于对平台和编写服务所使用的语言而使用服务。s o a 能集 成不同网络环境下的企业应用系统,能够保护原有网络资源,减少开销。 4 粗粒度服务。服务粒度是指服务所公开功能的范围,细粒度是指那些能 够提供少量业务流程可重用性的服务,相应的,粗粒度是那种能够提供具有高 重用性的业务流程的服务。选择正确的抽象级别j 下是s o a 建模的一个关键。在 不损失相关性、一致性和完整性的情况下应尽可能地进行粗粒度建模,这也是 s o a 的一个目标和宗旨。 5 良好封装性。服务的良好封装性不仅提高了应用系统的数据安全性和逻 辑安全性,而且增强了单个服务的复用性,节省重复开发成本。 6 服务位置透明。s o a 中,服务位置的透明使得服务可以被动态的绑定, 也可以被静态调用,这样方便了调用者对服务的使用。 w e bs e r v i c e s 与s o a 的组合,提供了一种快速集成方案,它关注被共享的 数据与可重用服务( 而不是专有的集成产品) ,因此能够更快、更轻松地确保i t 投入与企业的战略保持一致。 第3 章企业问s o a 体系的提出 第三章企业间s o a 体系的提出 3 1s o a 的发展历史 s o a 的概念早在十年前就由g a r t n e r 公司提出,由于当时的技术水平和市场 环境尚不具备真正实施s o a 的条件,当w e bs e r v i c e s 开始流行以后,互联网迅 速出现了大量的基于不同平台和语言开发的w e bs e r v i c e s 组件。为了能够有效 地对这些为数众多的组件进行管理,人们迫切需要找到一种新的面向服务的分 布式w e b 计算架构。该架构要能够使这些由不同组织开发的w e bs e r v i c 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 e ,s o a ) ,并赋予其时代的特征。需求 推动技术进步,j 下是这种强烈的市场需求,使得s o a 再次成为人们关注的焦点。 回顾s o a 发展历程,我们把其大致分为了三个阶段。下面将分别介绍每个阶段 的重要标准和规范。 3 1 1 孕育阶段 这一阶段以x m l 技术为标志,时间大致从上世纪9 0 年代末到本世纪初。虽 然这段时期很少提到s o a ,但x m l 的出现无疑为s o a 的兴起奠定了稳固的基石。 x m l 规定了服务之问以及服务内部数据交换的格式和结构。x s ds c h e m a s 保 障了消息数据的完整性和有效性,而x m l 转换语言( e x t e n s i b l es t y l e s h e e t l a n g u a g et r a n s f o r m a t i o n ,x s l t ) 使得不同的数据表达能沟通过s c h e m a 映射 而互相通信。通过x m l ,开发人员摆脱了h t m 。语言的限制,可以将任何文档转 换成x m l 格式,然后跨越互联网协议传输。借助x s l t ,接受方可以很容易地解 析和抽取x m l 的数据。这使得企业既能够将数据能够以一种统一的格式描述和 交换,同时又不必负担s g m l 那样高的成本。 3 1 2 发轫之初 2 0 0 0 年以后,人们普遍认识到基于公共专有互联网之上的电子商务具有极 大的发展潜力,因此需要创建一套全新的基于互联网的开放通信框架,以满足 9 第3 章企业问s o a 体系的提出 企业对电子商务中各分立系统之间通信的要求。于是,人们提出了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 i m p l eo b j e c ta c c e s sp r o t o c o l ,s o a p ) w e bs e r v i c e s 描述语言( 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 ) 通用服务发现和集成协议( u n i v e r s a ld i s c o v e r yd e s c r i p t i o na n d i n t e g r a t i o n ,u u d i ) 这三个标准极大地推动了w e bs e r v i c e s 的普及和发展。也让s o a 这一理念 最终成为现实变成了可能。 3 1 3 成长阶段 从2 0 0 5 年开始,各大厂商也逐渐放弃成见,通过建立厂商间的协作组织共 同努力制定中立的s o a 标准。这一努力最重要的成果体现在3 个重量级规范上: s c a s d o w s p o l i c y 。s c a 和s d o 构成了s o a 编程模型的基础,而w s p o l i c y 建 立了s o a 组件之间安全交互的规范。这三个规范的发布,标志着s o a 进入了实 施阶段。 虽然当前还没有对s o a 的统一概念,市场上很多中间件产品都宣称支持s o a 。 众多厂商成为了s o a 技术架构的推动者,其中包括i b m 、b e a 、m i c r o s o f t 、o r a c l e 、 h p 和s a p 。以i b m 为例,在2 0 0 5 年i b m 已经成功实施了超过1 0 0 0 个s o a 项目。 它以w e b s p h e r e 为核心,辅以其他四大产品家族d b 2 、t i v o l i 、l o t u s 和r a t i o n a l , 提出了流程、信息、人员的整合方案。i b mw e b s p h e r ep r o c e s ss e r v e r6 0 是 基于s o a 整合的基石,是整合建模的核心产品;i b ml o t u sn o t e s d o m i n o7 o 二 创新的客户机模式,是整合部署的关键产品;i b mt i v o l im o n i t o r i n g6 1 是下 一代i t 可用性管理解决方案,是整合管理的主要产品。i b m 还提出企业整合生 命周期管理的理念,从而分阶段、分步骤实现s o a 。 3 2s o a 与传统架构 3 2 1s o a 与c s 架构 l o 第3 章企业间s o a 体系的提出 c s 架构是为了实现资源共享而提出来的,它将应用一分为二,服务器( 后 台) 负责数据管理,客户机( 前台) 负责完成与用户的交互任务。但由于大部 分的应用逻辑驻留于客户端,加上客户端同时承担了所有的显示任务,数据库 往往成为这一架构中的性能瓶颈。另外,因为每个客户都装载应用代码,每次 应用更新时需要对每个客户端进行更新,这在比较大的环境中造成了高度繁重 的管理流程,也带来了昂贵的维护成本。同时这也导致系统缺乏较好的扩展性 和集成能力。 在面向服务架构解决方案中,其展现层十分开放。任何软件片段如果有能 力依照所需的服务契约进行s o a p 消息交换,都可以成为服务请求者。其应用逻 辑的处理是高度分布式的,每个服务都有清晰的功能边界和相关的资源需求。 对于如何定位和部署服务有很多选择。服务提供者和请求者之间的通信可以是 同步也可以是异步的,这一灵活性允许做进一步的改进处理。虽然s o a 架构比 起单纯的c s 架构复杂性有所增加,但其在展示层面、业务逻辑层面,服务器 层面都比后者做得更加完善。 3 2 2s o a 与传统分布式架构 传统分布式架构主要以组件为核心,开发过程中以功能模块为单位,往往 开发周期较长,模块间耦合度较大,实施过程中需要对实施细节要十分清楚。 并且开发出来的系统可扩展性较差,不能很好的适应新的需求变化。模块的可 重用性差。 s o a 作为一种在分布式架构基础上发展而成的新的架构,整个实施过程中贯 彻以服务为中心,一切都建立在标准与规范之上,利用服务和语义的描述可以 很轻松的实现松散耦合,能够做到异构系统间的交互。由于服务开发的平台独 立性,便于模块与模块间、系统与系统间服务的自由调用,从而大大提高软件 的可重用性。 3 2 3 小结 应用架构关心的是向特定的用户群提供特定的业务功能,令他们可以在快 速而有效地完成工作的同时,满足机构对投资汇报、成本节约以及安全性等方 面的目标。许多情况下,应用架构将制定一些准则,并定义用何种工具来提供 第3 章企业间s o a 体系的提出 多种类型的应用。而s o a 不仅仅是一种应用架构,它代表了一种不同的组织系 统的方式,是企业架构中一个独特元素。尽管s o a 支持应用架构和新应用的开 发。s o a 关注的是定义和提供服务,而不关注如何将这些服务组合为应用,以及 如何呈现给特定的用户组。应用架构往往采用紧耦合的“g u i t o d b m s ”方法, 而s o a 则是一种服务组装方法,即强调通过组装内部和外部的服务来构建应用。 3 3s o a 与w e bs e r vic 6 s 面向服务的体系结构s o a 和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 体系结构实际上是面向服务的体系结构的一个特定实现; 面向服务的体系结构作为一个概念上的模型,它将网给、传输协议以及安全等 具体的细节都有特定的实现。w e bs e r v i c e s 中的s o a p ,w s d l f 是定义这些具体 实现细节的标准。但s o a 并不局限于w e bs e r v i c e s ,其他使用w s d l 直接实现服 务接口并且通过x m l 消息进行通信的协议也可以包括在s o a 之中。例如c o r b a 和i b m 的m q 系统通过使用能够处理w s d l 的新特征也可以参与到s o a 中来。因 此,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 的优点: 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 是跨平台并且厂商无关的 w e bs e r v i c e s 提供服务层次的集成 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 构架中包括的远不只是一堆相互协作的w e bs e r v i c e s ,比如还有s o ag o v e r n a n c e 和s o am a n a g e m e n t 。 1 2 第3 章企业间s o a 体系的提出 3 4 企业间s o a 架构的提出 随着市场竞争的激烈,企业越来越多地遇到挑战,包括满足用户需求的速 度,产品的质量,成本控制,以及客户订制等。为了更好地在未来的挑战中取 胜,企业i t 系统的重要性必然大大加强,企业对i t 灵活性的要求必然会大幅 度提高。因此企业要最大化现有i t 资产的价值,并降低风险。实施s o a 架构体 系是大势所趋。 然而当企业实施s o a 时,需要有相应的技术与标准做准备,而且在公司的 策略、组织架构、信息共享、i t 治理以及业务处理的流程等管理方面,也要有 相应的配合与优化,这样才能把s o a 的优势发挥出来。企业应根据自身的信息 化特点和现实需求,找好实施s o a 的切入点,有选择的决定企业实施s o a 的具 体步骤。 s o a 是活动的、成长的和演化的实体。因而需要有过程、原则和工具来促进 它的演化和发展。企业间s o a 体系的建立包括正向过程和反向过程两个部分, j 卜向即自顶向下的构架设计分析,反向即自底向上的资源组织实施过程。增加 业务机动性是到目前为止s o a 实施的最重要的业务效益。即对新的业务需求和 机遇的快速响应。可以通过以下场景来衡量: 1 发现正确服务的机动性一企业s o a 体系中提出的每个业务都依赖于从 其他机构获取的业务服务。能够快速而有效地找到正确的服务( 无论该服务是 由其他部门还是其他合作伙伴提供的) 是至关重要的。 2 更换服务提供者的机动性一一有时候需要更换服务提供者,比如由于当 前服务提供者停业了等等,这时快速找到提供类似能力、满足需求的备选服务 提供者也是很重要的。 3 快速将服务组装为应用的机动性一一如果服务具有不与特定业务流程 相关的抽象接口,那么它就可以快速组装新的应用。 4 支持新的服务请求者和新的服务渠道的机动性一这就要求服务是松 耦合的、与平台无关的。 企业实施s o a 旨在利用现有i t 资产更好的适应企业业务变化带来的新需 求,从而提高企业业务可以快速地适应新的机遇和竞争威胁。这就要求企业实 施s o a 过程中要把服务的发现过程尽量的提升到业务层面上,需要让业务用户 尽可能提前参与进来。以达到服务是满足松耦合的、基于标准的接口定义服务 第3 章企业间s o a 体系的提出 契约的、对服务请求者有意义的等特征。 数据展现层 l 客户端 i uj l 1 w 曲s e 而c e sn e tr c m o t i n g lnl l 土上土 厂,、,、 、 业务逻辑层 i 业务服务接口 l i l 业各服务接口 入 、 1 1 n l lil l 厂、) 、 , 基础业务服务接口 i 、 基础业务 基础业务服务接口 | 、 逻辑层 、。、 摹础业务 基础业务 、 竺入竺 竺火! n j 【ji - 二数据访问层v ( 二爹( 二妻二二三三) n ( 二萝 uuuu 裂借仔俩层 ,一、- (二二 o r a c l e m ss q ls e r v e r 、_ 一一 幽3 1 企业s o a 架构图 如上图所示,企业应用系统是由各种不同的业务子系统( 服务) 构成,每 个业务服务都提供所属领域内的二号业服务,并且它们互相之间不形成直接或间 接的依赖关系( 业务数掘全部通过工作流驱动) ,业务服务层负责事务控制,也 叫事务服务层。 假如事务服务提供的功能有重复之处,则可以将重复的功能抽象出来形成 1 4 第3 章企业间s o a 体系的提出 一个基础服务,基础服务之间可以通过接口建立间接依赖关系,多个基础服务 形成了一个基础服务层,事务服务层通过接口间接依赖基础服务层。 3 5 小结 当前,各种企业软件的实现变得越来越复杂。面对这些系统,企业需要采 用合理的方式将这些资源进行结合、充分利用,采用松散耦合的方式来建立系 统。本章主要分析比较了s o a 相对传统软件架构的优势,以及s o a 体系实现技 术的异同点,得出实现s o a 体系的最佳方式是通过基于x m l 和s o a p 协议的w e b s e r v i c e s ,在这些分析的基础上对企业间s o a 体系的建立进行了探索,提出了 一种实用的企业间的s o a 体系。在后续章节中将会针对本章所提出的企业间s o a 体系进行具体地实现。 1 5 第4 章基于s o a 的w e bs e r v i c e s 设计 4 1 概述 第四章基于s o a 的w e bs e r vic 6 s 设计 s o a 不局限于某些具体的技术组合( 如w e b 服务) 。在利用s o a 思想设计的应 用软件架构中,其所有的功能都是相互独立的服务模块,通过完备定义的接口 相互联系

温馨提示

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

评论

0/150

提交评论