(计算机科学与技术专业论文)soa流程的建模与验证.pdf_第1页
(计算机科学与技术专业论文)soa流程的建模与验证.pdf_第2页
(计算机科学与技术专业论文)soa流程的建模与验证.pdf_第3页
(计算机科学与技术专业论文)soa流程的建模与验证.pdf_第4页
(计算机科学与技术专业论文)soa流程的建模与验证.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(计算机科学与技术专业论文)soa流程的建模与验证.pdf.pdf 免费下载

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

文档简介

本学位论文 授权北京交通大 并采用影印、缩 家有关部门或机 ( 保密的学位论文在解密后适用本授权说明) 学位做作者答名:故j ,印 签字日期:力后年乡月爿日 导师签名: 孑r ,乏芝辛 签字日期:z ,f 7 年石月2 f 日 中图分类号:t p 3 1 u d c :0 0 4 2 北京交通大学 硕士学位论文 s o a 流程的建模与验证 p r o c e s sm o d e l i n ga n dv e r i f i c a t i o no f s e r v i c eo r i e n t e da r c h i t e c t u r e 作者姓名:张小研 导师姓名:孙文辉 学位类别:工学 学科专业:计算机科学与技术 学号:0 8 1 2 0 5 3 6 职称:副教授 学位级别:硕士 研究方向:软件理论 北京交通大学 2 0 1 0 年6 月 一 | i 一 致谢 在论文完成之际,谨向我尊敬的导师孙文辉副教授表示由衷的感谢! 孙老师以 其广博的知识、缜密的思维和严谨的工作研究作风,在论文选题和整个写作过程 中都给了我精心的指导和帮助,我的论文中凝聚了他大量的心血和汗水。孙老师 从学习上、生活上都给予了我无私的关怀,使我不仅学到了专业知识,还为我今 后的工作乃至人生积累了一笔宝贵的精神财富,使我受益终生! 衷心感谢计算机学院的全体老师,通过他们辛勤的教诲,使我的学识和素质 都得到了很大的提高。感谢所有关心和帮助我的朋友和同学,正是我们大家的共 同探讨、相互启发、协同工作,才使课题得以顺利进行,并取得今天的成绩。最 后,向所有关心我和帮助我的人表示最诚挚的谢意。 j, 摘要 摘要 面向服务架构( s o a ) 是先进的业务逻辑和计算理念,面向服务开发是对面 向对象、面向过程及面向数据库开发的重要补充。面向服务开发的方法正在成为 体现模块化,促进复杂的信息系统功能进行分配的最新技术解决方案。在s o a 解 决方案中,业务流程的建立不但是企业信息化战略的执行过程,而且是企业信息 化系统的关键过程。因此,以研究服务组合语言为出发点,构建出良好的s o a 流 程,是很值得研究的课题。 本文使用了一种流行的服务编制语言b p e l 来实现业务流程。它通过组合、 编排和协调w e b 服务,自上而下地实现面向服务的体系结构。b p e l 语言有较强 的表达能力,但b p e l 结构上的复杂性会使其语义不是很清楚,所以在实际应用 中对b p e l 程序的正确性提出了很高的要求。为了更好韵理解b p e l 流程,需要采 用形式化建模的方法对其流程进行建模。本文使用了一种简单的进程代数( f s p ) 的形式化方法对b p e l 语义进行描述,并将一些简单的b p e l 流程映射成l t s 图。 论文以并发进程共享资源问题为具体的研究对象,建立了其b p e l 流程模型。 然后,使用了一种适合于并行系统和协议一致性分析的模型检测工具s p i n ,完成 对形式化模型的验证。其中,本文实现了从b p e l 流程到模型检测器s p i n 的输入 语言p r o m e l a 之间的转换,并且成功的进行了验证;同时,本文对并发进程共享资 源协议设计了其k r i p k e 结构和l t l 模型。分别的在模型检测器- s p i n 中将k r i p k e 结构映射为p r o m e l a 语言,将l t l 公式嵌入到p r o m e l a 程序中进行检验。从而讨论 了支持编制的模拟和验证。 最后,对本文所做工作进行了总结,并给出了后续工作的建议。 关键词:面向服务架构;模型检测;b p e l ;s p i n ;p r o m e l a 分类号:t p 3 1 1 - c o n c e p t s ,s e r v i c eo r i e n t e dd e v e l o p m e n ti sa l li m p o r t a n ts u p p l e m e n tf o ro b j e c to r i e n t e d d e v e l o p m e n t ,p r o c e s s o r i e n t e d d e v e l o p m e n t a n dd a t a b a s eo r i e n t e dd e v e l o p m e n t s e r v i c eo r i e n t e dd e v e l o p m e n tm e t h o d o l o g yi sb e i n gt h el a t e s tt e c h n o l o g ys o l u t i o n s , w h i c hc a ne x p r e s sm o d u l a ri d e aa n dp r o m o t et h ed i s t r i b u t i o no fc o m p l e xi n f o r m a t i o n s y s t e m sf u n c t i o n s i nt h es o as o l u t i o n ,t h ee s t a b l i s h m e n to fb u s i n e s sp r o c e s s e si sn o t o n l yt h ei m p l e m e n t e dp r o c e s so fe n t e r p r i s ei n f o r m a t i o ns t r a t e g y , b u ta l s ot h ep i v o t a l p r o c e s st oe n t e r p r i s ei n f o r m a t i o ns y s t e m s t h e r e f o r e ,s e r v i c e sc o m p o s i t i o nl a n g u a g e sa s as t a r t i n gr e s e a r c hp o i n tt ob u i l dag o o ds o a p r o c e s s e si sw o r t hs t u d y i n g t k sp a p e ru s e sap o p u l a rs e r v i c eo r c h e s t r a t i o nl a n g u a g eb p e lt oa c h i e v eb u s i n e s s p r o c e s s i ta c h i e v e st o p d o w ns 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 u s i n gt h em e t h o do f c o m p o s i n g ,啊r c h e s t r a t i n ga n dc o o r d i n a t i n gw e bs e r v i c e s a l t h o u g hb p e ll a n g u a g e h a v es t r o n ge x p r e s s i v es k i l l ,t h es t r u c t u r a lc o m p l e x i t yo fb p e lw i l lm a k ei t ss e m a n t i c s a r en o tv e r yc l e a r , s oi np r a c t i c a la p p l i c a t i o n , t h ea c c u r a c yo ft h eb p e lp r o c e s sh a s p l a c e de n o r m o u sd e m a n d s i no r d e rt ob e t t e ru n d e r s t a n dt h eb p e lp r o c e s s ,w en e e da f o r m a lm o d e l i n ga p p r o a c ht om o d e li t sp r o c e s s n i sa r t i c l eu s e sas i m p l ef o r m a l a p p r o a c ho fp r o c e s sa l g e b r a ( f s p ) t od e s c r i b et h eb p e ls e m a n t i c sa n dm a k es o m e s i m p l eb p e lp r o c e s sm a p p e dt ol t sp l a n t m st h e s i sm a k e st h ep r o b l e mo fc o n c u r r e n tp r o c e s s e ss h a r i n gr e s o u r c e sa sa s p e c i f i co b j e c to fs t u d y , a n dt h ep r o b l e mi sm o d e l e db yb p e lp r o c e s s t h e n ,am o d e l c h e c k i n g t o o ls p i n ,w h i c hs u i tt op a r a l l e ls y s t e ma n da n a l y s i so f p r o t o c o lc o n f o r m a n c e , c o m p l e t et h ef o r mm o d e lv e r i f i c a t i o n m e a n w h i l e ,t h ep a p e rr e a l i z e dc o n v e r s i o no f b p e lp r o c e s s e st om o d e lc h e c k i n gi n p u tl a n g u a g ep r o m e l a , a n ds u c c e s s f u la c h i e v e v e r i f i c a t i o n ;t h es a m et i m e ,t h i st h e s i sd e s i g n so u tk r i p k es t r u c t u r ea n dl 1 lm o d e lf o r t h e p r o t o c o l o fc o n c u r r e n t p r o c e s s e ss h a r i n gr e s o u r c e s s e p a r a t e l y , m a k i n gk r i p k e s t r u c t u r em a p p e dt op r o m e l al a n g u a g ei nt h em o d e lc h e c k i n gs p 烈a n dm a k i n gl t l f o r m u l ae m b e d d e di n t op r o m e l al a n g u a g ef o ra c h i e v i n gv e r i f i c a t i o n t h e r e f o r e ,t h ep a p e r d i s c u s s e dt h eo r c h e s t r a t i o nc a nb es i m u l a t e da n dv e f i f i c a t e d f i n a l l y , t h i s a r t i c l es u m m a r i z e st h ew o r kd o n ea n dt h er e c o m m e n d a t i o n s o f f o l l o w - u pw o r ka r eg i v e n k e y w o r d 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 ;m o d e lc h e c k i n g ;b p e l ;s p i n ;p r o m e l a c l a s s n o :t p 31 j l 1 - 目录 目录 摘要v a b s t r a c t v i i i 绪论一 1 1 课题背景1 i i i 面向服务架梅l 1 1 2 基于b p e l 的服务组合描述3 1 1 3 模型检验的必要性一4 1 2 论文研究内容和技术路线 1 3 论文组织结构一 5 6 2w e b 服务与s o a 一9 2 1w e b 服务简介9 2 2w e b 服务的相关技术9 2 2 1w e b 服务基本技术9 2 2 2w e b 服务实现技术lo 2 3w e b 服务是构建s o a 的核心1 1 2 3 1s o a 中使用w e b 服务的优势11 2 3 2s o 刖w 曲服务在企业应用集成中的方法1 3 2 3 3s o a 面临的困境。1 4 3 模型检测和模型检测工具15 3 1 模型检测15 3 1 1 模型检测概述1 5 3 1 2 模型检测技术1 5 3 2 模型检测工具s p i n 1 6 3 2 1s p i n 的概述1 6 3 2 2s p i n 的安装和使用l8 3 3s p i n 的建模语言p r o m e l a 1 9 3 3 1p r o m e l a 语言的简介1 9 3 3 2p r o m e l a 语言的使用一2 0 4b p e l 技术与应用2 7 4 1b p e l 技术的研究概述2 7 4 1 1b p e l 的基本思想2 7 5 2 模型检测中的时态逻辑4 6 5 2 1 线性时态逻辑( l t l ) 一4 6 5 2 2 计算树逻辑( c t l ) 4 7 5 3 标号算法对并发进程的研究4 8 5 3 1 模型检测中的关键技术4 8 5 3 2k r i p k e 结构4 8 5 3 3 标号算法4 9 5 4b p e l 程序在s p i n 中的验证分析5 4 5 4 1b p e l 流程到p r o m e l a 程序的验证5 4 5 4 2 并发进程共享资源协议的性质在s p i n 中的验证5 6 6 结束语一6 3 6 1 论文工作总结6 3 6 2 后续工作建议- - 6 4 6 3 研究展望6 5 参考文献6 7 作者简历6 9 独创性声明7 l 学位论文数据集7 3 一 j 、, l r 绪论 1 1 课题背景 1 1 1 面向服务架构 1 绪论 电子商务是信息时代的重要变革之一,它通过互联网把业务经营和信息技术 结合起来,大大提高了企业的工作效率。然而,复杂性始终是信息技术必须面对 的现实。无论是构建新应用、替换现有应用,还是及时处理各种维护与改进要求 都是复杂性的体现,也是一项重大挑战。因此,考虑到如果所有应用都使用公共 的编程接口及互操作协议,将有助于降低这些复杂性。公共编程接口统一了应用 的使用方式,这将能更加轻松的完成对现行基础设施的替换和更新。基于这种思 想,面向服务的开发模式的产生成为信息时代的又一个重大变革,它通过服务的 概念把企业业务和信息技术统一起来,使业务经营和信息技术人士的交流有了共 同的理解基础,使面向服务的业务分析与技术分析有了统一的元素基础。 面向服务开发是对面向对象、面向过程及面向数据库等开发方法的补充。面 向服务开发具有很多优点:创建可重用于各种应用服务的能力,体现可重用性; 通过组合现有服务以快速创建新的服务与应用的能力,以及集中于数据共享而非 底层实现的能力,提高了开发效率;独立于服务的执行环境进行服务建模的能力, 实现与技术的松耦合;令业务人员和技术人员分别关注业务问题和技术问题,两 组人员通过服务契约进行协同工作的能力。 开发服务与开发对象不同,一个服务是由它与其他服务交换的消息来定义的, 而不是由一个方法来定义的。服务定义所在的抽象层次比对象定义所在的抽象层 次高。一般来说,服务都会定义粗粒度的接口。服务是用来解决应用问的互操作 问题以及用于组合新的应用系统,而不是为应用创建具体业务逻辑。相对于对象 调用来说,对服务的单次调用会接收更多的数据,消耗更多的计算资源。因为它 需要对执行环境映射和对x m l 处理等工作,而且服务的访问通常都是远程的。 服务的执行是根据服务所支持的消息交换模式进行消息交换,包括请求、响 应、发布及订阅等。用服务来设计、开发和部署应用,需要i t 人员思考方式上的 重大转变。在分工职责上实现技术问题与业务问题的明确分离,它包括如下两个 部分的开发任务: ( 1 ) 创建服务:要处理和部署服务所涉及的下层技术的复杂性,还要确保w e b 服务的描述与服务消费者的需求相一致,并且双方共享着应有的数据。 北京交通大学硕士学位论文 ( 2 ) 使用服务:在组装新的合成应用和业务流程流时,要确保共享数据及流 程能够准确反映业务的运营和战略需求。 面向服务的架构( s e r v i c eo r i e n t e da r c h i t e c t u r e ,s o a ) 是一套用于实现应用间互 操作以及重用i t 资产的方法。它对构架方面( 比如治理、过程、建模和工具等) 。 强烈关注;它具有恰当的抽象层次,有利于促进业务需求与技术能力的协调配合, 和创建可重用、粗粒度的业务功能;它还是一种适于快速、方便的构建新应用的 。 部署基础设施。在进行面向服务开发的过程中,在部署服务时采用一种面向服务 的架构,服务将有利于创建各种新的战略方案。包括快速应用集成、自动化业务 流程、支持多渠道服务的应用( 包括固定设备和移动设备) 。s o a 可以促进在不同 的软件问进行服务合成,无论这些软件是已有的还是新的,是部门级的还是企业 级的,是运行在大型机、中间层,还是p c 机或移动设备上的,都可以通过s o a 将它们组合成流畅的i t 流程,并有助于i t 环境的改进【2 1 。 面向服务架构( s o a ) 是一种设计方式,它指导着业务服务在生命周期中的 创建和使用等各个方面。s o a 也是一种定义和提供i t 基础设施的方式,它允许不 同应用相互交换数据,参与业务流程,无论它们背后使用的是何种操作系统或采 用了何种编程语言。 s o a 还可被看做是一种构建i t 系统的方案,它将业务服务作为协调i t 系统 与业务需求的关键组织原则。早期构建i t 系统的方案,大多是直接使用特定的实 现环境( 比如面向对象、面向过程、面向消息等) 来处理这些业务问题,结果造 成i t 系统依赖于具体的执行环境的特性与功能。s o a 是利用面向服务开发的最好 方式,与之前的i t 系统关注于技术本身、让人们去适应不同的技术,面向服务通 过将技术更自然的贴近于需要它的人们,实现了项目成本的缩减和项目成功率的 提高。 s o a 的真正优点p j 体现在部署以后的各阶段中。那时,就可以通过组合现有 服务来开发整个或近乎整个新应用。一旦可以通过现有的可重用服务来组合新应 用,便可以实现最低成本、最短时间以及最佳投资收益率。不过,要实现这一点 是需要一定时间的,并且需要在服务开发上做相当大的投资。 一 成功实现s o a 的关键1 4 】,是为可重用服务库中的每个服务确定正确的设计与 功能。这些服务一定要反映机构的运营特点。s o a 要将业务的运营特性自动化, 。 而成功的s o a 项目应确保可重用的软件服务与实际的业务流程完全一致。业务流 程与其软件实现的良好配合与协作,令业务运营流程可以根据外界环境的变化做 出快速变化,从而令机构能够适应发展的需求。 随着企业战略逐渐转向以用户为中心,业务需求越来越复杂、动态,企业信 息化更加关注随需应变的信息化业务流流程的实现。从强调对业务的支持、流程 2 、 绪论 的优化到业务模式的创新,再到目前更加关注用户的体验,应用集成成为企业信 息化过程中的主要支撑技术。关键技术的融合以及对w e b 服务的广泛接受,将对 面向服务的企业产生极大的影响:加快新产品、新服务的上市速度,降低i t 成本, 提高运营效率5 1 。 1 1 2 基于b p e l 的服务组合描述 随着w e b 服务技术在企业中广泛普及和日益流行,如何在不改变这些w e b 服 务正常运行的情况下,将它们集成起来创造出新的业务模型、业务流程就成为一 个比较突出的业务需求。近期,一种发展比较成熟的,用来描述网络服务组成的 业务流程执行语言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 nl a n g u a g e ) 或称b p e l 4 w s 是一种使用w e b 服务来定义和执行业务流程的语言。它可以通过组合、编排和协 调w e b 服务自上而下地实现面向服务的体系结构。同时,b p e l 是工业界的标准, 相对于其他组合语言,b p e l 有较强的表达能力,它可以通过一些基本活动构造一 个新服务,可包含丰富的控制结构1 6 】1 7 】。 在企业内部,b p e l 用于标准化企业应用程序集成以及将此集成扩展到先前孤 立的系统。在企业之间,b p e l 使业务合作伙伴之间的集成变得更容易、更高效, 进而实现了流程的进一步优化。另外,b p e l 中描述的业务流程定义并不会影响现 有的系统,因此对系统升级产生了促进作用。在已经或者将要通过w e b 服务公开 功能的环境中,b p e l 是一项重要的技术。随着w e b 服务的不断普及,b p e l 的 重要性也随之提高。 b p e l 基于x m l 和w 曲服务构型1 1 。它使用一种基于w 曲的语言,该语 言支持w e b 服务技术系列,包括s o a p 、w s d l 、u d d i 、w e b 服务可靠性消息、 w e b 服务寻址、w e b 服务协调以及w e b 服务事务等,图1 1 为b p e l 支持的w e b 标准块示意图。 3 1 1 3 模型检验的必要性 行。 流程 接来 象的 样就 的可 接口 被开发的软件系统成熟与否,安全性和正确性起着越来越重要的作用。一个 小小的错误,就能造成巨大的影响。2 0 0 5 年1 1 月1 日东京证券交易所因为软件升 级出现故障,导致早间股市“停摆”,“熊猫烧香病毒”致使一夜之间上百万台计 算机感染并遭到破坏。种种现象已表明我们的信息基础设施j 下建立在脆弱的软件 之上。 如果能在软件开发的早期工作中发现错误,则可以大大减少导致严重后果的 因素。而模型检测的方法就是致力于研究大型、复杂的软件系统开发过程中的, 4 绪论 能有效的在开发早期发现错误,并纠正错误。模型检验是一种基于有限状态模型, 并检验该模型的期待特性的技术。它是使用状态空间搜索的办法来全自动的检验 一个有穷状态系统是否满足其设计规范。模型检测中的关键技术问题是如何设计 数据结构和算法,用以表示和遍历大规模的系统模型状态空间。关于具有时序性 质的并发系统模型检验理论和技术在工业界已经得到实际的应用,目前模型检验 的研究热点已经转向实时系统和软件系统。已有的模型检验工具可分为时态逻辑 模型检验工具、行为一致检验工具和复合检验工具。如s m v 、s p i n 、m u r p h i 、b d d s 等。本论文主要介绍模型检测工具s p i n ( s i m p l ep r o m e l ai n t e r p r e t e r ) 的相关使用, 因为s p i n 是特别适合于软件系统,尤其对协议一致性的辅助分析检测的工具。目 前,s p i n 被广泛的应用于工业界和学术界,是功能最强的模型检测工具之一【8 】。 通过组合、编排和协调w e b 服务自上而下地实现面向服务的体系结构的业务 流程语言b p e l ,虽然表面上去看很清楚,但通常都会存在不一致性、模糊性和不 完全性的缺陷。这是由于并发和复杂特征的出现,如补偿处理、相互关系、死路 径等,会使b p e l 流程引发错误。为了保证b p e l 流程行为的正确性,同许多语言 一样,采用形式化定义b p e l 可以消除其存在的不一致性、模糊性。b p e l 委员会 ( w s b p e lt c ) 被公认为定义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 流程的正确实现是s o a 解决方案中一个重要环节,所以研究b p e l 流程的语义正确性对构建面向服务架构的实现至关重要。而其实质就是研究s o a 流程的建模和对模型的验证,本论文采用了一种叫s p i n 的模型检测工具,围绕建 模的b p e l 流程进行相关研究。 1 2 论文研究内容和技术路线 s o a 系统成功的关键在于保证服务组合的正确性和有效性,这也是s o a 设计 中面临的最大困难之一。因此,需要对s o a 流程的建模进行有效验证,论文主要 讨论如何使用服务编制语言b p e l 对业务流程进行建模,并实现其在模型检测工 具s p i n 中的验证。 本论文的主要工作分为以下几个方面: 5 北京交通大学硕士学位论文 ( 1 ) 分析研究b p e l 如何通过组合、编排和协调w e b 服务自上而下地实现面 向服务的体系结构( s o a ) 。 ( 2 ) 对b p e l 的形式语义进行探讨研究。由于b p e l 结构上的复杂性会使其语 义不是很清楚,需要相应的形式化模型对其刻画。 ( 3 ) 介绍一种适用于并行系统的模型检测工具s p i n ,它尤其适用于协议一致 性的辅助分析。详细介绍了s p i n 的输入语言p r o m e l a ( p r o t o c o l p r o c e s sm e m l a n g u a g e ) ,它可以对网络协议设计中的规格的逻辑一致性进行检验,并报告系 统中出现的死锁、无效循环、未定义接收和标记不完全等状况。 ( 4 ) 讨论如何把b p e l 程序转换成p r o m e l a 语言,并实现在s p i n 中的验证。 从而来讨论支持编制的模拟和验证。 本论文的研究目标是设计并实现对s o a 流程的建模的正确性验证。针对这一 目标,论文分析了具有较强表达能力的服务编制语言b p e l 有关操作语义的建模 流程。同时,为了证明模型的有效性和正确性,又引入了一种比较先进的模型检 测工具s p i n 作为验证工具。本论文具体设计并实现了建模并发进程共享资源的 b p e l 流程,以及从该b p e l 流程到模型检查器s p i n 的输入语言p r o m e l a 的转换。 最后,本论文通过对b p e l 流程的建模进行测试和结果分析,进一步验证了支持 编制的模拟和验证的可行性。并在此基础上提出了后续的工作意见。 1 3 论文组织结构 本文总共分六章,论文的整体结构如图1 2 所示。各章的主要内容如下: 第一章:主要介绍了论文课题的提出背景,论文主要涉及的研究内容和组织 结构: 第二章:详细阐述了w e b 服务的相关技术,包括流程的建模和执行技术b p e l 、 语义w e b 技术和服务级的安全技术。以及讨论了w e b 服务和s o a 的重要关联性。 本论文将主要对s o a 流程的建模技术进行分析研究; 第三章:本章介绍了模型检测机制,重点说明了一种模型检测工具s p i n ,并 详细介绍了其输入语言p r o m e l a 的语法规则等; 第四章:本章是本文的重要部分,详细阐述了服务编制语言b p e l 的技术实 现与应用,包括对b p e l 流程的说明及其语义的转换; 第五章:本章是论文的核心部分,是在第四章基础上建模并发进程共享资源 的b p e l 流程,同时给出其形式语义。完成b p e l 程序到p r o m e l a 语言的转换,并 实现在其在s p i n 中的验证分析; 第六章:本章是论文的结束语,对论文的工作进行了总结并且提出了本课题 6 绪论 未来的发展方向。 第一章绪论 课题的提出 上土 厂论文的理论基础 、 一 第二章w e b 服务与s o a l 羔 e 第三章模型检测和模型检测工具 : 理论依据及技术实现上土 厂、 第四章b p e l 技术与应用 上上 b 1 第五章眦程序的验证 论文的概括和总结 气7 1 第六章结束语 l一删 图1 - 2 论文组织结构示意图 f i g u r e1 - 2s t r u c t u r eo fd i s s e r t a t i o no r g a n i z a t i o n 7 w e b 服务与s o a 2 1w e b 服务简介 2w e b 服务与s o a w e b 服务是基于网络的、分布式的模块化组件,它遵守具体的技术规范,这 些规范使得w e b 服务能与其他兼容的组件进行互操作;它可以使用标准的互联网 协议,如h t t p 和x m l ,将功能体现在网络上;w e b 服务用于传递消息、描述服 务、发现服务以及其他扩充功能;它提供个各种被广泛采纳的、用于分布式计算 的接口描述,以及通过消息进行文档交换的开放标准;w e b 服务还具有与下层执 行技术和应用无关的特性,同时也对合成应用( 比如业务流程流、多渠道服务、 快速集成等) 支持。 发布面向服务架构规范的w 3 c 在2 0 0 4 年2 月对w r e b 服务定义i lj 为:单个的 w e b 服务,就是一个支持机器之间通过网络进行交互的软件系统。w e b 服务使用 机器可以处理的格式来描述自己的接口。其他系统则依据该接口描述,使用s o a p 报文格式与w e b 服务通信。在最新的w e b 服务架构规范中,w 3 c 纳入了它多推 荐的协议,如s o a p 、w s d l 、x m l 及h t t p 传输协议,强调w e b 服务的跨平台 和系统自动识别、交互处理。 实际上,w e b 服务的定义在企业界中依据价值链的不同位置而各有侧重。 g a r t n e r 强调w e b 服务的标准性和松散耦合;m i c r o s o f t 强调w e b 服务与x m l 、 w e b 、组件技术的结合及应用;i b m 强调w e b 服务问的协作及其作为分布式应用 程序实现技术的特征;s u n 强调w e b 服务作为一种分布式计算技术的特性及智能 服务的实现。这都体现了w e b 服务的一个重要思想就是将一组在线服务组合成新 的应用。 2 2w e b 服务的相关技术 2 2 1w e b 服务基本技术 随着w e b 技术在业界的广泛应用,w e b 服务和w e b 技术的关联度越来越高, 2 0 0 4 年的w e b 服务架构规范明确提出要和w e b 技术紧密整合。考虑到w e b 技术 的成熟性,利用w e b 技术可以使w e b 服务的通信、部署、运行等大多数技术和设 施快速得到完善。而所谓的w e b 服务技术,也专指针对w e b 服务、直接支持w e b 9 北京交通大学硕士学位论文 服务实现和运行的服务描述、通信和交互技术。 w e b 服务通过一系列标准协议来描述、传递和交换服务。w e b 服务的基本技 术均为基于x m l 的标准协议规范,比如x m ls c h e m a 、s o a p 、u d d i 、w s d l 和 b p e l 。x m ls c h e m a 为不同系统之间的数据交换提供了一个核心的跨平台数据建 模工具;s o a p 为在不同服务之间实施平台无关的交互定义了一套基本的规则和跨 平台的消息机制;w s d l 是w e b 服务接口的跨平台描述工具,w e b 服务的交互接 口因此可以被系统自动处理;u d d i 提供了w e b 服务的注册和查询机制,使基于 w e b 服务的动态服务组合与集成成为可能;它们都已经成为w 3 c 和o a s i s 的推 荐标准川1 2 j 。 2 2 2w e b 服务实现技术 从表面上看,w e b 服务是一个应用程序,是一个能够通过w e b 进行调用的接 口( a p i ) 。也就是说,用户可以用编程的方法通过w e b 调用来实现某个功能的应 用程序。从应用程序层面看,w e b 服务是一种特别的w e b 应用程序,是自包含、 自描述、模块化的应用程序,可以通过互联网特别是w e b 被描述、发布、查找以 及调用。在基于w e b 服务实现应用系统和业务流程时,除了w e b 服务本身的描述、 通信、查找技术外,还需要实现和应用层面的其他关键技术,比如服务组合、流 程建模、语义本体、事物管理、安全性等技术的支持。以下是几个主要的应用技 术【1 】【5 】: ( 1 ) 流程的建模和执行技术b p e l 4 w s 。b p e l 4 w s 已经改为w s b p e l ,它是 m i c r o s o f t 、i b m 、b e a 等公司推出的,用于w e b 服务业务流程描述的语言,是业 务流程领域获得广泛支持的面向服务建模语言。基于b p e l 4 w s 的流程建模,在 部署和实现上发布为w e b 服务。b p e i a w s 能够把多个w e b 服务集成起来,从而 创建出复杂的流程。 b p e l 4 w s 业务流程主要包含 ( 用于定义流程中用到的业务链 接) 、 ( 用于定义参与流程的业务伙伴) 、 ( 用于保存流程中 用到的数据) 、 ( 用于处理流程的相关性) 、 ( 用于 定义处理异常情况的活动) 、 ( 用于定义补偿活动) 、 ( 用于定义事件处理器) 以及a c t i v i t y ( 包含流程涉及到的各种活 动) 。 ( 2 ) 语义w e b 技术。服务匹配是w e b 服务应用领域的重要问题,语义描述是 w e b 服务实现自动交互的基础。通常,业务功能可以由单个服务提供,也可以通 过w e b 服务的组合提供。 1 0 w e b 服务与s o a w e b 服务具有广泛的适用性,w e b 服务的组合是松散的,因此业务功能涉及 的服务是动态可置换的。在w e b 服务的设计环境中,服务确定、粒度规划和服务 组合,以及在w e b 运行环境中的服务发现、组合和动态配置,都要使用服务的搜 索和匹配技术。 在语义描述领域,除了r d f r d f s 等基础语言外,支持w e b 服务完整描述的 本体语言,如o w l s ,已被开发并标准化。o w l s 基于o w l ,支持自动的w e b 服务发现、执行、交互、集成与观测。 ( 3 ) 服务级的安全技术。用于w e b 服务的安全性协议是从w e b 服务安全性 ( w s s e c u r i t y ) 规范开始的,该规范为安全通信定义了基于令牌的体系结构。以 此为基础,有六个主要的组成规范: w e b 服务策略( w s p o l i c y ) 和相关的规范,定义了关于服务交互方式的策 略规则; w e b 服务信任( w s t r u s t ) ,定义了安全交换的信任模型; w e b 服务隐私( w s p r i v a c y ) 定义了如何维护信息的隐私; w e b 服务安全会话( w s s e c u r ec o n v e r s a t i o n ) ,定义了如何使用在w e b 服 务策略、w e b 服务信任和w e b 服务隐私中定义的规则,来在用于交换数据的服务 之间建立安全会话; w e b 服务联盟( w s f e d e r a t i o n ) 定义了分布式标识的规则以及如何对其进 行管理; w e b 服务授权( w s a u t h o r i z a t i o n ) 定义了如何处理对访问和交换数据的授 权。 2 3w e b 服务是构建s o a 的核心 2 3 1s o a 中使用w e b 服务的优势 用w e b 服务成功的实现了一种面向服务的架构( s o a ) 的企业将具有一定的 竞争优势【2 】,因为针对战略性业务目标构建的服务可以对不断变化的业务需求做出 更快的响应,而那些针对具体执行环境构建的i t 系统则不可能做到。它的优势包 括:易于进行w e b 服务的合成及改变w e b 服务的合成方式;另外,修改w e b 服务 及x m l 数据的代价,也比修改执行环境的代价低。 此外,将s o a 用于应用集成、业务流程管理及多渠道服务,可以令企业创建 更具战略性的i t 环境,以更符合业务的运营特征。实现s o a 要用服务来设计、 开发和部署应用。不但需要处理部署服务所涉及的下层技术的复杂性,而且要确 北京交通大学硕士学位论文 保服务的描述与服务消费者的需要相一致。有效实现了技术问题和业务问题的明 确分离。 用w e b 服务作为实现s o a 的技术平台还具有许多优点【3 1 【5 1 ,表现在w 曲服务 是广泛普及的、简单的和平台中立的。其中最主要的是:一种简单的文档标记语 言( 比如h t m l 或x m l ) 和一个轻量级的文档传输协议( 比如h 1 v r p ) ;前者提 供了强大的互操作性,有助于简化系统的开发与集成;后者提供了有效的、统一 的数据传送机制。在w e b 上,使用哪个操作系统( 比如w i n d o w s 或l i n u x ) ,采用 何种w r e b 服务端( 比如a p a c h e 或i i s ) ,用什么语言( 比如j a v a 或c 撑) 编写业 务逻辑,以及使用哪种浏览器( 比如i n t e m e te x p l o r e r 或n e t s c a p e ) 都无关紧要。 最重要的是w e b 服务端能够理解h t m l 文件的h 1 v r p 请求,以及浏览器知道如何 将h t m l 文件显示出来。 基本的w e b 服务构架包含了s o a p 、w s d l 、u d d i 等支持服务请求者与服务 提供者进行交互,以及用于w e b 服务发现的规范。服务提供者用w s d l 来描述它 所提供的w e b 服务,然后将w s d l 描述发布;服务请求者通过u d d i 来获取w s d l 描述,并通过向服务提供者发送一个s o a p 消息来请求执行服务。基本的w e b 服 务标准,已经适于构建基于s o a 的应用了。除了以上这些基本的w e b 服务规范, 其他各种用于安全性、可靠性、事务性以及服务编制等方面的补充w e b 服务规范 也正在标准化的过程之中,这些都为基于s o a 的解决方案提供了必须的企业级服 务质量。要新建基于s o a 的企业应用,w e b 服务标准对于创建和维护这样的s o a 是很有裨益的。这些应用通常被称作合成应用,因为它们要组合多个服务。这种 组合的基础设施不但可以确保i t 技术和企业

温馨提示

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

评论

0/150

提交评论