(计算机软件与理论专业论文)面向soa架构教学工作流中间件的研究与实现.pdf_第1页
(计算机软件与理论专业论文)面向soa架构教学工作流中间件的研究与实现.pdf_第2页
(计算机软件与理论专业论文)面向soa架构教学工作流中间件的研究与实现.pdf_第3页
(计算机软件与理论专业论文)面向soa架构教学工作流中间件的研究与实现.pdf_第4页
(计算机软件与理论专业论文)面向soa架构教学工作流中间件的研究与实现.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

摘要 现今许多高校在信息化过程中缺乏一个整体规划 导致企业内出现大量的信息孤 岛和业务流程孤岛 不能有效地共享信息 更不能实现业务流程的协作和自动化 于 是企业应用集成 e a i 应运而生 而动态电子商务的发展对e a i 提出了更高的要求 高校不仅需要集成内 外部的应用系统以支持目前的业务操作 更需要一个具有柔性 易于扩展和变更的集成系统以支持不断变化的商务逻辑 面向服务体系结构 s o a 所 具有的松散耦合 面向消息的请求 相应通信方式 关注流程的特点顺应了企业快速构 建柔性集成应用的需求 本文通过研究面向s o a 架构教学工作流中间件 把不同业务平台的应用逻辑和流 程有机结合起来 把教学工作流程的操作进行扩展和重组 实现知识管理系统和其他 信息系统以知识为核心 个性化为特征的集成系统 为了实现教学工作组织目标 它 的有关业务活动依时序和逻辑关系相互连接构成业务流程 文档 信息或任务依据组 织规范在参与者之问传递 处理或执行 实现业务流程的全部或部分自动化 面向s o a 架构的教学工作流中间件应具有以下的功能 工作流模板定制教学流程 w e b 服务作为 工作流的任务 工作流作为w e b 服务的实现 关键词 教学工作流工作流中间件 s o aw e b 服务 a b s t r a c t n o wm a n ye n t e r p r i s e sl a c ko fac o m p r e h e n s i v ep l a n n i n gp r o c e s si nt h ep r o c e s so f i n f o r m a t i z a t i o nc o n s t r u c t i o n w h i c hl e a dt ot h ee m e r g e n c eo fal a r g en u m b e ro fe n t e r p r i s e i n f o r m a t i o na n db u s i n e s sp r o c e s s e si s l a n d m a k i n gi ti m p o s s i b l ef o re n t e r p r i s ei n f o r m a t i o n a n db u s i n e s s p r o c e s s e si s l a n d m a k i n g i t i m p o s s i b l ef o re n t e r p r i s e st oe f f e c t i v e l ys h a r e i n f o r m a t i o n a c h i e v e dm o r ec o l l a b o r a t i o na n db u s i n e s sp r o c e s sa u t o m a t i o n t h e r e f o r e e n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n e a i e m e r g e s t h ed e v e l o p m e n to fd y n a m i ce c o n n h e r c e b r i n g sf o r w a r dh i g h e rr e q u i r e m e n t sf o re a i e n t e r p r i s e sn e e di n t e g r a t e dw i t ht h ei n t e r n a lo r e x t e r n a la p p l i c a t i o ns y s t e m st os u p p o r tc u r r e n to p e r a t i o n sa n da l s on e e df o ram o r ef l e x i b l e e a s yt oe x p a n da n dc h a n g ei n t e g r a t e ds y s t e mt os u p p o r tt h ee v e r c h a n g i n gb u s i n e s sl o g i c t h ee m e r g e n c eo fs o af i l lt h ev a c a n c y l o o s e l yc o u p l e dw i t ht h ec h a r a c t e r i s t i c so fs o a m e s s a g e o r i e n t e dc o m m u n i c a t i o n sa n dc h a r a c t e r i s t i c so ft h ep r o c e s sc o n c e m e d w h i c hm e e t t h en e e d so fe n t e r p r i s e st or a p i d l yb u i l df l e x i b l ei n t e g r a t e da p p l i c a t i o n t h i sa r t i c l et h r o u g hr e s e a r c ho r i e n t e ds o af r a m e w o r ko ft h et e a c h i n gm i d d l e w a r e w o r k f l o w d i f f e r e n ts e r v i c ep l a t f o r m sa p p l i c a t i o nl o g i ca n dt h ef l o wo r g a n i cs y n t h e s i s c a r r i e so nt h et e a c h i n gp r o f e s s i o nf l o w so p e r a t i o nt h ee x p a n s i o na n dt h er e o r g a n i z a t i o n r e a l i z e st h ek n o w l e d g em a n a g e m e n ts y s t e ma n do t h e ri n f o r m a t i o ns y s t e m a n dt a k et h e k n o w l e d g ea st h ec o r e t h ei n d i v i d u a l i t yc h a n g e si n t ot h ec h a r a c t e r i s t i ct h ei n t e g r a t i v e s y s t e m i no r d e rt oa c h i e v et h et e a c h i n gp r o f e s s i o no r g a n i z a t i o ng o a l i t sr e l a t e do p e r a t i o n a l a c t i v i t i e sa c c o r d i n gt ot h es u c c e s s i o na n dt h el o g i c a lr e l a t i o ni n t e r c o n n e c t i o nc o n s t i t u t i o n o p e r a t i o nf l o w t h ed o c u m e n t s t h ei n f o r m a t i o ne i t h e rt h ed u t yb a s i so r g a n i z a t i o ns t a n d a r d t r a n s m i t p r o c e s s i n g o re x e c u t i o n r e a l i z e st h eo p e r a t i o nf l o wc o m p l e t e l yo rt h ep a r t a u t o m a t i o n o r i e n t e ds o af r a m e w o r ko ft h et e a c h i n gm i d d l e w a r ew o r k f l o ws h o u l dh a v e t h ef o l l o w i n gf u n c t i o n t h ew o r k f l o wt e m p l a t eh a sc u s t o m m a d et h et e a c h i n gf l o w t h e w e bs e r v i c et a k e st h ew o r k f l o wa st h ed u t y w o r k f l o wa sw e bs e r v i c er e a l i z a t i o n k e yw o r d s t e a c h i n g w o r l d l o ww o r k f l o wm i d d l e w a r es o aw e bs e r v i c e 长春理工大学硕士学位论文原创性声明 本人郑重声明 所呈交的硕士学位论文 面向s o a 架构教学工作 流中间件的研究与实现 是本人在指导教师的指导下 独立进行研究 工作所取得的成果 除文中已经注明引用的内容外 本论文不包含任 何其他个人或集体已经发表或撰写过的作品成果 对本文的研究做出 重要贡献的个人和集体 均已在文中以明确方式标明 本人完全意识 到本声明的法律结果由本人承担 作者签名 鲎堡 生瘟年 丛月丑日 长春理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解 长春理工大学硕士 博士 学位论文版权使用规定 同意长春理工大学保留并向国家有关部门或 机构送交学位论文的复印件和电子版 允许论文被查阅和借阅 本人 授权长春理工大学可以将本学位论文的全部或部分内容编入有关数据 库进行检索 也可采用影印 缩印或扫描等复制手段保存和汇编学位 论文 作者签名 堡丝 2 固年盟月罩日 指导导师签名 一 乏 乙乒吝删年上生月孕日 第一章绪论 当前 高校信息化建设存在着缺乏整体意识的问题 高校中的各信息系统通常只是 关注某一个业务环节或管理功能 整体集成和沟通程度不高 各信息系统相互独立运行 在学校内部形成了一个 个信息孤岛 i l l 与此同时 部门阃 高校与社会问的交流与 合作与日俱增 协同办公和高校信息门户等需求 要求高校的信息系统是一个高度集成 和开放的系统 以便利用网络柬改进办公效率 同时提高系统应对业务需求变化的敏捷 性 1 1 选题的目的和意义 目前已经开发的面向服务或者基于服务的工作流系统多数仍然是在w f m c 模型 1 基础上设计的 这种一l 作流系统在与w e b 服务集成时存在管以下的不足 l 采用传统的c s 架构和集中管理方式 容易造成服务器端的资源瓶颈 2 实时连接和频繁的交互町能造成刚络拥塞 3 使用x m l 语言定义的工作流程可重用性较差 很难与外部的应用集成和协作 4 系统的可扩展性差 集成性差 不能充分利用w e b 服务的优势 然而 i n t e r n e t 的迅速崛起使工作流与w e b 服务结合的需求是如此的迫切 人们 对工作流和w e b 服务的相关领域作了大量的研究 随着面向服务领域研究的深入 人 们发现 在面向服务的架构下 所有的应用都是由通过定义完备的接口互连起来的相 互独立的服务模块组成的 只要按照一定的顺序来请求这些功能模块所提供的服务 就可以形成完整的业务流程 如果把企业的i t 架构抽象出来 将其功能以 粗粒度 的服务形式表示出来 每种服务都清晰地表示其业务价值 那么服务的顾客 可能在公 司内部 也可能足公司的某个业务伙伴 就可以得到这些服务 而不必考虑实现的具体 技术 面向s o a 架构教学工作流中问件定位于支持工作流程的自动化 即能够方便地进 行处理集成 这些工作流中间件或者以消息中间件 或者以w e b 应用服务器为底层支 撑 工作流程的集成是高层次的集成 是应用逻辑的集成 通过工作流中间件 把不 同业务平台的应用逻辑和流程有机结合起来 把教学工作流程的操作进行扩展和重组 实现知识管理系统和其他信息系统以知识为核心 个性化为特征的集成系统 为了实 现教学工作组织目标 它的有关业务活动依时序和逻辑关系相互连接构成业务流程 文档 信息或任务依据组织规范在参与者之间传递 处理或执行 实现业务流程的全 部或部分自动化 1 2 工作流技术来源及发展趋势 工作流技术源于计算机软件的商业应用 是一个多学科交叉的领域 涉及计算机 科学与管理科学领域的多种方法与技术 包掐数据库 形式化描述语言 应用与系统 集成 软件工程 文档管理 组织与资源管理 仿真技术 企业重组 分工协作等 工作流技术并非强凋业务过程的全面自动化和完全不需要人的参与 而是把重点放在 对工作流中任务状态的自动跟踪与监控 以及对任务执行的条件和任务间的信息流进 行明确的定义 从而实现业务流程的高速运转 并能够在最大程度上实现业务流程的 重用 从二十世纪七十年代术的办公自动化系统到现在 工作流管理系统大致经历了五 个阶段 l 单个功能的应用 2 部门级的集成应用 3 企业范围内的集成应用 4 集成客户与供应商 5 跨企业集成与电子商务 如今 工作流系统己经完成了从面向 功能的事务处理到面向过程的业务处理的转换 而随着分布式处理技术 j a v a w e b s e r v i c e w w w o l e 的成熟 当今的工作流系统不仅可以处理单个任务 还可以控制 监视和处理不同复杂环境下业务流程的协调与执行 成为企业计算机应用的 中间件 伴随着计算机技术和i n t e r n e t 的发展 现有的高校信息资源越来越表现出松散 异构和分自j 的特点 高校问的协作也里不断增长的趋势 这一切都使工作流的应用环 境发生了巨大变化 随着w e b 服务技术的发展和成熟 工作流集成w e b 服务应用的需 求越来越迫切 而如何将工作流与w e b 服务集成成为当前工作流研究的一个热点问题 1 目前已经有相当数量的基于服务或者面向服务的工作流研究成果 比如中科院软 件所研发的i s f io w w s w m s h d f l o w 等 但这些研究的大多着露于如何将w e b 服务 作为工作流的业务实现 使工作流可以有效 可信 动念的发现和获得服务 而对工 作流系统在面向服务化后的体系结构以及工作流流程本身作为w e b 服务的研究不够 1 3w e b 服务的技术简介 以往在分布式领域 人们倾向于提供一个有效的框架术把那些出基于组件的应用 稃序所构成的完伞不同的系统集成起来 但是这些体系结构 包括c o r b a j a v ar m i 等等 是固定的 需要与后端数据结构保持紧密的一致性 如果应用在跨越i n t e r n e t 的动态电子商务框架中 这些系统的效率是不够的 为了解决这些问题 业界提出了 一种提供松散耦合的体系结构 州e b 服务 可以重用并且适合根掘业务需求修改和扩 展 w e b 服务的基础建立在h t t p x m l s o a p w s d l 等丌放的i n t e r n e t 标准之上 这 种技术允许网络上的所有系统进行交互 它们统一采用s o a p 作为对象调用的通信协议 x m l 作为标准的数据格式 1 w s d l 和u d d l 分别是获得当今工业界普遍支持的服务描述 2 协议和服务发现协议 h r j r p 则是支持最广泛的传输层协议 由于建立在丌放标准之上 各组织企业不管采用何种技术所构建的系统都能够向外部提供自身的服务 从而使得 相互间的交互变得可能 而w e b 服务能够很好的穿越防火墙 从而使电子事务的过程 可以跨越各个系统 使用x m l 进行消息传递 也使信息和数据可以在异构系统的传递 从而使不同系统问的协同工作成为可能 与d c o m c o i b a 等技术相比 w e b 服务具有相当多的优势 它们的比较如下 表1 1d c o l d c o r b a 和w e b 服务的比较参数 d o c m c o r b aw e b 服务 可互操作的对象 端点命名 o b j r e fu r l u r n 引用 i o r 接口 重一多个多个 w s d l 有效荷载类型 二进制二进制文本 有效荷载参数值网络数据表示 普通数据表示 x m l 格式 d r 服务器地址解决 目录名字服务器i p 路由u r n 方案 名字空问和参数 消息分发器基于i d基于i d 类型 客户一服务器耦合 紧密紧密松散 从分布式计算的角度看 w e b 服务是基于消息传递的计算模式 通过上表的比较可 以看出 与以往在r p c 基础上产生的基于组件 r p c 的计算模式相比 这种模式具有 粗 粒度 松耦合 的优点 并且 随着x m l 和s o a p 的成熟而出现的s o a p w e bs e r v i c e s 模型 具备了与组件 r p c 模型良好结合的能力 从而兼具了r p c 和消息传递两种计算 模式的优点 成为现代面向服务体系架构的核心技术特征之一 1 4 面向服务思想与架构的起源与发展 面向服务的体系架构 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 并不是一个新概念 有人就将c o r b a 和d c o m 等组件模型看成s o a 架构的前身 早在1 9 9 6 年 g a r t n e rg r o u p 就已经提出了s o a 的预苦 不过那个时候仅仅是一个 预言 当时的软件发展水平和 信息化程度还不足以支撑这样的概念走进实质性应用阶段 到了2 0 0 2 年1 2 月 注意 到多种技术可以有效的支持一种松散耦合 位置透明 协议独立的软件架构 g a r t n e r 提出了s o a 是 现代应用丌发领域最重要的课题 的论断 到了近一两年 出于s o a 的技术实现手段 比如w e b 服务 s o a p 协议 x m l 等渐渐成熟 面向服务的体系架构 在b e a i b m 等软件巨头的极力推动下 逐渐成为企业应用的丌发的重要模型 3 s o a 的灵活性将给企业带来巨大的好处 如果把企业的i t 架构抽象出来 将其功 能以 粗粒度 服务的形式实现 每种服务都清晰地表现出其业务价值 那么 这些 服务的请求者 可能在公司内部 也可能是公司的某个业务伙伴 就可以得到这些服务 而根本不必考虑这些服务后台实现的具体技术 换句话说 如果服务的请求者能够发 现并调用这些可用的 异构的服务 那么构建在这些服务之上的i t 系统能够提供更大 的灵活性 1 5 本文的主要研究内容 文中对基于面向服务架构的工作流中问件技术的研究就是在上述的背景下展开 的 本文中将提出一种基于s o b 架构的教学工作流中间件教学集成平台 本文对教学 系统的工作流研究内容如下 1 s o a 架构足软件架构的必然趋势 2 工作流管理系统以及传统工作流系统存在的问题 3 面向s o a 架构教学工作流中间件以及工作流中测件需要扩展的功能 4 开发工作流中闯件平台以及实现的方法 5 面向s o a 教学工作流中i 日j 件的应用 虽然流程管理包含了包括殴计 发现 分柝 实现和维护的全部活动 但最关键 的活动是业务流程改进 所有其他的流程管理活动都必须能够用来进行业务流程的改 进 这 罩 要特别强调的是 对业务流程的改进是要使流程管理具有灵活性 通用性 可扩展性 开放性和易用性的特点 4 第二章软件架构与工作流管理系统 2 1 软件架构综述 软件架构 s o f t w a r ea r c h i t e c t u r e 是一系列相关的抽象模式 用于指导大型软件 系统各个方面的设计 它是一个系统的草图 描述的对象是直接构成系统的抽象组件 构架不仅是结构 还包括 符合 系统完整性 经济约束条件 审美需求和样式 它 不仅注重对系统内部的考虑 而且还在系统的用户环境和丌发环境中对系统进行整体 考虑 即同时注重对外部的考虑 从软件架构的角度考虑 早期的系统都是采用面向过程 p r o c e d u r e o r i e n t e d 的 方式实现的 面向过程有几个基本特征 比如高度耦合 高效率 通常是针对一个具 体应用实现 可以看到 这样的方式要适应需求 业务流程的改变 困难是显而易见 的 当主流应用从原先的对效率要求较高的核心后台迁移到面向客户的应用时 面向 过程的开发方法已经不能满足发展的需要 因为从设计 分析再到实现 测试 运行 整个过程中 需求都会不断地改变 而面向过程的本质决定了无法快速适应这样的变 化 于是o o p o b j e c t o r i e n t e dp r o g r a n n i n g 应运而生 o o p 提供了封装 继承 多态和重载等一系列的特性 使应用软件的架构可以被重 用 开发人员可以不用关心其具体实现 而专注于对象所能提供的功能 因此大大提 高了软件重片j 性 从而使整个系统的基础架构能适应需求的快速变化 但是o o p 也不 是绝对完美的 语言的单一性和源代码级的共享 决定了在跨应用系统重用的过程中 必定会有各种各样的困难 一个企业有很多的业务部门 有许多不同的应用 企业客 户着眼点在于业务功能的实现 而不会关注具体实现的技术 这样就造成了一个企业 存在多种应用平台 不同的业务是不同的方案提供商实现的 因此实现的平台也各异 这样就造成了每个应用彼此是孤立的 企业进行这种业务整合的代价是非常昂贵的 一方面集成的效率比较低下 还需要非常高水平的专家来实施 另一方面也需要专门的 集成工具或者适配器等等来实现 因此我们希望有这样一种更好的架构 它不但能适应单一应用 还能够适合企业 动态性的架构 答案就是s o a 自从经历了面向过程一面向对象一面向组件这三个不同 的阶段后 s o a 已小再是一个纯粹的概念 凶为企业需要 个跨系统 跨部门应用的企 业应用架构 在此架构上 各个系统都能够以一种标准服务的形式丌放出来 并且相 互之问能够非常容易的沟通 s o a 作为一种建立 维护 管理i t 系统和业务流程的方 法 它采用统一的标准和连接模式将所有应用程序集合起来 而且这种应用基础使业 务应用丌发人员更加容易建立起专门针对企业需求的新型程序 因此有助于解决t i 管 理混乱的问题 5 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 通过 w e b 服务松散耦合和广泛接受的标准 如x m l 和s o a p 使业务流程自动化和在不同系 统之间共享信息 定义了搭建企业软件架构的一种新方法 在s o a 中 i t 系统以标准 化服务的形式出现 易于使用 也易于合并到实际的业务流程中 它将应用程序的不 同功能单元 称为服务 通过这些服务之间定义良好的接口和契约联系起来 接口是 采用中立的方式进行定义的 它应该独立于实现服务的硬件平台 操作系统和编程语 言 这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互 s o a 可以简单地理解为 抽象 松散耦合和粗粒度 的软件架构 它可以根据服务请求 通过分布式网络对松散耦合的应用构件进行部署 组合和使用 服务层是s o a 的基础 可以直接被应用调用 从而有效控制系统中与软件代理交互的人为依赖性 s o a 将各种 软件资源看作是各种服务 而这些服务是从业务需求开始的 而非始于技术 s o a 的一个中心思想就是让企业应用彻底摆脱面向技术的解决方案的束缚 轻松应 对企业商业服务变化 发展的需要 企业t i 架构环境中单个应用程序是无法包容业务 用户的各种需求的 即使是一个大型的e r p 解决方案 仍然不能满足这个需求在不断 膨胀 变化的缺口 对市场快速做出反应 商业用户只能通过不断丌发新应用 扩展 现有应用程序来艰难地支撑其现有的业务需求 通过将注意力放在服务上 应用程序 能够集中起来提供更加丰富 目的性更强的商业流程 2 1 1s o a 概述 s o a 小是 种新的技术 而是时更传统的 紧密的面向对缘模型的另一种选择 而 且s o a 并没有排斥面向对象 系统的总体设计是面向服务的 但是具体到某个服务的 实现可以是基十面向对象设计的 s o a 是允许对象在系统内存在的 所以s o a 其实也是 面向对象的 但是s o a 作为一个整体就不是面向对象的 可以说s o a 是更高层次意义 上的架构 s o a 和面向对象的区别在于接口上 面向对象的接口是给其他对象使用的 而s o a 的接口是可以给从组件剑系统来使用的 在范围上 s o a 也要远远大于面向对象模式 面向对象的重用性只能局限于一个项 目 一个应用 但在实际应用中 跨部门 组织 行业的应用之问互联互通 是经常 发生的情况 s o a 要解决的正是这个问题 所有的服务都采用同样的标准 建立在同样 的平台之上 当发出一个业务请求时 系统将自动根据需要调用平台上的服务 s o a 是面向服务的架构 在c s 架构罩存在面向组件的 发等概念 s o a 可以况是这种 架构的进步的扩展 区别主要在于以前的控件不足可以分知的 而服务足可以分御的 控件 并且服务是与技术平台无关的 可分布 标准 技术平台无关等特性保证了s o a 以及其服务与传统的控件相比更灵活 更强大 s o a 里面的重要概念是服务 服务是构建基于s o a 系统的元素 是有良好接口 可 以完成一定功能 可以分布的组件 并且服务是与技术平台无关的 服务的这些特点 保证了服务与传统的组件相比更灵活 更强大 正像传统的基于组件的系统架构的开 发一样 开发人员可以使用s o a 架构和服务来进行快速开发 在一个可视化的环境下 通过拖拉控件 配置服务等方式简化开发流程 极大地提高流程平台的应用丌发效率 开展s o a 还有很多难点 服务大小的问题 也就是所谓服务颗粒度粗细的问题 也是需 要不断尝试的工作 就s o a 架构来 兑 服务颗粒大小问题 在某种程度上决定着整个 系统的灵活性和效率 要在灵活和效率之恻找到一个平衡点 而平衡点需由实践来检 验 服务又是会变的 这一点也是当f j i 软件业面临的又一挑战 只有一个组件化的概念 是不够的 还需要自动能够解决服务的来源问题 即不仅是如何快速组装 而且解决 如何最快速度地生成这个服务或调整这个服务 2 1 2s o a 的体系结构 s o a 是一种特殊的软件架构 它有一些自己独特的特征 面向服务的体系结构中的 角色包括 服务使用者 服务使用者是一个应用程序 一个软件模块或需要一个服务的另一个 服务 它发起对注册中心中的服务的查询 通过传输绑定服务 并且执行服务功能 服务使用者根据接口契约来执行服务 服务提供者 服务提供者是一个可通过网络寻址的实体 它接受和执行来自使用者 的请求 它将自己的服务和接口契约发布到服务注册中心 以便服务使用者可以发现 和访问该服务 服务注册中心 服务注册中心是服务发现的支持者 它包含一个可用服务的存储 库 并允许感兴趣的服务使用者查找服务提供者接口 s o a 中的每个实体都扮演着服务提供者 使用者和注册中心这三种角色中的某一 种 或多种 s o a 定义了构成系统的服务 通过描述服务之问的交互提供特定的功能特 性 并且将服务映射为具体的某种实现技术 我们认为面向服务的体系结构s o a 提供 了一种标准的编程模型 使得驻留在网络上的软件组件能够被发布 p u b l i s h 发现 d i s c o v e r 和调用 i n v o k e 1 面向服务的体系结构中的操作包括 发布 为了使服务可访问 需要发布服务描述以使服务使用者可以发现和调用它 发现 服务请求者定位服务 方法是查询服务注册中心来找到满足其标准的服务 绑定和调用 在检索完服务描述之后 服务使用者继续根据服务描述中的信息来 调用服务 2 而向服务的体系结构中的构件包括如 服务 可以通过已发布接口使j j 服务 并且允许服务使j j 者调用服务 服务描述 服务描述指定服务使用者与服务提供者交互的方式 它指定来自服务 的请求和相应的格式 服务描述可以指定一组前提条件 后置条件和 或服务质量级 别 图2 1 面向服务的体系结构中的协作 图2 1 展示了面向服务的体系结构中的协作 这些铷作遵循 查找 绑定和调用 范例 其中 服务使用者执行动态服务定位 方法是查询服务注册中心来查找与其标 准匹配的服务 如果服务存在 注册中心就给使用者提供接口契约和服务的端口地址 2 1 3s o a 的实现技术 1 w e b 服务技术 w e bs e r v i c e s w e b 服务是一种s o a 的详细实现它是建立w e b x m l 标准上的跨平台的分柿式体系结 构 在i n t e r n e t i n t r a n e t 上通过标准的x m l 协议和信息格式来发布和访问商业应用 系统 它以一种松散服务的捆绑集合形式 实现了不同服务问的快速地开发 发现 发布和动态绑定的功能 w e b 服务可以被看成是业务流程的构造块 一个业务流碰可以是山若干个以w e b 服务实现的活动组成 流程管理平台能够把活动 决策状念 审计和管理服务协议聚 合在一起 i 司样的 一个流程模型也可以作为一个w e b 服务进行发布 w e b 服务为流程 平台提供流程自动化环境并实现底层平台系统与外部业务系统的集成 w e b 服务通过h t t p 使用s o a p 一种基于x m l 的协议 以便在服务提供者和消费者之 间进行通信 服务通过w s d l w e bs e r v i c ed e f i n i t i o nl a n g u a g e 定义的接口来公丌 w s d l 的语义用x m l 定义 u d d i 是一种语言无关的协议 用于和注册中心进行交互以及 查找服务 所有这些特性都使得w e b 服务成为 丌发基于s o a 的流程平台的优秀选择 2 w e bs e r v i c e s 的协议栈 这里所说的w e b 服务的结构 也就是w e b 服务的协议栈 协议时各角色 自j 用来沟 通的基础 之所以称为栈 是由于这些协议是一层层垒起来的 下面一层是上面一层 的基础 8 表2 1w e b 服务协议栈 服务发布与 发现 u d d i e b x m lr e g i s t r i e sw s i n s p e c t i o n w e bs e r v i c e sd e s c r i p t i o n 服务描述 l a n g u a g e w s d l 服务消息s i m p l eo b j e c ta c c e s sp r o t o c o l s o a p h y p e r t e x tt r a n s f e rp r o t o c o l h t t p 服务传输 s i m p l em a i lt r a n s f e i p r o t o c o l s m t p f i l et r a n s f e rp r o t o c o l f t p 表2 1 展示了一个概念性w e b 服务协议栈 上面的几层建立在下面几层提供的功 能之上 最底层是服务传输层 w e b 服务可以使用多种 o s 应用层 网络协议进行消息传 递 i i t t p 使用最为广泛 因为i i t t p 的请求应笞模式十分符合r p c 类型调用 s m t p 主 要用于异步方式的调用 如订阅信息等 服务消息层协议定义了消息的格式 这一层几乎全部是以s o a p 为协议 s o a p 简 单对象访问协议 s i m p l eo b j e c ta c c e s sp r o t o c 0 1 为丌发者提供了一种远程调用分 布式对象方法的独立于平台的机制 依赖于s o a p 消息的通信使用x m l 来描述对象 方 法和自变量以便执行 s o a p 为在一个松散的 分布的月 境中使用x m l 对等地交换结构 化的和类型化的信息提供的一个简单且轻量级的机制 它提供了一个标准的 可扩展 的 可组合得x m l 消息包装盒交换的框架 服务描述层的协议用于对如何使用w e b 服务进行描述 描述信息一般包括使用到 的数据类型 消息格式 方法名称和参数等等 w s d l w e bs e r v i c e sd e s c r i p t i o n l a n g u a g e 服务描述语言 提供了一个基于x m l 的简单语汇表 用来描述通过网路提 供的基于x m l 的w e bs e r v i c e s w s d l 首先对访问的操作和访问时使用的请求 响应消 息进行抽象描述 然后将其绑定到具体的传输协议和消息格式上最终定义具体部署的 服务访问点 它将w e bs e r v i c e s 描述定义为一组服务访问点 客户端可以通过这些服 务访问点 对包含面向文档信息或面向过程调用的服务进行访问 类似远程过程调用 服务发布和发现层协议是供注册中心这个角色使用的 u d d i 是目前使用最广泛的 注册中心 u d d i u n i v e r s a ld e s c r i p t i o nd i s c o v e r ya n di n t e g r a t i o n 统一描述 发现和集成协议 定义了w e bs e r v i c e s 的发布和发现的方法 u d d i 标准包括了对w e b 应用服务的接口的定义 使得能通过编程实现对u d d i 注册中心的信息的访问 同时 u d d i 又提供了一系列的编程接口 用于服务的发布和按照一定的查找规则进行的服务 的查找和发现 x m l e x t e n s i b l em a r k u pl a n g u a g e 可扩展标记语言 是一种灵活 标准化和可 扩展的数据标记方式 w e bs e r v i c e s 的三项核心技术w s d i s o a p 和u d d i 都是基于x m l 9 的技术 可以说x m l 是w e b 服务各种协议的基础 3 服务的接口问题 w e bs e r v i c e s 描述了一组操作的接口 利用标准化的x m l 消息传递机制 可以通 过网络访问这些操作 该接口包含了与服务交互所需的全部细节 包括消息格式 详细 描述操作的输入输出消息格式 传输协议和位置 该接口隐藏了实现服务的细节 允 许通过独立于服务实现 独立于软硬件平台 独立于编写服务所用的语占等方式使用 该服务 通过w e bs e r v i c e s 组装应用系统 主要是通过各组件的接口组装 一个组件模块 己经被非形式化地定义成一个独立发布的功能部分 它通过接口提供对它的服务的访 问 由于组装的应用系统本身是由很多w e b 服务组件组成 所以丌发者必须考虑主要 架构各部分之间的接口以及它们怎样交互 一个接口用于描述一组对象的公共行为 所以 接口描述必须足够详细 以允许那些对象的潜在用户可以通过检查接口描述来 认识对象的行为 w e b 服务主要用于远程调用 实现系统与系统之问的数据交换 如果需要为其他系 统提供接口 开发过程也足类似的 但需要注意一点 因为w e b 服务传输的是x m l 所 以开发控件的时候参数和返回值最好用基本类型 或者有缺省构造器 并实现t o s t r i n g 方法的类 2 2 工作流管理系统 工作流管理技术作为一种过程建模和过程管理的核心技术 可以与其他应用系统 有效地结合 生成符合企业需求的各种业务管理系统 如办公自动化系统 项目管理 软件 p d m 系统 客户关系管理系统 供应链管理系统 e r p 系统等 所以研究工作流 技术 大力发展并推广工作流技术对于促进我国企业管理规范和信息化有重要的现实 意义 本章主要说明工作流管理系统的基本概念 工作流的参考模型及系统的实现方 案 2 2 1 工作流起源 工作流的概念起源予生产组织和办公自动化领域 工作流技术早在上世纪七十年 代中期就已经存在了 宾夕法尼亚大学沃尔顿学院的m i c h a e ld z i s m a n 丌发的原型系 统s c o o p 施乐帕洛阿尔托研究中心c l a r e n c ea e 1l i s 和g a r yj n u t t 等人玎发的 o f f i c e t a l k 系列实验室系统 不但标志着工作流技术的丌始 而且也是最早的办公自 动化系统 但由于办公自动化尚未被社会接受 网络技术还不普遍 丌发者还不了解 群件技术 最终工作流技术未能成功发展 工作流技术的商业开发起源于1 9 8 3 至1 9 8 5 年之间 一方面推动了图像或文档管 1 0 理技术的应用 另一方面 采用了预定流程图方式 扩充了传统的点对点的路由方式 从而增强了邮件系统的功能 1 这些第一代的工作流系统 到现在己经很少存在了 大部分产品要么经过合并被重新构造 要么被市场淘汰出局 进入九十年代以后 相关的技术条件逐渐成熟 工作流管理系统的丌发与研究进入了 一个新的热洲 据蒯食 截至1 9 9 5 年共有2 0 0 多种软件声称支持工作流管理或者拥有 工作流特征 工作流技术被应用于电讯业 软件工程 制造业 会融业 银行业 科 学试验 卫生保健领域 航运业和办公自动化领域 1 9 9 3 年8 月 工作流技术的标准化组织工作流管理联盟w f m c w o r k f l o wm a n a g e m e n t c o a l i t i o n 成立 它的成立标志着工作流技术在计算机应用研究领域中被明确地划分 出了自己的一席之地 相应的概念与术语也得到了人们的承认 在全球范围内 对工 作流的技术研究以及相关的产品开发进入了更为繁荣的阶段 更多更新的技术被集成 进来 文件管理系统 数据库 电子邮件 移动式计算 i n t e r n e t 服务等都已被容纳 到工作流管理系统之中 不同的研究者和工作流产品的供应商都会从不同的角度给工作流给出了不同的定 义 工作流管理联盟给出的定义 是 工作流是一类能够完全或者部分自动执行的经 营过程 它根据一系列过程舰 j j 文档 信息或任务能够在刁 同的执行者之间进行传 递与执行 g e o g a k op u l o s 给出的工作流的定义是 3 1 1 作流是将一组任务组织起来完成 某个经营过程 在工作流中定义了任务的触发顺序和触发条件 每个任务可以由一个 或一组人完成 还可以由一个或多个人与软件系统协作完成 任务的触发顺序和触发 条件用束定义并实现任务的顺序 任务的同步和信息流 数掘流 的传递 还有许多关 于工作流的不同定义 如p e o p es o f t 公司给出的定义是 工作流是一个用来实施经营 过程实践的机制 i b ma l m a d e n 研究中心给出的工作流定义足 工作流是经营过程的一 种计算机化的表示模型 定义了完成整个过程所需的各种参数 这些参数包括对过程 中每一个步骤的定义 步骤间的执行顺序 条件以及数据流的建立 每一步骤由谁负 责以及每个活动所需要的应用程序 以上对工作流定义基本上都是用非形式化语言对工作流进行的描述 虽然表述方 式略有不同 但是基本上都说明这样一个问题 即工作流足经营过程的一个计算机实 现 而工作流管理系统则是这一实现的软件环境 在实际情况中可以更广泛地把凡是 由计算机软件系统 工作流管理系统 控制其执行的过程都称为工作流 2 2 2 工作流管理系统概念 w f m c 给出的关于工作流管理系统的定义 明 工作流管理系统是一个软件系统 它 完成工作流的定义和管理 并按照在计算机中预先定义好的工作流逻辑推进工作流实 例的执行 通常 工作流管理系统指运行在一个或多个称为工作流机上的用于定义 实现和管理工作流运行的一套软件系统 它和工作流执行者 人 应用 交互 推进工 1 1 作流实例的执行 并监控工作流的运行状念 在这罩需要强调的是工作流管理系统并 非企业的业务系统 在很大程度上 工作流管理系统为企业的业务系统运行提供一个 软件支撑环境 虽然不同的工作流管理系统具有不同的应用范围和不同的实施方式 但它们还是 具有许多共同的特性 从较高层次上抽象工作流管理系统 可以发现所有的工作流管 理系统都提供了3 种功能 过程建模阶段 考虑工作流过程和相关活动的定义和建模功能 运行阶段的控制功能 在一定的运行环境下 执行工作流过程 并完成每个过程中 活动的排序和调度功能 运行阶段的人机交互 实现各种活动执行过程中用户与i t 应用工具之问的交互 工作流管理系统三个主要功能之间的关系 如图2 2 所示 2 2 3 工作流参考模型 图2 2 工作流系统组成 为了实现工作流技术的标准化和丌放性 使得不同的工作流管理系统之问能够进 行信息交换和协作 w f m c 提出了一个共同的 参考模型 即工作流系统参考模型1 1 3 如图2 3 所示 从图中可以看出工作流系统参考模型包括五个基本组件和五个基本接口 其中五 个组件的功能分别如下 1 工作流执行服务 1 2 它为系统提供执行时服务 是工作流管理系统的核心 由一个或多个工作流引擎 组成 丁作流引擎是一个为工作流实例的执行提供运行服务环境的软件或 引擎 是 工作流执行服务的核心 主要负责过程定义的解释 过程实例的控制 过程活动的导 向以及工作流相关数据和控制数据的传送和维护 2 过程定制工具 它主要负责分析 建模 描述业务过程以及对业务过程的建档 给出工作流程的 定义 并以一定的数据格式提供给工作流引擎解释 3 工作流管理工具 它负责对t 作流的流动状况进行监视 并提供一系列的管理功能 实现安全性 过程控制和授权操作等方面的管理 4 工作流客户应用 它由用户操作和工作项列表管理器共同完成 工作项列表是指分配给一个特定用 户 或一组用户 处理的由工作项组成的队列 工作项列表管理器是一个软件模块 负 责管理工作项列表 并完成与最终用户的操作进行交互 5 应用程序 它是指提供了工作流引擎接口的应用程序 可以是本地的应用 也可以是程的应 用 模型中的五个接口分别是 铂 1 接口l 工作流执行服务和工作流建模工具 为在不列物理或电子介质之间传 递过程定义的信息提供了交互的形式和t p i 调用 2 接口2 工作流执行服务和客户应用之间的

温馨提示

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

评论

0/150

提交评论