在Python环境下比较好的工作流引擎是啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Python环境下比较好的工作流引擎是啥?相关的知识,希望对你有一定的参考价值。
CSDN:FixFlow 和类似的软件如 Activiti jBPM 等相比起来,它们之间有哪些区别呢?FFDT:FixFlow 更加符合中国国情,支持复杂任务流转,如转发、退回、自由跳转、会签等处理,可以大大减少二次开发工作量。它还提供更加友好的设计器界面,可视化的连接器,还有中文的社区支持和有开发人员参与的技术交流群。
由于开源时间不长,FixFlow 的文档没有其他产品那么齐全,网上的相关技术文章比较少,现在还都是依靠团队成员在写,社区用户量也相对较少,但是增长非常快。
CSDN:工作流引擎是一门横向的科学,应用非常广泛。那么,请介绍一下FixFlow 的产品都遍布在哪些应用领域!
FFDT:我们耳熟能详的不外乎OA、综合办公管理,ERP,更细一些的包括:报销、请销假、员工入职离职等,然而从我们多年实施的项目经验来看,各行各业都需要工作流,其原因是由于行业的工作趋于标准化,而标准化的工作需要通过符合企业自身环境的步骤来执行。每个企业的环境不同,操作方式也差别迥异,不可能用唯一的行业标准来规范企业运作过程中的所有步骤。所以在这样的一种现状下,工作流引擎的专业能力与灵活性的价值就体现出来了。 参考技术A
loonflow 了解一下。a workflow engine base on django 基于django的工作流引擎系统
工作流是啥?工作流引擎又是啥?
工作流主要是工作业务模块需要的对应管理流程,工作流引擎,是为配置相关管理业务流程的工具
工作流的主要组成部分是:
首先看下是否单独的流程引擎,还是要体现中台价值,如果单独的流程引擎,就天翎的平台是使用的是平台模式,把流程嵌入到其他的系统做好门户和单点以及同步组织,实现数据共享和拿到第三方数据,统一呈现:同事支持和满足流程需要的各种吻合国情的审批和流转模式:支持单人办理、多人顺序、多人并行、抢占办理、内部循环、人工合并等场景
n 同时还封装主办加签、会办加签、协办、回退、回撤、子流程、节点跳转等20多种中国式流程操作
支持流程提交、到达、回退、过期、回撤、催办、抄送、到达的提醒设置;
n 支持消息中心、企业微信、钉钉 、邮件、手机短信的接收方式;
参考技术A 正好我也在学习工作流引擎。工作流是业务流程的全部或部分自动化,在此过程中,文档、信息或任务按照一定的过程规则流转,实现组织成员间的协同工作,以达到业务的整体目标。
工作流管理系统是支持企业经营过程高效执行并监控其执行过程的计算机软件系统。
典型的wfms至少由如下几个模块组成:业务流程建模定义工具、过程定义、工作流执行环境(引擎)、任务管理。当然还会包括应用和it工具。
常用的工作流引擎有osworkflow,jbpm,shark。刚学习了一点osworkflow,现在转向jbpm,公司要求,没办法。
osworkflow,最大特点就是灵活,这个网上都说遍了。也就是说它提供了一个引挚,在此基础上你可以进行扩展,可以自已写一些条件、动作类,只是继承它的接口就行,不需要修改它的源代码。他只提供一个工作流控制框架给你,他也只专注于管理工作流自身的东西,对其他的东西不管,其他的功能对他来说都只是一个插件组件。所以你可以自己扩展里面的功能,例如用户管理模式,工作流本身不带用户模式,他公司的另外一个项目osuser,可以结合使用来管理用户权限,当然你可以不用osuer,自己建立自己的用户模式,其实就是建立自己的运行判断条件;支持多种插件式的持久化机制;他的数据表也很少,就三个……
下面是引用其他网页的话:
shark的流程定义语言是xpdl,我们知道,xpdl的两个最重要的概念是process和activity。xpdl中的activity是基于uml1.x中的活动图的概念。活动图天生的适于工作流程建模,它相对于状态图的一个最大的优点是容易做并发线程的分叉控制,这些并发线程可以同时执行也可以顺序执行;它还有一个优点是有泳道的概念,可以控制工作流引擎中的任务的产生。shark的如来神掌是活动图。
osworkflow的如来神掌又是什么呢?我们知道,它有个重要概念是state……呵呵,我们知道了,它的如来神掌是fsm。不知道fsm是什么东西??那你读大学时肯定不是好学生;当然了,不知道也不打紧,你把他类似理解为状态图就可以了。osworkflow中的state是由step和status联合表达的,一个state就是一个step中的某个status;而state的转换由action来驱动,类似状态图中的event,因为一个event对应一个action嘛。
jbpm的如来神掌就没有上面的简单了,它结合应用了状态图+活动图+petrinet的知识,而且,这里的活动图还是uml2.0版的。uml2.0的活动图中,节点不叫活动(activity)而叫动作(action),活动成了一个高层次的概念,它包含一个动作序列。一个活动图展现一系列的动作,这些动作组成了活动。jbpm把action也改名了,称为state。jbpm使用的状态图的概念有transition/event等,这个自己去看吧。jbpm来内部实现中还采用了petrinet的概念,如token,signal等。什么?又不知道petrinet什么东东?那你大学是学计算机的吗?不是?那你可能是学文科的,学机械/电气/土木工程/交通运输等专业都有接触petrinet的课程,如果没有学过,还是看看jbpm吧,反正我们也不搞理论,知道大致概念就行。 参考技术B
工作流(Workflow),指“业务过程的部分或整体在计算机应用环境下的自动化”。是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。在计算机中,工作流属于计算机支持的协同工作(CSCW)的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实现协同工作的。
工作流主要解决的主要问题是:为了实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。
工作流概念起源于生产组织和办公自动化领域,是针对日常工作中具有固定程序活动而提出的一个概念,目的是通过将工作分解成定义良好的任务或角色,按照一定的规则和过程来执行这些任务并对其进行监控,达到提高工作效率、更好的控制过程、增强对客户的服务、有效管理业务流程等目的。尽管工作流已经取得了相当的成就,但对工作流的定义还没有能够统一和明确。
Georgakopoulos给出的工作流定义是:工作流是将一组任务组织起来以完成某个经营过程:定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完成。
所谓工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。工作流引擎包括流程的节点管理、流向管理、流程样例管理等重要功能
本回答被提问者采纳 参考技术C 工作流(Work Flow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。我们可以将整个业务过程看作是一条河,其中流过的河水就是工作流。工作流属于计算机支持的协同工作(Computer Supported CooperativeWork,CSCW)的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实现协同工作的。工作流的目的就是在合适的时间,特定的条件下执行既定的活动,为了实现这个目标,首先解决活动数据在计算机是如何被组织的,用什么方式来存储,以及该活动数据是如何产生的,将来要如何被处理;为了实现合适的时间,工作流系统需要有定时、计时、计数模块;为了实现条件判定,需要工作流系统支持符号处理能力;为了执行活动,需要工作流系统能区分人工活动,自动活动区别,以及在人工活动中如何自动生成表单,在自动活动中能高效的执行动态加载的类,以及外部程序的调用。
有兴趣的可以看看SDP开发平台的工作流引擎, 参考技术D 工作流引擎通常按照有限状态机进行设计,简单来说,就是把事件状态的变化过程规则化,比如行政办公流程、费用报销流程。oa系统的工作流引擎包括了规则的定义(状态、任务、工单)、数据绑定、状态变更前后的触发动作接口,web服务等。
以上是关于在Python环境下比较好的工作流引擎是啥?的主要内容,如果未能解决你的问题,请参考以下文章
哪个开源工作流引擎更好?Flowable or Camunda ?