• 初生牛犊式工作流系统


    在论坛中常常会看到一些初生牛犊发布的,我设计的工作流系统 等等。对这类的帖子我都会饶有兴趣点击进去,准备仔细观摩和研究,但往往是一略而过,失望而归,或许是我的期望太高了,以为能得到更多的借鉴和启发。

    更多的经验和启发还是得来自项目实施中,根据更多的用户使用情况来归纳和总结,再反应到产品中。

    在论坛和博克中看到的大多还是很初级的工作流系统设计,甚至是只为实现一个项目中的某种特定的流程而设计的,特别是如为了实现审批流而设计的流程管理,将很多审批的过程和记录等都固化在流程引擎中了,甚至很多人都认为工作流就是审批流,能够处理好审批流,就是工作流系统了。这其实不叫工作流系统,更不能算是工作流产品了,只能是做的审批流项目。

    一个工作流软件产品,是能适用到各个行业,并且流程引擎的模型设计很健壮,利用流程引擎的模型能设计出各式各样的业务流程。顺序流,条件流,循环,分支,合并,子流程,回退,自由跳转等等这些都是基本的功能,还会有很多特殊的功能设置。

    一套工作流系统要做好,要有长时间的积累,人力,物力,时间,经验,设计能力等等一样都不能少,不是做一两个项目,满足了项目的需要,就是工作流系统了。短时间构造出来的,只能是1.0的测试版本,还需要更多的项目实践来验证和提高。如果基础构架不好,后期很可能走进死胡同,无法升级和扩展,仅局限于这一亩三分地了。

    好的流程引擎设计,能够适应变化,在给业务流程建模时,可能还会有多种实现方式,就像我们利用工具来编程实现功能一样,最终的目的是一样的,可是写法不一定完全相同,代码功底强的人,实现的简洁明了,初学者费了很大劲最终也能实现,但是代码的可读性和后期维护性就差很多了。

    一套好的工作流系统,首先要有好流程引擎的模型,就是我们常说的工作流规范,先制定好一个规范,然后按照这个规范去给流程建模。就类似我们学面向对象编程一样,首先要有类,接口,继承,多态,等等这些基本的概念和规范,再利用这些去发挥,编写自己的实现,就像站在巨人的肩膀上一样。

    当然初生牛犊式的工作流系统也有一定的运用场景,如有些业务系统中,只是要简单的运用一下流程,甚至客户也没明白工作流是做什么用的,只是有的地方需要按顺序等的流转一下,自己设计只是为实现项目需要而做的简单的工作流,能满足项目的需要,解决客户的问题,就也ok了.

    术业有专攻,客户点名提出要上的工作流系统,还是交给我们专门做工作流产品的公司来处理了。

    一般的开发和设计过程如下图:

    我们公司的eworkflow自定义工作流系统,集成eform自定义表单后,就是类似上面的那种工作顺序了,可视化的给业务流程建模,可视化的设计表单,设计完成后,立即可以在线运行,查看跟踪流程流转的结果,将一些业务系统的开发和流程的流转运行变得简单和快捷了。

  • 相关阅读:
    古典密码仿射密码Affine
    git 修改远程仓库地址的方法
    git 修改已经 commit 的用户名和邮箱
    git 调整commit之间的顺序
    Go 逃逸分析
    docker 镜像中的 @sha256:cbeaf907fc78ac97ce7b625e4bf0de16e3ea725daf6b04f930bd14c67c671ff9 (digest)是什么意思
    Docker镜像列表中的<none>:<none>是什么镜像
    github 下fork后如何同步源的新更新内容
    SQL 中 exists 的用法
    OLEDB的Excel的IMEX和HDR是什么意思
  • 原文地址:https://www.cnblogs.com/webreport/p/2391900.html
Copyright © 2020-2023  润新知