Python的可嵌入工作流/BPM库?

Python的可嵌入工作流/BPM库?,python,workflow,business-process-management,Python,Workflow,Business Process Management,假设你正在构建一个基于Python的Web应用程序,它需要一些工作流管理,比如JBPM或Windows工作流基础。Python世界中有没有提供这种功能的库?哦,是的,有很多。但其中大多数都依赖于一个特定的框架。例如,DCWorkflow与Zopes CMF集成。工作流适用于Zope 3等。SpiffWorkflow假定使用sql炼金术等。这是因为您需要将工作流应用到某些方面,这意味着您需要对所使用的对象进行一些基本假设 工作流可能是比较独立的一种,但它仍然假设您使用持久性库(因此在实践中使用ZO

假设你正在构建一个基于Python的Web应用程序,它需要一些工作流管理,比如JBPM或Windows工作流基础。Python世界中有没有提供这种功能的库?

哦,是的,有很多。但其中大多数都依赖于一个特定的框架。例如,DCWorkflow与Zopes CMF集成。工作流适用于Zope 3等。SpiffWorkflow假定使用sql炼金术等。这是因为您需要将工作流应用到某些方面,这意味着您需要对所使用的对象进行一些基本假设

工作流可能是比较独立的一种,但它仍然假设您使用持久性库(因此在实践中使用ZODB)和zope3的安全模型


因此,您可能需要在这里对您的需求进行一些扩展…

您看过这个吗

根据Lennart下面的建议,我将扩展上述内容。该系统将由多个与中间层交互的客户端组成,中间层部分必须具有某种工作流子系统。工作流子系统的存在是为了创建一个“嵌入式BPM”,它可以灵活地管理不断变化的处理需求。第一个上层“客户机”可能是一个web客户机,它在浏览器上包含CherryPy和AJAX。后端可能是PostGRES。这有点易变。我还可以添加哪些其他信息?要添加,我要说“第一个客户端”,因为最终会有更多的客户端,而且它们不一定是基于web的,所以与Zope或其他一些框架绑定太多的东西将不起作用。它必须能够独立运行。工作流系统应该清楚地位于中间层,而不是客户端。然后,客户机需要询问中间层,根据项目和安全性,哪些工作流事务可用。如果您想在postgres中存储东西,我建议您使用sqlalchemy,然后SpiffWorkflow可能会工作,但我没有使用过它,也不知道它是否有用。在PyPI上搜索工作流,但请注意,大多数产品都是用于Plone的。:)同意。也许我不清楚,但工作流引擎将在中间层。感谢您的帮助。这里有一个非常类似的问题,但是django-specific-SpiffWorkflow似乎没有假定sql炼金术,或者至少,我没有找到任何指向该方向的参考。这可能是自这篇文章以来发生的变化。。。在邮件列表中快速搜索似乎表明了这一点。它过去需要SQLAlchemy,是的。仅酸洗也是一种限制。