`
eworkflow
  • 浏览: 220257 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

工作流系统开发之三十四 集成用户系统

阅读更多

工作流引擎或工作流系统,应该致力于工作流引擎模型的设计,业务流程的抽象,以及业务流程的流转,这些是工作流系统的重要部分,把这些设计好了,一套工作流系统也就具备雏形了。

 

但是业务流程的流转往往是需要有特定的人,特定的角色等的参与的。在业务流程建模,流程实例的流转,都是离不开应用系统中的用户系统。可以说用户系统是工作流系统的不可缺少的部分,因此工作流系统也必需要涉及到用户系统的设计与实现。

 

工作流系统作为开发部件,集成到用户的应用系统中。有些模块可以直接被应用系统调用,同时流程引擎又封装了很多api函数,开发人员也可以通过类库,api函数等的来集成流程引擎的功能。

 

一般来说,应用系统均会包含有用户系统,组织机构等的维护模块,有独立的设计和实现。

 

工作流系统和应用系统的集成,首先就要面临用户系统的集成:
工作流系统本身也需要包含用户系统的设计与实现。集成应用系统后,应用系统也有自己的用户系统。需要将这两套用户系统合二为一,因此在eworkflow流程引擎中,设计了一个映射表,作为中间层。来实现将应用系统的用户系统映射到流程系统中,使得流程系统中业务流程建模,定义,流转中使用的用户角色等都关联到应用系统。

 

一个fcuser.xml映射表的内容如下:

 

 


根据关键字,来填写相应的表名,在流程引擎中,根据这些关键字来读取相应的value值,作为表名。


工作流系统中,所有关于用户系统的数据来源(包括前台后台的界面显示的)均来自这个映射表。

因为工作流系统中,只涉及到使用用户系统,例如查找,显示列表等。不涉及到用户系统的维护(用户系统的维护,在应用系统中有独立的完成),因此,映射表中,只需要关联几个常用的字段,例如 用户编号,用户id,用户名称;角色id,角色名称。同时还有一个工作组的概念(或者临时的工作组),如果应用系统中没有工作组,就可以不设置关联,eworkflow自动取eworkflow中的工作组表。

 

映射表中所有字段,均按照字符型的来关联,如果和应用系统的字段类型不匹配,则需要修改流程引擎user包中的用户对象类了,就是表的实体类。使得字段类型保持一致。

 

因为流程引擎中用到用户系统字段都相对少,所有在业务流程建模等显示的列表字段都相对简单,如果需要增加多一些的信息,在需要扩展这些列表的功能。在工作流系统中,所有列表显示等的页面,均是用eform自定义表单来实现的,通过表单设计器,可以快速的修改这些页面的显示。

 

工作流系统中的用户系统,也有一个设计和使用的过程,当设计和应用系统的用户系统的设计相差太大,也可以通过简化+扩展业务类的方式来实现,因为工作流系统中涉及到用户系统的部分,就是在业务流程流转中的权限会涉及到,每个节点的使用权限。可以通过扩展条件类,前置后置函数等来达到。

c#条件类的接口
 public interface Condition
  {
   bool passesCondition(System.Collections.IDictionary transientVars, System.Collections.IDictionary args, PropertySet ps);
  }
c#函数类的接口
  public interface FunctionProvider
  {

   void  execute(System.Collections.IDictionary transientVars, System.Collections.IDictionary args, PropertySet ps);
  }

java条件类的接口
 public interface Condition {
     public boolean passesCondition(Map transientVars, Map args, PropertySet ps) throws WorkflowException;
    }
java函数类的接口
 public interface FunctionProvider {
 
     public void execute(Map transientVars, Map args, PropertySet ps) throws WorkflowException;
 }

 

当工作流系统未集成到应用系统时,也可以通过修改这张映射表,读到用户系统表,就可以使eworkflow工作流单独能运行。

 

<script type="text/javascript"></script>

  • 大小: 107 KB
0
0
分享到:
评论

相关推荐

    我的工作流系统开发总结

    在《我的工作流系统开发总结》这篇博文中,作者分享了其在开发工作流系统过程中的经验和心得,主要涉及源码管理和工具的运用。 首先,源码管理是软件开发中的基石。作者可能详细介绍了如何利用版本控制系统,如Git...

    工作流系统开发手册

    ### 工作流系统开发手册知识点总结 #### 一、概述 - **中望E/3平台**: 作为本文档的背景,中望E/3平台是一个集成多种功能的协同办公平台,工作流系统作为其核心组件之一,扮演着极其重要的角色。 - **工作流系统**:...

    工作流系统需求分析,设计方案

    工作流系统的业务过程描述:工作流系统的业务过程是指用户使用工作流系统的过程,包括用户使用工作流系统的业务模型、系统功能划分、系统组成等。 工作流系统的业务模型描述:工作流系统的业务模型是指工作流系统的...

    jBPM4工作流应用开发指南.pdf

    - **胡奇:** 虽然对于胡奇的具体身份未给出详细信息,但可以推测胡奇应是一位有丰富经验的jBPM4用户或开发者,他编写的工作流应用开发指南获得了高度评价。 - **十分赞:** 这个评论可能来源于阅读过该指南的其他...

    工作流管理:模型、方法和系统.pdf

    这部分内容讨论了实现分布式工作流系统的关键技术,如消息传递、事务管理、安全性和容错机制等。这些技术对于确保分布式环境下的工作流可靠性和一致性至关重要。 #### 九、工作流管理系统CIMFlow CIMFlow是一个...

    U8工作流开发手册

    - **定义**:工作流系统是一种软件组件,其核心功能是以规范化的流程描述作为输入,并维护流程的运行状态,在用户与应用程序之间分配任务,从而实现多个人员或服务间的协同工作。 - **目标**:通过自动化流程管理...

    jeeplus带工作流开发框架ani.zip

    **JEEPLUS开发框架详解与工作流应用** JEEPLUS是一个基于Java的高效、轻量级的企业级开发框架,它简化了Web应用的开发过程,提供了丰富的功能组件,旨在提高开发效率并降低维护成本。本篇文章将深入探讨JEEPLUS框架...

    工作流管理系统二次开发源码

    3. **集成其他系统**:将工作流系统与其他企业应用如ERP、CRM等集成,实现数据同步和流程联动。 4. **性能优化**:针对大量并发任务和大数据量的场景,优化工作流引擎的执行效率。 5. **用户体验改善**:优化用户...

    工作流引擎开发参考资料

    总的来说,这些参考资料为开发者提供了全面的视角,从工作流引擎的设计、实施到市场趋势,有助于提升工作流系统开发的专业技能和理解深度。对于那些想要在这个领域深化学习的人来说,这是一个宝贵的资源集合。

    Spring与JBoss JBPM工作流集成开发指南

    ### Spring与JBoss JBPM工作流集成开发指南 #### 一、引言 随着信息技术的发展,企业越来越依赖于高效的工作流管理系统来优化业务流程。工作流管理系统能够支持或自动化业务过程的一部分或全部,通过计算机化的...

    慧正工作流系统V6版技术白皮书.pdf

    首先,慧正工作流系统V6是一套向集成商、软件开发商或最终用户提供用于流程管理和业务流程自动化处理的基础平台软件。该系统通过配置和二次开发,帮助客户提高工作效率、简化业务操作,并有效实施管理思想,提升业务...

    办公自动化系统中工作流系统的设计

    7. **集成能力**:工作流系统需与企业其他信息系统(如ERP、CRM、文档管理系统)集成,实现数据共享和流程联动,提高整体效率。 8. **监控和报表**:系统应提供工作流实例的实时监控和历史数据分析功能,以便管理者...

    基于ASP.NET的工作流系统

    5. **业务逻辑集成**:工作流系统需要与企业的其他业务系统(如ERP、CRM)集成,以获取或更新业务数据,实现业务流程的自动化。 6. **安全性与权限管理**:确保只有授权的用户能参与特定的工作流步骤,这通常通过...

    工作流管理系统

    在本项目中,开发者使用了Visual Studio 2005(VS2005)作为开发工具,以及SQL Server 2005作为数据库管理系统,构建了一个基于MVC(Model-View-Controller)三层架构的工作流系统。 1. **MVC三层架构**:MVC是一种...

    工作流详细开发步骤

    工作流系统通常包括工作流引擎、工作流模型、任务分配规则以及与业务系统的集成。 一、准备工作 1. 新建项目:在开始工作流开发时,首先需要创建一个新的项目工程。这通常涉及到选择合适的开发工具,如UAP6.3,...

    工作流JBPM开发计划书

    ##### 2.3 基于工作流系统的办公自动化系统开发 - **系统设计与实现**:结合前两个阶段的研究成果,设计并实现一套完整的办公自动化系统。 - **测试与改进**:对系统进行全面测试,收集反馈意见,不断优化和完善...

    基于ASPNet技术和工作流技术的学生信息管理系统的研究与开发

    在ASP.NET框架下,可以集成Windows Workflow Foundation (WF)或使用第三方工作流引擎,如NServiceBus、Activiti等,来实现工作流功能。WF是微软提供的工作流服务,它可以创建、执行和管理长期运行的工作流程,提供...

    OA与工作流系统代码

    【OA与工作流系统代码】是关于企业信息化管理中的一项重要技术——办公自动化(Office Automation,简称OA)和工作流系统的编程实现。在现代企业中,OA系统是提高工作效率、优化业务流程的关键工具,而工作流系统则...

Global site tag (gtag.js) - Google Analytics