大家好!我很高兴地宣布,经过无数个日夜的努力,我们终于迎来了Ingenious v2的正式发布!🎉
想象一下,工作流程的核心逻辑与复杂业务逻辑被优雅地分离,就像一幅精美的画作,去除了多余的笔触,只留下最纯粹的美。ingenious v2正是如此,它让开发者能够更加专注于工作流本身的设计与实现,享受前所未有的开发效率和代码的可维护性。
我们精心打造了一个高度组件化的服务体系,就像一套神奇的积木,你可以根据自己的需求自由组合。ingenious v2的每个组件都拥有明确的职责和清晰的接口,让你轻松构建出符合业务需求的工作流系统,赋予系统架构无与伦比的灵活性和可扩展性。
无论你的项目是小巧精致还是庞大复杂,ingenious v2都能轻松应对。预留了丰富的扩展点和钩子函数,就像一把万能钥匙,可以轻松打开各种定制化的大门。你可以随心所欲地添加新功能、集成第三方服务,满足项目的多样化需求。
相较于ingenious v1,v2版本实现了质的飞跃。性能上,它如同一只猎豹,速度迅猛;功能上,它新增了诸多实用特性,如强大的流程监控与追溯功能、丰富的流程分支与合并策略等。用户体验上,v2的配置与使用方式更加简洁明了,让你一上手就能感受到它的贴心与便捷。
ingenious v2的强大之处还在于它的框架兼容性。无论你喜欢ThinkPHP、Laravel还是其他主流PHP框架,它都能与你无缝对接。这种跨框架的特性就像一张通行证,让你在开发的世界里畅通无阻。
为了加速你的开发进程,我们在官网上特别提供了think-wf和laravel-wf两个组件。这两个组件针对ThinkPHP和Laravel框架进行了深度优化,提供了简洁易用的接口和详尽的文档说明。只需简单几步操作,你就能迅速完成工作流引擎的集成。
ingenious v2遵循Apache License开源协议,这意味着你可以自由地使用、修改和分发源代码。我们诚挚邀请开源社区的朋友们加入我们的行列,共同贡献代码、分享经验,携手推动国产开源工作流技术的发展。
开源技术小栈以下是一个简单的示例,展示了如何使用配置好的组件对接流程引擎实现启动流程实例。
public function startProcess(IDict $args): array
{
try{
}
// 加载配置
$config = [
'service_dependencies' => [
// 参考配置说明进行配置,如果是使用自定义定制化组件则引入自定义实现类的对应url
],
'dynamic_dependencies' => [
// 参考配置说明进行配置
],
'extension_parameters' => [
// 参考配置说明进行配置
]
];
// 创建流程引擎实例
$engine = new ProcessEngines($config);
// 启动并执行流程实例
$result = $engine->processInstanceService()->startAndExecute(
$args->get(ProcessConstEnum::PROCESS_DEFINE_ID_KEY->value),
$args
);
// 返回结果
return [$result->getData($result->getPk())];
}
开源技术小栈为了简化代码和提高可维护性,建议封装一个SDK来统一调用API。可以参考webman-wf插件的实现方式来进行封装。若使用内置的组件,请查阅对应组件文档以了解更多API调用详情。
开源技术小栈注: 展示项目基于ingenious-v2引擎,非开源项目。
作为国产工作流引擎的佼佼者,ingenious v2承载着我们对提升国产技术实力的坚定信念与不懈追求。我们相信,凭借卓越的性能和丰富的特性,ingenious v2必将为你们带来全新的工作流开发体验。让我们携手并进,共创辉煌未来!