(计算机应用技术专业论文)基于web+services的工作流系统的研究.pdf_第1页
(计算机应用技术专业论文)基于web+services的工作流系统的研究.pdf_第2页
(计算机应用技术专业论文)基于web+services的工作流系统的研究.pdf_第3页
(计算机应用技术专业论文)基于web+services的工作流系统的研究.pdf_第4页
(计算机应用技术专业论文)基于web+services的工作流系统的研究.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(计算机应用技术专业论文)基于web+services的工作流系统的研究.pdf.pdf 免费下载

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

文档简介

华北电 力大学硕士学位论文摘要 摘要 工作流技术是信息技术应用的 一个重要分支, 是企业信息化建设的重要组成部 分。 随着企业的全球化和 开 技术的发展, 现代企业信息系统的分布性、 异构性和 自 治性的特征越来越显著, 传统的工作流系统面临这种状况有一定的局限性。 本文 通过对现有工作流系统和w 七 b s ervl ce s 的 分析, 将web s ervi ce s 与工作流技术结合, 利 用w 已 b se rv i 比 5 作为 具体任务的 实现, 应用b pel 语言 对工作流模型进行描 述, 采用基于 petri 的模型验证方法, 解决了传统工作流系统在异构分布性、流程可重 用性、 可靠性等方面存在的不足。为提高系统的安全性和灵活性, 提出了面向服务 的基于b p e l 的访问控制模型。 在上述基础上, 本文采用j zee 框架和b pel 标准, 设计并实现了一种基于w 七 b services 的工作流系统, 该系统支持流程的动态性和可 重用性、增加了业务流程的可靠性、具备较好的灵活性和安全性。 关键字: 工作流, 工作流系统, w e bservi c e 。 , bpb l , 访间控制 abs tract m 陌 尤 k fl o w te c b n o l o g y as an l m p o rt a o tbranch o fl n fo rmatio n te c hno l o g y app ll c a ti o n i s a s u b s t anti a l p art o f the i n i b n n atio n c o n s t ru c t i 0 n inane n t e 甲 ri s e . int b e mov eme nto f e n t e rp ri s eg l o b aliz atio n即d仃 d e v e l opment , th etradi t i o n aiw o r k fl o w s y s te mc a n n 0 t s o l veall p r o b l e m s w e l l asc h ar a c te ri s ti c s o f di s trib u t i o n , i s o men s mand auto n o m y bec o me m ore di s t i n c t . ihth i s p aper, t h e p r e se n t w o rk fl o ws y s t e mand w 七 b s ervic e s w i llbe ana ly z e d , w ith b p e las血s c ri p t i o n ofw o r k fl o wm o del a n d p e t ri 七a s e d v al i d at i o n , 山 c u n l o n of节 /e b s e r v i c e s and w o r k fl o wh e rei m p r o v c mu c h c o in p ared tot h e t r a d l ti o n alw o r k fl o wsys t e m . 玩 沉 d erto1 m p r 0 v eth es e c urit ya n dfl e x i b i li tyo f th e s y s te m , anacc e s s 一 c o n tro1 m o del b a s edo n b pel i s in troduc e d . o n t b e b a s e o f th e abo ve, a w七 b s ervic e s b as e d w o r k fl o ws y s te misdes i g n e d a n d i m p 1 e m e n 1 e d w ith t h e fr a r n e o f j z e ea n ds t and a r d so f b p e l . then e ws y s t e i ni smo res upp o rtive i ndyn a r 以 , c sand r e p et i ti on, morereii abl e a ndo f ni g h c r fl e x i b i l ity a n d s e c u ri ty. lic h ang ( c o m p u t erapp l ic atio n t e c hno l o g y ) d irec t e d b y pro f. w台 n g b ao外 k e ywo r d s : w七 r k fl o ww心 rkflows y s te m, we bs e rvi c 肠, b p e l , a c e sss c o u t r o l 侧匕d口 声 曰才1 本人郑 重 声明: 此处所提 交的 硕士 学位论文 基于v 阳 b s 的 工作流 系 统的 研究 , 是本人在华北电 力大学攻读硕士学位期间, 在导师指导下进行的 研究 工作和取得的 研究成果。 据本人所知, 除了 文中 特别加以 标注和致谢之处外, 论 文中 不包含其他人已 经发表或撰写过的 研究成果, 也不包含为获得华北电 力大学 或其他教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所 做的 任何贡献均已 在论文中 作了明 确的 说明并表示了 谢意。 学位论文作者签名: _日 期: 关于学位论文使用授权的说明 本人完全了 解华北电 力大学有关保留、 使用学位论文的 规定, 即: 学校有 权保管、 并向有关部门 送交学位论文的原件与复印 件; 学 校可以 采用影印、 缩 印 或 其 它 复 制 手 段 复制 并 保 存学 位论 文; 学 校可 允 许学 位 论文 被 查阅 或 借阅; 学校可以 学术交流为目 的, 复制赠送和交换学位论文; 同意学校可以 用不同 方式在不同媒体上发表、 传播学位论文的全部或部分内 容。 港密的 学位论文在解密后遵守此规定) 作者签名: 李 昌导师签名 日期 : 一 兰 些 三 色 一型日期 . 初了俘 、 习 华北电 力大学硕士学位论文 第一章 引言 1 . 1 课题的背景及意义 随着经济的全球化发展趋势, 信息技术在世界范围内 得到了广泛的应用。 工作 流技术是信息技术应用的一个重要分支, 是企业信息化建设的 一个重要组成部分。 工作流 技术 起源于20世纪70年 代的 生 产组织和办公自 动 化领域, 提出 的目 的 是通 过将工作分解成定义良 好的任务、 角色, 按照一定的规则和过程来执行这些任务并 对它们进行监控, 达到提高工作效率、 降低生产成本、 提高企业生产经营管理水平 和 企业竞争力的目 标l 。 但由 于当时 技术的限 制, 一直 未得到充分发展。 进人 20 世纪90年代后, 一方面, 随着计算机与网络技术的迅速发展, 特别是in te rn et应用 日 益普及, 为工作流技术的快速发展奠定了坚实的技术基础。 另一方面, 现代企业 的需求为工作流技术的应用提供了广阔的市场前景。 随着企业的经营和生产规模的 日 益扩大, 它所包含的信息资源迅速增长, 相应的业务流程也越来越复杂, 而且还 经常需要变化与调整以适应需求的不断变化, 显然传统的企业组织机构和运作方式 已经不能满足企业信息化的需要, 而工作流技术恰恰为解决复杂的业务流程提出了 一个有效的技术方案, 工作流技术引起了国内外学术界和产业界的广泛关注, 掀起 了工作流研究热潮。 近几年, 随着计算机技术应用的不断深人, 现代企业的信息资源越来越表现出 异构、 分布、跨平台、 松散藕合的特点,目 前工作流系统与模型不能很好地适应企 业的新需求, 普遍在以下几个方面存在不足: (l ) 缺乏对异构分布环境的 支持 一方面, 企业级的业务流程包括许多在地理上分布的离散执行单元, 是分布式 的流程; 另一方面, 工作流系统可能分布在不同的软件平台中, 需要在异构环境中 实现互操作, 以便完成流程协作。 而现有的工作流系统与模型普遍缺乏对异构分布 环境的支持。 (2 ) 标准化程度差 . 不同的厂商所提供的工作流产品具有自己独立的一套工作流模型、 工作流定义 语言、 a p i 函数。 但难于在不同系统之间进行交互, 集成的效果不理想,不能方便 地在不同系统间进行应用对象的重复利用和数据的方便交流, 标准化程度差。 (3 ) 柔性间题 无论是流程模型的表示还是资源的 调用, 现有的工作流系统普遍表现出 柔性差 的特点。 一些企业常常有对执行路由动态修改以 及工作执行人的 动态选派的 需求, t 华北电 力大学硕士学位论文 现有的工作流系统对这些需求不能给与很好的支持。 (4 )缺乏流程可重用机制 由于企业本身规模的不断扩大以及虚拟企业的出现, 业务流程日 益复杂化, 这 就要求业务流程分工构建和递归定义。 而现有工作流系统在进行一个新的流程的设 计时, 用户往往需要从零开始, 不能实现业务流程的递归定义, 无法做到业务流程 的方便共享, 难以构造出满足企业需求的业务模型。 (5 )安全间题 系统中 对于并发访问和异常错误缺乏正确和可靠的支持。 一旦系统出现非正常 退出, 如何恢复数据并保证数据的一致性还需要解决。 另外在工作流系统中, 数据 在工作流任务中流动, 执行任务的用户在变化, 用户的权限也在变化, 现有的授权 方法不能很好地描述这种职责分离。 随 着 bl s体系结构和 分布 式处理技 术 ( c o rba 、 w 研 爪 v 、 o le、 j 八 v a ) 的日 益成熟, 集中式信息处理的时代即将过去, 取而代之的将是大规模的异构信息处理 与应用执行环境。 这样的发展方向, 使得一些传统的, 面向本地应用的工作流技术 迫切需要新的突破, 以适应新技术的发展和企业的实际需求的变化, 构建新型的工 作流系 统成为巫待的问 题12 。 节 几 b s ervic es技术3 的出 现, 给解决上述难题提供了 契机。 节 几 b servico s 是近几 年才发展起来的基于s o a p 协议的传输协议, 具有完好的封装性、 松藕合性、 协议 的规范性、高度可集成性等特征。 叭 飞 bserv i ces 可以屏蔽异构系统之间的差别, 用 户对资源的调用是通过节 几 b s ervlc es提供的接口 进行的, 不涉及资源提供者内部的 实现方式。同时, 节 陌 bserv i ces 的高度可集成性使异构平台上应用的集成变得更容 易j记 b serv i ces 基于x m 工 文档进行服务描述, 服务请求和反馈结果, 可以在加 t emct 上通过h t t p 等协议进行传递, 很容易的被访问和返回 结果。 在很大程度上解决了 工作流分布性和复杂性的问题。 另外, 所有的服务都可以通过u d d i 标准动态地被 发现、绑定和使用, 容易适应系统的变动,提高系统的灵活性和伸缩性。 利用w 七 b s ervlc es的优势, 将分散在不同 地点的各个部门或企业的内 部信息系 统封装成w 七 b s ervl ces , 利用某种流程描述语言将这些定义好的辘b s ervi ces 组合 起来, 形成一个业务流程, 即 这个流程的 所有活动都是通过调用w 七 b seo i ce s( 扩展 了人 工参与 部分) 来完成的。 而这 个流程对外仍作为 一个 更大的节 阳 b s ervi ce s , 作为 其他流程的子流程来调用。 将web serv i ce s 与工作流相结合, 允许工作流中的任意 任务用web s ervi ce s 的形式实现, 工作流本身也以web service s 的 形式封装提供给 外界使用, 可以 更加简易、 灵活地保留和重复利用原来的遗留系统, 更好地与业务 合作伙伴、 顾客及其他信息系统共享数据。 一一 些兰 丝力 木 学 硒 士 学 位 世 文_ 将叭 怎 b serv ic e , 与工作流技术结合尚处于研究发展阶段, 存在很多技术间题, 如模型表达能力、 模型正确性验证、工作流系统安全授权、 工作流引擎设计等, 需 要进一步研究探讨。目 前还没有成熟的基于w 七 b serv i 邻5 的工作流系统的产品, 对 这个题目的研究有很大的前瞻性和实际意义。 1 .2国内外研究现状 1 . 2 . 1工作流的研究现状 在上述技术背景下,国内外许多公司和研究机构开展了大量工作流的研究项 目, 并取得了众多研究成果。 工作流系统及其产品已经有数百种, 人们按所实现的 业务流程、底层实现技术以及任务项传递机制, 对现有工作流系统进行了分类: 按所实现的业务流程可将工作流系统分为4 类, 即管理型工作流、 设定型工作 流、协作型工作流和生产型工作流。 按底层实现技术可将工作流产品分为3 类, 即以通信为中心、以文档为中心和 以过程为中心。 按任务项传递机制可将工作流产品分为4 类, 即基于文件的工作流系统、 基于 消息的工作流系统、 基于w eb的工作流系统和群件与套件系统。 下面将简要介绍一些著名的工作流软件产品: fi lenet 公司 的visu al wor k fl o l41 , 它 是 套 件p an ag onsu ite的 一 部 分, 在 工 作 流 软件领域处于领先地位, 市场份额一直位居榜首。 矶su 吐叭 陌 r 妞。比 较适合以流程 为中心的应用环境, 不过 fi le n et正在努力将其向以文档为中心的环境靠近,以便 与p anag ons ul to的其他产品 结合, 形成集成 文档管理的系列软件, 提供集成化文档 管理的解决方案。 ley g m b h 公司的c o s a 151 , 它 是一 个 基于pe tri网 的 工 作流 系 统, 在欧 洲的 工 作流系统中 处于技术领先地位, 能够管理复杂的业务, 而且十分健壮。 c o s a即可 以 作为 独 立的 工作 流系 统, 也 可以 作为b a an,we r p 系 统的 组件。 在in t ernet 环 境 中 , 使 用c o s a 门 户 可 以 实 现 与 工 作 流 系 统 的 交 互 , 即 通 过web 浏 览 器 访 问 备 忘 录功能。 佐治亚大学lsd is实验室的m eteor 6l , 它是基于c o rba的 工作流系统。 m e te or 项目 由n ls t a t p ( a d v ancedte c 恤o lo gyp r o gr 呱 ) 发起并资助, 目 的 是实现 一个能 够支持大规模复杂应用的自 适应工作流系统, 并保证这些应用在异构环境中能够正 常运行 me te o r 支持事务工作流, 并广泛采用分布式计算结构如 w 七 b 、c o r b a和 j a v a , 因此m e te or支持异构计算环境的 用户协作,同时, m e t e o r 提供设计、 监控 和仿真分析的g ui工具, 并可以针对分布式工作流应用自动生成代码。 华北电力大学硕士学位论文 扭 m的m q s e 五 e s 力 刀 b r k fl o w 7 和0 0 而n o w o r k fl o w ts ,m q s e h e s 力 刀 。 r k fl o w 是 ibm的 商业集成软件m q s erie 。 的一部分。它将业务流程从应用逻辑分离出 来, 从 而使用户用更少的时间、更快的速度集成非常复杂的应用与资源。 m q se水5 脚 而 r k fl o w以 消 息队 列产品m q s er i es为 底层支持, 不需 要r p c等其他通 信机制。 d 。 而nowo r k fl o w是ibm的群件产品l o t u , d o n 山 拍 用otes 在工作流应用方 面的扩展, 并与之进行了紧密集成,它可支持半结构化流程。 在国内, 由于我国的 企业的 信息化进程远落后于国外, 管理水平也存在着较大 的差距, 工作流对我国而言还是比 较陌生的词汇,自 主研发的工作流产品更是屈指 可数。 工作流技术在国内的全面应用也仅仅是这几年的事情, 其在国内最为直接的 刺激和市场, 是电子政务和 0 a(办公自 动化) 的迅速铺开, 用户对工作流产品的需 求在不断增长。 一些大学、 科研机构及企业对工作流技术做了一些比 较深入的研究, 相应的一些比 较适合中国人习俗的工作流产品也开始在市场进行销售。 但从总体来 说国内工作流产品还是处于萌芽阶段, 其可靠性、 稳定性、 开放性及标准化方面都 还有待加强、 1 2 zw e bs e r v i c e 吕 的研究现状 随着w e b serv i ce : 的出现, 如何重用已有的服务、 减少由于重复开发而带来的 浪费成了重要的研究课题。 服务组合的目 标正是研究如何在小的、 简单的和容易执 行的服务随件的基础上, 创建复合服务的技术。 高效的、 动态的服务组合, 能大大 提高服务的使用率和重用性。 文献9 1 指出在服务组合的语言研究方面, b p e l 是被接受程度最高的 语言之一, 是一种描述业务流程执行的语言, 它正是结合业务流程和w 七 b s ervi ees 的最有力的 工具。这也是本文主要采用和研究的服务组合规范。 代 数 过 程组 合( alg e b r a i c p ro ce ssc o m p o s ition) 101 的 理 论 将所 有的 服 务 都看 作 过 程实体, 可以分类为空过程、对如 的操作及其串行组合、过程的 并行组合、递归 定义的过程、 递归调用的过程, 然后在这样的情景下, 很容易对服务的正确性进行 检验。 但最普遍的问题就是信息分类的精度, 过于粗糙会导致无法对一些特殊情形 的检验, 过于精细则会导致检验过于复杂而不可行。 文献11 1 则从已 有的 组合流程角度出 发, 考虑怎么生成新的流程, 采用的是一 种交叉配对的方法。 这种方法依赖于己有模板和多次运行的统计, 因此存在较大的 限制。 另外 一个值得关注的 方法时 通过软 件a g en t 的 思 想来研究服 务组合tl 2.1 3,1 4.1 5 】 。 将时 刻变 化的 移动 节点 看作相同 能 力的 节点, 任何一个要求调用服务的 节点在其周 围节点中临时寻找一个作为组合代理,由 代理再从周围节点中查找服务进行组合, 华北电 力大学硕士学位论文 通过 利用的a ge nt的自 主性、 响 应性、 主 动性、 学习 / 自 适应能力和 可移动 性, 提高 系统的灵活性。 但是基于 a gent的工作流还存在很多间 题, 其中 一个主要原因是 a g e n t 技术本身的 不成熟, 使 用a ge nt受理论和硬件的 限 制, 应用a g en t 的 整个系 统的 状态是不可预测的。由 于a ge nt自 身带有 大量的 精神 状态, 所以 有时 候正确性 和性能反而不高。 使用a gent方法进行具体设计时必须考虑异构性、 不确定、 不完 备、 适应性和矛盾信息等问题。 1 . 2 . 3基于webs ervices 工作流系统的研究现状 随着网络技术的发展, 基于节 触 b services 的工作流技术逐渐成为研究的热点。 h p 软件 技术实验室于2 0 00年提出的卜 r o w l l6 是第一 个通过集成虚拟 企 业间 提供的 点到点的服务来完成商务流程的工作流管理系统原型, e 一 fi o w中提出的eservi ce的 概念便是以后的研 陌 b s ervic e 、 的原型。 随后, 众多基于服务整合概念的工作流管理 系 统被相 继提出。 在s el 卜 se rv ll7 1项目 中, 服 务被定义成 一种可以 通过 分布 式手 段进 行复合与 集成的 点到点的 交互, 工作流管理系统便构建于服务之上; a z t e cl 周 构 建了一个用于复合与执行像远程视频会议、 视频点播等需要长时间执行的复杂服务 的工作流平台; 文献 1 9提出通过一个层次结构的模型, 将各个不同服务复合起来 完成一个统一的业务流程, 并将所有可用的服务描述存贮在一个共同目 录之中, 在 业务流程的每一节点上通过一定算法选择执行最优的服务。 目 前基于web serv i 沈: 的工作流系统与模型对w 七 b s ervi ce, 的应用只局限于对 整个系统进行复合与集成, 在模型表达能力、 模型正确性验证、 工作流系 统安全授 权等方面存在不足, 本文针对以上几个方面的不足, 做了进一步的研究。 1 . 3本文工作 由于叭 陌 b s e rvices 的封装性, 松祸合性、 协议的规范性以及高度可集成性, 可 以比 较好地解决传统工作流系统中异构性、 分布性、 标准化程度差以及实现的复杂 性等诸多问题,因此本文设计了一个基于 , 阳 bs ervi ce s的工作流系统, 将 w 七 b serv ic es技术和工作流技术结合, 实现业务流程的集成和协作, 提升传统工作流系 统成为in t eme t 工作流系统, 满足业务不断发展的需求。 本论文将着重论述工作流 模型的描述、验证和工作流引擎的关键技术。 第二章介绍了工作流技术和web servi 。 e 。 相关理论; 第三章是介绍了 基于web servi c e 。 的 工作流模型, 包括元模型的 定义, 模型的存储机制; 的正确性验证, 包括验证的设计思想, 基于pe比1 网的模型转换 第四章给出了模型 , 模型的验证方法 等; 第五章提出了面向服务的基于 bpe l的访间控制模型; 第六章论述了 基于 web servi c e 。 工作流系统的设计与实现, 包括系统的体系结构、 参考模型和实现效果图, 华北电 力大学硕士学位论文 重点论述了 工作流引擎的设计; 第六章总结了本论文的研究成果以及对未来工作的 展望。 华北电 力大学硕士学位论文 第二章 基本理论 2 . 1工作流技术 2 , 1 . 1工作流技术的相关概念 关于工作流技术的相关概念目 前尚 无统一、明确的定义, 不同组织和产品都有 不同的描述, 但其本质和基本特征是一致的。 本文中以工作流管理联盟的定义为标 准。 工作流管理联盟wfmc四 而 r 幼o w man ag e mentc o al iti on) , 成立于1 9 93年8 月, 其主 要职责 就是负 责w fms 俘 勺 r kflo wm an ag e m e nts ys te 仇 ) 的 标准化 工作。 下面给 出与 工作流相关的 概念120。 (l ) 工作流俘勺 r k fl o w):是计算机支持的业务流程的全部或部分自 动化。在业 务流程中, 文档信息或任务按照预定的规则,以网络为载体流转, 实现组织成员间 的协调工作以达到业务的整体目 标或是促使此目 标的实现。 (2 ) 工作流管理系统阿fms): 是一种能定义、 创建和管理工作流执行的软件系 统。就是将现实世界中的业务流程转化成某种计算机所能识别的形式表示( 即工作 流逻辑) , 并在此形式表示的驱动下完成工作流的执行和管理。使用 wfms可以充 分利用企业资源, 有效地跟踪工作过程, 提高工作过程定制的速度与质量。 (3 ) 业务流程(b us lnes s pro ce ss ) : 指在某企业或机构中, 能够实现 业务目 标和策 略的相互连接的流程和活动集,如公文处理流程, 投保过程及项目 开发过程等。 (4 ) 活动( a c t i v it y): 工作流中 一个逻辑步骤或环节的工作任务, 一般分为人工 操作和自 动处理两类。 活动是流程执行中的最小工作单元, 要求有人员的参与或由 计算机自 动完成。 (5 ) 流程实例( p r o c es s ln s l a n c e ) : 实际 运行中的一个业务流程, 每个实例代表一 个能独立控制执行、 具有内部状态的线程。 在流程实例的执行过程中wfms 将解释 相应的流程定义生成有关的活动实例并根据定义中的控制规则协调这些活动之间 的顺序关系,同时根据数据流动关系的定义完成活动之间的数据传送。 从参与者的 角度来说, 实例的执行实际上是由参与者处理它所涉及的那个环节的数据。 完成该 环节的任务之后由wfms 根据相应结果激活后续环节, 同时通知后续参与者对之进 行处理,由此依次反复直至整个过程完成。 (6 ) 工作项列表邝七 rklist) : 是一个参与者所负责的所有工作项的详细描述。 (7) 工作流程模型( w b r k fl o w m o de l) : 工作流流程依赖于 一个形式化的 工作流 程 模型来描述工作流任务之间的控制流和数据流。 工作流程模型由4 部分组成, 它们 华北电力大学硕士学位论文 分别是流程模型、 组织模型、 资源模型以及工作流相关数据。 流程模型用来定义工 作流的流程逻辑, 它包括组成工作流的所有活动以及活动之间的依赖关系, 它是整 个工作流程模型的基础与核心, 其它模型均为其提供支持。 组织模型用来定义企业 人员的组织结构, 它包括几种不同 形式的组织元素以 及每种组织元素内 部的 递阶层 次关系。 组织模型的主要任务是为企业人员执行工作流流程提供柔性的组织定义, 为流程模型提供 “ 人”的支持。 资源模型用来定义企业资源的组织结构, 它包括几 种形式的资源变量元素以及变量内 部的递阶层次关系, 直至最终的原子级别资源个 体, 资源模型的主要任务是为企业人员执行工作流提供 “ 物”的支持。 工作流相关 数据用来定义工作流执行过程中 需要用到的数据, 它包括简单的数据类型与复杂的 企业对象。 它主要用于各种条件的判断, 以实现工作流机对不同活动的选择性路由。 工作流相关数据为工作流的执行提供了 “ 信息”的支持。 (8 ) 流程定义( p r o c 七 s s d e fi ai ti o n): 计算机所能识别的业务流程的形式化描述, 用来支持运行过程的自 动化。流程一般被分解成一些子流程和活动, 其定义主要包 括运行过程中涉及到的各种数据和参数, 如流程的开始和终止条件、 各个工作环节 ( 活动) 及相互之间的控制流和数据流关系以 及一些关于个体行为的信息, 如组织成 员、与 仃 相关的应用和数据等。活动之间依赖关系的语义包括因果关系和时间关 系, 例如活动q依赖于活动p , 这意味着q需要p 产生的 结果作为输人, 并且 q 在p 完全结束之前不能开始。 以上给出的这些基本概念之间的关系如图2 一 1 所示。 卜 过程定义管理系统 子应程 现为 实现 ( or) 包含 实例 人工操作自动处理 / 执行 ( 盆 吐哟 1作单元 调用的 应用工具 2. 1 . 2 图2 一 1工作流 基本概念之间的 关系 工作流技术的参考模型 1 995 年, w fmc 提出了 工作流 参考 模型121 , 如图2 一 2 所示。 参考模型 定义了 工 华北电 力大学硕士学位论文 作流系统的各个组成部分 ( 组件) 及其之间的5 个接口, 并指出3 种需要处理的 数 据。 图2 一 21作流系 统的参考模型 ( 1 )组件 流 程定义工具 ( p ro ce ss血 fi 过 ti ont ools ) : 也叫 建模工具, 对组织的 业务流 程进 行形式化定义,以便计算机系统能够处理。建模工具的输出结果就是流程定义 ( 少 o c e s s d e fi ni ti o n ) 。 1 作流引 擎( w o r k n o w en g i n e ) : 解释 处 理流 程定义, 为 流 程 实例的运行进行导航, 负责与外部资源交互来完成工作流任务, 并维护工作流控制 数据和工作流相关数据。 多个工作流引擎构成工作流执行服务( w or 妞。 wenac t m e nt s e r v i c e ) 。 管理和 监控工具( a d m ini stration 它是自 包含、自 描述、模块化的服务,可以通过节 几 b 发布、定位和调用, 基于一些开放的标准和草案: ws d l 、s o a p 、u d di,它具有平台独立性; 它支持 华北电力大学硕士学位论文 面向 对象的 应用, 客户端和服务器端松散藕合; , 触 b s ervic es是由 应用程序访问的, 这些程序可以是 w 七 b应用程序、wi n d o w s应用程序或者其他的 节 触 bs ervi c es。 w 3c 给出 了w e b s ervic es体系 结构 栈图 1221, 如图2 4所示。 仁 .r 响. 幻 粉 . 份 亡 0 犷 . 切 脚, 日 p e l 4 洲嗯 w卜心创舰阮比。 . 了 c p l ip , h t t p 图2 一 召份 由 s e rvi c e 。 体系结构栈图 其中, web servi ce s 体系结构的最底层是网络层。它采用事先已经定义好的并 且广泛使用的传输层和网络层的标准, 如 ip、 h t t p 、 s m 叮 等。中间四 层是目 前 开发的 v 几 bs ervi ce。的相关标准协议,包括服务调用协议 s o a p 、服务描述协议 ws d l和服务发现喋 成 u d di,以及服务发现、集成等上层应用,这四层均基于 x m l d t d或x m ls c b e ma 标准, x m l 是web serv i c e s 的 数据编 码的 标准。 它使 用标记的方法把文本流转化为一个内部结构可能高度复杂的数据对象。 不仅有助于 为认 飞 b 描述新文档的格式, 而且也适用于描述结构化的数据。 侧面的垂直层是各个 协议层的公用机制, 描述了更高层的待开发的关于路由、 可靠性以 及事务等方面的 协议。 2 , 2 . 4流程描述语言bpel 研 陌 bserv ices的价值就在于它使各种异构系统得以交互, 正是这一点使 职 阳 b serv ic es具有极高的商业价值。 但这种交互在很多时候需要人工干预: 在一个稍显 复杂的商业流程中, 不同阶段的业务调用要靠人的衔接才能实现。比 如旅游业中的 电子预定流程, 需要有机票预定、目 的地酒店预定、旅游景点安排等一系列服务, 现有的w比service。 独立地存在于各个子系统中, 也就是说, 调用完机票预定服务 后, 需要手动地把班机信息输人酒店预定服务中, 才能调用后者的服务, 旅游景点 安排的服务也是如此, 这样无形中降低了叭 触 bs erv i ces 的效率。b pel 便是针对这 种状况提出的。 华北电力大学硕士学位论文 m icros o ft 、 ibm和b e a等业内 主要厂商合作, 将ibm的支持图形化的流程描 述语言规范ws fl124和m ic ro so ft 的 结构化流 程描 述语言规范x l a n g1 25 结合起来, 推出的 webs e r v l c c s的商业流程执行语言 b p el (bus i 耽5 :p r oce s se x e c u ti on l 越 n guag e forweb serv ic es ) ,目 前b pel 最新的 标准版本为1 . 1 , 该规范目 前已 经成 为o a s ls标准组织维护的w 七 b s ervi cc s 标准。 b p e l 作为一种新型的流程描述语言, 是rr技术在流程建模层面的具体体现, 它为基于流程的业务整合莫定了基础。 b p e l 支持的业务流程能够指定一组webs ervic e s 操作的可能执行顺序, 这些 节 触 b s 二5 间共享的数据、业务流程涉及哪些伙伴以及这些伙伴在业务流程中 扮 演什么角色, 一组节 厄 b s ervl ces 的共同异常处理以及关于多个服务和组织是怎样参 与的其他间题。为了实现这些功能, b p e l引入了括动、伙伴链接、 伙伴和服务引 用、变量、相关集、错误处理、作用域和消息属性等关键元素。 (l) 活动(a以 i vi ty ) : b p e l流 程 类似于 用来表达算法的 流程图。 流程的每 一步 称为 一个活动, 活动 包括基本活动 (bas ic a c t i vity) 和结构化活动 (s t ru c t u r e d a c t i v i ty), 基本活动负责实现一定的 原子功能, 如赋值 数据(ass i g n) 、 终止 业务流 程价rmin ate) 、 调用( in v o k e ) 、 接收( r e c e iv e) 、 返回 (r eply) 等;结构化活动 则利用循环尸hi l e) 、 分支 (s w itch) 等元素对基本活动进行组装整合以实现系统所需的逻辑功能, b p e l 允许递 归地组合结构化活动, 以表达任意复杂的算法, 这些算法代表和体现了服务的具体 实现。 (2 ) 伙伴链接(p a rt n e r l i nk) 、 伙 伴(p a rt n e r) 和服务引 用( se 州cerefe r e nc e) : b p e l 把与流程交互的其他服务称伙伴。 每个伙伴由 伙伴链接类型来描述。 伙伴链接用来 直接模拟对等伙伴关系, 为了描述两个服务间的关系, 伙伴链接类型定义了关系中 每 个服务所扮演的角色, 并指 定每 个角色 所提 供的 端口 类型印 。 rt 介p e ) 。 为了 表示描 述伙伴服务所需的动态数据, b pel定义了服务引用, 服务引用指定了服务的描述 信息、 服务名称及服务引用相关的信息。 其中, 引用属性主要用于传递一些附属信 息, 通过与消息属性及赋值操作相结合, 服务引用使得在b p e l中能动态地为某个 服务类型选择提供者和调用它们的操作。 (3 ) 变量( 、 乞 r i ab le s) : 变量提供的方式可用于保存组成业务流程状态的消息, 所 保存的消息往往是己从伙伴那里接收到的消息或将被发送给伙伴的消息。 变量可被 指定为调用, 接收和返回等活动的输人变量或输出变量, 保存在服务间流动的数据 消息。 在流程开始的时候, 所有的变量都未被初始化, 可以通过赋值活动或接收活 动接收消息来初始化变量。 在业务流程执行过程中, 一般通过赋值活动来实现数据 在不同变量间的流转。 (4 ) 相关集(corre lati ons et): 在业 务流 程中 服务间的 交互是 有状态的 交互, 在面 向 对象的世界中, 这种有状态的 交互需要通过对象引 用来实现, 这种实现方式适用 华北电力大学硕士学位论 文 于紧密祸合的实现, 而在松散藕合的web serv i ces 的世界中, 这种引用的使用将造 成与实现之间脆弱的依赖关系, 这种依赖关系在每个业务伙伴采取不同的实现细节 的情况下是无法适应的。 在松散藕合的情况下, 解决的方法是依靠定义伙伴间线路 层的合同的业务数据和通信协议头并尽可能地避免在实例路由中使用特定于实现 的标记。b pel提出了相关集概念,以解决实例路由的问题。相关集被用于调用, 接收和返回等活动以指出哪个相关集出现在被发送和接收的消息中。 (5 ) 错误处理伽u it h an山 er ) : 类似其他编程语言, b p e l 使用c atch 元素来响应 错误处理。每个定义的c a t c h 活动能拦截某种指定的故障,由全局唯一的故障名和 与该故障关联的数据的变量来定义。如果没有故障名, 那么c a t c h 将拦截全部有适 合类型的故障数据的故障。c at c hau 子句可被用来捕获所有未被更特定的c at ch处 理程序捕获的故障。 业务流程中的错误处理在很大程度上依赖于补偿的概念, 即通 过进行必要的操作, 撤销先前活动造成的影响。 2. 3本章小结 本章介绍了与课题相关的理论, 首先介绍了工作流的相关理论, 包括基本概念、 参考模型等; 然后介绍了websery主 c e 。 的相关理论,包括webservi 。 e 。 的基本概 念、 w e b s e rvi c e s 构架、w e b s e rvi c e s 协议和w e b s e rvi o e g 的流释柑冰语言二 p ; t . _ 华北电力大学硕士学位论文 第三章 基于webs erv i c es工作流模型 工作流模型是对业务流程的 抽象表示, 包含了描述一个能够由 工作流系统执行 的流程所需要的所有信息, 这些信息包括过程中的开始和完成条件、 构成过程的活 动以及进行活动间导航的规则、 用户所需要完成的任务、 可能被调用的应用、 工作 流引擎的引用关系, 以及所有与工作流相关的数据定义。 工作流模型包括元模型和 具体模型。 工作流模型的元模型是指描述工作流模型内在联系的模型。 具体模型则 是根据元模型刻画具体的业务过程, 也就是常说的过程建模后得到的模型。 3 . 1工作流过程元模型 过程元模型描述工作流模型中 包含的 元素及其相互关系。 工作流管理联盟给出 了 工 作流过程 定义 元模型【26), 如 图3 一 1 , 包括活 动(ac tivity) 、 转移条件(tran siti皿 c ondi tion)、角色( role ) 、 工作流相关数据( rele vantd at a) 等基本实体, 这个模型有 利于建立在多个工作流产品之间交换信息的模型。 图3 一 1 工作流过程定义元模型 (l ) 工作流 定义口 而 r kflo w typ e d efi苗 tion): 反映了 企业中的 一个经营过程的目 的,即这个过程要实现的目 的和最终达到的目 标是什么。 (2 ) 活动(activi ty ) : 定义工作流流程的执行步骤, 主要的属性有活动的名称、 活动的类型等。 当工作流运行在分布环境下, 在活动的属性中还应包括执行该活动 的工作流引擎位置。 活动相应于企业经营过程中的任务, 主要反映完成企业经营过 程需要执行哪些功能操作。 (3 ) 转换条件份an sit i onc ondi ti on ) : 主要负责为过程实例的 推进提供导航依据, 华北电力大学硕士学位论文 主要参数包括工作流过程条件、执行条件和通知条件。 (4) 工作流相 关数据伴 勺 r k fi o w r el evant d a ta ) : 工作流引 擎根据 工作流 相关数 据和转换条件进行推进。 相关数据的属性包括数据名称、 数据类型和数据值等。 (5 ) 角色(rof e): 角色属性主要包括角色的名称、 组织实体、 角色的能力等。 角色或组织实体决定了参与某个活动的人员或组织单元。 (6) 被调用的 应 用 程 序( hi vo ke d appl ic ation ) : 主 要属 性包 括 应用 程 序的 类型、 名称、路径及运行参数等。 图3 一 1 给出的过程定义元模型的组成核心是活动。工作流定义与活动、工作流 相关数据之间是一对多的关系, 即一个工作流定义由多个活动与多个工作流相关数 据组成。活动、角色、工作流相关数据、需要激活的应用程序、转换条件之间都是 多对多的对应关系。 对以上的过程元模型中引人一些新的元素, 本文提出一种基于 叭 触 b ser v l c es的过程元模型,如图3 一 2 所示。 图3 一基于节 几 b ser ce s 的过程定义元模型 这种模型相对于传统的工作流元模型,变化主要体现在以下几点: (1 ) 对活动概念进行了推广, 相对传统集中 式工作流中的活动, 因 为活动可以调 用被发布为w七 b s e rvi ces 的子过程,所以这里的活动隐含包括子过程。 (2 ) 传统的 集中 式工作流中的 相关数据都是在同 一个运行服务上, 活动之间不 需要数据映射, 而在分布式异构环境下, 各工作流系统所使用的数据格式可能不统 一, 而要在各活动之间进行数据的传递和操作, 有时需要建立相应的映射关系。 (3 ) 将跨组织的工作流发布为web serv i ce s , 而web s ervi ee s 又可以 被工作流所 调用, 实现了流程的合并和递归调用。 华北电力大学硕士学位论文 3 2模型的形式化定义 根据基于w 七 b s ery加 es的过程定义元模型, 本文将工作流模型定义的描述为一 个五元组w=( n,e, q v, r) 其中: (l ) n为活动节点, 包括起始结点集, 终止结点集, 简单活动节点集, 复合活 动节点集、 选择节点集、同步结点集。 起始结点集: 它包括业务流程的描述信息和起始结点信息, 它标志着一个流程 的开始。 终止结点集: 它包括了业务流程的终止结点信息, 标志着一个流程的结束。 简单活动节点集: 它表示了业务流程中可以完成的一个单一的业务功能。 该活 动不再分为子活动。 复合活动结点集: 同简单活动结点相对, 复合活动结点所完成一个业务功能可 以分解为一个子业务流, 一个复合活动对应一个业务流, 该业务流包括一个起始结 点和一个终止结点。 复合活动对应的流还可以再包括复合结点, 由此形成一个层次 的流结构。 选择节点集: 分为选择分支结点和选择合并结点。 选择分支表示在这个活动完 成后将从其多个后续活动中选择一个活动执行。 它有一个输人结点和若干个输出结 点, 选择的依据是v变量, 还可以为外部事件, 如人工干预或时钟控制等。 选择合 并结点集, 选择合并同选择分支一一对应, 同选择分支结点相反, 它有若干个输人 结点和一个输出结点, 将各个分支流进行合并。 同步节点集: 分为同步分支结点和同步合并结点。 同步分支结点表示在这个活 动执行完成后, 同时触发多个后续活动, 这些触发的后续活动并行地执行。同步合 并节点用来同步多个并行执行流程的特殊节点, 通过它实现多流程结果的汇合, 从 而实现业务流程所需要的同步, 它和同步分支结点一一对应。 (2 ) e 为边集, e o nx g , 其中g是守卫条件集。它描述了 业务流程中流的 逻 辑, 即描述了业务流程中 业务活

温馨提示

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

评论

0/150

提交评论