py工作流是国内比较好的工作流之一。大概看过它的一些文档,分析一下。
1、路由模型
py支持的工作流模式其实并不多,只是支持1到7七种模式而已,其中比较重要的是模式6和模式7,即M选N分支和
M选N聚合,看过它的实现,利用转移线条件来触发转移线,从而触发后续的节点。这样做比较简单,但是同时也存在很多问题,例如在路由非常复杂的情况下,例如多个分支节点的串联,以及并发路由存在多个节点时,这种做法实现起来就非常困难。另外,并发路由的工作流变量会存在相互冲突的情况,也包括业务数据的冲突。可以说py的路由模型还是很简单的,支持简单的业务可能没有问题,对于复杂的业务可能需要很多其他额外的办法。当然,很多国内的工作流甚至连模式6和模式7都支持不了,同时工作流的应用目前还具有很浓的“审批”的影子(貌似有人很讨厌审批这个说法),所以目前的路由模型应该满足需求了。
2、任意路由和回退
没有看到任意路由和回退的复杂示例。关于任意路由,产品说明中说到可以在整个流程范围内任意自由路由,我觉得这个说法本来就是有问题的,并发路由的情况下,并发支线往主线上跳转,这种情况会有很多问题存在,其他并行的支线如何处理?或者说根本就没有考虑到这些复杂的情况?回退也是一样的道理,至于业务补偿的提出还是不错的,不过推给了用户自己设置回退动作。
3、关于WFMC和BPEL规范
看看流程定义文件就知道了,它不支持任何规范。敢说国内工作流的流程定义就没有遵循规范的。
4、参与者的指定
提供了组织机构、角色、个人这三种常见的参与者设置模式,还提供了流程启动者、活动执行者、从相关数据或从规则逻辑中获取参与者的模式。
5、工作的代理和代办
6、时间服务
提供了四种时限。活动提醒、活动执行、流程提醒、流程执行。
7、业务开发
感觉这是非常出彩的地方,在一个简单的示例中几乎不需要任何编码,比如一个简单的请假管理。看看它的流程定义文件,它几乎将整个业务表单都嵌入到流程定义里去了。这样做是否合适?我个人倾向于引擎与业务完全分开,通过反射或者某种映射将两者关联到一起。如果是用户自己开发已有的复杂业务,如何将工作流嵌入?至于studio也是非常出色的,具有开发调试的功能。调用接口非常的清晰。
总结一下:
py工作流还是一个不错的工作流引擎,抛开它的宣传,感觉引擎的实现还是有些简单,或者说只是满足了目前的一些常见需求,至于所说的SOA和服务编排,我觉得目前还不现实。它的优势在于与其平台的完全融合,能够利用很多既有设施,可是这又何尝不是把双刃剑?另外,强大的市场宣传和良好的服务团队也是选择工作流时的重要考虑。
分享到:
相关推荐
以的形式包含文档和工作流,这些文档和工作流演示了如何在ArcGIS Environment中利用开源数据分析包。 特征 数据-用于简单工作流程的测试数据集 文档-工作流在IPython环境中记录 演示-如何在ArcPy中使用SciPy,...
大规模并行和便携式基因组序列分析 安装 git clone https://github.com/LLNL/mappgene.git pip3 install --user parsl 跑步 python3 mappgene.py 指定参数 python3 mappgene.py <arg1>=val1 <arg2>=val2 etc... ...
以斑马鱼游泳圈分类为例的两流CNN视频特征学习分析 本文附带该源代码。 这项工作通过可视化经过斑马鱼运动二进制分类训练的CNN的学习特征,证明了最新AI解释技术的实用性。 除了本自述文件外,本文的附录还提供了...
云脑数据流模块化分析,带可视化组件 此应用程序依赖于 Python 可导入的 cloudbrain 库。 这是一个非常早期的草稿。 这是我们到目前为止所拥有的: 先决条件 云脑 龙卷风 安装 使用正常程序安装 python setup.py ...
\工作流可能已出现错误。 newComputs分支中有一个修复程序 生成分析数据 要生成分析,您需要克隆: : 生成引理和pos数据 使用generate_lemma_pos.py : python3 generate_lemma_pos.py [PrefixNameOfTheOutput] ...
它使您可以访问EAARL波形数据,并提供简化的基本处理工作流,您可以将其调整为对数据进行实验。 该库并非旨在提供可用于生产的,功能齐全的处理工作流程。 所包含的算法能够通过计算波形早期部分的质心来生成近似的...
当前,此程序包中只有一个脚本wstat.py(工作流状态),它可以执行所有操作。 当前的python包依赖关系:sqlite3,制表,熊猫,matplotlib 从4/2021开始,当前工具称为“ wstat2.py”; 可以通过以下途径获得更多...
UP42 Python程序包使用九个类,代表UP42的层次结构:“项目”>“工作流”>“作业”>“ JobTask” |“任务” |“任务”。 JobCollection | 目录>订购| 存储>资产。 在此示例中,创建了一个由和组成的新工作流程。 ...
Hbb资料库简介 该存储库与我的ZH(bb)分析宏有关。 ZpeakSig是关于Z到mu + mu-的... Cutflow是有关dijet信号过程和背景过程的切割流的分析。 Tools包含一些宏,可帮助我更有效地工作。现在有一个宏可以创建许多CRA
配对脚本wget_cmems.py和wget_cmems.sh的目的是提供传统“下载模型”工作流的示例,与以分析就绪、云优化 (ARCO) 数据为中心的工作流形成对比。 指示 要运行wget_cmems.py ,首先设置环境变量: export CMEMS_USER...
PySpark流与批处理教程(WIP) 本教程的想法是要表明如何代码可以流和在pyspark批次分析(参见在功能之间共享analysis.py )。 重点是长期维护代码,即您想更新分析功能,而又不影响流传输和批处理管道。 当前批次...
这些脚本支持与Clarity LIMS的紧密集成,并且可以使用LIMS内部的状态来管理工作流进度吗? lims-setup-step.py - lims-setup-step.py - lims-setup-step.py进入解复用步骤时调用,以设置源/目标文件夹并从集群生成...
机器学习最终项目介绍 这是 Udacity 机器学习入门课程的最终项目“从安然电子邮件中识别欺诈”的存储库,我将其作为 Udacity 数据分析师纳米学位的一... 工作流.ipynb——我的工作流——测试代码、图表、草稿。 相当
然后,如果您使用Anaconda和Python 3.4,它应该可以正常工作!(在墨尔本Python用户组会议上发表,2015年5月4日) notes.markdown是我关注的(增强的交谈后)脚本。 您应该可以使用来运行它。 使用重新创建演示所用...
使用志愿者计算对视频流执行深度学习分析。 志愿计算是一种分布式计算的形式,每个客户都可以随意加入和离开并请求处理。 每个客户将贡献一定数量的资源。 该项目包含 --server.py-运行服务器进行分发和管理。 提供...
承接可视化、数据分析、编程辅导js,py,d3,echarts 2. 使用MATLAB引擎 for Python。这是一个MATLAB的Python接口,可以在Python中调用MATLAB代码和函数。您可以使用该接口将MATLAB代码嵌入到Python程序中。 3. 逐行...
在这项工作中,使用动力学简化的局部Navier-Stokes方程,给出了满足二维非定常不可压缩Navier-Stokes方程的盖子驱动方腔流动问题的近似解析解。 解决了该问题,采用了简化的差分变换方法和摄动迭代算法。 讨论了两种...
使用此工具,我们突出显示了数据分析中一些常见的错误,并提出了一个工作流,在该工作流中,我们的模拟器可用于正确比较两组嵌套的实验数据并优化计划新实验,以在必要时增加统计能力。 请参阅我们的文章“使用简单...
19.5.1 BC-CTS-ORG 工作台/定制组织器 368 19.5.2 BC-CTS-TMS 传输管理系统 369 19.5.3 BC-CTS-CCO 集团拷贝 369 19.6 BC-DB-DBI DB-独立数据库接口 369 19.6.1 BC-DB-INF Informix 数据库 370 19.6.2 BC-DB-ORA ...
使用此工具,我们突出显示了数据分析中一些常见的错误,并提出了一个工作流,在该工作流中,我们的模拟器可用于正确比较两组嵌套的实验数据并优化计划新实验,以在必要时增加统计能力。 请参阅我们的文章