.Net开源工作流Roadflow的使用与集成
序言
最近公司要整理公司内部oa系统,需要使用到工作流,所以就开始了开源工作流挑选,使用,到集成到公司内部系统的工作。
首先在网上搜了文档,自己也有补充,整理啦国内几款工作流的比较,由于没有个个击破式的研究所以不足之处还望海涵。
送上比较内容图:

鉴于这个表的内容,与公司技术与需求的结合,我们选择啦RoadFlow工作流引擎。
下面踏上RoadFlow的征程。
RoadFlow的下载、部署、及使用
官方网址:http://cqroad.cn/
官方文档:http://cqroad.cn/Doc/Default.aspx
官方源码下载链接:http://cqroad.cn/Download
项目下载完成后,
1、自带有数据库脚本,执行到本地数据库,就行啦。
2、打开项目,由于我们公司绝大多说项目都是用mvc,所以我选用webmvc项目,移除webform项目,也可以保留去看看哈。

3、配置webconfig中的数据库链接字符串,注意这里一般会有一个版本问题或者模式问题,爆红页面顺手就能解决没多大难度。
4、然后就是打开/login/index页面,按照提示登录进去。

5、根据文档,自己一点点摸索前进啦。
我摸索的差不多啦,感觉公司一般的流程需求这里是可以满足的,并且考虑啦一下集成的成本与技术实现,也感觉没有什么问题,毕竟代码都在手里吗,哈哈。然后搞起。
Roadflow开源工作流集成到公司内部OA系统
首先弄懂一个陌生的项目,我是从数据库进行操刀的,因为我看啦一下他的项目结构,没有非常特别的东西,就是一般的mvc项目。
数据结构如下:
1、基础平台:日志表,数据库配置表,数据字典表。
这些表在roadflow中几乎都是单表操作,比较独立,不用做过多的分析就一目了然。

2、组织结构,工作组,人员信息

3、角色,权限,人员信息

4、表单,流程,按钮,步骤等工作流相关核心表

需要注意的就是自己建自己的表单字段存储表,然后在绑定表单的时候可以选择数据自己的数据表进行绑定映射。
分析完表结构之后,就是自己的登录权限集成与Js解压分析,集成到适合自己的内部系统中。经过千辛万苦之后,就是轻松的页面集成。
哦,中间绑定自定义事件的时候,遇到啦反射程序集路径问题,这里给大家做个简单的分享。修改下路径就可以啦。
/// <summary>
/// 执行自定义方法
/// </summary>
/// <param name="eventName"></param>
/// <returns></returns>
public object ExecuteFlowCustomEvent(string eventName, object eventParams, string dllName = "")
{
if (dllName.IsNullOrEmpty())
{
dllName = eventName.Substring(, eventName.LastIndexOf('.'));
dllName = dllName.Substring(,dllName.LastIndexOf('.'));
}
System.Reflection.Assembly assembly = System.Reflection.Assembly.Load(dllName);
string typeName = System.IO.Path.GetFileNameWithoutExtension(eventName);
string methodName = eventName.Substring(typeName.Length + );
Type type = assembly.GetType(typeName, true); object obj = System.Activator.CreateInstance(type, false);
var method = type.GetMethod(methodName); if (method != null)
{
return method.Invoke(obj, new object[] { eventParams });
}
else
{
throw new MissingMethodException(typeName, methodName);
}
}
小结
由于工作流不是一个工作量小的项目,别且过于繁杂,所以如果没有特殊的需求,建议使用开源框架。
还有,如果你也用到啦工作流,那么咱们可以一起交流学习,左上方是我的群,欢迎加入。
下面给大家展示下我的成果。
流程设计集成

表单设计集成

待办事项集成

