一个基于WF的业务流程平台

过年了向所有学习WF,关注我的博客的朋友们问个好,发布一个我用WF开发的工作流平台,供大家参考

这个平台适合于以审批为主业务的工作环境,可以做为一个产品直接使用(已有公司在项目中直接使用了这个平台).

这个平台的特点是我对子流程的支持做得比较满意

WF对子流程支持很弱,我没用

这个平台支持静态调用多个子流程,动态调用多个子流程,

支持并发调多个不同类型的子流程

支持并发多个子流程的等待

支持数据表单从主流程分单入子流程,子流程再入子流程,最后再回到主流程

支持可用不同分支并发的会签

支持将现有的正在运行的流程挂接到其它流程

支持流程自身的递归调用

先说一下我的代码

从来不在代码中加注解,我写代码的方式是先写文档,然后按文档去写代码.

所以,要看代吗要先打开文档

(这是文档中的一个抓图,[1.1],[1.2],[1.3]都是方法变号,方法前有[√]表示该方法有对应的单元测试)

打开代吗,你在代码中会看到编号,所有的编号在文档中都有详细目的,实现方式,调用,算法说明

数据库设计,架构设计都在文档中

服务

服务以EXE程序的方式运行

提供了权限,流程操作,报表的WCF提口,

服务写的非常稳定,所的能判断的都判断了,基本没用 try { } catch { },客户端的不正确操作服务都会有说明值返回,压力测试不会拖垮服务

系统级问题会写入系统日志,业务级问题会写入业务日志,logo文件中会记录所有操作的流水账.

服务的所的参数在config文件中配置,服务的主程序是[BPM.Foundation.Server.exe]

时间引擎

计时,自动处理,可以管理工作日

流程设计器(专业版)

可发直接从数据库中打开流程,保存流程,也可将流程导出为XOML文件,也可加载XOML文件

打开数据库中的流程

将流程发布到数据库中

可以在发布前用测试器在本地进行快速测试

可以为流程生成文档,并生成业务流程图

设计工作流时,有向导

流程设计器(用户简洁版)

表单设计器

鼠标拖动任意布局,

可以为任意字段指定权限(流程设计器上)

流程监控器

客户端

任务区

系统中所有的信息页面都可以动态添加项

功能模块可配置

可以以图形的方式查看流程

人员权限管理

流程启动管理

启动流程

表单的字段权限控制,有验证,版本管理,打印功能

可对流程进行管理

报表

只使用了Reporting 客户端控件,不需要Reporting Services服务

最后说明

这个平台是去年年初用空余时间写的,每天5个小时用了一个半月.

一般我前半夜写服务部分,思路还算清晰,所以写的还可以,文档也比效认真.

后半夜累的时候就用WPF写客户端,那时基本处于半睡眠状态,所以实现的方式很乱,风格也不统一,而且没文档(^_^)

所以要直接使用这个平台,服务部分没什么问题,前台UI建议重写,可以用WPF,Winform,ASPNET,Silverlight,

如果用Silverlight写,无法直接访问我的WCF服务,有个Silverlight跨域安全问题,有这方面需求的,我可以给你提供一个独立的跨域验证服务,加载到这个平台中

[流程监控器]部分,我有点偷懒,把以前项目的UI直接用上了,有的地方好像有连接服务或数据库代码写死的情况,使用时注意一下,自已改过来就行了.

平台使用的是Net 3.5

数据库是Sql Server 2008 任意版本都行,操作系统可用win XP ,win 2003 , win 2008 , (vista 我没试过)

有的盗版Win xp /2003 将系统中的一些服务去掉了,如DTC,这样在运行时WF的持久化由于要跨库操作,会报错,报的不是数据库错误,而是队列错误.这个错误我捕获了,如果大家看到这个错误注意一下系统服务,我的队列处理的很好,不会出错

所有的数据库与网络配置都在对应的Config文件中,根据自已的情况改一下就可已了.默认是全在本运行.

如要地网络中运行,注意一下防火墙

表单设计器做的一般,好多人没用我的表单设计器,有用Infopath的,有用ASPNET动态页的.

郁闷中,下个版本我一定写一个像样的表单设计器

系统中已初始化了一个用于练习的组织结构,与一组各种业务主题的流程

这个平台的思想就是[基于WF设计业务流程平台]这系列的讲的,只不过有些内容在这个平台上只做了后台,前台UI中没有体现.

好了,更多的内容我会在[基于WF设计业务流程平台]这系列中详细讲的

代码下载:

http://cid-c36588978afc344a.skydrive.live.com/browse.aspx/WF (已无效)

(修改为)

http://cid-c36588978afc344a.office.live.com/browse.aspx/BPM.Foundation%5E_%e5%bc%80%e5%8f%91%e7%89%88

BPM.Foundation.rar 服务

BPM.Foundation.Designer.rar 流程设计器(专业版)

BPM.Foundation.WorkflowMonitor.rar 流程监控器

BPM.Client.rar 客户端,流程设计器(用户简洁版),表单设计器报表

DB.rar 数据库

Help.rar 开发文档

流程设计(VS2008版).rar 用VS设计流程的说明

流程设计(设计器版).rar 用流程设计设计流程的说明

