OSWorkflow介绍.ppt

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OSWorkflow介绍

OSWorkflow介绍 OSWorkflow简介 OSWorkflow 都不同于这些已有的工作流系统。最大不同在于 OSWorkflow 有着非常优秀的灵活性。比如,OSWorkflow 不 要求图形化工具来开发工作流,而推荐手工编写 xml 格式的工 作流程描述符。它能为应用程序开发者提供集成,也能与现有 的代码和数据库进行集成。这一切似乎给正在寻找快速“即插即 用”工作流解决方案的人制造了麻烦,但研究发现,那些“即插 即用”方案也不能在一个成熟的应用程序中提供足够的灵活性来 实现所有需求。 OSWorkflow 基于有限状态机概念。每个 state 由 step ID 和 status 联合表现(可简单理解为 step 及其 status 表示有限状态机的 state)。一个 state 到另一 state 的 transition 依赖于 action 的发生,在工作流生命期内有至少一个或多个活动的 state。 OSWorkflow 核心概念 step(步骤) ??? 一个 step 是工作流所处的位置。可能从一个 step 流转到另外一个 step(或 者有时候还是停留在一样的 step)。举例来说,一个 OA 系统的请假流程,它的 step 名称可能有“本部门审批阶段”,“办公室审批阶段”,“总经理审批阶段”等。 ? status(状态) ??? 工作流 status 是一个用来描述工作流程中具体步骤状态的字符串。OSWorkflow 的有 Underway(进行中)、Queued(等候处理中)、Finished(完成)三种 status。 ? action(动作) ??? action 指定了可能发生在 step 内的转变,会导致 step 的变更。在 OA 系统中,“本部门审批阶段”可能有“拒绝”或“批准”两个 action。action 和 step 之间的关系是,step 说明“在哪里”,action 说明“可以去哪里”。 一个 action 典型地由两部分组成:可以执行此动作的 condition(条件),以及执行此动作的 result(结果)。 ? condition(条件) ??? 类似于逻辑判断,可包含“AND”和“OR”逻辑。比如一个请假流程中的“本部门审批阶段”,该阶段利用“AND”逻辑,判断流程状态是否为等候处理中,以及审批者是否为本部门主管。 ??? result(结果) ??? Result 代表指向新的 step 及其 step status,也可能进入 split 或者 join。Result 分为两种, contidional-result (有条件结果),只有条件 为真时才使用该结果,和 unconditional-result(无条件结果),当条件不满足或没有条件时使用该结果。 split/join(分离/连接) 流程的切分和融合。很简单的概念,split 提供多个 result;join 则判断多个 current step 的状态,提供一个 result。 一个工作流对应一个XML格式的定义文件。 样板文件: ?xml version=1.0 encoding=UTF-8? !DOCTYPE workflow PUBLIC -//OpenSymphony Group//DTD OSWorkflow 2.7//EN /osworkflow/workflow_2_7.dtd workflow initial-actions/initial-actions !--流程的入口。对应 wf.initialize(compact, 100, null) -- steps ... /steps!--流程中的各个流转步骤 -- /workflow 一个完整的流程定义文件: leave_apply.xml Step的定义 步骤1【可以多次进行acction=1的操作, acction=1 保持当前步骤不变,只是改变状态】 step id=1 name=First Draft actions action id=“1” name=“开始撰写草稿 results unconditional-result old-status=Finished status=Underway step=1/ /results /action action id=“2” name=“完成草稿 results

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档