.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 ...
随机推荐
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...
- 让姑姑不再划拳 码农也要有原则 : SOLID via C#
“姑娘,别这样.我们是有原则的.” “一个有原则的程序猿是不会写出 “摧毁地球” 这样的程序的,他们会写一个函数叫 “摧毁行星”而把地球当一个参数传进去.” “对,是时候和那些只会滚键盘的麻瓜不同了, ...
- UWP开发必备:常用数据列表控件汇总比较
今天是想通过实例将UWP开发常用的数据列表做汇总比较,作为以后项目开发参考.UWP开发必备知识点总结请参照[UWP开发必备以及常用知识点总结]. 本次主要讨论以下控件: GridView:用于显示数据 ...
- C++随笔:从Hello World 探秘CoreCLR的内部(1)
紧接着上次的问题,上次的问题其实很简单,就是HelloWorld.exe运行失败,而本文的目的,就是成功调试HelloWorld这个控制台应用程序. 通过我的寻找,其实是一个名为TryRun的文件出了 ...
- 高德地图api实现地址和经纬度的转换(python)
利用高德地图web服务api实现地理/逆地址编码 api使用具体方法请查看官方文档 文档网址:http://lbs.amap.com/api/webservice/guide/api/georegeo ...
- Flex 布局教程:语法篇
作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...
- 关于CSS inline-block、BFC以及外边距合并的几个小问题
CSS inline-block和BCF对于初学者来说,总是弄不太明白,下面记录下我在学习这块知识的过程中遇到的几个问题,供大家参考,有不足的地方,欢迎大家批评指正. 一.在什么场景下会出现外边距合并 ...
- Block解析(iOS)
1. 操作系统中的栈和堆 我们先来看看一个由C/C++/OBJC编译的程序占用内存分布的结构: 栈区(stack):由系统自动分配,一般存放函数参数值.局部变量的值等.由编译器自动创建与释放.其操作方 ...
- ILJMALL project过程中遇到Fragment嵌套问题:IllegalArgumentException: Binary XML file line #23: Duplicate id
出现场景:当点击"分类"再返回"首页"时,发生error退出 BUG描述:Caused by: java.lang.IllegalArgumentExcep ...
- 关于Hadoop用户体系的设想(胡思乱想)
关于Hadoop的用户体系设计设想 Hadoop并没有一个完整的用户体系,其权限控制的对象,主要是Linux的其它用户(即非安装Hadoop的用户),控制方式也和Linux的文件权限很像,目前权限控制 ...