`
ronghao
  • 浏览: 457123 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
E9473dd5-1985-3883-ac98-962354ca10b3
张小庆,在路上
浏览量:8808
社区版块
存档分类
最新评论

py工作流分析

阅读更多

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和服务编排,我觉得目前还不现实。它的优势在于与其平台的完全融合,能够利用很多既有设施,可是这又何尝不是把双刃剑?另外,强大的市场宣传和良好的服务团队也是选择工作流时的重要考虑。

4
1
分享到:
评论

相关推荐

    python本科毕业设计《基于深度强化学习的云工作流调度》系统.zip

    通过以上分析,我们可以看出这个项目涉及了深度强化学习、云工作流调度、PPO算法、蒙特卡洛树搜索、资源监控和DAG生成等多个核心知识点。这些技术的融合有助于构建一个智能且适应性强的云工作流调度系统,能够动态地...

    PyPI 官网下载 | py4DSTEM-0.9.5.tar.gz

    结合"py4DSTEM",用户可以构建起一套完整的4D STEM数据分析工作流,从数据采集到结果可视化,实现全流程的自动化和高效化。 总结来说,"py4DSTEM-0.9.5.tar.gz"是Python科学计算领域的一个重要贡献,它集成了4D ...

    Python库 | unicef_sharepoint-0.2.1-py2.py3-none-any.whl

    5. **事件监听**:可以设置监听器,对SharePoint的变更事件做出响应,实现自动化的工作流。 6. **错误处理**:提供完善的异常处理机制,帮助开发者更好地理解和处理与SharePoint交互时可能出现的问题。 总的来说,...

    Python库 | workflows-2.6-py2.py3-none-any.whl

    1. **工作流定义**:允许开发者以声明式的方式定义工作流,包括任务、条件、分支和循环。 2. **任务管理**:支持创建、调度和监控任务执行,确保每个步骤按照预期进行。 3. **状态跟踪**:记录每个任务的状态,便于...

    python 的py2exe打包

    py2exe是一个Python模块,它通过动态分析Python源代码来收集所有依赖项,包括标准库、第三方库以及数据文件。然后,它将这些依赖项与Python的C运行时库打包在一起,生成一个独立的可执行文件或者包含多个文件的zip...

    PyPI 官网下载 | mistral-8.0.0.0rc1-py2.py3-none-any.whl

    总之,`mistral-8.0.0.0rc1-py2.py3-none-any.whl`是一个在PyPI上发布的Mistral工作流服务的预编译Python包,它适用于多种Python环境,并且可以用于构建和管理复杂的自动化任务流程。了解其安装和使用方法,以及与R...

    Python库 | databand-0.42.1-py2.py3-none-any.whl

    databand库支持Airflow作为其底层的工作流引擎,Airflow是一个开源的工作流管理平台,用于编排、调度和监控复杂的任务。通过集成Airflow,databand可以利用Airflow的强大功能,如dag(有向无环图)结构来表示任务...

    PY公司营运资金管理分析.docx

    PY公司应强化信用政策,对客户进行严格的信用评估,限制高风险客户的信用额度,同时加强催收工作,缩短回款时间。此外,可以考虑引入保理或应收账款证券化等方式,将应收账款转化为现金,减轻资金压力。 3. **存货...

    web2py中文文档

    - **工作流**:解释web2py的工作流程和架构设计。 - **调度**:说明如何定时执行任务或脚本。 - **库**:介绍web2py内置的库以及如何使用它们。 - **应用程序**:讲解如何创建和管理web2py应用。 - **API**:概述web...

    Python库 | databand-0.55.1-py2.py3-none-any.whl

    py2.py3-none-any.whl`是一个适用于Python 2和3的`databand`库的安装文件,它提供了高效的数据工程工作流管理功能,包括数据管道、可视化、元数据管理、集成、自动化和错误处理等,是数据科学家和工程师进行数据处理...

    Python本科毕业设计《基于深度强化学习的云工作流调度》.zip

    "PPOagent.py"可能实现了PPO算法,并用作智能体来调度云工作流。 7. **Data**: "data"目录可能包含训练和测试用的数据集,比如工作流任务的描述、资源使用情况等,这些都是DRL算法训练和评估的基础。 8. **...

    Accuinsight-3.4.230426rc0-py2.py3-none-any.whl.zip

    5. 自动化工作流:可能具有创建和保存数据分析工作流的功能,方便用户重复使用和分享分析流程。 此外,`rc0`表示这是该版本的候选发布版(Release Candidate),这意味着可能存在一些未解决的问题或未完善的特性。...

    Python库 | pm4py-1.1.25-py3-none-any.whl

    `pm4py` 可广泛应用于各个行业,包括制造业、金融服务、医疗保健和零售等,帮助优化工作流、减少延迟、提高服务质量并确保合规性。 10. **安装与使用**: 要安装`pm4py`,用户只需在命令行中运行`pip install pm4...

    Python库 | pylsl-1.13.6-py2.py3-none-win_amd64.whl

    **Python库pylsl详解** `pylsl`是一个针对实验科学领域的开源...总之,`pylsl`是一个强大的工具,为实验科学领域的数据流管理和分析提供了一致且高效的方法,无论是用于数据收集还是数据分析,都能显著提高工作效率。

    dispel4py:一个 Python 库,用于描述分布式数据密集型应用程序的抽象工作流

    dispel4py是一个基于Python的开源库,专为描述和执行分布式数据密集型应用程序的抽象工作流而设计。它提供了一种高级别、声明式的编程模型,使得科研人员和开发者能够轻松地构建复杂的计算流程,而无需深入理解底层...

    gis-stat-analysis-py-tutor:包含说明如何在ArcGIS Environment中利用开源数据分析包的文档和工作流

    以的形式包含文档和工作流,这些文档和工作流演示了如何在ArcGIS Environment中利用开源数据分析包。 特征 数据-用于简单工作流程的测试数据集 文档-工作流在IPython环境中记录 演示-如何在ArcPy中使用SciPy,...

    PyPI 官网下载 | flywheel_sdk-14.6.4-py2.py3-none-any.whl

    3. **工作流执行**:定义和运行数据分析工作流,支持自定义脚本或第三方分析工具。 4. **用户和团队管理**:创建用户账户,管理团队协作。 5. **事件日志**:跟踪和记录对平台的访问和操作。 通过`flywheel_sdk`,...

    Python库 | assemblyline-4.0.0.dev89-py3-none-any.whl

    总的来说,AssemblyLine是Python在安全分析领域的强大工具,通过其灵活的工作流和服务机制,能有效地应对日益增长的恶意软件挑战。对于Python开发者和网络安全专家来说,掌握AssemblyLine的使用不仅能提升工作效率,...

    Python库 | gismo-0.3.0-py2.py3-none-any.whl

    7. **脚本化工作流**:由于Python的灵活性,Gismo非常适合构建复杂的GIS工作流程,可以自动化重复的任务,提高工作效率。 要安装`gismo-0.3.0-py2.py3-none-any.whl`,你可以使用Python的pip工具,命令如下: ``` ...

    py转exe依赖的python库

    它的工作原理是分析Python程序的导入路径,然后将所有必要的模块和资源文件打包到一个或多个.exe文件中。这样,即使目标计算机没有安装Python,也可以运行由py2exe打包的.exe程序。使用`py2exe`,开发者需要创建一个...

Global site tag (gtag.js) - Google Analytics