我们提供安全,免费的手游软件下载!

安卓手机游戏下载_安卓手机软件下载_安卓手机应用免费下载-先锋下载

当前位置: 主页 > 软件教程 > 软件教程

工作流技术在软件开发中的应用

来源:网络 更新时间:2024-06-06 11:31:05

工作流思想在上世纪60年代就有人提出过。70年代开始尝试,但由于当时的限制,工作流一直没有成功实现。80年代出现了第一批成功的工作流系统。90年代工作流技术迎来了发展高峰。90年代后至今,工作流出现了很多版本,但主旨仍然是为了使工作更加高效。

通俗点说,我们经常使用的OA系统上,关于材料的申报或个人的请假等流程属于工作流(工作审批流)。其中对于审批人和各个节点是可以动态操作的。

工作流可以通过数据库设计的形式实现,也可以使用第三方的框架Elsa、Workflow Core。本文使用第二种,并详细介绍了代码实现和json实现工作流程。

安装

使用Nuget包管理工具安装以下的包:

Workflow Core 3.10.0 - 核心包不解释

WorkflowCore.DSL 3.10.0 - json或者yaml注入需要

WorkflowCore.Persistence.MySQL - 持久化

文档

JSON / YAML Definitions - Workflow Core (workflow-core.readthedocs.io)

WorkFlowCore 加载Json文件 - 编程代码 (cscoder.cn)

例子

1,创建项目

控制台或WebApi项目均可,这里以WebApi项目为例(版本用的是.net 6)。

2,添加工步

工步文件需要继承StepBody。现在添加一个Hello.cs和Goodbye的工步,代码如下:

3,添加工作流文件

工作流文件需要继承IWorkflow。现在开始添加:

4,配置和启动

基本数据都准备好了之后,在项目启动文件进行一下配置。代码如下:

这个时候我们添加api控制器进行调用这个helloworld的流程。代码如下:

5,效果展示

启动后调用我们的控制器方法,然后观看console的变化,如图:

6,请假单流程

请假单的流程创建的话需要用到等待的函数,等待管理员进行审核后进行下一步的操作。请假单的流程代码如下:

然后创建好之后,在启动文件进行注册一下:

好了,接下来我们就可以用接口的形式进行模拟了。首先我们新增一个接口用来模拟申请请求代码如下:

然后创建一个管理员的审批方法,用来审核通过或者拒绝。代码如下:

好了,这样就形成闭环了。大家可以在postman上请求测试一下,观察console的变化了。

7,json注入

最后就是json注入的方式了,这种方式也是目前我比较倾向的方式,和前端对接就很方便的。前端按照固定的格式给后端传入json数据,后端根据json数据解析工步进行开启工作流。

首先需要创建一个json文件,json文件代码如下:

然后在启动文件配置,注入一下json工作流:

到这里就可以了,创建一个api方法来调用看看:

到这里就可以实现json注入工作流了。不过细心的朋友就发现了,我给的json文件中的step的type为什么是空的呢?是因为StepType取的是项目程序集工步的类名称,因为我的电脑项目和你们的项目不一样,所以这里没有写。大家可以自行百度搜搜看,我这里还是放一下我的json例子吧。

结语

例子备注写的比较多,就不多赘述了。有问题的话就留言吧,感谢观看~