`
cskysnew
  • 浏览: 13173 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
文章分类
社区版块
存档分类
最新评论

osworkflow工作流的workitem的一种实现方式

阅读更多

osworkflow是一个开源的工作流引擎,它提供了一种相对而言较为简单和灵活的实现方式,在oa和mis系统里是一个较为轻量级的解决方案,但是osworkflow只提供了一个引擎,大部分的功能都需要用户自己进行扩展。我在使用的过程中虽然陶醉于osworkflow所提供的极端的灵活性但同时也对osworkflow其他功能的匮乏而头痛不已,特别是workitem的缺乏尤其令我愤怒

在网上搜索到一些实现方式大部分都需要用户自己维护任务列表,在复杂的业务流程中让用户自己实现任务列表简直让人抓狂,在仔细研究了oswf自带的数据表后,我决定使用oswf的数据表实现任务列表功能,具体的使用方式是在业务数据库中加入一个enteyId字段,代表该记录使用的是哪个流程。在这条业务记录的流程开始初始化时将流程实例的id号放入业务数据记录的enteyId字段。在业务表中加入一个state字段,记录这条业务记录的状态,使用这种构造的优点是将业务数据的状态与工作流的状态分离,业务记录的状态不再依赖工作流表(os_currentstep)所提供的流程状态,即便整个业务流程已经结束,os_currentstep表中不再显示该业务流程的步骤信息,业务数据依旧能够依靠自己的状态进行显示;缺点是业务数据在流转过程的每一步中都需要依靠代码更改业务数据的状态字段,用户必须事先定义好业务数据状态的表示方式,业务记录的状态在修改和显示时根据用户定义好的表现方式进行操作。

os_currentstep作为任务列表,要实现这个功能,用户需要添加一个“OwnerUserRelation”表,用于将步骤操作员与业务系统中的用户进行关联,操作员与用户的是多对多的关系,即一个操作员可以包含多个用户,其中任意一个用户都可以进行操作;一个用户也可以是多个操作员,他可以操作一个流程的多个步骤。通过关联查询,系统可以为用户提供任务列表("SELECT ENTRY_ID ,state,业务数据字段 from 业务数据表 pra left outer join OS_CURRENTSTEP prb on pra.entryId=prb.ENTRY_ID left outer join OwnerUserRelation prc  on prb.OWNER = prc.ownerId where prc.userId='"+strUserId+"'"),使用这种实现方式的优点是用户不需要再维护自己的任务列表,不用再考虑复杂的流程在workitem中的实现,同样缺点也很明显,使用这种实现方式我们不得不将业务数据与oswf工作流的数据表进行紧耦合。

分享到:
评论
1 楼 mida 2009-02-26  
workitem是什么概念呢??

相关推荐

    OsWorkflow工作流实例

    OsWorkflow是一款开源的工作流引擎,它为应用程序提供了一种灵活且可扩展的方式来管理业务流程。在本实例中,我们将深入探讨OsWorkflow的核心概念、主要功能以及如何创建和测试一个工作流实例。 工作流引擎是软件...

    workflow_osworkflow_工作流_

    其中,OSWorkflow是一款开源的工作流引擎,特别适用于Java应用环境,提供了丰富的API和灵活的配置,使得开发者能够轻松地实现复杂的工作流程。 **OSWorkflow简介** OSWorkflow,全称OpenSymphony Workflow,是由...

    OSWorkFlow 工作流系统设计知识的详细讲解

    OSWorkFlow是一种基于Java技术的开源工作流管理系统,它支持多种类型的业务流程定义,并提供了强大的工作流引擎来执行这些流程。OSWorkFlow的核心优势在于其灵活性和可扩展性,使得它可以广泛应用于各种规模和复杂度...

    osworkflow详细资料 pdf 工作流

    总之,OSWorkflow是一个强大且灵活的工作流引擎,它为开发者提供了一种高效的方式来实现业务流程自动化,从而提高企业的运营效率和管理水平。通过深入学习和实践,开发者可以充分利用OSWorkflow的功能,为企业定制出...

    状态机工作流OSWorkflow

    状态机工作流(State Machine Workflow)是一种模型,用于设计和实现复杂的业务流程。它通过定义一系列的状态和转换规则,使得系统能够根据当前状态和输入触发相应的动作或转换,从而完成预定的任务。OSWorkflow 是...

    工作流 osworkflow 例子和原理

    OSWorkflow(OpenSymphony Workflow)是一个开源的工作流引擎,它提供了一种灵活的方式来设计、实施和管理业务流程。本篇文章将深入探讨OSWorkflow的工作原理及其应用实例。 OSWorkflow的核心概念包括工作流定义、...

    OSWorkflow 工作流 开发指南、中文手册

    OSWorkflow 是一个强大的工作流引擎,它为Java应用程序提供了灵活的工作流管理能力。这个开发指南和中文手册将帮助开发者深入理解和有效地使用OSWorkflow。在本文中,我们将详细探讨OSWorkflow的核心概念、功能特性...

    OSworkFlow工作流请假流程实例

    OSworkflow(OpenSymphony Workflow)是一个开源的工作流管理系统,它提供了强大的流程定义和执行的能力,广泛应用于企业级应用中,如请假流程等业务场景。在本实例中,我们将深入探讨如何利用OSworkflow来实现一个...

    Java四大主流开源工作流引擎分析Shark,osworkflow,jbpm,jflow

    本文将深入分析四个主流的开源工作流引擎:Shark、osworkflow、jbpm和jflow。 首先,Shark是Enhydra项目的一部分,Enhydra是一个涵盖广泛的技术栈,包括J2EE应用服务器、对象/关系映射工具以及工作流引擎等。Shark...

    工作流引擎(osworkflow) 2.80

    OSWorkflow 提供了一种灵活的方式,使开发者能够定义、执行和管理组织内部的工作流程。这个版本包括了示例项目和文档,方便用户理解和应用。 1. **工作流引擎概念**:工作流引擎是软件系统的核心组件,它负责执行预...

    基于开源工作流引擎OSWorkflow的电子政务系统的研究与实现

    电子政务,即政府机构运用现代计算机和网络技术,将其管理和服务职能转移到网络,同时实现政府组织结构和工作流程的重组优化,超越时间、空间和部门分隔的制约,为全社会提供高效优质、规范透明和全方位的管理与服务...

    OSWorkflow

    OSWorkflow是一款开源的工作流引擎,它为Java开发者和架构师提供了一个强大的工具来实现业务流程管理(BPM)。本书《OSWorkflow:Java开发人员和架构师集成开源业务流程管理指南》由Diego Adrian Naya Lazo撰写,...

    工作流引擎 Osworkflow 及其持久化机制的研究

    为了实现持久化,OSWorkflow需要定义一组数据库表来存储工作流实例的相关信息。这些表主要包括: - `os_workflow_instance`:存储工作流实例的基本信息。 - `os_step`:存储每个步骤的信息。 - `os_property_entry`...

    OSWorkflow基于JDBC(oracle)存储实现的表结构

    1. OSWorkflow工作流引擎的存储实现方式为基于JDBC的Oracle数据库。 2. OS_WFENTRY表用于存储工作流实例的信息,包括Id、名称和状态信息。 3. OS_CURRENTSTEP表用于存储当前步骤的信息,包括步骤的Id、关联的工作流...

    用OSWorkFlow和JBPM开发工作流异同点解析

    【工作流引擎选择:OSWorkflow vs JBPM】 工作流管理系统(Workflow Management System,WfMS)在企业级应用中扮演着重要角色,用于自动化业务流程。OSWorkflow 和 JBPM 是两个广泛使用的开源工作流引擎,它们各有...

    OSWorkFlow

    OSWorkFlow是一个基于Java的工作流引擎,用于在企业级应用中实现复杂的业务流程自动化。它提供了灵活的流程定义和执行模型,使得开发者可以方便地设计、实施和管理各种工作流。下面将详细介绍OSWorkFlow的核心概念、...

    OSWorkflow-chinese-manual-2.8.rar_Java 8_manual_osworkflow_工作流

    《OSWorkflow 中文手册 2.8》是一个针对Java 8环境下的工作流管理系统OSWorkflow的详细指南,专为初学者设计,旨在帮助用户理解和掌握工作流的配置和实际操作。OSWorkflow是一款开源的工作流引擎,它允许开发者定义...

    osworkflow dynamic split 动态会签的实现

    在IT行业中,工作流管理系统(Workflow Management System, WMS)是一种用于自动化业务流程的重要工具,其中OSWorkflow是一款开源的工作流引擎,它允许开发者定义复杂的业务流程,并提供了动态修改流程的能力。...

Global site tag (gtag.js) - Google Analytics