(计算机应用技术专业论文)基于bpel的服务组合关键技术的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于bpel的服务组合关键技术的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于bpel的服务组合关键技术的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于bpel的服务组合关键技术的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于bpel的服务组合关键技术的研究与实现.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(计算机应用技术专业论文)基于bpel的服务组合关键技术的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 当今企业面临着快速响应市场竞争和客户需求的挑战,而b p e l 作为面向服务架构( s o a ) 下服务组 合的主要实现技术,能够真正体现s o a 基于开放标准、组件化、松耦合和可复用等优点,简化企业内部 和企业之间复杂业务协作以及i t 系统连通的实现,提升企业应变速度和业务敏捷性。因此,b p e l 得到了 业晃的普遍认同,并在国内外s o a 战略实施和转型过程中扮演着越来越重要的角色。 本文结合江苏省科技成果转化专项资金项目“基于s o a 的新一代企业管理软件研发及产业化”的研 究工作,以其中的轻量级服务集成平台j s s o a 的开发为重点,研究和论述了基于b p e l 的服务组合技术在 企业级s o a 平台上的实现,对国内企业1 1 r 转型过程中通过服务组合实现业务流程可能遇到的问题和关键 技术进行分析,并提出自己的解决方案和实现方法。 论文首先对w s - b p e l 规范及相关背景技术进行了综述,重点介绍了企业服务组合应用中涉及到的 b p e l 核心概念,并指出当前b p e l 规范存在的不足;其次,分析并提出了基于b p e l 的服务组合在企业 s o a 实践中的设计模式、若干参考原则以及关键技术;最后结合课题项目,介绍了j s s o a 中b p e l 服务 组合的设计与实现以及关键问题的解决,并给出b p e l 在基于j s s o a 平台的e r p 系统中的应用实例。此 外,论文还就b p e l 服务组合关键技术之一的流程服务建模工具进行了深入研究,并给出j s s o a 中流程建 模工具j s b p e l 的设计与实现。 关键词:b p e l ,服务组合,业务流程,s o a ,w e b 服务 a bs t r a c t t h ee n t , 雌i s en o w a d a y si s c h a l l e n g e db yg r o w i n gm a r k e tc o m p e t i t i o na n dc l i e n t sr e q u i r e m e n t ,t h a tm a k e c o m p a n i e sh a v et ob eq u i c kr e s p o n s et oc h a n g e s b p e l w h i c hi st h em a i ni m p l e m e n t a t i o nt e c h n i q u eo fs e r v i c e c o m p o s i t i o ni ns o a ,r e f l e c t sw e l lo ns o a sa d v a n t a g e sl i k es t a n d a r d i z a t i o n ,c o m p o n e n t i z a t i o i n ,l o o s e l yc o u p l e d a n dr e u s ea b i l i t yb ys i m p l i f y i n gt h er e a l i z a t i o no fc o m p l e xb u s i n e s sc o o p e r a t i o na n di ts y s t e mi n t e r o p e r a b i l i t y b e t w e e nc e m p a n i e s b p e ls p e e d u p st h ee n t e r p r i s e sr e s p o n s ea n dp r o m o t et h eb u s i n e s sa g i l i t y , s oi ti sw i l d l y a c c e p t e da n dp l a y sam o r ea n dm o r ei m p o r t a n tr o l ei n9 1 0 b a ls o ai m p l e m e n t a t i o n t h i st h e s i si sb a s e do nt h e r e s e a r c ha n di n d u s t r i a l i z a t i o no nn e wg e n e r a t i o no fe r pb a s e do ns o a ”p r o j e c t w h i c hi sf i n a n c e db yj i a n g s us c i e n c ea n dt e c h n o l o g yd e p a r t m e n t a c c o r d i n gt ot h ec u r r e n tr e s e a r c hw o r ko f j s s o a ,t h et h e s i si sc o n c e n t r a t e do nt h er e a l i z a t i o no fs e r v i c ec o m p o s i t i o nb a s e do nb p e lb ya n a l y z i n gt h e p r o b l e m sa n dk e yt e c h n o l o g i e sw h i c hr e s u l tf r o mt h eb u s i n e s sp r o c e s sd e s i g na n dp r a c t i c eo fe n t e r p r i s es o a s t r a t e g y , t h es p e c i f i cs o l u t i o na n dr e l a t e dm e t h o da r ep r o p o s e da sw e l l f i r s t l y , t h ed i s s e r t a t i o nm a k e sab r i e f l ys u m m a r i z eo fw s - b p e ls p e c i f i c a t i o na n dt e c h n o l o g i e sr e l a t e d , e m p h a s i s 0 1 1t h ec o r ec o n c e p to fb p e lw h i c hi sc o m m o n l yu s e di ns o ap r a c t i c e ,t h ed e f e c t so fc u r r e n tb p e la r ca l s o r e f e r e dt o t h e n ,t h i sd i s s e r t a t i o na n a l y z e sa n dp r o p o s e st h ed e s i g np a t t e r n ,s o m er e f e r e n c ep r i n c i p l e sa n dk e y t e c h n o l o g i e so fu s eo fb p e li ne n t e r p r i s es o ai m p l e m e n t a t i o i n f i n a l l y , t h i st h e s i sm a k e sad e t a i l e di n t r o d u c t i o n o fd e s i g na n dr e a l i z a t i o no fs e r v i c ec o m p o s i t i o nb a s e do nb p e li nj s s o ap r o j e c t , w h i c hi n c l u d e sas a m p l eu s eo f b p e li ne r ps y s t e mo f j s s o a a d d i t i o n a l l y , t h ed i s s e r t a t i o nr e s e a r c h e sd e e p l yt h ed e s i g na n di m p l e m e n t a t i o no f s e r v i c ec o m p o s i t i o nm o d e l i n gt o o l s ,a n dac o m p l e t ei n t r o d u c t i o no fj s b p e l ,t h es e r v i c ec o m p o s i t i o nt o o lo f j s s o a ,a r ea l s op r e s e n t e d k e y w o r d s :b p e l , s e r v i c ec o m p o s i t i o n ,b u s i n e s sp r o c e s s ,s o a ,w e bs e r v i c e s i i 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过 的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 研究生签名: 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印 件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质 论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括 刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办理。 研究生签名: 瘥众 刁一一” 导师签名:日期: 第一章绪论 1 1 研究背景 第一章绪论 随着信息技术的发展和全球经济一体化进程的加快,企业实施的玎系统不断增加,企业之间的竞争 也从过去局部个体竞争演变为全球范围企业联盟间的竞争。在此大环境下,当代企业所面临的社会、经 济、环境和客户需求也不再相对稳定而是动态多变。全球性的市场、资源、技术和人员的竞争给企业带 来巨大的挑战,如何有效整合现有资源,改善企业运营效率,全局动态协作的应对市场竞争和客户需求变 化自然成为企业成败的关键,而提高企业核心业务流程的敏捷性更成为企业必须面对的首要问题【l j 。 令人遗憾的是由于之前缺乏统一的战略规划以及市场竞争和技术发展等原因,目前企业内多数系统 是独立、异构和封闭的,造成系统间的信息共享和业务处理难以进行,无法适应日益复杂的企业整合并 满足随需应变的业务需要。基于c o r b a 或c o m 等技术的企业信息集成( e a i ,e n t e r p r i s ea p p l i c a t i o n i n t e g r a t i o n ) 试图通过中间件、x m l 等方法来进行数据分配,进行分布式、跨平台的程序交互,修改企业 资源规划以达到部件级的重用,消除企业内部存在的“信息孤岛”问题,但由于部件级的架构缺乏统一的 标准,各个厂商都有各自不同的e a i 解决方案,出现了各种各样的中间件平台。当e a i 碰到异构的n 环 境,就必须分别考虑怎样在各个不同的中间件之间实现合理的互联方式,系统的维护和扩展随之交得越 来越困难,问题并没有得以很好地解决。 近年来,面向服务的架构( 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 认为服务是最核心的抽象手段,业务被划分为一系列粗粒度 的服务和流程。业务服务相对独立、自包含、可重用,由一个或者多个分布的系统所实现,而业务流程 由服务组合而来【2 】。s o a 代表了一个开放的、松耦合的、可扩展的、可组合的架构,促进面向服务并由自 治的、高质量的、来源多样的、互操作的、可发现和可复用的服务组成 3 1 。s o a 的首要目标是n 1 与业务 匹配,支持业务的快速变化;其次是i t 架构的灵活性和i t 资产重用。目前s o a 已经成为全球企业关注的 热点,据i d c 发布的9 2 0 0 7 年中国企业s o a 应用调查显示,7 7 5 的接受调查的中国企业开始考虑或 着手实施s o a 架构。 s o a 的实现依赖于一些具体的组件和技术标准。主要组件包括:服务运行时环境、服务总线、服务 注册库、服务网关和流程引擎。标准方面:w e b 服务( w 曲s e r v i c e s ) 是目前实现s o a 中服务的主要手段, 其最基本的协议包括u d d i ,w s d l 和s o a p 。业务流程执行语言b p e l ( b u s i n e s sp r o c e s se x e c u t i o n l a n g u a g e ) 则是通过组合服务实现业务流程定义的规范语言,现已成为服务编制( o r c h e s t r a t i o n ) 领域的事 实标准。 基于b p e l 的服务组合技术能够充分体现s o a 架构适应需求变化的能力。对当代企业而言,变化通 常源于业务本身和r r 系统两个方面,而b p e l 实现的服务组合借助s o a 松耦合,可重用的特点可以灵活 快速的响应企业的需求变化,实现业务目标和1 1 r 系统之间的一致性,使得企业内部和企业之间的复杂业 务协作和i t 系统连通更容易实现,业务敏捷性大大提高。随着s o a 由概念研究逐步进入实践应用阶段, 如何根据用户需求实现业务流程,如何设计并开发业务流程建模工具,如何部署和管理业务流程,自然 成为了十分重要的问题。 1 2 研究现状 随着s o a 及其相关技术的兴起,服务组合已经引起国内外众多研究机构的高度关注,大量研究工作 从不同角度探讨了这一主题。当前关于服务组合的研究主要可以分为三个大方向: 1 定义能够实现组合服务描述和服务调用机制的语言。 l 东南大学硕士学位论文 2 。 实现自动服务组合的机制、思想及算法。 3 构建适合进行服务组合的平台框架。 b p e l 作为一种从工业界诞生的标准,由于受业界主流服务及技术提供商的拥护和推崇,使其迅速成 为w e b 服务编制领域的事实标准,无论是工业界还是学术界都对其产生了浓厚的兴趣,并围绕b p e l 展开 了多方的理论研究【l 引,主要可以分为以下几个方面: 1 b p e l 密切相关的w e b 服务规范和标准的研究与完善 b p e l 在w e b 服务规范堆栈中处于一个高层的位置,需要低层的w e b 服务标准的支持。其中与b p e l 密切相关的有:w s a d d r e s s i n g r 【6 1 、w 曲服务安全【7 1 、w s p o l i c y 、w s d l 8 9 1 、w 曲服务事务、 w s - n o t i f i c a t i o n s t 悱1 2 】。这些w e b 服务规范和标准对b p e l 技术上的实现起着支撑作用。 2 工作流相关模式的研究 b p e l 是一种基于业务流程的服务组合方法的具体实现,继承和吸收了工作流管理体系结构和关键技 术的长期研究成果并作出一定的改进。主要分为以下几个方面: ( 1 ) 业务流程模式 埃因霍温科技大学的w m p v a nd e ra a l s t 和昆士兰科技大学的n i c kr u s s e l l 等人对业务流程模式进行 了深入研究,将业务流程的控制逻辑抽象为共计4 3 种流程控制模式,并分析了b p e l 及其它流程建模语 义和相关产品对这4 3 种模式的支持程度【l 纠6 】,通过对既有工作流管理系统和业务流程建模语言的分析, 抽象了3 9 个工作流数据模式,并分析和总结了b p e l l 1 对这些数据模式的支持程度【1 7 】与五大异常类型及 b p e l 的异常处理模式【1 8 】。 ( 2 ) 消息交互模式 s a p 的a l i s t a i rb a r r o s 同其他科研人员对服务交互及消息处理方面做了一系列的研究工作,将服务交 互抽象为1 3 种交互模式,同时详细分析了b p e l 对这些交互模式的解决方案【1 9 】。 ( 3 ) 人工交互模式 由于b p e l 缺少b p m 中人工活动这一重要概念,为此m m 、s a p 希望通过b p e l 扩展规范的形式将 人工活动的概念标准化并将其纳入b p e l 阵营。2 0 0 7 年6 月m m 等六家s o a 领域的厂商共同发布了 b p e l 4 p e o p l e l 0 2 卅规范和w s h u m a nt a s k l 0f 2 1 规范,但也带来一个问题:是否有必要引入这么复杂的 扩展来支持人工任务【2 2 】? ( 4 ) 子流程模式 当前b p e l 并不支持传统工作流中子流程的概念,这样造成b p e l 在模块化流程复用及父子流程间的 紧耦合的功能缺失【2 3 】。为此,i b m 和s a p 联合发布了b p e l - s p e ( w s b p e le x t e n s i o nf o rs u b - p r o c e s s ) 【2 4 】。 ( 5 ) b p e l j b p e l j 【2 5 】是由b e a 和m m 联合提出的将b p e l 与j a v a 结合的技术路线,此项技术允许同时使用“宏 观”和“微观”两种编程语言来构建业务流程应用。目前,许多b p e l 引擎开发商都引入了类似的b p e l 扩展。对于是否应该引入编程语言来处理b p e l 不堪胜任的工作,人们展开深入的研究和讨论。m a t i j a z j u r i c 提出将其它编程语言所实现的功能包装为w s d l 描述的w e b 服务,通过b p e l 调用来实现,构成一 种“无侵入”的途径【2 6 j 。w s i f ( w 曲s e r v i c e si n v o c a t i o nf r a m e w o r k ) 就是用于此目的的一个技术框架。 3 形式化建模与验证的研究 围绕b p e l 相关的形式化建模方法、建模工具和形式化验证,人们做了大量的研究。文献【2 7 】对 b p e l 相关的建模方法、工具、验证等做了详细的综述。当前研究主要通过将b p e l 描述的业务流程转化 为其它形式化的模型( 如p - c a l c u l u s 【2 9 1 、p e t d 网) ,然后通过一些模型检测技术对其进行分析和验证。 4 相关标准的比较、转换与集成研究 文献 2 8 】介绍了当前b p m 领域中流程建模及相关标准和规范。目前除了标准化组织对标准规范的制 定和完善外,个人及其它研究机构研究集中在b p e l 与其它b p m 标准和规范在概念、模式、应用等方面 的比较,标准间相互转换和集成。 5 面向服务的计算研究 在面向服务的计算方面,对b p e l 的研究主要包括服务发现和动态绑定、服务组合以及如何在b p e l 2 第一章绪论 中支持q o s 、访问控制、安全等规则和策略。 6 网格计算 在网格计算方面,对b p e l 的研究主要在如何对网格服务的协同与编排以及如何适应w s r f 框架模 式。 7 自治计算 在自治计算方面,对b p e l 的研究主要是如何实现b p e l 流程的自容错、自治愈、自适应和自优化。 从以上介绍可以看出,目前学术领域关于b p e l 的研究已经具有一定的深度和广度。随着s o a 在国 内外由概念普及转入企业部署实施时期,基于b p e l 的服务组合也随之进入到企业级实践应用的新阶段, 但上述已有研究并不能很好的解决当前实践中所面临的很多问题,主要体现在: 1 。目前很多研究是围绕现有b p e l 规范的不足展开,不仅业内厂商相继推出各自方案对b p e l 规范 进行补充,很多学术研究也是在b p e l 规范的基础上添加新的定义来增强b p e l 描述服务组合的能力,但 在企业实践当中解决实际问题不仅需要理论研究的支持,更多的还依赖于现有成熟的实现技术与应用平 台,而如何在被广泛接受并已经有成熟产品支持的b p e l 2 0 规范基础上实现符合国内企业需求的服务组合 应用的研究和相关经验总结相对不足。 2 现有研究与b p e l 实践应用的需要存在一定的脱节,很多研究对企业而言如同“空中楼阁”,缺 乏实际指导意义。譬如不少学术研究是围绕基于b p e l 的动态服务组合或自动服务组合进行,但在当前国 内外企业部署和实施s o a 过程中,通过手工设计方式实现服务组合的应用才刚刚开始,尚未成熟,现有 技术和产品与“动态”或“自动”实现服务组合的要求更是相距甚远。对企业而言真正关心的是基于现有 技术和产品如何正确构建合理的服务组合;如何利用b p e l 设计、划分并优化业务流程,能够给企业带来 预期效益,而关于这方面的相关论述和成功案例却很少。 3 服务组合的实现依赖于具体的建模工具或设计器,当前服务建模的研究主要集中于不同规范或标 准之间的转化算法,缺乏针对b p e l 规范自身可行的建模工具的实现论述。虽然各大厂商相继推出了基于 b p e l 的服务建模和流程设计工具,但由于销售策略和应用背景等多种原因并不能完全满足国内企业实际 需要。 本论文正是从以上问题入手,结合国内相关实践项目,研究和论述了b p e l 在企业级s o a 平台上的 应用与实现,并对企业i t 转型过程中通过服务组合实现业务流程可能遇到的问题进行分析总结,尤其侧 重于服务组合和业务流程建模工具等关键技术的研究与实现。 1 3 课题来源 研究课题来源于江苏省科技成果转化专项资金项目“基于s o a 的新一代企业管理软件研发及产业 化”。该项目以江苏省金思维信息技术有限公司开发的企业管理软件系统产品和东南大学计算机学院语义 网格s e i r g d d 系统的研究成果为基础,设计并实现一个基于s o a 的新一代企业信息系统构架以及基于这 个构架的管理软件系统,该项目的核心工作之一是设计并实现一个轻量级服务集成平台( 平台暂定名 j s s o a ) 。j s s o a 将为用户提供一个具有自主知识产权的新一代企业n 架构及基于这个架构的管理软件 系统。项目计划首先较粗粒度上实现金思维公司现有企业管理软件系列j s e r p 、j s s c m 、j s c r m 、 j s o a 、j s d r p 等向s o a 的迁移和整合:然后考虑公司核心产品j s e r p 及相关产品已有组件库的整理和重 构,创建合理的面向业务的服务体系,实现基于s o a 的“随需应变”的信息系统;最后与第三方供应商 的专业服务、以及外部其它企业信息系统的进行整合与互操作,方便快捷地实现动态企业联盟、供应链 管理和b 2 b 电子商务应用等。 1 4 研究内容 论文的研究内容以面向服务架构的企业信息系统平台开发项目为背景,围绕基于b p e l 实现服务组合 的相关理论、方法和技术展开工作,并结合j s s o a 平台的设计与开发,深入研究了b p e l 在当前s o a 企 3 东南大学硕士学位论文 业实践过程中的具体应用和关键技术实现。主要内容包括以下几个方面: 1 b p e l 技术规范及相关背景技术的研究。 围绕最新的w s b p e l 2 0 规范,对b p e l 技术进行了综述,重点分析总结了b p e l 在企业级应用中所 涉及到的核心概念以及目前b p e l 的不足,并研究阐述了b p e l 应用相关的背景技术,包括:s o a 参考模 型、w e b 服务相关规范、企业服务总线e s b 和业务流程管理b p m 。 2 基于b p e l 的服务组合设计模式和参考原则 结合研究课题项目,阐述了b p e l 在s o a 企业级实践应用中的设计模式,指出b p e l 迭代设计过程 周期及相应工作内容,并结合对b p e l 规范的分析以及项目开发实践经验,重点提出若干b p e l 服务组合 设计的参考原则。 3 s o a 实践中b p e l 服务组合设计与实现的关键问题解决 以j s s o a 系统的设计为基础,研究了b p e l 在企业面向服务架构系统中的应用与实现方法。介绍了 基于b p e l 的业务流程设计在j s s o a 架构中的具体实现,重点研究了w s d l 扩展、人工活动支持和业务 流程事务这三个当前b p e l 企业级应用过程中关键问题的实现。最后给出了b p e l 在现有j s s o a 平台e r p 系统上的应用实例。 4 b p e l 服务建模工具的设计与实现研究 b p e l 服务建模工具是b p e l 企业级应用的关键技术之一,论文通过j s s o a 系统中的服务建模工具 j s b p e l 的设计与实现,研究了b p e l 建模工具的功能需求、模块设计、体系结构以及具体关键技术的实 现。 1 5 论文的组织与结构 本文共分七章,内容组织如下: 第一章:绪论。给出课题来源和研究背景,提出论文的目标和主要内容。 第二章:面向服务的架构技术综述。介绍了与本文研究密切相关的背景技术:s o a 、w e b 服务、e s b 和b p m 。 第三章:b p e l 规范及其相关技术介绍。重点研究分析了b p e l 规范的元数据模型以及实践应用中主 要涉及到的b p e l 核心概念,论述了当前b p e l 的不足之处并对未来发展作出预测。 第四章:基于b p e l 的服务组合研究。结合项目实践的经验,提出b p e l 服务组合设计模式、参考原 则,并指出b p e l 应用中的关键技术。 第五章:b p e l 在j s s o a 系统下的应用。结合江苏省科技成果转化专项资金支持的j s s o a 项目,介 绍了b p e l 在当前企业级s o a 应用中实现架构及关键问题处理,并给出应用案例。 第六章:j s b p e l 服务建模工具的设计与实现。介绍了j s s o a 平台下j s b p e l 设计器的功能需求及体 系结构,并给出其中关键技术的实现方法。 第七章:总结本文工作所取得的成果,并对下一步工作提出展望。 4 第二章面向服务的架构技术综述 第二章面向服务的架构技术综述 2 1 面向服务的架构s o a 2 1 1s o a 的概念和特征 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 9 9 6 年,g a r t n e r 就提出s o a 的思想,其核心思想已在j 2 e e 、c o r b a 等应用中得到验 证,s o a 如今的兴起得益于技术实现手段的成熟和企业信息化水平的不断提高。当前不同组织和研究机构 对s o a 有各自的定义,大致可以分为两类:一类认为s o a 主要是一种架构风格;另一类认为s o a 是包 含运行环境、编程模型、架构风格和相关方法论等在内的一整套新的分布式软件系统构造方法和环境,涵 盖服务的整个生命周期:建模一开发整合一部署运行管理【3 1 1 。由于后者概况的范围更大并着眼于未 来的发展,目前被广泛的认可和接受。 s o a 是一种业务驱动的i t 架构方式,支持对业务进行整合,使其成为一种相互联系、可重用的服务, 其中服务是s o a 中最核心的概念和基础。w 3 c 将服务定义为:“服务提供者完成一组工作,为服务使用者 交付所需的最终结果。最终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改变,或者双 方都产生变化 。简单来说,一种服务对应于一个真实的业务活动或可识别的业务功能。在s o a 下,每 个服务定义了一个与其业务功能或数据相关的接口,以及约束这个接口的契约( 如服务质量q o s 要求、业 务规则、安全性等) ,服务之间通过定义良好的接口和契约相互联系,单独或者共同完成一定的功能。其 中接口和契约采用中立的,基于标准和规范的方式进行定义,独立于实现服务的硬件平台、操作系统和编 程语言。 从以上s o a 的概念描述中不难看出s o a 主要具备以下特征: 1 基于开放的标准 目前s o a 相关技术标准和规范主要由w 3 c 、o a s i s 、w s i 、i e t f 和o m g 等几大标准化组织和 机构制定,所有人员都可以从公开途径获得和实现这些开放的标准,而且开放的标准能够增强不同硬 件和软件组件之间的兼容性。 2 架构上可组合 服务作为s o a 下独立的逻辑单元存在,因此可将一系列的服务组合为自动化和高适应性的业务 流程。同时,由于相关服务规范支持一个或多个特性的模块扩展,用户可以灵活的构建并实现仅满足 自身实际需要的s o a 解决方案。 3 强调可重用性 s o a 建立了一个多层次复用的环境。服务通过服务组合的形式被使用,同一服务可以被不同的解 决方案使用,组合服务自身也能够被更高层次的组合服务所使用。重用为企业找到了创建业务活动所 需服务的各种方法,如使用现有i t 资产、消费外部服务供应商提供的服务、创建全新的服务等。 4 强调可扩展性 s o a 倡导通过增加服务或融合其他面向服务的应用来扩展完整解决方案,只要以合适的粒度划分 服务,就可以做到扩展服务所提供的功能而不破坏原有的接口。 5 促进企业范围的松耦合 s o a 的价值很大程度在于它以服务的松耦合( 1 0 0 s ec o u p l i n g ) 为前提。对s o a 而言松耦合包括: 接口松耦合( 通过接口保持服务调用双方技术的透明性) ,技术松耦合( s o a 环境下各种元素如产品、 开发平台等之间依赖程度低) 、流程松耦合( 服务可重用于多种不同的流程与应用,与具体业务相关 度低) 。 5 东南大学硕j i 学位论文 6 促进敏捷性 企业面对的变化主要包括业务逻辑的变化和麻用技术基础的变化两方面,i i l s o a 借助服务抽象 及业务和应用逻辑问的松耦合将这一者影响最小化井增强对变化的整体反应能力。敏捷性是s o a 堆重要的优势特征之。 7 支持厂商多样性 开放的技术和标准自然会带来更多的选择,s o a 使得用户可以摆脱对某个特定厂商或专有技术的 依赖,根据实际需要来选择最适台自己的产品和环境。 2 1 2 $ o a 的参考模型 人w j 对s o a 的认识随着相关研究和戍用的开展而不断深入。2 0 0 6 年8 月o a s i s 发布丁s o a 参考模 型s o a - r m - c s10 规范”“该规范提供了个整体的s o a 抽象框架,片i 来理解s o a 技术的实现理念, 其中参考模型位于抽象级别的顶部,也就是说参考模型提供了s o a 实现的抽象基础。每个s o a 设计者都 要考虑参考架构、模式、模型以及派生出的概念架构,审慎思考实际臆用环境对实现架构的影响,同时利 用已有的标准和规范,形成一个比较完整的s o a 设计方法论。总2 ,s o a 参考模型使得醴计人员能够系 统的考虑s o a 的实现,升给出虽基本的概念和设计模式。 虽然目前己经有了关于s o a 参考模型的规范标准,但由丁多方面原因,标准化组织平业界开发商在 目2 - 1s o a 参考模型 从该参考模型中可以看出,服务组台是s o a 优势得以发挥的重要依赖技术,而基于业务流程的服务 组合更促进了s o af 企业内外的协作。需要注意的是,参考模型为企业实施s o a 的整体设计提供一个全 局性的指导框架,但却不能在实际的s o a 项目敬计和开发中提供足够多的可行性意见。关丁s o a 实施的 细节将在第五章介蜊j s s o a 系统时阐述。 第= $ 目服务架构技术综述 2 2 w e b 服务 2 2 1w e b 服务的概念 w e b 服务是目前s o a 中服务的最主要实现技术,可以说s o a 的兴起很大程度上得益于w e b 服务相关 标准和技术的进步与成熟。 一个完整的w e b 服务是由服务提供者、服务请求者、服务注册中心三个角色和发布、发现、绑定三个 动作构建的,其体系结构如图2 - 2 所示: 望p 目22 w e b 服务体镕# 技术上讲,w e b 服务是以可扩展标记语言( e x t e n s i b l e m 盯k u pl a n g o a g e x m l ) 为基础的。w e b 服务 的相关规范全部基于x m l 实现包括服务的描述、服务之间的消息格式和服务的编排组合等。x m l 的平 台无关性使得w e b 服务可以部署到不同的软硬件平台并由不同的程序语言实现。 w e b 服务具有开放性、良好封装、白描述、松散耦合、可组台和独立于实现技术等特性,完全符台s o a 对服务的定义和要求,在s o a 实现中具有得天独厚的优势。 2 2 2w e b 服务的相关规范 w e b 服务的相关规范主要由标准化组织制定,其中最主要的三个标准组织是万维网联盟( w o r l d w i d e w e b c o n s o r f i 啪, w 3 c ) 、结构化信息标准组织( o a s i s ) 和w e b 服务互操作组织( w s 1 ) ,但_ 鼬软、m m 、 s u n 及众多其它公司在标准化过程中扮演了日益重要的角色,不仅直接参与w e b 服务规范制定,而且还促 进了这些规范作为工业标准的实现。 例 3 展示了目前w e b 服务规范分组的大致情况。该图井没有表示严格的分层只是直观的展示了各 个功能区之间的关系。 i 竺竺竺竺竺j 厦组音 匡困回国- 医面i 磊i 面面i i ;i i i 磊:;嗣服务# j 竺! :! ! ! ! ! 竺! 竺竺! ! 8 e * 递 :! ! ! ! ! ! j i i ! ! * * * * 目23 w e b 务规范舟自 东南大学硕士学位论文 w e b 服务的核心规范包括w s d l t 3 9 1 、s o a p 4 0 1 和u d d i 3 们,在基于b p e l 的服务组合应用中都会涉及 到这三个规范的使用。 1 w s d l w e b 服务描述语言( 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 ) 是服务描述的基础规范。w s d l 使用x m l 语言文档化了服务接收和发送的消息,通过x m ls c h e m a 实现了开发人员和服务提供者对 数据结构和消息的类型的定义,并将其绑定到具体的网络传输协议和端点( e n d p o i n t ) 。w s d l 充分利 用了抽象规范与具体实现的分离,也就是实现了服务接口与服务实现,客户端可以借助w s d l 了解并 使用w e b 服务的功能,而无需知道w e b 服务的实现细节。 w s d l 主要描述了w e b 服务的三个基本属性 3 h : ( 1 ) 服务做什么:服务所提供的操作( 方法) 。 ( 2 ) 如何访问服务:数据格式定义及访问服务操作的必要协议。 ( 3 ) 服务位于何处:基于特定协议的网络地址,如u r l 。 此外w s d l 设计继承了以x m l 为基础的当代w e b 技术标准的开放设计理念,具有良好的扩展性。 它允许通过扩展使用其它的类型定义语言( 不光是x m ls c h e m a ) ,允许使用多种网络传输协议和消息 格式。w s d l 也体现了当代软件工程中的复用理念,分离了抽象定义层和具体部署层,使得抽象定义 层的复用性大大增加。 理论上讲,在基于b p e l 的服务编制设计时对服务的唯一了解途径就是w s d l ,这样就要求组合 服务设计人员不仅能够“读”懂w s d l ,还要能够根据实际需要灵活的对w s d l 进行扩展应用。相 关内容在第四章“b p e l 在j s s o a 系统下的应用”会详细介绍。 2 s o a p s o a p 以x m l 形式提供了一个用于分布式环境下交换结构化类型信息的简单、轻量级的机制。 s o a p 采用了已经广泛使用的两个协议:h t t p 和x m l ,h t t p 用于s o a p 的消息传输,x m l 是s o a p 的编码方式。s o a p 解决了互联网中分布式计算所存在的互操作性问题,是s o a 应用中理想的通信协 议。b p e l 对s o a p 的使用主要在服务的调用和流程服务的发布。 3 u d d i 通用描述和发现接口( u n i v e r s a ld e s c r i p t i o na n dd i s c o v e r yi n t e r f a c e ,u d d i ) 规范定义了一个收集 和存储服务元数据( 如w s d l ) 的机制,并提供数据的搜索。u d d i 通常被认为是一种服务目录机制, 它定义了一个用x m l 表示服务描述信息的数据结构标准,并将这些数据聚合为一个服务存储库,服 务提供者可以在其中发布所提供的服务相关信息,并遵循特定领域的服务分类方法。u d d i 的目标是 希望建立一个全球化的、平台无关的、开放式的构架,使得商业应用的w e b 服务能够通过统一的方式 被发现和集成。s o a 下u d d i 的具体实现形式为u d d i 注册中心( u d d ir e g i s t r y ) ,服务的发布通常 是指将服务相应的w s d l 存储到u d d i 注册中心,供其他用户查找和使用。 不过由于技术和商务模式上的缺陷,u d d i 目前并没有在s o a 实践中被广泛接受和采用,其核心 价值尚未得到真正体现,但不可否认,w e b 服务的发现和元数据管理,对企业来说有着至关重要的意 义,它是企业信息基础架构和管理的重要组成部分。在当前的s o a 实践活动中,开发商通常根据自 身需要设计各自的服务注册中心来实现类似于u d d i 的服务目录功能。在基于b p e l 的服务组合设计 过程中,对u d d i 或类似服务注册中心的使用主要在组合服务建模阶段。 2 3 企业服务总线e s b 从图2 1 中可以看出s o a 参考模型的骨干是处于连接层的服务总线,而当前服务总线的主要实现手段 是企业服务总线( e n t e r p r i s es e r v i c eb u s ,e s b ) 。e s b 是传统中间件技术与x m l 、w e b 服务等技术结合的 产物,提供了s o a 环境下信息交互最基本的连接中枢。e s b 是一个基于标准、松散耦合、灵活性和扩展 性非常高的软件平台,适合于对企业组织的异构系统整合,并为以后开发基于s o a 的应用提供自动的集 成,达到按需互连的效果。 8 第二章面向服务的架构技术综述 需要注意的是e s b 并非标准或规范,而是具体实现服务总线功能的商业产品。目前,各个厂商的对 e s b 的理解尚未统一,产品的功能和架构差异性较大。在j s s o a 项目中主要借鉴了开源的m u l e 和i o n a 公司的c e l t i x 架构自主实现了轻量级的e s b 平台,本文的课题研究和应用都基于该平台进行。 2 4 业务流程管理b p m 业务流程管理( b u s i n e s sp r o c e s sm a n a g e m e n t ,b p m ) 的研究历史要远远早于s o a 。b p m 关注企业如 何识别、建模、开发、部署和管理业务流程,从早期的工作流系统( w o r k f l o ws y s t e m ) 开始,一直发展到 现在的w e b 服务组合技术【3 引。 业务流程管理中的“流程”本质上讲是一个将输入转化为输出的相互关联和相互作用的活动的集合。 对一个企业来说,业务流程是指为了满足企业用户的需求和实现企业自身目标,在企业的运营模式、战略 和可利用资源条件下实现产品或服务的一系列活动的实际过程。从这个概念上讲,业务流程是企业实现商 务目标的方法,企业所有的经营管理及相关业务活动( 包括企业内外) 都能通过业务流程模型来抽象。对 企业而言,业务流程是企业重要的知识资产,是企业核心竞争力的体现,一个精心设计和执行的业务流程 能够为企业创造价值并节约成本。 目前,企业内的i t 系统其实都是以某种形式来支持和实现业务流程的,而b p m 的独特之处在于,它 显式的将业务流程逻辑从其它业务规则中分离出来,这与其它形式的系统开发形成了鲜明的对比:在那些 系统中,业务流程深嵌在应用程序代码当中【3 3 1 。 从历史发展看,b p m 并不依赖于s o a ,但s o a 和b p m 有着相近的理想和目标:都希望提升企业适 应市场和环境变化的能力,增强业务敏捷性,只不过二者切入点不同。s o a 是由下而上以整体的系统架构 为基础建立一个松耦合、易扩展的平台;b p m 则是由上而下从业务管理入手,从流程的角度出发,将系统、 用户和业务整合在一起。随着企业级s o a 作为新的信息系统架构逐步被接受和普及,b p m 与s o a 问的协 作将日益紧密。s o a 标准化和松耦合的优点会极大的增强b p m 的企业整合能力和系统弹性,而b p m 在 流程建模领域的经验能有效的指导企业级s o a 建设。 一个完整的b p m 系统核心的基本组件包括: 1 流程建模 主要包括业务流程建模工具( 通常提供了图形化用户界面g u i ) 、业务流程模拟等。 2 流程执行 最核心的组件是流程引擎,它可以导入流程模型,然后执行和管理在该引擎上运行的业务流程实 例。 3 流程监

温馨提示

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

评论

0/150

提交评论