(计算机软件与理论专业论文)web服务接口的相容性与调解研究.pdf_第1页
(计算机软件与理论专业论文)web服务接口的相容性与调解研究.pdf_第2页
(计算机软件与理论专业论文)web服务接口的相容性与调解研究.pdf_第3页
(计算机软件与理论专业论文)web服务接口的相容性与调解研究.pdf_第4页
(计算机软件与理论专业论文)web服务接口的相容性与调解研究.pdf_第5页
已阅读5页,还剩99页未读 继续免费阅读

(计算机软件与理论专业论文)web服务接口的相容性与调解研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 w - e b 服务技术通过使用一系列的标准规范,为互联网上的不同应用提供了语 法互操作性支持,使得企业之间的应用交互从局部范围发展到全球范围成为可 能。利用w - e b 服务技术进行交互的应用只需遵从相应的w 曲服务接口,而不需 考虑各自的内部实现,从而极大地降低了交互应用之间的耦合度,增加了企业应 用的灵活性。因此,w 曲服务技术已经逐渐成为实现企业内应用集成和企业间应 用交互的主流技术。 由于w 曲服务的松散耦合特性,其在提高应用灵活性的同时,也引出了新 的研究问题,即如何保证两个独立开发的应用之间的w 曲服务接口能够互操作。 当前的w 曲服务技术只能在语法上为不同应用的w 如服务接口提供互操作性支 持,而w 曲服务接口的语义互操作性问题尚有待解决。本文使用形式化的方法 对w r e b 服务接口的相容性和调解问题进行了研究,给出了它们的严格定义并设 计了一系列相关的算法,具体内容包括: 1 ) 研究了w e b 服务接口应含信息的界定问题。通过分析w - e b 服务的交互行 为,指出了一个w 曲服务接口应当包含两个部分:消息描述和流程描述。其中, 消息描述定义一个w - e b 服务接口所支持的所有消息的模式和方向,流程描述定 义一个w e b 服务接口与其伙伴的所有消息交换之间的依赖关系。 2 ) 研究了w ,e b 服务接口中消息之间的相容性问题。给出了一种基于领域本 体的w 曲服务消息注解方法,并对带注解的w 曲服务消息进行了形式建模。基 于消息的形式模型,定义了w 曲服务接口的消息相容性,并给出了相应的判定 算法。为了对不完全相容的w 曲服务消息进行处理,还提出了一种消息相容程 度的量化方法,对w e b 服务接口的消息相容度进行了定义,同时也给出了相应 的计算算法。 3 ) 研究了w 曲服务接口中流程之间的相容性问题。为w r e b 服务流程提出了 一个形式模型并给出了从流程描述到流程模型的转换方法。基于流程的形式模 型,研究了两个流程的交互中可能发生的三种异常性质:未指定接收、死锁和活 锁。根据这三种异常性质,定义了两个w ,e b 服务流程之间的相容性,同时给出 了相应的判定算法。为了对不完全相容的w 曲服务流程进行处理,通过对上述 三种异常性质的量化,提出了种计算两个w 曲服务流程之间相容度的方法, 并给出了相应的计算算法。 4 ) 研究了不相容w 曲服务接口的调解方法。针对不相容的w 曲服务消息, 定义了对消息的相应部分进行转换的属性调解规则和元素调解规则,同时分别给 摘要 出了不相容消息的属性调解规则和元素调解规则的生成算法。针对不相容的w r e b 服务流程,首先对w e b 服务的流程模型进行了扩充,给出了适合调解流程的形 式模型,并基于该形式模型提出了一个调解流程的生成算法;然后定义了调解流 程的相容性和可靠性,并从理论上分别证明了算法所生成的调解流程具有相容性 和可靠性。 关键词:w r e b 服务,w e b 服务接口,消息相容性,流程相容性,消息调解,流程 调解 i i a b s t r a c t w e bs e r v i c e sh a v ep r o v i d e ds y n t i ci n t e r o p e 蹦) i l i 谚f o rd i s p a r a t ea p p l i c a t i o n s o nt h ei n t e m e tb yu s i n gas 甜e so fs 锄d a r ds p e c i f i c a t i o i l s s i n c ei n t e r a c t m g a p p l i c a t i o n sb a s e do nw e bs e r v i c e so i d yn e e dt oo b e yt 1 1 e i rr e s p e c t i v ei n t e 咖e s ,l e i r c o u p l m gd e 盯e ec a i lb er e d u c e da i l dt h en e x i b i l i t ) ro ft h e mc a i l b ei i l c r e 韶e dal o t 1 1 1 e r e f o r e ,t h ew e bs e n ,i c e st e c l l i l 0 1 0 9 ) ,i sb e c o r l l i n gam 面o ra p p r o a c h t oe n t e 印n s e a p p l i c a t i o n 访t e g r a t i o na i l d b u s i n e s st ob u s i n e s sn e m c t i o n s s i n c ew e bs e i c e sb a s e ds y s t e m sa r el o o s e l yc o u p l e d ,an e w i s s u eo c c u r s :h o w t oe n s u r et h a tt w ow e bs e r v i c e 硫嘞c e sc a i li i l t e r o p e ra _ t e 、h e nm e ya r ed e v e l o p e d i n d e p e n d e n t l y ? c 晡e n tw e bs e i c e st e c h n o l o g yj u s to f f e r ss y n t a c t i ci n t e r o p e r a b i l i t y f o ra u t o n o m o u sw e bs e r v i c em r i k e sw h i l e 1 es e m a n t i ci n t e r o p e r a l b i l i t ) ro ft h e mi s s t i l l 强o p c np r o b l e m 1 h sd i s s e 划i o nu s e saf o 姗a la p p r o a c ht 0 a d d r e s s 心 c o m p a t 如i l 时a n dr n e d i a t i o ni s s u e so fw e bs e r v i c ei i l t e m l c e s t h em a i nc o n t e n t so f t h ed i s s e r t a t i o n 扣ea sf b l l o ,s : l1h o wt 0d e t e 肌i i l em ei 晌i l a t i o naw e bs e n r i c ei r l t e r f a c en e e d st 0i n c l u d ei s s t u d i e d b a s e do na i la i l a l y s i so ft l l ei n t e r a c t i o nb e h a v i o r so fw e bs e r v i c e s ,、ep o i n t o u tt h a taw e bs e r v i c e 血t e 止圮es h o u l dc o n t a 洫t w op a r t s :m e s s a g e sa n dap r o c e s s w 1 1 i l et h em e s s a g e sp a r td e 丘n e sm es c h e m a u sa i l dd i r e c t i o n so fm e s s a g e sm ei n t e r f a c e s u p p o r t e d ,t h ep r o c e s sp a r td e f i n e s ap r o c e s sm a tp u t so r d e r i n gc o n s t r a m t so n 也e m e s s a g ee x c h a i l g e s 2 ) t h em e s s a g ec o m p a t i b i l i t yb e t w e e nw e bs e r v i c ei n t e r f a c e si s 咖d i e d f i f s t , w ep r e s e n ta i lo n t o l o g yb a s e da p p r o a c ht os 锄a n t i c a l l ya n n o t a t em e s s a g es c h e m a s , a 1 1 dp r o p o s eaf 0 m l a lm o d e lf o rt h ea i l n o t a t e dm e s s a g e s t h e n ,w ed e f i n et h em e s s a g c c o m p 撕b m c yb a s e do nt h ef o m l a lr n e s s a g em o d e la n dd e v i s eam e s s a g ec o m p a t i b i l i t y c h e c ka l l g o r i t h 】m h lo r d c rt 0d e a l i n g 丽t l l 洫c o l p a t i b l em e s s a g e s ,w ea l s op r o p o s ea q u a i l t i t a t i v ea p p r o a c ht om e a s u r et 1 1 ec o m p a t i b i l 时d e g r e eo fm e s s a g e s 锄dd e v i s ea n a l g o r i t h mt oc o m p u t et h em e s s a g ec o m p a i i b i l 时d e g r e e 3 ) 1 1 1 ep r o c e s sc o m p a t i b i i i 锣b e t w e e nw e bs e i c ei 1 1 t e r f a c e si ss t u d i e d w ef 讷t p r o p o s eaf o n n a lm o d e lf o rw e bs e i c ep r o c e s s e sa i l dp r o v i d er u l e st ot r a n s f b n n p r o c e s sd e s c r i p t i o n st oc o n e s p o n d j n gm o d e l s b a s e do n 血ef o 册a lp r o c e s sm o d e l ,w e d e f i n et 量l r e ee x c e p t i o np r o p e r t i e so fw e bs e i c ci n t e r a c t i o n s :l s p e c i f i e dr e c 印t i o n , d e a d l o c ka n dl i v e l o c k t h e n ,w ed e f i n em ep r o c e s sc o m p a t i b i l i t yb a s e do nm et h r e e i i i a b s 仃a c t e x c e p t i o np r o p e n i e s 锄dd e v i s eap r o c e s sc o m p a t i b i l i t yc h e c ka j g o r i t h m i i lo r d e rt 0 d e a j i n g 、i mi n c o m p a t i b l ep r o c e s s e s ,w e2 l l s op r o p o s ea 卟i a n t i t a t i v ea p p r o a c ht o m e a s u f et l l ec o m p a t i b i l i 够d e 伊e eo f p r o c e s s e sb a s e do nm et i l r e ee x c e p t i o np r o p e r t i e s a n dd e v i s ea na l g o r i m mt oc o m p u t et l l ep r o c e s sc o i n p a t i b i l i t ) ,d e g r e e 4 ) t h em e d i a t i o nm e t h o d sf o ri 1 1 c o m p a t i b l ew e bs e n ,i c ei n t e r f a c e sa r es t u d i e d f 0 ri n c o m p a t i b l em e s s a g e s ,w ef i r s td e f i n et w 0k i l l d so fm e d i a t i o nm l e s :a t t 曲u t c m e d i a t i o nr u l ea 1 1 de l e m e n tm e d i a t i o nm l e ,、枷c ha r eu s e dt 0c o n v e r tm e s s 鸭e s ,a 1 1 d t 1 1 e nd e v i s et h ea l g o r i t m sf o rg e n e r a t i n gt h ea t t l 曲u t em e d i a t i o nr u l e sa 1 1 de l e m e n t m e d i a t i o nr u l e s f o ri 1 1 c o m p a t i b l ep r o c e s s e s ,w em s te x t e n dm ew e bs e r v i c ep r o c e s s m o d e lt oc a t e rf o rm e d i a t i o np r o c e s s e s ,a n dt h e nd e v i s ea na l g o r i t h mt os y n t h e s i z et h e m e d i a t i o np r o c e s sf b m i n c o n l p a t i b l ep r o c e s s e s b a s e do nt h ep r e s e n t e dd e f i n i t i o n so f t h e c o m p a t i b i l 时a i l dr e l ia _ b i l i 够o fm e d i a t i o np r o c e s s e s ,w ea l s op r o v et l l a ta m e d i a t i o np r o c e s ss y n t h e s i z e db yt 1 1 e 出g o r i t l u l li sc o m p a t i b l ea n dr e l i a b l e 诵t 1 1t h e m e d i a t e dp r o c e s s e s k e yw o r d s :w e bs e r v i c e s ,w e bs e r v i c ei m e r f a c e s ,m e s s a g ec o m p a t i b i l i 够, p r o c e s sc o 瑚l p a t i b i l i t ) r ,m e s s a g em e d i a t i o n ,p r o c e s sm e d i a t i o n 图表目录 图表目录 图1 1w e b 服务协议栈2 图1 2w s d l 文档的结构3 图1 3u d d i 核心数据结构5 图1 4w 曲服务基本架构。6 图1 5供应链系统示例8 图1 6w 曲服务三大研究领域示意图9 图2 1购买者和销售者之间的消息交换1 9 图2 2 消息p 盯c h a s e o r d e r 的模式2 0 图2 3消息0 r d 盯c o l l f i 衄a t i o n 的模式2 l 图2 4消息p a y m e n t 的模式2 l 图2 5消息s l l i p m e n t 的模式2 l 图2 6购买者接口的流程2 2 图2 7销售者接口的流程2 2 图2 8消息p u r c h a s e o r d e r 的x m ls c h e m a 描述2 3 图2 9消息0 r d e r c o n 矗衄a t i o n 的x m ls c h e m a 描述2 4 图2 1 0 消息p a y m e n t 的x m l s c h e m a 描述2 4 图2 1 1消息s 1 1 i p m e m 的x m ls c h e m a 描述2 5 图2 1 2 购买者的消息描述2 5 图2 1 3 销售者的消息描述2 6 图2 1 4 购买者和销售者的连接类型2 7 图2 1 5 购买者的流程描述2 8 图2 1 6 销售者的流程描述2 9 图3 1购买者的订单消息定义3 2 图3 2销售者的订单消息定义3 2 图3 3供应链本体示例3 5 图3 4消息p o 的原始描述3 6 图3 5消息p o 的注解描述3 6 图3 6消息模式和领域本体的对应关系示例3 7 图3 7消息p o 的a s t 3 8 图3 8树的剪枝示例3 9 i x 图表目录 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 3 9 含有交付地址的订单消息模式a s t l 4 l 3 1 0 不含交付地址的订单消息模式a s t 2 4 2 3 1 1a s t 的结点权重示例4 5 4 1 购买者接口的流程5 0 4 2 销售者接口的流程5 0 4 3 状态类型示例5 3 4 4w 曲服务的循环示例5 4 4 5 w 曲服务的循环转化示例5 5 4 6b p e l 的通信动作到t f s m 的转换5 6 4 7 构造s e q u e n c e 到t f s m 的转换5 6 4 8构造i f 到t f s m 的转换5 7 4 9 构造州l e 和r e p e a t u l l t i l 到t f s m 的转换5 7 4 1 0 构造p i c k 到t f s m 的转换5 8 4 1 1 构造n o w 到t f s m 的转换5 8 4 1 2 构造f o r e a c h 到t f s m 的转换5 8 5 1服务a 和b 的调解者示意图7 0 5 2购买者和销售者各自的流程7 0 5 3购买者和销售者的调解流程7 1 5 4普通地址示例7 6 5 5运输地址示例7 6 5 6账单地址示例7 7 x 中国科学技术大学学位论文原创性声明 本人声明所呈交的学位论文,是本人在导师指导下进行研究工作所取得的 成果。除已特别加以标注和致谢的地方外,论文中不包含任何他人已经发表或 撰写过的研究成果。与我一同工作的同志对本研究所做的贡献均已在论文中作 了明确的说明。 作者签名: 签字日期:2 翌2 :! : 中国科学技术大学学位论文授权使用声明 作为申请学位的条件之一,学位论文著作权拥有者授权中国科学技术大学 拥有学位论文的部分使用权,即:学校有权按有关规定向国家有关部门或机构 送交论文的复印件和电子版,允许论文被查阅和借阅,可以将学位论文编入有 关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论 文。本人提交的电子文档的内容和纸质论文的内容相一致。 保密的学位论文在解密后也遵守此规定。 d 么开口保密( ) 作者签名:导师签 签字日期:巡豸:墨:垒 签字日期: 第1 章绪论 第1 章绪论 作为一种新型的分布式计算技术,w 曲服务( f e r r i s & f 勰l l ,2 0 0 3 ;岳昆等, 2 0 0 4 ;n e 、c o m e r ,2 0 0 2 ) 促进了软件体系结构从基于实现技术的紧耦合、严格、 静态的解决方案向基于商务模型的松耦合、灵活、动态的解决方案发展。由于使 用基于x m l 的描述技术和h r r p 传输协议,w r e b 服务使得不同平台下的应用集 成和交互成为可能。通过将应用封装成w - e b 服务,并发布到互联网上,世界各 地的应用均可对其进行集成和交互,而不必考虑它们基于何种系统平台和编程语 言。w r e b 服务提供的这种应用之间的互操作性改变了传统的分布式计算模式,开 辟了一个广阔的研究空间,例如w 曲服务的发现( b e 彻- 协l l a l le ta 1 ,2 0 0 5 b ) 、选择 ( b a l k e & w - a g n e r 2 0 0 3 ) 和组合( d l l s t d a r & 。s c h r e i i l e r ,2 0 0 5 ) 。 通过定义一系列标准的技术规范,w r e b 服务解决了应用之间语法上的互操作 性问题。然而,一个新的研究问题也随之引发,那就是语义上的互操作性问题 ( f e n s e l & b u s s l e r ,2 0 0 2 ;m 狐i ne ta 1 ,2 0 0 5 ;m i l l e re ta l ,2 0 0 4 ) 。因为需要集成或交 互的w 曲服务可能是由不同的提供者独立开发的,它们虽然遵从同样的语法格 式,语义上却不一定完全相容。为了保证w e b 服务的正确交互和减少异常的发 生,需要对w 曲服务的语义互操作性进行研究。本文的研究目的就是建立一种 w e b 服务的语义相容性判定方法,并在此基础上,研究如何计算w 曲服务的相 容度和如何调解不相容的w 曲服务。 本章着重介绍论文的背景知识,首先介绍w e b 服务的基本概念,基本协议 和基本架构,然后通过一个典型的w 曲服务应用场景引出本文将要研究的问题, 接着讨论w r e b 服务的相关研究现状,最后给出本论文的研究内容与创新之处, 以及论文的组织结构。 1 1w e b 服务简介 根据i b m 的定义( f e n s e l & b u s s l e r ,2 0 0 2 ) ,w 曲服务是一种自包含、自描 述和模块化的w 曲应用,它们可以通过w - e b 进行发布、发现和调用。w 曲服务 所执行的功能可以是简单的请求响应也可以是复杂的业务流程。例如,提供天 气信息的w 曲服务和执行订单处理的w r e b 服务。 实际上,w 曲服务可以看作是传统组件( c o m p o n e m ) 技术和w 曲技术相结 合的产物。w 曲服务对传统的组件进行封装,抽象出组件的接口并采用标准的 x 池语言进行描述,而w r e b 服务之间使用公共的w r e b 平台进行通信。由于w 曲 服务的接口描述和通信平台都是标准的,各个w e b 服务的内部实现可以相互独 第l 章绪论 立。因此,w r e b 服务极大地降低了交互应用的耦合度,为运行在不同平台上、用 不同语言编写的应用提供了互操作支持。w 曲服务的这种优良特性促进了电子商 务从局部化到全球化的质变。 1 1 1w e b 服务基本协议 w ,e b 服务是通过定义一系列的标准协议来实现不同应用之间的互操作性的。 图1 1 给出了w - e b 服务的一个基本协议栈。最底层的x m l 定义w ,e b 服务之间传 输的数据格式,同时x m l 也是其上面所有协议的描述语言。w e b 服务之间传输 的数据用s o a p 进行封装。w s d l 定义一个w 曲服务可以传输的所有消息,以 及这些消息到s o a p 的绑定。流程层的b p e l 在w s d l 的基础上定义消息之间 的逻辑关系。而u d d i 提供w 曲服务的注册和发现机制。 发现 流程 消息 传输 数据 u d d i b p e l w s d l s o a p x m l 图1 1w r e b 服务协议栈 下面分别对s o a p 、w s d l 、b p e l 和u d d i 进行简单介绍。 s o a p ( 简单对象访问协议) 是一个消息布局规范,它定义了x m l 数据的 传输方式和到h t t p 传输协议的绑定方式。s o a p 本身并不定义任何应用语义, 如编程模型或特定语义实现,它只是定义了一种简单的机制,通过一个模块化的 包装模型和对模块中特定格式编码的数据的重编码机制来表示应用语义。 s o a p 由四部分组成( m i t r a & l 疵n ,2 0 0 7 ) : 1 ) s o a pe n v e l o p ( s o a p 信封) ,它构造定义了一个整体的表示框架,可用 于表示在消息中的是什么,谁应当处理它,以及这是可选的还是强制的。 2 ) s o a pe n c o d i n gm l e s ( s o a p 编码规则) ,定义了一个编码机制用于交换应 用程序定义的数据类型的实例。 3 ) s o a pr p cr e p r e s e n t a t i o n ( s o a pr p c 表示) ,定义了一个用于表示远端 过程调用和响应的约定。 4 ) s o a pb i n d i n g ( s o a p 绑定) ,定义了一个使用底层传输协议来完成在结 点问交换s o a p 信封的约定。 2 第l 章绪论 w s d l ( w 曲服务描述语言) 提供了一个描述w 曲服务的模型和) ( i l 格式。 w s d l 对服务所提供的抽象功能和服务的具体细节( 例如服务的功能是怎样和在 哪里实现的) 分开进行描述。具体说来,w s d l 从两个基础层面描述w e b 服务: 抽象层和具体层( b o o t l l & l i u ,2 0 0 7 ) 。 攀g s c r i 苗i 石h 7 a f g 备t 村a 赢e s i 曲琶签i i 罗。譬霉矿”? n ”与搿鼍,耻誓 :4 : 一一一o - o - 一一- - _ - 一_ o - 一- ,- _ _ o - _ 一- _ o _ o - - - - - - - - - o - - - 一 g : ; i 雾 ; 翟” : : : i i : : 、 : ! - : : ii ! “毒照鲁照县盟婪:一j i ! : :t l ,。 : ;! : ;l l i乏三三兰;苫芝 二e s s a g e l a b e l :。, 。 i ; 。 i f : 引 薯 酽, 雾 + 薯! w 一 。参 o a l 具l 体,i 描_ 述j 菩 , c 譬 、j j 癌 i 基9 9sq 艇p 皂太9 贮。盏黜穗。鼢蚴“矗逝龇。谊珏岛二立妇磁葩。碰鼢:;。血缸菇五础, 图1 2w s d l 文档的结构 在抽象层,w s d l 使用一个服务所发送和接收的消息来描述该服务。w s d l 抽象描述 缸,_疹奄第毋筘移静,喜喜,0,鑫嚣万h,y心k记;,群广鐾饥n爹驴缸黔铲盘静行簟轨k,蔚矿毋 第1 章绪论 的消息是使用一个类型系统( 通常为ls c h e m a ) 来描述的,并且独立于具体 编码格式。w s d l 的操作( o p e r a t i o n ) 描述了w 曲服务的一次消息交换。w s d l 的接口( 1 1 1 t e 雨c e ) 定义了一组与传输和编码无关的操作。在具体层,w s d l 的 绑定( b i n d i n g ) 指定了接口的传输和编码格式的相关细节。w s d l 的端点 ( e n d p o i m ) 关联一个网络地址到一个具体的绑定。w s d l 的服务( s e r v i c e ) 定 义了实现一个公共接口的一组端点。 一个w s d l 文档的基本结构( b 0 0 t l l & l i u ,2 0 0 7 ) 如图1 2 所示。最顶层是 一个d e s c r i p t i o n 元素,下面的一级子元素分别为咖e s 、i n t e r f i a c e 、b i n d i n g 和s e r v i c e 。 元素t y p e s 定义了一组消息类型,元素i r l t e r f a c e 定义了一系列关联消息的操作。 元素t ) 巾e s 和砷船f a c e 组成了w 曲服务的抽象描述。元素b i n d i n g 对元素r f a c e 中定义的各个操作提供了传输和编码定义。元素s e n ,i c e 定义了一组关联到网络 地址的端点。元素b i n d i n g 和s e r v i c e 组成了w 曲服务的具体描述。 b p e l ( 业务流程执行语言) 定义了一个模型和语法来描述w 曲服务的流程 行为。w s d l 定义的服务本质上是一系列无状态的请求响应交互,而b p e l 在 w s d l 基础上定义的流程可以表示有状态的复杂交互。每个b p e l 交互具有一个 开始,一系列定义的行为和一个结束。例如,在一个供应链系统中,销售者服务 可能通过接收一个订单消息开始一次交互,然后返回一个确认消息给购买者服务 告知该订单是否被批准。如果订单被批准,销售者服务可能接着发送一些新的消 息给购买者服务,比如运输通知和发票消息等。 b p e l 通过描述一个服务与其伙伴之间的交互来定义该服务的流程( b a r r e t 0 e ta l ,2 0 0 7 ) 。b p e l 流程与伙伴的交互发生在w s d l 接口上,其关系被封装在 p a r t n e r l i n k 构造中。流程的一个p a n i l e r l i l l l ( 指定了自己的一个w s d l 接口和 或一个伙伴的w s d l 接口。流程和伙伴通过交换定义在所指定的w s d l 接口中 的消息来进行交互。b p e l 中交互消息的基本构造有m o k e 、r e c e i v e 和r e p l y ( b a r r e t oe ta l ,2 0 0 7 ) 。构造i n v o k e 可以发送一个特定的消息给伙伴并从伙伴那 里接收一个特定的响应消息。构造r e c e i v e 可以从伙伴那里接收一个特定的消息, 而构造r e p l y 可以返回一个特定的响应消息给伙伴。b p e l 中控制消息交互流程 的构造有s e q u e n c e 、i f 、w m l e 、r e p e a t u n t i l 、f o r e a c h 、p i c k 和n o w ( b a 玎e t oe ta l , 2 0 0 7 ) 。下面对这七种控制构造进行分类介绍: 顺序构造:s e q u e n c e 。构造s e q u e n c e 包含一个或多个顺序执行的动作。 这些动作可以是任意类型,并且按照它们在s e q u e n c e 中出现的字面顺序 依次执行。 分支构造:i f 和p i c k 。构造i f 由一个i f 分支和一组可选的e l s e i f 条件分 支以及一个可选的e l s e 分支组成。如果其中一个分支的条件首先为真, 4 第l 章绪论 则该分支所包含的动作将被执行,其它分支包含的动作将被跳过。由于 构造i f 中各分支的条件由流程内部判定,所以i f 表示一种内部选择。与 之相对,构造p i c k 表示一种外部选择。p i c k 等待一组事件中的某个发生, 然后执行关联到该事件的动作。通常p i c k 包含一组o r m e s s a g e 构造,该 构造与r e c e i v e 类似,可以等待接收一个输入的消息。 循环构造:植l e 、r e p e a t u m i l 和f o r e a c h 。构造、v h i l e 包含一个条件和一 个可被重复执行的动作。在每次迭代之前,如果条件为真,则动作执行, 否则退出r h i l e 。构造r e p e a t u m i l 也包含一个可被重复执行的动作和一 个条件,不同的是,它在每次执行动作之后判断条件,如果为真则继续 迭代,否则退出。构造f o r e a c h 包含一个重复执行特定次的动作,重复 次数由其包含的常数确定。 并行构造:n o w 。构造n o w 提供了一种并发和同步机制。构造n o w 包 含一组可以无序执行的动作,同时可能包含一组表示某些动作之间同步 依赖关系的l i i l l ( 构造。一个l i n k 元素可以说明一个动作必须在另一个动 作之后执行。 u d d i ( 统一描述、发现和集成) 是一个基于x m l 的跨平台的描述规范, 它可以使世界范围内的企业在互联网上互相发现并且绑定彼此的服务。u d d i 规 范描述了一种服务注册处( r e g i s 仃y ) ,同时定义了一系列使用s o a p 进行调用的 a p i 来支持服务的发布和发现。 图1 3u d d i 核心数据结构( c l e m e n te ta l ,2 0 0 5 ) 如图1 3 所示,u d d i 服务注册使用四种数据类型( c l e m e me ta l ,2 0 0 5 ) : 第1 章绪论 b u s i n e s s e m 时:对提供w e b 服务的企业或其它组织的名称和联系方式等 辅助信息进行描述,可以包含一个或多个b u s m e s s s c r v l c e 实体。 b u s i n e s s s e r v l c e :对b u s l n e s s e n i i 讨所提供的铀服务的名称和所属分类 等辅助信息进行描述,可以包含一个或多个b l “i n g t e m p l a t c 实体。 b i n d i “g t e m p l “e :提供访问一个,e b 服务和与之交互所必需的技术信息, 可i 三【引用t m o d e l 实体。 t m o d e l :u d d i 中用来表示唯一概念或构造的实体。t m o d e i 可以表示一 个,e b 服务的接口、传输和协议等技术细节,并且可以重用,即可以被 多个b m d i n g t e m p l a l e 引用。 1 1 2w 曲服务基本架构 w e b 服务为运行在不同平台上的应用提供了一种标准的通信手段。作为一种 新兴技术,w e b 服务的许多特性还没有一致的定义。因此,需要一个统一的参考 架构来说明实现w e b 服务的各种组件和技术之间的关系。本小节将介绍,e b 服 务的基本架构。 图14w e b 服务基本架构( c h a m p i o n h 出,2 0 0 2 ) 如图i4 所示,神w e b 服务基本架构中定义了三种角色( c h a m p l o ne ta l , 2 0 0 2 ) : 第1 章绪论 服务请求者( s e r v i c er e q u e s t o r ) :请求执行一个服务的软件组件; 服务提供者( s e r y i c ep r o 、,i d e r ) :提供一个服务的软件组件; 发现代理( d i s c o v e d ,a g e n c y ) :支持服务描述的发布和发现的软件组件。 同时,w r e b 服务基本架构还定义了三种操作( c h a m p i o ne ta j ,2 0 0 2 ) : 发布( p u b l i s h ) :服务提供者向发现代理提供一个服务描述进行注册: 发现( f i n d ) :服务请求者查询发现代理以找出需要的服务描述; 绑定( b i n d ) :服务请求者利用找到的服务描述绑定到其对应的服务。 在w 曲服务的基本架构中,一个典型的应用场景如下:一个服务提供者s p 拥有一个网络可访问的软件模块( 一个w e b 服务的具体实现) ,s p 给该w 曲服 务定义一个服务描述并把它发布到发现代理,一个服务请求者s r 使用发现操作 从发现代理中找出这个服务描述,并利用该服务描述绑定到s p ,然后s r 就可以 和s p 拥有的那个w 曲服务实现进行基于消息交换的交互。 w 如服务架构中定义的三个角色只是一种抽象描述。在w r e b 服务架构中, 一个软件组件可以担任一个或多个角色,可以只是一个服务请求者或服务提供 者,也可以既是服务请求者也是服务提供者,还可以同时具有发现代理的功能。 例如,在一个供应链系统中,购买者只是一个服务请求者,银行和运输商只是服 务提供者,而销售者则既是服务请求者也是服务提供者。 1 2 研究问题的提出 为了引出本文所关注的研究问题,本节首先介绍一个应用w r e b 服务的典型 场景,然后基于该场景分析具体的研究问题并指出难点所在。 1 2 1 应用场景 在电子商务领域,供应链系统是一种常见的应用场景。图1 5 给出了供应链 系统的一个简单示例。在此供应链系统中有四个组件:购买者( b u y e r ) 、销售者 ( s e i i e r ) 、银行( b a n k ) 和运输商( s b j p p e r ) 。一个典型的应用场景是,购买者 首先向销售者发送一个订单请求,销售者接到订单后根据内部处理结果返回一个 批准消息或者拒绝消息,如果订单被批准,购买者需要接着发送一个付款消息, 销售者收到付款信息后,向银行发送一个付款请求,在银行返回付款成功消息后, 销售者将向运输商发送一个送货请求,运输商则返回一个发货通知,销售者收到 后,将发货通知返回给购买者并发回一个发票消息。 如果用w 如服务实现供应链系统的四个组件,那么上述交互都将通过标准 的w 曲服务接口进行。如图1 5 所示,每对组件之间可以由一对w r c b 服务接口 实现绑定,而一个组件与不同组件之间的交互则通过不同的w r e b 服务接口进行。 7 第l 章绪论 由前文可知,w - e b 服务接口使用基于l 的标准语言w s d l 和b p e l 进行描述, 并且接口之间使用标准的x m l 消息交换协议s o a p 进行交互。利用w e b 服务技 术,供应链系统中的各个组件可以分别独立的实现,可以基于不同的平台,使用 不同的编程语言,具有自主性。因此基于w e b 服务的供应链系统是由自主的组 件构成的松散耦合( l o o s e l yc o u p l e d ) 的系统。 图1 5 供应链系统示例 在动态的商务环境中,一个供应链系统中的各个自主组件可能是经常变化 的。例如销售者可能更改了它的w r e b 服务,也可能由于商业原因,原来的销售 者被新的销售者所替代,因而相应的w 曲服务也发生变化。在这些情况下,为 了使得整个供应链系统能够正常交互,需要保证新的销售者服务与其伙伴服务之 间的接口仍然相容,这就需要研究w - e b 服务接口相容性的判定方法。如果新的 销售者服务的接口与其伙伴服务的接口不相容,通常可以有两种方法来实现交 互。一种是重新开发不相容的伙伴服务,例如重新开发购买者服务。这种方法由 于不能重用现有服务,通常比较花费时间而且代价较高( 需要重新设计,重新实 现,重新测试和部署等) 。另一种方法是保留现有服务,同时生成一个调解者来 调和

温馨提示

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

评论

0/150

提交评论