已阅读5页,还剩60页未读, 继续免费阅读
(计算机应用技术专业论文)异构服务组装平台中执行引擎的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着基于网络计算平台的分布式计算技术的迅猛发展,以支持应 用互操作的应用需求为核心,以面向对象技术为主要特征的分布式构 件技术和异构服务技术得到了蓬勃发展。 异构服务组装是指在分布式环境下,将基于不同架构标准的服务, 根据统一的基于x m l 的服务组装描述文档进行合理组装,形成功能 更强、更大的服务或应用的软件复用方法。异构服务组装执行引擎是 异构服务组装平台的核心,它实现了对异构服务组装流程的执行和驱 动。 本文在对目前服务组装技术和工作流技术进行了详细的调查研究 之后,针对目前的服务组装平台不支持网络上异构服务组装的缺点, 设计并实现了异构服务组装执行引擎。该引擎把异构的资源抽象成具 有统一接口的同构高层服务,封装了底层的数据传输和平台相关a p i 等细节。在异构资源的调用时,引擎根据服务配置信息选择相应的服 务调用接口,向用户提供高层抽象以隐藏网格本身的复杂性。论文重 点设计了一种基于x i v i ls c h e m a 的服务组装流程描述规范,实现了一 种可扩展的组装流程的描述方法;给出了异构服务组装执行引擎的核 心调度算法,采用微内核的设计思想,实现了对顺序、并行、分支等 7 种控制模式的识别、控制以及对原子服务和复合服务的执行策略。 利用j a v a 反射机制,实现了对异构服务调用代理接口的选择与驱动。 关键词异构服务,服务组装,执行引擎,x m l a b s t r a c t a c c o r d i n g t ot h e r a p i dd e v e l o p m e n to fd i s t r i b u t e dc o m p u t i n g t e c h n o l o g y b a s e do nn e t w o r k c o m p u t i n gp l a t f o r m , t h e d i s t r i b u t e d c o m p o n e n tt e c h n o l o g ya n dh e t e r o g e n e o u ss e r v i c et e c h n o l o g yd e v e l o p v i g o r o u s l yc e n t e r i n go na p p l i c a t i o nr e q u i r e m e n ts u p p o r t i n ga p p l i c a t i o n i n t e r o p e r a t i o na n dc h a r a c t e r i z e db yo b j e c t - o r i e n t e dt e c h n o l o g y b a s e do nd i s t r i b u t e de n v i r o n m e n t ,h e t e r o g e n e o u ss e r v i c ec o m p o s i t i o n i sak i n do fs o i t w a r e r e u s i n gm e t h o d ,a c c o r d i n gt ou n i f i e dx m l b a s e d s e r v i c ec o m p o s i t i o nd e s c r i p t i o nd o c u m e n t , w h i c ha s s e m b l e ss e r v i c e s b a s e do nd i f f e r e n tk i n d so fa r c h i t e c t u r es t a n d a r d si n t oap o w e r f u l ,l a r g e r s e r v i c eo r a p p l i c a t i o n h e t e r o g e n e o u s s e r v i c e c o m p o s i t i o nm a n a g i n g e n g i n e i st h ek e r n e lo fh e t e r o g e n e o u ss e r v i c e c o m p o s i t i o np l a t f o r m w h i c hi m p l e m e n t si t sf l o w sr u n n i n ga n dd r i v i n g a f t e rs t u d y i n gc u r r e n th e t e r o g e n e o u ss e r v i c ec o m p o s i t i o nt e c h n i q u e a n dw o r k f l o wt e c h n i q u ei nd e t a i l ,t os o l v et h ep r o b l e mt h a tc u r r e n t h e t e r o g e n e o u sc o m p o s i t i o np l a t f o r m d i d n t s u p p o r th e t e r o g e n e o u s s e r v i c e sc o m p o s i t eo nt h ei n t e r n e t ,t h i sp a p e rd e s i g n sa n da c c o m p l i s h e s h e t e r o g e n e o u ss e r v i c ec o m p o s i t i o nm a n a g m ge n g i n e t h i se n g i n e a b s t r a c t sh e t e r o g e n e o u ss o u r c e st oi s o m o r p h o u ss e r v i c ew i t hu n i f i e d i n t e r f a c e ,p a c k a g i n gt h ed e t a i l so fb o t t o ml a y e r sd a t at r a n s m i s s i o na n d p l a t f o r mr e l a t i v ea p i w h e ni n v o k i n gh e t e r o g e n e o u sr e s o u r c e ,a c c o r d i n g t os e r v i c ec o n f i g u r a t i o ni n f o r m a t i o n ,e n g i n ec h o o s e sm a t c h i n gs e r v i c e i n v o k ei n t e r f a c e ,p r o v i d i n gh i g hl e v e la b s t r a c t i o nt ou s e r st oh i d eg r i d c o m p l e x i t y p a p e rp u te m p h a s i so ne x p o u n d i n gax m 儿s c h e m a - b a s e d p r o t o c o ld e s c r i p t i o no fs e r v i c ec o m p o s i t i o nf l o wa c h i e v i n ga ne x p a n d a b l e p r o t o c o ld e s c r i p t i o n ;p r o v i d i n gk e r n e ld i s p a t c ha l g o r i t h mw h i c ha d o p t i n g m i c r o k e m e ld e s i g nt h o u g h t ,a c c o m p l i s hi d e n t i f y i n ga n dc o n t r o l l i n go f c o n t r o lm o d e ss u c ha s :s e q u e n c e ,p a r a l l e l ,s p l i ta n dr u n n m gp o l i c yo f a t o m i cs e r v i c ea n dc o m p o s i t es e r v i c e ;t a k i n gu s eo fj a v ar e f l e c t i o nt o a c h i e v e c h o o s i n g a n dd r i v i n g h e t e r o g e n e o u s s e r v i c ei n v o k ea g e n t i n t e r f a c e n k e yw o r d s h e t e r o g e n e o u ss e r v i c e ,s e r v i c ec o m p o s i t i o n , m a n a g i n g e n g i n e ,x m l m 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得中南大学或其他单位的学位或证书而使用过的材料。与我共 同工作的同志对本研究所作的贡献均已在论文中作了明确的说明。 作者签名:日期:丑年兰月丛日 关于学位论文使用授权说明 本人了解中南大学有关保留、使用学位论文的规定,e p = 学校有 权保留学位论文,允许学位论文被查阅和借阅;学校可以公布学位论 文的全部或部分内容,可以采用复印、缩印或其它手段保存学位论文; 学校可根据国家或湖南省有关部门规定送交学位论文。 作者躲陋导师签名哗魄独岛鲨日 硕士学位论文 第一章服务组装技术概述 第一章服务组装技术概述 伴随着软件工程的发展,软件开发技术已经由最初的手工编程发展到了基于 服务集成的软件复用技术。随着以j a v a b e a n e j b 、c o m 仍c o m 、c o r b a 和w e b 服务为代表的服务的广泛应用,服务类型呈现多样化的趋势。本章首先介绍了本 课题的研究背景及意义,总结目前国内外针对本课题的研究现状及成果,提出当 前研究存在的问题及缺陷,讨论本课题研究内容的可行性,然后概要阐述了本论 文的主要工作以及组织。 1 1 研究背景及意义 软件工程技术的发展过程经历了这样一个从面向数据的开发方法到面向对 象的开发方法,再到基于构件的开发方法。所有这些都提出了不同的开发技术, 支持软件开发者能够实现不同抽象层次之间的映射【 。 目前,人们更加关注软件复用问题,构建比对象粒度更大、更易于复用的基 本单元构件,并研究以构件复用为基础的软件构造方法,更好地凸现软件的 构造性和演化特性1 2 1 。在1 9 6 8 年软件构件与“软件组装生产线”思想就在国际 n a t o 软件工程会议上被提出来。从那以后,采用构件技术实现软件复用,采用 “搭积木”的方式生产软件,成为软件业长期的梦想。然而,由于技术水平艰制, 在很长一段时间内构件技术只是作为一种思想存在,直到c o r b a 、j 2 e e 和 c o m d c o m ( 现在的n e t ) 出现,中间件兴起以后,构件技术才逐渐走向现实。 然而,已有的研究和平台工具存在着若干严重的技术和应用瓶颈:一是这些 工具均只能在自己的专用网内组装自己提供的同构( 同标准) 构件和服务,而不 能组装互联网上大量存在的不同标准的异构文件和异构服务,导致不能充分共享 网上资源和满足各个领域的应用需求;二是这些平台和工具仍然需要软件开发专 业人员从需求、设计到组装全过程的技术支持,不能为各专业领域的普通用户提 供面向应用需求的快速开发方法和工具,限制了企业和中小信息公司软件人员的 开发;三是当已有的开发平台在性能上尚不适应网络资源的动态性( 比如某服务 的突然下线) 和异步性( 不同服务分在网络的不同管理领域,缺乏统一时钟和控 制) 等特点 近年来,随着i n t e m e t 在各领域应用的普及和深化,传统软件架构无法很好 的满足不断变更的多样化需求,人们迫切需要一种新的计算模式,能够方便的实 现i n t e m e t 上跨平台、语言独立、松散耦合的异构应用的交互和集成。 硕士学位论文 第一章服务组装技术概述 g o l n i c r 在1 9 9 6 年首次阐述了s o a 的概念【3 】。s o a 的提出,无疑是为人们解 决上述问题提出了一个完美的解决思想c 妊r u i c r 认为,未来s o a 会成为占绝对 优势的软件工程方法。因此,研究和开发一个在网格环境下,基于异构服务、面 向最终用户( 非计算机专业用户) 及应用需求开发的服务组装技术是具有积极和 现实意义的。 1 2 研究现状与存在的问题 1 2 1 现有的服务规范标准 目前主流的服务技术规范有j 2 e e 、c o m 、c o r b a 和w e bs e r v i c e 四种。随 着i n t e r n e t 网络的迅速发展,基于互联网的企业应用要求软件平台具有开放性、 分布性和平台无关性。于是就相继出现了j 2 e e c o m c o r b a 等技术,但这些技 术在实际应用中存在着许多不足和局限。它们的特定协议难以通过防火墙,因而 不适于w e b 上的应甩开发。为了进一步开发基于w e b 的应用,出现了s u n 公司 的s u no n e ( o p e nn e te n v k o n m e n t 开发网络环境) 和m i c r o s o f t 公司的n e t 等 w e b 服务技术体系。 1 、j 2 e e 规范 j 2 e e 5 1 是一种利用j a v a2 平台来简化企业解决方案的开发、部署和管理相关 的复杂问题的体系结构。j 2 e e 平台提供了一个基于组件的方法,来设计、开发、 装配及部署企业应用程序。j 2 e e 平台提供了多层的分布式的应用模型、组件再 用、一致化的安全模型以及灵活的事务控制。 j 2 e e 使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组 件根据他们所在的层分布在不同的机器上。以下是j 2 e e 典型的四层结构,如 图1 1 : j mj 鲋,i 序i 虚月程b q l 篱fi 淼。i 舻一l 省 曰懈 。 圆圈叫嘲 圈圈麟 麓 囝1 - 1 2 e e 的四层模型 j 2 e e 将组成一个完整企业级应用的不同部分纳入不同的容器( c o n t a i n e r ) , 2 硕士学位论文 第一章服务组装技术概述 每个容器中都包含若干组件( 这些组件是需要部署在相应容器中的) ,同时各种 组件都能使用各种j 2 e es e r v i c e a p i 。 j 2 e e 规范定义了以下种类的组件: ( ne n t e r p r i s ej a v a b e a n s ( e j b ) 组件。 e j b 定义了一组可重用的组件:e n t e r p r i s eb e a n s 。开发人员可以利用这些组 件,像搭积木一样建立分布式应用。在装配组件时,所有的e n t e r p d s eb e a n s 都 需要配置到e j b 服务器( 一般的w e b l o g i c 、w e b s p h e r e 等j 2 e e 应用服务器都是 e j b 服务器) 中。e j b 服务器作为容器和低层平台的桥梁管理着e j b 容器,并向 该容器提供访问系统服务的能力。所有的e j b 实例都运行在e j b 容器中。e j b 容器提供了系统级的服务,控制了e j b 的生命周期。e j b 容器为它的开发人员代 管了诸如安全性、远程连接、生命周期管理及事务管理等技术环节,简化了商业 逻辑的开发。e j b 中定义了三种e n t e r p r i s eb e a n s : s e s s i o i lb e a n s e n t i t yb e a n s m e s s a g e - d r i v e nb e a n s ( 2 ) s e r v l e t 组件 s e r v l e t 是j a v a 平台上的c g i 技术。s e r v l e t 在服务器端运行,动态地生成 w e b 页面。与传统的c g i 和许多其它类似c g i 的技术相比,j a v as e r v l e t 具有更 高的效率并更容易使用。对于s e r v l e t ,重复的请求不会导致同一程序的多次转载, 它是依靠线程的方式来支持并发访问的。 ( 3 ) j a v as e r v e rp a g e s ( j s p 页面) 组件 j s p ( j a v as e r v e rp a g e ) 是一种实现普通静态h t m l 和动态页面输出混合编 码的技术。从这一点来看,非常类似m i c r o s o f ta s p 、p h p 等技术。借助形式上 的内容和外观表现的分离,w e b 页面制作的任务可以比较方便地划分给页面设计 人员和程序员,并方便地通过j s p 来合成。在运行时态,j s p 将会被首先转换成 s e r v l e t ,并以s e r v l e t 的形态编译运行,因此它的效率和功能与s e r v l e t 相比没有 差别,一样具有很高的效率。 j 2 e e 还包括各种服务和a p i 标准:j d b c 、j m s 、j n d i 、j 1 a 、j c a 、j m x 、 j a a s 、j a c c 等。 2 、c o m + c o m + 6 1 1 7 1 并不是c o m 的新版本,它是c o m 的新发展,或者为c o m 更高 层次上的应用。c o m + 的底层结构仍然以c o m 为基础,它几乎包容了c o m 的 所有内容。可以说,c o m + 是c o m 、d c o m 和m t s ( m i c r o s o f t t r a n s a c t i o ns e r v e r ) 的集成,因为c o m + 综合了这些技术要素。但更重要的一点是,c o m + 倡导了一 3 硕七学位论文 第一章服务组装技术概述 种新的概念,它把c o m 组件软件提升到应用层而不再是底层的软件结构,它通 过操作系统的各种支持,使组件对象模型建立在应用层上,把所有组件的底层细 节留给操作系统,因此,c o m + 与操作系统的结合更加紧密。 ( 1 ) c o m + 基本结构 c o m + 的基本结构并不复杂,简单说起来,它把c o m 和m t $ 的编程模型结 合起来,同时又增加了一些新的特性。如图1 - 2 所示: c o 酐日录 负载平衡 内存数据库 对象池 队列组件 新的事件模型 组件管理和配置 固卜2c o 册组成结构图 ( 2 ) c o m + 事件模型 c o m + 事件模型改进了c o m 的可连接对象机制,它采用了多通道的发布,订 阅( m u l t i c a s t i n gp u b l i s h s u b s c r i b e ) 事件机制,它允许多个客户去“订阅”事件, 这些事件由各种组件对象“发布”。c o m + 事件服务维护一个事件数据库,数据 库包含各种事件、发布者、订阅者以及所有的订阅信息。当发布者激发事件时, c o m + 事件服务对事件数据库中有关的订阅信息进行检查,然后通知对应的订阅 者。c o m + 事件模型基本结构如图l - 3 所示。 匿专阂砖圉 图1 - 3c o m + 事件模型结构图 4 硕士学位论文第一章服务组装技术概述 3 、c o r b a c o r b a s i 9 1 ( c o m m o n o b j e c t r e q u e s t b r o k 盯删慨t u r c ) ,公共对象请求代 理体系结构) 是由o m g ( 对象管理组织,o b j e c tm a n a g e m e n tc r o u p ) 提出的应 用软件体系结构和对象技术规范,其核心是一套标准的语言、接口和协议,以支 持异构分布应用程序间的互操作性及独立于平台和编程语言的对象重用。 c o r b a 体系的主要内容包括以下几部分: ( 1 ) 对象请求代理o r b ( o b j e c tr c q u e s tb r o k e r ) :负责对象在分布环境中透 明地收发请求和响应,它是构建分布对象应用、在异构或同构环境下实现应用间 互操作的基础。 ( 2 ) 对象服务( o b j e c ts e r v i c e s ) :为使用和实现对象而提供的基本对象集合, 这些服务应独立于应用领域。主要的c o r b a 服务有:名录服务( n a m i n g s e r v i c e ) 、事件服务( e v e n ts e r v i c e ) 、生命周期服务( l i f ec y c l es e r v c e ) 、关系 服务( r e l a t i o n s h i ps e r v i c e ) 、事务服务( t r a n s a c t i o ns e r v i c e ) 等。这些服务几乎 包括分布系统和面向对象系统的各个方面,每个组成部分都非常复杂。 ( 3 ) 公共设施( c o m m o n f a c i l i t i t e s ) :向终端用户提供一组共享服务接口,例 如系统管理、组合文档和电子邮件等。 ( 4 ) 应用接口( a p p l i c a t i o n i n t e r f a c e s ) :由销售商提供的可控制其接口的产品, 相应于传统的应用层表示,处于参考模型的最高层。 ( 5 ) 领域接口( d o m a i n i n t e r f a c e s ) :为应用领域服务而提供的接口。如o m g 组织为p d m 系统制定的规范。 c o r b a 技术是先进技术发展的结果,它将面向对象的概念揉合到分布计算 中,使得c o r b a 规范成为开放的、基于客户朋臣务器模式的、面向对象的分布 计算的工业标准。整个c o r b a 平台的组成结构如下图l - 4 所示: 曰圈 5 冈 ij 硕七学位论文第一章服务组装技术概述 4 、w 曲s e r v i c e w e b 服务【1 0 l 基于开放的因特网标准,它的结构单元是s o a p 、w s d l 和u d d i 。 ( 1 ) s q a p s o a p 是序列化调用位于远程系统上的服务所需信息的标准方法,这些信息 可以使用一种远程系统能够读懂的格式通过网络发送到远程系统,而不必关心远 程系统运行于何种平台或者使用何种语言编写。s o a p 解决了通过防火墙传送往 返于远程应用程序的消息的问题。 s o a p 本身提供了与w e b 服务交换信息的方法,但是它没有提供查找w e b 服务消息的方法。而且它还不提供查找w e b 服务或与之交涉的方法。 ( 2 ) w s d l w e b 服务描述语言( w s d l ) l l l 】和s o a p 一起构成了w e b 服务的核心结构 单元。w s d l 基于x m l 格式,用来描述w e b 服务。它描述了w e b 服务可以执 行的操作以及w e b 服务可以发送或接收的消息格式。w s d l 文档可以看成是客 户端和服务器之间的一个协约。使用w s d l 工具,你可以自动处理这个过程, 几乎不用手工编写代码就能够让应用程序整合新的服务。因此w s d l 是w 曲服 务体系结构的基础,因为它提供了一个通用语言,用来描述服务和整合这些服务 的平台。 ( 3 ) u d d i u d d i ( 统一描述、发现和整合) 建立一个平台独立、开放的框架,通过因 特网来描述服务,发现业务,并且整合业务服务。它是一套基于w e b 的、分布 式的、为w e b 服务提供的信息注册中心的实现标准规范,同时也包含一组使企 业能将自身提供的w e b 服务注册以使得别的企业能够发现的访问协议的实现标 准。 w e b 服务体系结构【1 2 1 基于三种角色( 服务提供者、服务注册中心和服务请 求者) 之间的交互。交互涉及发布、查找和绑定操作。这些角色和操作一起作用 于w e b 服务构件:w e b 服务软件模块及其描述。在典型情况下,服务提供者托 管可通过网络访问的软件模块( w e b 服务的一个实现) 。服务提供者定义w e b 服 务的服务描述并把它发布到服务请求者或服务注册中心。服务请求者使用查找操 作来从本地或服务注册中心检索服务描述,然后使用服务描述与服务提供者进行 绑定并调用w e b 服务实现或同它交互。服务提供者和服务请求者角色是逻辑结 构,因而服务可以表现两种特性。图1 5 图示了这些操作、提供这些操作的组件 及它们之间的交互。 6 硕士学位论文 第一章服务组装技术概述 查 定 囤l 一5w e b 服务体系结构 1 2 3 目前已有的组装支撑平台和流程驱动平台 1 通用组装工具 通用软件开发平台一般都配备了构件组装工具,并为用户提供了一些通用构 件,如b e a 公司的j b u i l d e r 、微软公司的m i c r o s o f t n e t 等。以j b u i l d e r 为例, j b u i l d e r 是实现j 2 e e 的开发平台,不仅为程序员提供了大量的标准构件,而且 为程序员提供了一个使用方便的构件开发集成环境( i d e ) ,使用户能够轻松地 开发构件。j b u i l d e r 的构件库相当庞大,各种构件应有尽有,使用它开发软件比 同类软件开发周期短,产品运行稳定,并且构件使用方式非常灵活。它的不足之 处是,构件组装过程完全依赖于手工生成粘合代码,工作效率不高,自动化程度 低。 2 a b c t o o l s 基于软件体系结构的构件组装方法a b c 瑚( a r c h i t e c t u r e b a s e dc o m p o n e n t c o m p o s i t i o n ) 基本思想是在构件组装基础上,使用软件体系结构理论与概念指 导软件开发,提高系统生成的效率和可靠性。a b c 方法是以软件体系结构为指 导,面向构件组装的软件开发方法,为基于构件的软件复用提供了一种有效的解 决方案。在a b c 开发方法的指导下,a b c t o o l 以a b c a d l 为基础,结合当前 主流的o o 技术,以中间俘作为运行支撑平台,支持把e j b 构件组装部署到符合 j 2 e e t l 4 1 规范和c o r b a 规范的底层运行平台上,从而实现从s a 模型到可运行系 统的映射。a b c t o o l s 功能比较完善,具有自带的j 2 e e 运行平台,是s a 从实验 室走向实用的一个比较成功的范例,但构件来源比较单一,实用性还需进一步提 高,而且需要手工部分代码,自动化程度仍不高。 3 青鸟i i i 型 青鸟i i i 型系纠 】是支持基于构件一构架复用的软件工业化生产技术,包括: 青鸟构件模型和构件描述语言;专业化的构件生产和构架开发;构件库、构架库 管理;软件过程设计和控制;构件、构架的系统集成( 组装) 等。青鸟构件组装 工具支持用户以图形方式描述构件及其连接关系,然后将图形表示转化为青鸟构 7 穴 硕士学位论文 第一章服务组装技术概述 件描述语言,实现构件组装。组装工具的主要功能包括:编辑构件的c d l 描述; 根据构件的c d l 描述来生成c + 斗代码骨架;构件组装;利用分布式对象技术实 现构件在网络上的分布等。青鸟构件组装工具描述面向对象的构件组装,提供了 一整套集成开发编译工具,组装方式非常灵活。但它的组装层次比较低,构件复 用效率不高,这一点在新的构件技术标准和运行环境出现的今天,已经成为一个 不可忽视的问题。 4 上海普元( e o s ) 上海普元( e o s ) 集成开发环境( e o ss t u d i o ) 1 1 q ,是可视化的构件开发组 装工具。通过规划好数据模型,拟定出w e b 表现形式,用户可以利用e o s 内置 的各类基础构件,采用拖拽画图的方式,快速定义展现逻辑和业务逻辑,e o s 还支持断点调试和分布式部署。e o s 应用运行环境( e o ss e r v e r ) ,负责自动解 释执行e o ss t u d i o 环境中生产出的图形化“源程序”,提供各层次业务过程在 w e b 服务器、j 2 e e 服务器、数据库服务器上的运行。e o s 应用管理工具,包括 e o sd e p l o y 、e o sm o n i t o r 、e o sm a n a g e r 等工具,提供应用软件( 基于构件开 发模式) 动态发布、运行监控、升级等功能;e o sd d r o o l 则提供了数据字典管 理,基本业务属性交化可以通过参数配置来完成,使得应用层业务配置具有强大 的灵活性;e o sr o l em a n a g e r 提供灵活的基于系统角色的用户菜单与功能设定等 功能。e o s 内置的构件库,是支撑快速开发、部署应用系统,具有高度复用能 力的一组预制构件的集合。e o s 的优点在于构件组装层次高,充分利用了构件 技术的新成果。但是,它对特定领域构件库依赖性较强,虽然组装效率高,但应 用范围受到限制,普及程度不高。 5 、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 ( 业务流程管理) ,也称工作流f ,属于较新的一个信息技术,它现在 仍处于标准的制定阶段,目前已有的标准按采用的技术分为两大派别,第一派是 基于纯x m l 技术;第二派是基于w e b 服务技术。两种标准目前仍难分高下,所 以,现在仍有一些工作流引擎没有采用任何标准而独立实现,也就是说,它们不 依靠纯舡,技术,也不依靠纯w e b 服务技术。 ( 1 ) 基于纯x m l 技术 ox p d l t 2 0 j ( x m lp r o c e s sd e f i n i t i o nl a n g u a g e ) 在工作流领域第一个致力于标准化工作的是w o r k f l o wm a n a g e m e n tc o a l i t i o n ( w f m c ) ,它成立于1 9 9 3 年。1 9 9 4 年1 1 月,w 0 “c 发布了工作流管理系统的 参考模型。参考模型提出了五类接口,有关过程模型的定义则构成了接口一的核 心内容。接口一早期的标准为w p d l ( w o r k f l o wp r o c e s sd e f i n i t i o nl a n g u a g e ) , 后来,这一接口的规范变更为,d l 。,d l 是至今工作流领域最为重要的一个 8 硕士学位论文第一章服务组装技术概述 标准,目前大多数工作流引擎是依据该标准设计开发的。 b p m l o ( b u s i n e s sp r o c e s sm o d e ll a n g u a g e ) b p m i 发布的b p m l 规范发展的非常之快,w f m c 和b p m i 在2 0 0 2 年6 月 2 6 日宣布将合作制定业务流程和工作流标准,即采用b p m l 来描述工作流过程, 同时采用d l 所定义的工作流模型。 o m g 的w o r k f l o wm a n a g e m e n tf a c i l i t y o m g 的w o r k f l o wm a n a g e m e n tf a c i l i t y 联合w f l v i c 规范,定义如何将工作 流向c 0 a 转换。 ( 2 ) 基于w e b 服务技术 ow s c i 2 0 0 2 年6 月2 6 日,b e a ,i n t a l i o ,s a p ,s u n 四家公司提出了基于x m l 的 w s c i 规范,推动w e b 服务进入了一个全新的阶段。这个规范主要描述了一个参 与和其它服务进行协作交互的w 曲服务所交换的消息流。 e b x m d 2 i j c b x m l 是一组支持模块化电子商务框架的规范。e b x m l 支持一个全球化的 电子市场,它使得任意规模的企业通过交换基于x m l 的信息,不受地域限制地 接洽和处理生意。e b x m l 是联合国( u n c e f a c t ,贸易促进和电子商务中心) 和o a s i s ( 结构化信息标准发展组织) 共同倡导、全球参与开发和使用的规范。 b p e l e 2 0 2 0 0 2 年8 月9 日,m i c r o s o f t , b e a ,m m ,s a p & s i e b e l 联合提交发布 了b p e l 规范。此规范描述如何处理输入的消息,它不是一个关于业务流程规格 化定义的规范。简单的说,可以将它看作x m l 形式的编程语言,提供将 w s d l s e r v i c e s 组合成控制流的能力。顾名思义,此规范重点在( 也不只限于) w 曲s e r v i c e 。 1 2 4 当前组装支撑平台和流程驱动平台存在的问题 纵观上述平台可以看出,目前已有的组装平台存在两种大的类别: 第一种是基于构件技术的平台。软件构件技术从9 0 年代中期发展至今,构 件组装技术也得到了发展。比如北大的青鸟i 型、上海普元的e o s 等,这些平 台组装思想均是基于构件的,即组装对象均是结构单一的本地构件。而且要求将 网络上的构件下载到本地的服务器中或者自己按需定制构件,在本地的运行环境 中进行组装。在网络资源呈指数倍增长的今天,将所有构件都下载到本地服务器 是一个很难实现的难题。而构件资源多样化,本地的运行环境无法适用于所有类 型的构件,这也使得构件组装发展遇到了瓶颈。 硕士学位论文 第一章服务组装技术概述 第二种是基于工作流技术的平台,它的产生是基于o a ( 办公自动化) 的发 展。由于它的商业应用价值,它的发展很快。但是,作为一种新兴的技术,目前 还处于标准制定阶段,其发展还不完善、不稳定。虽然它在流程驱动方面表现出 优异的特性,能够使计算机自动化的执行。但是它的缺点也是显而易见的。其一, 它是一个面向企业应用的技术,只有具有计算机专业知识的用户才会使用。其二, 它在流程定制方面并没有取得很好的成果,如何引导用户进行需求分解完全没有 涉及。其三,尽管工作流技术正在和s o a 融合,但就目前的标准以及产品来看, 还没有一种完全实现s o a 思想f l7 l l l 甜,不能实现调用任意种类的服务,即对调用 服务的种类有限制。 综上所述,目前组装平台存在的问题有以下几点: j 、专业性过强 几乎上述提到的所有平台都是面向经过组装平台技术培训的具有计算机专 业知识的用户,而一般的各个领域的普通用户无法使用。然而具有计算机专业知 识的用户对于其他专业领域专业术语、规范等并不十分了解,这样开发专业领域 的应用费时费力。但目前也没有一种智能的需求分析平台支持,使普通的非计算 机专业用户也可以使用。 2 、组装资源( 构件或服务) 选择范围窄 目前的组装平台大多基于单一结构的构件或者服务资源,甚至有的要基于自 己开发的构件,而无法实现异构服务之间的组装。 3 、组装系统灵活性差 当前的构件组装技术以及组装工具,往往在组装过程中过早确定了组装结 构。随着软件系统的演化,可能会出现功能更强的构件,软件需求也常常发生变 化,这就需要调整组装结构。而过早确定的组装结构导致系统灵活性较差,很小 的调整都需要改写大量源码,并且改动涉及面较广,以致于工作量大,而且程序 质量得不到保证。 4 、异构服务之间无法自动连接 现有的服务组装平台没有提供异构服务之间的连接工具。比如,w e bs e r v i c e 和e j b 之间的连接,完全是靠手工输入适配代码。没有提出一种比较完善的支 撑机制,能够屏蔽掉e j b 、c o r b a 、w e bs e r v i c e 等服务之间的异构性。这样一 来,用户调用异构服务时工作量是巨大的,调用过程也无法实现自动化。 针对以上这些问题,我们提出了在网格环境下,基于异构服务组装的面向普 通用户的异构服务组装平台。该平台旨在实现一个能够帮助普通用户完成应用需 求开发的,对应用程序服务资源类型无限制的,组装结构松耦合的,组装流程自 动化驱动的工具,以弥补当前组装平台的局限性,实现业务流程的快速构造、开 硕士学位论文 第一章服务组装技术概述 发和应用。 1 2 5 异构服务组装平台中执行引擎的可行性 随着s o a 1 4 l o 思想的提出,工业界解决了以往软件架构所不能解决的软件复 杂度不断加深、开发以及维护成本不断上升的问题。s o a 是为了减少异构性、 互操作性和不断改变的要求的问题而提出的,具有松散耦合、位置透明、协议独 立的特点。基于这样的面向服务的体系结构,服务使用者甚至不必关心与之通信 的特定服务,因为底层基础设施或服务“总线”将代表使用者做出适当的选择。 基础设施对请求者隐藏了尽可能多的技术。特别地,来自不同实现技术( 如j 2 e e 或n e t ) 的技术规范不应该影响s o a 用户。如果已经存在一个服务实现,我 们就还应该重新考虑用一个“更好”的服务实现来代替,新的服务实现必须具有 更好的服务质量。 工作流技术作为一个s o a 的一个分支,在流程驱动方面表现出他的特点 2 3 1 。 它的主要特点是使处理过程自动化,使人以及各种应用工具相互之间协调工作, 以完成某项工作。其目的是为了让合适的人或软件在恰当的时问执行正确的工 作。业务流程所关注的问题是处理过程的自动化,它根据一系列定义的规则,把 文档、信息或任务在参与者之间传递,以达到某种目的。业务流程管理联盟w f m c ( w o r k f l o wm a n a g e m e n tc o a l i t i o n ,简称w f m c ) 分别给出了业务流程和业务流 程管理系统的定义: ( 1 ) 业务流程是一个业务过程部分或全部地用计算机自动执行; ( 2 ) 业务流程管理系统是一个完全定义、管理和执行业务流程的系统,它通 过计算机表示的业务流程逻辑来驱动软件有序地运行。业务流程技术提供了把业 务流程逻辑从具体r r 工具的操作中分离出来的方法,并且还可以在以后把改变 的流程逻辑规则添加进去。业务流程管理可以在办公环境( 如保险、银行、法律、 行政管理等) 以及工业和制造等领域得到广泛应用。 而基于传统的服务组装平台很难完全解决上述问题。他们各有优势,又各有 缺点。总的说来,面对现在i n t e m e t 上网络资源急剧增长的局面,而不能充分利 用网络环境下丰富的资源,现有的组装技术以及组装平台已经过于局限发展遭遇 了瓶颈。 异构服务组装平台中服务执行引擎的实现借鉴工作流驱动思想,较好地解决 了服务组装带来的流程自动化问题,从而实现基于s o a 环境下,异构服务之间 无缝、自动化的组装。 1 3 本文的主要工作 硕十学位论文 第一章服务组装技术概述 根据工作流技术在流程驱动方面的优势,结合异构服务组装的特征,在异构 服务组装平台框架下把工作流引擎技术思想引入到执行引擎当中,并在此基础上 研究工作流引擎与本平台执行引擎之间的异同,设计了异构服务组装执行引擎体 系结构和模型,并用基于j 2 e e 的j a v a 和数据库技术实现了异构服务组装执行引 擎系统的原型。 1 4 本文的组织 本文组织结构如下: 第一章服务组装技术概述。本章主要介绍服务组装技术的课题研究背景及 意义、研究现状与存在问题,介绍目前的几种服务规范和服务组装平台。阐述异 构服务组装平台中异构服务组装执行引擎研究和实现的必要性及其重要意义。 第二章服务组装平台系统框架。本章首先阐述服务组装平台的工作流程和 系统结构,其次介绍服务组装平台的功能结构,最后重点探讨了组装平台中从需 求分析到程序流程工具的相关设计问题。 第三章服务组装平台中异构服务组装执行引擎的总体设计。介绍异构服务 组装执行引擎的总体结构,并对引擎中的各个功能模块及模型进行详细介绍。 第四章异构服务组装执行引擎的实现。详细介绍了组装结构描述规约、功 能模块实现以及服务组装流程驱动的方式,并给出流程调度算法。 第五章结束语。对全文进行了总结,展望了本领域今后的研究方向。 硕士学位论文第二章异构服务组装平台体系结构设计 第二章异构服务组装平台体系结构设计 2 1 异构服务组装平台总体结构 异构服务组装平台的目的是实现从普通用户角度完成面向应用开发的服务 组装的全过程。本中间件平台模型的提出旨在对在网络上存在的各种应用程序服 务资源在已有的研究成果上实现传输机制层、数据集成层和接e l 集成层的集成, 并能扩展到过程集成层,最终达到企业级应用的标准。其总体结构如图2 ,l 所示。 j 一黧鬻器 j r w i i 羹求分析工再 服务配工 j i t l 瞄岛震0 凶+ 显 :蒜固湍 应用层 支撑层 逢配层 资源层 图2 - 1 异构服组装平台总体结构 ( 1 ) 资源层 资源层主要是提供支持异构服务组装平台的应用程序服务资源,其中包括已 在本平台服务注册中心中注册的服务和暂未被注册的分散在i n t e r n o t 网络中的其 他服务。服务注册中心可以实现对多种异构服务按照统一注册方式注册,并能够 主动发现未注册的服务,并将其注册进来。 ( 2 ) 适配层 适配层提供企业、组织或个人已开发的遗留资源以及新开发的资源在新的基 于s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- TCECS 178-2023 气水冲洗滤池整体浇筑滤板及可调式滤头应用技术规程
- DLT 5478-2021 20kV及以下配电网工程建设预算项目划分导则
- 南充一诊英语试卷及答案
- 轨道交通运维工程师面试题及答案
- 公务员面试南京面试题及答案
- 活动策划校招面试题及答案
- 恒瑞医药校招真题及答案
- 海信集团招聘试题及答案
- 国机集团校招试题及答案
- 公务员考试思维策略试题及答案
- 心房颤动诊疗中国专家共识
- 物业管理耗材采购清单及限价
- 华润物业住宅管理办法
- 契税法宣传课件
- 2025至2030年中国煤矿机器人行业市场现状分析及发展前景研判报告
- 电商公司客服部管理制度
- 2025年国际注册内部审计师(CIA)考试《内部审计基础》新版真题卷
- 借款合同标准文本pdf
- 2025年英语四级考试试卷及答案
- 处方药学类试题及答案
- 机房运维考试试题及答案
评论
0/150
提交评论