基于WWF搭建的通用审批流程
月明星稀,却不见明月;蛾儿雪柳暗香飘过,纵使回首千百回,却不知,心已灭;壮志未酬,却落得个多情应该笑我;扬帆起航,却不知,帆已破。
这是我刚离职时的心情,曾几何时,真的想呆在一家公司,做一名优秀的技术管理人员,毫无保留的奉献自己的所有,将公司的业务、产品都提升一个层次。但企业管理的混乱,企业文化的丢失,公司对员工的差异化对待,公司领导的言而无信,让我对之前的公司完全的失去了信心,甚者开始了厌烦,毅然决然的离开的之前的公司,将自己推上了无业游民的行业。
对于一个从业人员来说,自己的职业道路无非就是两条道路(特别是搞软件的),一则努力成为公司中上层技术管理者,过着安稳的日子,我想这是绝大多数人的想法;要么就自己创业,闯出自己的一片天空,但这何尝容易。之前面试过一些出来创业的,一问他,什么都不知道,不由的在心里嘲笑,如今,嘲笑的是否又是我自己呢?如今的我,路又在何方,是继续走父母期望的第一条道路,还是走第二条道路,有谁能给我指导一下迷途呢,又有谁愿意陪我走第二条道路呢?
小小抱怨了一下,言归正传,接下来想写一系列的文章,关于流程引擎的,希望走在路上的伙伴一起探讨一下,也给后来者指引一些方向及思路吧。(这里给个建议:真正的技术资料只能在国外才能搜索得到,所以大家想要提升自己有水平,必须坚持用英文问Google, 英文水平差也必须坚持,当然,提升国货水平,还需要小伙伴们努力)
另外,我搭建了一个开发平台(angular,bootstrap,MVC,EF),地址:http://spritekuang.hk05.iis800.com/,将工作流集成上去了,小伙伴们可以登录进去体验一下吧。
写这一系列文章的思路以及先后顺序是:流程引擎功能特性->产品架构设计->核心数据模型设计->核心模块的设计->关键技术模块的开发,因为是原始研发的流程引擎,所以水有些深,看大家的反应写后续的文章,当然,如果没有反应,估计自己写着也没多大的兴趣,所以多多的留言或者推荐一下吧。
开始吧。
什么是工作流?
一大堆专家有解释,挑选一个:一类能够完全自动执行的经营过程,根据一系列过程规则,将文档、信息或任务在不同的执行者之间进行传递与执行。简单的理解就是:信息(表单、文档等)在不同的人之间进行流转。
工作流的应用场景
关键业务流程:订单、报价处理、采购处理、合同审核、客户电话处理、供应链管理等
行政管理类:出差申请、加班申请、请假申请、用车申请、各种办公用品申请、购买申请、日报周报等凡是原来手工流转处理的行政表单
人事管理类:员工培训安排、绩效考评、职位变动处理、员工档案信息管理等
财务相关类:付款请求、应收款处理、日常报销处理、出差报销、预算和计划申请等
客户服务类:客户信息管理、客户投诉、请求处理、售后服务管理等
......
流程引擎功能特性
流程引擎的功能特性我这里就不详细说了,可以在上面我发的地址上找到《工作流功能特性.pptx》查看。
有一个单独的流程定义工具,流程引擎服务已WebApi的方式公开,支持与不同的开发语言及不同的前端交互访问,我这里搭建的前端用.net MVC搭建的。
关键技术点
流程引擎主要用到的一些关键技术点:WWF、EF、第三方工具DevExpress、MVC(and webapi)、Reapheal(流程跟踪图)、AngularJs(Web)、Bootstrap(Web)、RequrieJs(Web)、领域驱动(架构设计思路),这些技术不太熟悉的可以问一下google,细的技术我这里就没有列了,后续相关章节再细说,有问题随时提出来,大家一起探讨。
关键界面截图
下面截一些关键的图形,让大家对我搭建的流程引擎的功能特性有一些感官上的认识。
流程定义工具主体功能截图
审批活动任务分配规则配置界面
审批活动完成规则配置界面
审批活动路由选择规则配置界面
客户端登录界面(手机端)
待办已办界面(待办会收到一封待办邮件)
流程实例管理
流程表单
流程跟踪图
流程审批历史记录
其他功能这里有没有截图了,后续文章写到的时候再进行截图说明,当然也要看文章对大家有没有帮助再写后续的文章。
基于WWF搭建的通用审批流程的更多相关文章
- 案例 | 荔枝微课基于 kubernetes 搭建分布式压测系统
王诚强,荔枝微课基础架构负责人.热衷于基础技术研发推广,致力于提供稳定高效的基础架构,推进了荔枝微课集群化从0到1的发展,云原生架构持续演进的实践者. 本文根据2021年4月10日深圳站举办的[腾讯云 ...
- YbSoftwareFactory 代码生成插件【十六】:Web 下灵活、强大的审批流程实现(含流程控制组件、流程设计器和表单设计器)
程序=数据结构+算法,而企业级的软件=数据+流程,流程往往千差万别,客户自身有时都搞不清楚,随时变化的情况更是家常便饭,抛开功能等不谈,需求变化很大程度上就是流程的变化,流程的变化会给开发工作造成很大 ...
- 基于centos搭建微信小程序服务,配置及数据库等
基于centos搭建小程序, ps:请提前20天准备将域名备案,申请ssl证书 实验上机地址:https://cloud.tencent.com/developer/labs/lab/10004 准备 ...
- 基于netty http协议栈的轻量级流程控制组件的实现
今儿个是冬至,所谓“冬大过年”,公司也应景五点钟就放大伙儿回家吃饺子喝羊肉汤了,而我本着极高的职业素养依然坚持留在公司(实则因为没饺子吃没羊肉汤喝,只能呆公司吃食堂……).趁着这一个多小时的时间,想跟 ...
- FS BPM 业余研发(用户详细操作手册--单人串行/并行)之 深圳分公司技术部请假审批流程
1.FS BPM 简介 BPM软件中BPM是英文字母缩写,大致有二个意思.第一.Business Process Management,即业务流程管理,是一套达成企业各种业 务环节整合的全面管理模式. ...
- 基于SpringBoot搭建应用开发框架(二) —— 登录认证
零.前言 本文基于<基于SpringBoot搭建应用开发框架(一)——基础架构>,通过该文,熟悉了SpringBoot的用法,完成了应用框架底层的搭建. 在开始本文之前,底层这块已经有了很 ...
- 01 基于umi搭建React快速开发框架
介绍 基于umi搭建一个快速开发框架,react 应用框架.umi 以路由为基础的,支持类 next.js 的约定式路由,以及各种进阶的路由功能,并以此进行功能扩展,比如支持路由级的按需加载. 我们会 ...
- 如何基于Go搭建一个大数据平台
如何基于Go搭建一个大数据平台 - Go中国 - CSDN博客 https://blog.csdn.net/ra681t58cjxsgckj31/article/details/78333775 01 ...
- mockjs,json-server一起搭建前端通用的数据模拟框架教程
无论是在工作,还是在业余时间做前端开发的时候,难免出现后端团队还没完成接口的开发,而前端团队却需要实现对应的功能,不要问为什么,这是肯定存在的.本篇文章就是基于此原因而产出的.希望对有这方面的需求的同 ...
随机推荐
- 用SignalR实现的弹幕功能
弹幕功能通常用于实时显示当前视频或者文档的评论内容,在上快速飞过的方式呈现,看起来比较酷炫. 这种典型的多用户实时交互的功能,很适合使用SignalR实现,通过SignalR提供后台的服务推送功能,客 ...
- [地图SkyLine二次开发]框架(1)
项目介绍: 项目是三维地理信息系统的开发,框架MVC4.0 + EF5.0 + Extjs4.2 + SkyLine + Arcgis,是对SkyLine的二次开发. 项目快结束了,先给大家看一眼效果 ...
- IntrospectorCleanupListener作用
<!--web.xml--><listener> <listener-class>org.springframework.web.util.Introspector ...
- java模拟面试 试题
java 四类八种基本数据类型 第一类:整型 byte short int long 第二类:浮点型 float double 第三类:逻辑型 Boolean(取值为 true false) 第四类: ...
- ActiveReports最终报表设计器本地化方法介绍
ActiveReports UI界面中的所有字符信息.错误提示信息.以及一些logo.图像资源,都能够通过运行batch文件来本地化.本文主要介绍资源本地化的具体步骤: 1. 资源目录 所有可本地化的 ...
- c#数据绑定(4)——向查询中添加参数
本实例主要练习了ADO.Net 连接到外部数据库的基础上,向查询中添加参数.使用的是ACCESS数据库. 在ACCESS数据库中可以用MSSQL的形式定义操作字符串,也可以采用OLEDB的形式. MS ...
- MVC5 Entity Framework学习之Entity Framework高级功能(转)
在之前的文章中,你已经学习了如何实现每个层次结构一个表继承.本节中你将学习使用Entity Framework Code First来开发ASP.NET web应用程序时可以利用的高级功能. 在本节中 ...
- MySQL之远程登录配置
1.注释掉mysql配置文件中的这一行:#bind-address = 127.0.0.1 2.给指定服务器的用户授权:GRANT ALL PRIVILEGES ON *.* TO root@&qu ...
- JAVA类与对象
Employee类: public class EmployeeTest { public static void main(String[] args) { // fill the staff ar ...
- <c:forEach>循环list,一个表格两列数据
参考: http://zhidao.baidu.com/link?url=apG5dUmW7RjB5eOYKSWOWdKd7nxFpkDO4n3i8R6MWYKl7E2JC1OCtPILF4G4EUO ...