前言:
osworkflow是个开源的工作流引擎,采用的是有限状态机的模型。内置有osuser这个用户系统,来处理用户权限相关的部分。但是功能很弱,只有用户表,用户组表,即简单的将用户划分给用户组。在定义流程的时候,可以将权限处理给一个具体的用户,也可以给一个用户组。
缺点:
功能太过简单,不利于扩展,也不利于和用户系统集成,还没有开源的源代码。
改造方案:
将osuser去掉,重新编写一套用户系统,此用户系统只在工作流系统中使用,因此数据权限等从简。
保留使用osuser.xml文件的配置,修改成fcuser.xml,此配置文件采用xml格式,配置具体执行和数据库交互的实现类,便于扩展各种数据库的个性化函数,sql,关键字的不同写法。
采用映射表的方式,和实际用户系统的表关联,因为用户系统要集成工作流,一般都有自己的用户组织机构管理系统。
工作流系统必须要和用户系统的用户权限系统无缝集成,所以没有必要再做一套用户系统,直接将用户系统的数据映射过来,达到集成的目的。如果不采用表数据的映射,也可以编写实现类,实现UserProvider接口,将用户系统已经有的方法关联过来实现。
用户映射表示意图:
表结构:
用户表,用户角色表,用户群组表
这几个表为演示系统使用,真正和用户系统集成的时候,采用映射表映射到用户系统的表。或者用户有自己编写好的用户权限等系统,也可以通过实现UserProvider接口的方式,将用户系统和工作流的用户系统集成到一起。
fcuser映射表:
一个简单的fcuser.xml映射表图例
cn.com.fcsoft.user.provider.jdbc.JDBCUserProvider 为UserProvider的指定实现类。
用户系统的UML图:
主要类功能描述:
UserManager为对外提供的用户系统的实现类,流程引擎实现类关联这个类,来实现用户系统的一切功能;
UserConfig为单例模式,主要读取fcuser.xml文件的内容
UserConfiguration获取映射表配置信息
UserProvider接口,提供所有的用户系统功能,实现类可以根据数据库的不同选择各自的个性化实现类,通用的为JDBCUserProvider。
用户不使用表结构映射时,可以编写自己的实现类,实现UserProvider接口来实现用户权限系统。
UserException,所有用户系统的抛出的异常。
User,UserImpl 用户接口,用户接口实现类
Role,RoleImpl 角色接口,角色接口实现类
Group,GroupImpl 用户群组,用户群组的实现类
通过改写这个用户系统集成到工作流引擎中,更利于和用户系统的结合。同时别忘记改写osworklfow的引擎包util中的各种和用户权限相关的类,调用userManage中的功能来做用户权限判断。
相关链接:
web工作流管理系统开发之一 工作流概念
web工作流管理系统开发之二 工作流引擎
web工作流管理系统开发之三 可视化流程设计器
web工作流管理系统开发之四 集成工作流与自定义表单
web工作流管理系统开发之五 开源osworkflow之用户系统改造
web工作流管理系统开发之六 表单权限与流程的权限控制
web工作流管理系统开发之七 最新修改的版本下载
web工作流管理系统开发之八 开源osworkflow之任务管理
分享到:
相关推荐
web工作流管理系统开发之一 工作流概念 web工作流管理系统开发之二 工作流引擎 web工作流管理系统开发...web工作流管理系统开发之五 开源osworkflow之用户系统改造 web工作流管理系统开发之六 表单权限与流程的权限控制
web工作流管理系统开发之一 工作流概念 web工作流管理系统开发之二 工作流引擎 ...web工作流管理系统开发之五 开源osworkflow之用户系统改造 web工作流管理系统开发之六 表单权限与流程的权限控制
在开发工作流管理系统时,我就推荐用它的另外一个东西:webwork2。笔者主持的开源工作流引擎AgileFlow就是基于ww2+spring+hibernate架构实现的。写到这里我想是不是它可以和struts2进行完美整合?! Jflow是从...
工作流 osworkflow工作流 osworkflow工作流 osworkflow工作流 osworkflow工作流 osworkflow工作流 osworkflow
自己写的 OsWorkflow 工作流 实例 已测试通过
OSWorkflow 工作流 开发指南、中文手册
状态机工作流OSWorkflow 包括中文手册、开发指南等
由OpensymPhony组织开发的开源工作流引擎 OSWorkflow是一种非常灵活的工作 流引擎。它主要基于有限状态机理论,通过状态的迁移描述工作的流转。每一种状态(state) 被描述成为 step ID和 status。从一种状态(state)...
这是一点关于OSWorkFlow 工作流系统设计知识的详细讲解
osworkflow详细资料 pdf 工作流
用OSWorkFlow和JBPM开发工作流异同点解析
陈刚先生在多年的实际工作中,对工作流技术有深入的研究,包括jBPM和OSWorkflow这样的开源产品,都曾经在实际项目中深度使用。他翻译的OSWorkflow官方文档中文版是为数不多的高质量中文OSWorkflow文档之一...
osWorkFlow 开源工作流 开发指南
osworkflow入门资料,帮助大家入门早期工作流项目
电子政务,即政府机构运用现代计算机和网络技术,将其管理和服务职能转移到网络,同时实现政府组织结构和工作流程的重组优化,超越时间、空间和部门分隔的制约,为全社会提供高效优质、规范透明和全方位的管理与服务...
一种基于OSWorkflow工作流引擎的工作流监控技术,仇璐,,目前工作流监控技术存在的问题是:流程监控得到的流程图与实际业务流程有一定差距,针对存在的这个问题,本文提出了一种基于OSWork
OSWORKFlow流程开发教程
工作流引擎(osworkflow) 2.80 有例子,有文档,可以自己跑例子看效果
介绍OSworkflow工作流引擎和具体如何使用。