好啦,好事说三遍,我再次说明下,如果你对本篇内容有什么批评指教或者想一起交流学习,欢迎加入左上角我的技术交流群。
今晚陪媳妇逛超市啦,时间有点紧,就整理啦一篇图比较多的博文,耽误啦我的redis,明天坚持继续我的redis系列。
.Net开源工作流Roadflow的使用与集成的更多相关文章
- .Net开源工作流Roadflow的使用与集成(转)
序言 最近公司要整理公司内部oa系统,需要使用到工作流,所以就开始了开源工作流挑选,使用,到集成到公司内部系统的工作. 首先在网上搜了文档,自己也有补充,整理啦国内几款工作流的比较,由于没有个个击破式 ...
- .net 开源工作流比较及应用
送上比较内容图: 鉴于这个表的内容,与公司技术与需求的结合,我们选择啦RoadFlow工作流引擎. 下面踏上RoadFlow的征程. RoadFlow的下载.部署.及使用 官方网址:http://cq ...
- Java开源 开源工作流
OpenEbXML 点击次数7801 Werkflow 点击次数11181 OSWorkflow 点击次数14988 wfmOpen 点击次数7997 OFBiz 点击次数1234 ...
- .net开源工作流引擎ccflow
关于济南驰骋信息技术有限公司的.net开源工作流引擎 驰骋工作流引擎,工作流程管理系统:简称ccflow,驰骋一体化解决方案简称ccport. ccflow是济南驰骋信息技术有限公司向社会提供的一款1 ...
- Java工作流引擎-中间件模式代码集成
关键词:工作流快速开发平台 工作流流设计 业务流程管理 asp.net 开源工作流 bpm工作流系统 java工作流主流框架 自定义工作流引擎 表单设计器 流程设计器 前端代码集成步骤 ...
- .NET 5 开源工作流框架elsa技术研究
今天假期第一天,研究了.NET 5开源工作流框架elsa,现在分享给大家. 一.框架简介 elsa是一个开源的.NET Standard 工作流框架,官方网站:https://elsa-workflo ...
- 开源工作流 Bonita BPM (JAVA)
Bonita BPM 开源工作流 Bonita BPM (JAVA) http://www.bonitasoft.com/
- Java三大主流开源工作流引擎技术分析
首先,这个评论是我从网上,书中,搜索和整理出来的,也许有技术点上的错误点,也许理解没那么深入.但是我是秉着学习的态度加以评论,学习,希望对大家有用,进入正题! 三大主流工作流引擎:Shark,oswo ...
- 【Slickflow学习】.NET开源工作流介绍、下载(一)
第一次自己写博客文章,大家多多指教.写博客主要记录一下学习的过程,给初学者提供下参考,也留给自己做备忘. Slickflow .NET开源工作流-介绍 这里摘录Slickflow官网的介绍: Slic ...
随机推荐
- 前端框架 EasyUI (0) 重新温习(序言)
几年前,参与过一个项目.那算是一个小型的信息管理系统,BS 结构的,前端用的是基于 jQuery 的 EasyUI 框架. 我进 Team 的时候,项目已经进入开发阶段半个多月了.听说整个项目的框架是 ...
- Linux虚拟机的安装(使用Centos6.3)
1.什么是虚拟机? 虚拟机指通过软件模拟的具有完整硬件系统功能的.运行在一个完全隔离环境中的完整计算机系统 2.安装Linux虚拟机前要做的准备 2.1:一台windows环境的pc 2.2:下载VM ...
- MVC Core 网站开发(Ninesky) 2.1、栏目的前台显示
上次创建了栏目模型,这次主要做栏目的前台显示.涉及到数据存储层.业务逻辑层和Web层.用到了迁移,更新数据库和注入的一些内容. 一.添加数据存储层 1.添加Ninesky.DataLibrary(与上 ...
- 和 Thrift 的一场美丽邂逅
一. 与 Thrift 的初识 也许大多数人接触 Thrift 是从序列化开始的.每次搜索 “java序列化” + “方式”.“对比” 或 “性能” 等关键字时,搜索引擎总是会返回一大堆有关各种序列化 ...
- IE8/9 本地预览上传图片
本地预览的意思是,在选择图片之后先不上传到服务器,而是由一个<img>标签来预览本地的图片,非 IE8/9 浏览器可以从<input type="file"/&g ...
- Python爬虫小白入门(四)PhatomJS+Selenium第一篇
一.前言 在上一篇博文中,我们的爬虫面临着一个问题,在爬取Unsplash网站的时候,由于网站是下拉刷新,并没有分页.所以不能够通过页码获取页面的url来分别发送网络请求.我也尝试了其他方式,比如下拉 ...
- Spring resource bundle多语言,单引号format异常
Spring resource bundle多语言,单引号format异常 前言 十一假期被通知出现大bug,然后发现是多语言翻译问题.法语中有很多单引号,单引号在format的时候出现无法匹配问题. ...
- Windows API 设置窗口下控件Enable属性
参考页面: http://www.yuanjiaocheng.net/webapi/create-crud-api-1-put.html http://www.yuanjiaocheng.net/we ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- 初识npm
一.npm简介: npm全称为Node Package Manager,是一个基于Node.js的包管理器,也是整个Node.js社区最流行.支持的第三方模块最多的包管理器. npm的初衷:JavaS ...