转载于:https://www.cnblogs.com/foundation/archive/2009/01/17/1377404.html

一个基于WF的业务流程平台相关推荐

  1. 关于[一个基于WF的业务流程平台]表设计的说明

    数据库的主键设计说明 在我发布的例子 一个基于WF的业务流程平台 中, N12345B 问到 // 所有的数据结构都几乎使用了Guid这一数据类型作为ID,而这个ID的作用仅仅作为流水号吗?所有表之间 ...

  2. 基于WF设计业务流程平台_权限在流程模板外部映射

    基于WF设计业务流程平台_权限在流程模板外部映射 前面的几篇文章我介绍了一种权限与流程模板相结合的设计方式,今天我介绍一种权限在流程模板外部映射的计方式. 限在流程模板外部映射,主要的实现思路是: 在 ...

  3. ​QGIS Cloud 一个基于云的 GIS 平台

    地理信息系统云 QGIS Cloud 是一个基于云的 GIS 平台,允许用户创建.编辑.共享和发布地理空间数据和地图.它建立在开源 QGIS 软件之上,提供了一个用户友好的界面来管理地理空间数据. 优 ...

  4. 从零开始,打造基于阿里IoT云平台的LoRa解决方案(3)_配置产品功能,将上传数据解析为阿里云平台数据格式

    本篇是 <从零开始,打造基于阿里IoT云平台的LoRa解决方案>系列教程的第3 篇,将为大家讲解:1-如何配置产品功能?2-如何将产品的上传数据解析为阿里云平台数据格式? 查看阿里物联网平 ...

  5. 基于hisilicon的arm平台搭建gdb+gdbserver调试环境

    这段时间搭建了一个基于hisilicon的arm平台搭建gdb+gdbserver调试环境,网上对hisilicon平台的搭建资料不多,基本上是arm-linux-gdb的,而没有arm-uclibc ...

  6. 从0开始搭建基于UVM的验证平台 ----- phase0.0

    从0开始搭建基于UVM的验证平台-----phase 0.0 0. Introduction 1. Creating simple test 2. Build your own test case 3 ...

  7. 基于BPM(业务流程管理)的低代码开发平台有哪些优势?

    21世纪可以说是一个数字化的时代,这对于企业来说,无疑是一个极大的挑战.在数字化时代,企业对于风险管控.流程效率有了更高的要求.同时低代码的出现也让企业在软件开发上有了更高的效率.但随着业务的增长,管 ...

  8. java 28181协议_WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的网络视频平台

    wvp WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的网络视频平台,负责实现核心信令与设备管理后台部分,支持NAT穿透,支持海康.大华.宇视等品牌的IPC.NVR.D ...

  9. 云效平台性能测试功能:一个基于Jmeter的性能压测平台

    云效平台性能测试功能(Galaxy)是一个基于Jmeter的性能压测平台,它集脚本.场景.压测.监控和报表展示为一体,是一个能快速.低成本实施压测的平台.降低了入门使用成本,让开发和测试都可以方便的执 ...

最新文章

  1. 机房重构——报表问题总结
  2. 使用git更新github上的开源项目
  3. Linux下Sed命令的用法(之替换)
  4. linux nmcli源码,Linux上利用nmcli命令创建网络组(示例代码)
  5. ResultSet 结果集
  6. Request processing failed; nested exception is feign.RetryableException: Read timed out
  7. Vue组件间通信:一个例子学会Vue组件-Vue.js学习总结)(转载)
  8. 简单防止通过执行存储过程攻击服务器
  9. python故事_python的故事
  10. Microsoft Visual C++ 2005 SP1无法安装
  11. 爬虫python能做什么-Python除了能做爬虫之外还能做什么?
  12. 禁用Win7自动更新后的重启提示
  13. 本地Navicat连接虚拟机MySQL
  14. Selenium3笔记-WebDriver源码初探
  15. 程序员转型架构师,推荐你读这几本书
  16. 51Talk2019战略升级,发布互动教学产品妖果AI
  17. WARN No appenders could be found for logger的解决方法
  18. android 传感器驱动,基于Android的传感器驱动设计与实现
  19. java学习代码01 范围:基本测试、标识符、数据类型、运算符、控制语句
  20. Qt6教程之三(2) QT使用qss

热门文章

  1. 深度学习精度提升 3 个小妙招:模型集成、知识蒸馏、自蒸馏
  2. iRobot 公司招聘,机器人、SLAM、视觉感知、路径规划方向
  3. CVPR 2020|开源实时“人手-物体”姿态估计算法HOPE-Net
  4. ICCV 2019 Best Paper :SinGAN 解读,强烈推荐!
  5. 高效神器!小目标检测迎来曙光!SSPNet金字塔网络!川大出品
  6. 论文 | 多传感器数据深度图的融合:最近基于深度学习的方法(下)
  7. 报告 | 2019程序员薪酬统计:软件开发比机器学习竟然更高?
  8. java 旅行家的预算_旅行家的预算
  9. linux镜像包含数据库数据么,docker 镜像中包含数据库环境和运行环境
  10. c语言贪吃蛇咬到尾巴,【图片】C语言小游戏~贪吃蛇【c语言吧】_百度贴吧