阅读时间 2 分钟 (368 字)

项目:工作流引擎

我是弗洛里安·沃蒂诺斯,一个住在图卢兹的22岁法国人。我学习了三年的航空工程,现在是基础物理学的学生,我想加入一所信息学学院或大学。我正在进行的 Google Summer of Code 项目是 Joomla 核心的流程引擎。

流程是一系列步骤,例如可以由用户执行,并以 Petri 网或有向图的形式正式表示。

让我们从一个简单的电子商务软件结账工作流示例开始

Joomla Work Flow Engine for Core

当客户进入结账过程时,会创建一个订单,并支付款项。

根据支付是否成功(true 或 false),执行将继续在两个分支之一(排他选择或 XOR 分支工作流模式)中继续。

如果支付失败,将显示错误消息,并将用户发送回支付步骤。

如果支付成功,则“发送确认电子邮件”和“设置订单状态为运输”任务并行或几乎并行运行(并行分支或 AND 分支工作流模式),当它们都完成时,结账过程结束(同步或 AND-连接工作流模式)。

这种系统(图定义和执行)已经存在了一段时间。

我对它进行了研究,并发现了一个基于有向图的低级 PHP 工作流引擎,由 Sebastian Bergmann 开发,我将其集成到 Joomla 核心中。

核心已经支持所有基本控制流模式,并且易于扩展。

一些特殊的节点类型允许,例如,操作工作流变量或执行暂停等待输入值提供给引擎。

我将至少编写一个抽象层以简化程序化的工作流定义,重写数据库工作流执行和存储以使用 Joomla 层,添加用户知识和 ACL 到引擎中,允许 MVC 控制器和执行引擎之间的轻松通信,并使用 PHPUnit 编写单元测试。

如果时间允许,我将编写一个平台 Web 应用程序或 CMS 组件来展示其工作。

工作流引擎可用于电子商务、需要严格定义和执行过程的内容扩展、(多线程)后台运行自动化任务的守护程序应用程序。

发表在 Joomla 社区杂志上的某些文章代表了作者对特定主题的个人观点或经验,可能并不与 Joomla 项目官方立场一致。

0
领导力亮点 - 2012 年 6 月
为 Joomla 扩展编写终极营销指南 ...
 

评论

已经注册? 登录此处
尚未发表评论。成为第一个发表评论的人

通过接受,您将访问 https://magazine.joomla.net.cn/ 外部第三方提供的服务