2017年一直在做企业内部的各种业务系统,主要有OA、政府公共服务平台、企业内部的物料管理系统。这些系统中都牵涉到工作流的应用。在这些项目实施的过程中沉淀下的一些想法与大家一同分享。

第一个项目是一个政府公共服务平台,主要功能是企业在线办事功能,涉及到企业在线填报单据然后流转到政府各个部门去审批。对工作流的主要要求:可以按地区上下级进行人员选择;有退回功能,各个节点完成后要对更新相关业务表。基于这个需求对市面上的.net工作流进行了很多调研,主要问题有:

  1. 开源流程引擎(Slickflow)在设计器方面比较弱,不能直接交付给用户使用。
  2. 商用的工作流考察有f2bpm,功能满足,但对小项目来说授权费有点贵。

最后脱离.net范畴去找,发现java下的开源activiti5 流程引擎,文档齐全,成功案例也很多,提供http restful接口。最后在其基础上做了些二次开发完成项目。

第二个项目是企业的一个物料审批系统,有工作流的需求,但要求不高,不需退回等操作,某一环节审批不通过,直接结束流程即可。当然用activiti5也可以完成,但对一个小项目来说感觉过于重量级了,调用restful接口的话事务处理方面要考虑的事情太多。

所以诞生了一个想法,写一个轻量级的可嵌入的工作流组件(不叫框架,因为它完成的事情很少)。本着不重复造轮子的思想,先搜索了一下网上有没有同类项目。园子里萧秦 写的微型工作流引擎 让人眼前一亮,可惜后续没有更新,也没有dll放出来让试用。

参考前人的经验,我对这个微型工作流的要求如下:

  1. 方便与现有系统集成。
  2. 可共享原系统中的事务; 用户管理;
  3. 节点处理用户选择方法可扩展。
  4. 支持流程中的顺序、分支、并行操作。(退回暂不支持)
  5. 简易但不简单的流程设计器。

对于流程设计器的定义:简易但不简单。 我们不废话,看一下钉钉上的流程设计器。

没有复杂的拖拽功能,简单容易操作,面向最终用户。

目前这个工作流组件暂定名称为CMFlow, 目前引擎部分已完成50%。这里招集有工作流感兴趣,志同道合的兄弟加入开发。为.net的开源贡献一份力量。有兴趣的朋友加的扣扣: 523656159。

年后最后一天上班,语言组织有点乱。敬请谅解,对于工作流的想法,大家可以评论区与我交流。

转载于:https://www.cnblogs.com/gotop/p/8435150.html

对于企业开发中工作流组件的思考与想法相关推荐

  1. 企业开发中,git提交时屏蔽某些文件,怎么搞!【idea的处理方法】

    [友情提示]idea下的处理方法,其他的ide或者命令行,可以关闭此页了! 这种情况自我认为,分为两种,一种你初始化git项目时就创建.gitignore文件. 有同学会问什么是.gitignore文 ...

  2. 关于前端开发中常用组件封装的一些思考、技巧分享,基本上所有的项目都适用

    看过了大多数文章,都是讲解的知识点,但知识点的话我们很容易查询各种文档.书籍了解到,但实用的技巧就很难, 需要自己工作有一定的经历,经常封装各种组件,思考才能得来.本文的讲解是我本人真实的项目经历总结 ...

  3. 谈谈 SAP 产品 UI 开发中的组件概念

    这是 Jerry 2021 年的第 54 篇文章,也是汪子熙公众号总共第 331 篇原创文章. 任何企业级软件的前端开发,都离不开组件(Component)这个概念.撇开具体的 UI 开发技术不谈,所 ...

  4. 软件开发中的分工协作思考与VO、PO…

    由此想起了本科时代学习软件工程时的一个小组大作业.9人做一个论文管理系统,安排了一个同学写界面,然后我把他界面传来的数据做处理.然后问题的关键来了: 我们怎么合作? 显然我们要规定好什么数据是在界面和 ...

  5. 漫谈移动开发中的组件化

    组件化是什么? 有人认为这是一种比较高大上的技术(因为大公司都在搞):但我觉得这样表达不太合适. 打个简单的比方,一个公司刚开始有几个人,大家可能分工也不那么明确,有事就商量着来.公司慢慢发展越来越大 ...

  6. 开发中为组件添加预览信息

    1. 在布局组件中声明 xmlns:tools 命名空间,例如: <LinearLayout xmlns:android="http://schemas.android.com/apk ...

  7. attr和prop的区别以及在企业开发中应该如何抉择

    attr和prop有很多相同的地方,比如都可以操作标签的属性节点,而且获取的时候都只可以获取到相同节点的第一个,例如这样: $('span').attr('class');和$('span').pro ...

  8. 复杂系统设计 企业开发的困境

    复杂系统设计源自我多年对企业复杂系统的设计的一些思考,类似日记吧,不断完善. 为什么从一个大公司的引入架构师甚至架构师组还是很难架构企业开发中的很多问题? 这些问题表现出架构上的复杂性,和业务上的复杂 ...

  9. Spring Boot常见企业开发场景应用、自动配置原理结构分析

    读者应具备: Spring SpringMVC服务器端开发基础 Maven基础 本篇主要介绍Spring Boot在企业开发中常见场景的使用.以及Spring Boot的基本原理结构. 以下为本篇设计 ...

最新文章

  1. redisson的锁的类型_利用Redisson实现分布式锁,并防止重复提交
  2. jittor和pytorch网络对比之context_encoder
  3. 上周热点回顾(12.18-12.24)
  4. 【联邦学习】FATE 集群部署 step1
  5. linux ssh互免密配置
  6. java 读取 excel poi_java poi怎么获取excel单元格的内容?
  7. (转)SystemProcessesAndThreadsInformation
  8. git关闭密码自动存储_RobotFramework实战篇PC端web自动化demo及持续集成
  9. 携程Apollo分布式配置中心搭建指南
  10. android模糊搜索文件,模糊搜索_八门神器教程|安卓八门神器怎么用图文教程__单机攻略_跑跑车单机游戏网...
  11. Premiere 2020安装及Premiere缺失字体处理
  12. 维权的背后,暴雪在游戏市场的霸权是如何旁落的?
  13. Netty4.x 的逆袭之路 —— 再识 Netty
  14. 利用python的matplotlib绘制分布图
  15. 神秘网络蠕虫不搞破坏却让几万台服务器抵抗木马
  16. 【Druid】Druid连接池(三)——配置监控界面设置登录界面
  17. 一级化学反应多步骤Fluent仿真文献复现(三维、多孔介质催化剂表面反应)
  18. 超分辨率重建基础知识总结
  19. 2-18-python基础学习-0409
  20. 免费QQ群管助手-帮你管理QQ群

热门文章

  1. Django--关于路由配置与模板层心得
  2. CoreDNS篇5-日志处理
  3. Android大量项目源码
  4. 准确率、精确率、召回率、F1值学习笔记
  5. 2022年5月4日 【狂神说Java】MySQL最新教程通俗易懂5 数据库权限管理,备份与三大范式
  6. Centos下堡垒机Jumpserver V3.0环境部署完整记录(1)-安装篇
  7. 软件开发标准组织结构
  8. 苹果ID国外账号怎么注册2023最新方法
  9. 哈希树HashTree(trie树)
  10. 辗转相除法和更相减损法-详解——求最大公约数(Java)