博客
关于我
学习篇-Activiti-01-工作流
阅读量:620 次
发布时间:2019-03-13

本文共 1870 字,大约阅读时间需要 6 分钟。

工作流相关概念

工作流是一种对企业业务流程的抽象与描述,通过定义和组织工作流程中的操作步骤及其规则,将复杂的业务过程转化为可管理的计算模型,从而实现多参与者间的信息自动化传递和业务流程的协同执行。

工作流的定义

工作流即对企业业务流程及其操作步骤的抽象与描述,通过建立逻辑关系和业务规则,将前后依存的工作活动组织为一个连贯的流程。它不仅提供了对流程的抽象描述,还能通过模型化的方式定义各步骤的输入、输出、执行条件和顺序,从而为实现自动化流程执行提供理论基础。

工作流建模

工作流建模是对工作流程及其业务规则进行系统化建模的过程,目的是将复杂的业务逻辑用计算机可理解的模型表示,并通过可编程的方式实现流程的自动化执行。建模过程通常包括流程图的绘制、规则的抽取、任务的定义以及服务的集成等环节,最终形成一套完整的工作流模型。

需要解决的问题

在实际应用中,工作流系统需要解决多个关键问题:

  • 产品需求经常出现变更,传统开发方式难以快速响应需求
  • 业务流程复杂且包含多个参与者,信息传递和任务协同执行难以统一管理
  • 负责人与开发人员之间缺乏有效的协同机制
  • 项目中功能开发、测试、部署等环节的流程不规范,难以追溯和管理

工作流管理系统 (WfMS)

WfMS是用于管理和执行工作流的软件系统,主要功能包括工作流的定义、执行、管理、监控及优化。其核心目标是通过计算机技术提供流程的动态管理能力,实现工作流的自动化和集成。WfMS为企业提供了统一的工作流管理平台,支持流程的标准化和自动化,提升工作效率。

计算机支持的协同工作 (CSCW)

CSCW研究的是多个用户在计算机支持下如何协同完成复杂的工作任务,工作流正是CSCW的重要应用领域之一。通过工作流技术,企业能够在多参与者间建立协同机制,实现信息的有序流转和任务的动态协调,从而提高工作效率和完成质量。

工作流管理联盟 (WFMC)

WFMC成立于1993年8月,是Promoted为工作流技术标准化的国际联盟。联盟推出了一套统一的工作流参考模型,旨在为各工作流管理系统之间提供标准化接口和交互机制,促进行业技术的发展与交流。

为什么需要工作流?

在实际项目中,工作流技术faceful发挥着重要作用。

  • 产品需求多次变更,在开发过程中难以快速响应。这不仅增加了开发成本,还可能导致项目进度偏差。
  • 业务逻辑复杂,涉及多个部门和参与者,传统的工行处理难以保证流程的自动化和一致性。
  • 文档碎片化,流程不够清晰,导致任务验证和流程梳理的困难。
  • 当前流程缺乏动态性,难以快速调整,PM常要求开发人员修改工作流程,导致代码梳理和流程优化工作频繁进行。
  • 工作流的优势

    采用工作流技术对企业和开发团队产生了积极的影响。

  • 流程对项目的好处:

    • 流程可视化,便于团队快速理解流程结构及其实现方式
    • 早期介入便于需求变更的快速适应
    • 支持业务与技术团队的有效沟通,确保开发与需求的一致性
    • 提供灵活性和响应速度,支持快速迭代和发布
  • 工作流对团队的好处:

    • 提高团队效率,减少因流程等待形成的瓶颈
    • 规范工作流程,确保团队行为和执行标准的一致性
    • 便于搭air间协同工作,支持任务的分工与跟踪
    • 提供全面的监控和执行反馈,帮助团队持续优化
  • 工作流的技术选型

    在选择工作流引擎和技术架构时,需要考虑多个因素。

    主流工作流引擎

    目前市场上有多个工作流引擎提供选择:

    • Activiti
    • Flowable
    • jBPM
    • Snaker
    • ccflow

    Activiti vs jBPM

    Activiti和jBPM均是业内知名的工作流引擎,但两者有各自的优势与特点。

    • jBPM适合需要高级 workflows特性的场景,如支持BPMN2.0规范的复杂流程
    • Activiti提供了更丰富的getExtension库,便于对流程进行扩展和定制
    • 功能上两者均支持多步骤流程、条件判断、协同任等基本功能-优势体现在特定场景下的性能表现和扩展性

    Activiti 6.0 的优势

    • 成熟稳定,长期发展良好
    • 具备BPMN2.0的全标准支持
    • 社区活跃度高,开发者支持充分
    • 提供易于集成的Spring和MyBatis兼容开发框架
    • 持有良好的学习资源和社区支持

    技术选型要点

    • 选择引擎时需考虑技术架构与团队熟悉程度
    • extensibility和=scability是重要评估维度
    • 保持技术的开放性,以便日后升级与扩展
    • 注意审查引擎的维护和更新支持

    工作流技术的引入,不仅能够有效解决上述问题,还能显著提升开发效率和团队协作能力,为企业实现业务流程的标准化与自动化提供了有力支持。

    转载地址:http://mhbaz.baihongyu.com/

    你可能感兴趣的文章
    mac mysql 进程_Mac平台下启动MySQL到完全终止MySQL----终端八步走
    查看>>
    Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
    查看>>
    MangoDB4.0版本的安装与配置
    查看>>
    Manjaro 24.1 “Xahea” 发布!具有 KDE Plasma 6.1.5、GNOME 46 和最新的内核增强功能
    查看>>
    mapping文件目录生成修改
    查看>>
    MapReduce程序依赖的jar包
    查看>>
    mariadb multi-source replication(mariadb多主复制)
    查看>>
    MariaDB的简单使用
    查看>>
    MaterialForm对tab页进行隐藏
    查看>>
    Member var and Static var.
    查看>>
    memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
    查看>>
    memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
    查看>>
    Memcached:Node.js 高性能缓存解决方案
    查看>>
    memcache、redis原理对比
    查看>>
    memset初始化高维数组为-1/0
    查看>>
    Metasploit CGI网关接口渗透测试实战
    查看>>
    Metasploit Web服务器渗透测试实战
    查看>>
    Moment.js常见用法总结
    查看>>
    MongoDB出现Error parsing command line: unrecognised option ‘--fork‘ 的解决方法
    查看>>
    mxGraph改变图形大小重置overlay位置
    查看>>