@font-face { font-family: 宋体 }
@font-face { font-family: "Cambria Math" }
@font-face { font-family: Calibri }
@font-face { font-family: "@宋体" }
p.MsoNormal, li.MsoNormal, div.MsoNormal { margin: 0 0 0.0001pt; text-align: justify; text-justify: inter-ideograph; font-size: 10.5pt; font-family: "Calibri", "sans-serif" }
p.MsoHeader, li.MsoHeader, div.MsoHeader { mso-style-link: "页眉 Char"; margin: 0 0 0.0001pt; text-align: center; layout-grid-mode: char; border: none; padding: 0; font-size: 9pt; font-family: "Calibri", "sans-serif" }
p.MsoFooter, li.MsoFooter, div.MsoFooter { mso-style-link: "页脚 Char"; margin: 0 0 0.0001pt; layout-grid-mode: char; font-size: 9pt; font-family: "Calibri", "sans-serif" }
a:link, span.MsoHyperlink { color: rgba(0, 0, 255, 1); text-decoration: underline }
a:visited, span.MsoHyperlinkFollowed { color: rgba(128, 0, 128, 1); text-decoration: underline }
span.Char { mso-style-name: "页眉 Char"; mso-style-link: 页眉 }
span.Char0 { mso-style-name: "页脚 Char"; mso-style-link: 页脚 }
@page Section1 { size: 595.3pt 841.9pt margin-top: 72pt margin-right: 90pt margin-bottom: 72pt margin-left: 90pt layout-grid: 15.6pt }
div.Section1 { page: Section1 }

免费开源工作流Smartflow-Sharp v2.0

Smartflow-Sharp工作流组件从去年6月起开源,截止到今天已经一年有余。在这期间我已经将组件从1.0版本升级到2.0版本,可能有的人还不清楚,我稍作简单介绍,这是一款基于.net平台下研发的工作流组件,该组件由流程设计器和流程引擎两个部件构成,历经一年时间的调整与完善,已经日益成熟稳定,主要适用于各种文件审批流转等场景。

项目开源地址:https://github.com/chengderen/Smartflow-Sharp

相比1.0版本,2.0这个版本对性能以及流程设计器上,有较大的调整与完善。去掉1.0中一些定制化的功能,使其更加注重业务流程,以业务流程为核心。对流程设计器和工作流引擎的核心代码进行梳理和重写,使其更具有可读性和维护性。从现在看1.0的代码有点惨不忍睹,刚开始考虑的是如何更加快速完成功能开发。这点可能跟平时工作习惯有点关系,造成这种情况。

在使用的过程中也有网友向我反眏,流程初始化的很影响性能,其实我以前发现过这个问题,这是微软在将XML序列化为对象的时候,会动态创建程序集和对象所致,动态创建的方式导致性能方面有所下降,XML的文件越大,所耗时间就会越长。为解决这个问题,我决定放弃使用XmlSerializer方式解析流程文件, 其实有网友也提出使用的缓存的方式,避免动态重复创建对象,将创建的对象放进缓存,可以解决此问题。但是由于个人对代码有点洁癖,并不太喜欢加特性方式来解析XML文件,所以我重新设计XML 的解析接口,经过测试,我已经彻底解决业务流程初始化的问题,且代码更加干净整洁。在此,感谢各位的网友参与和反馈。

工作流组件技术含量并高,但是,要想做得非常好还是很有难度。在这个过程中开发流程设计器是最让我头疼的事情,刚开始也考虑过用canvas,但是在使用开发过程中明显没有SVG编码方便,而且各种元素事件绑定方式有点不习惯,所以最终选择SVG画图技术。目前感觉流程设计器细节没有处理到位,后续还有待继续完善。

未来计划推出以业务流程为核心,将表单与业务流程结合起来,形成整体解决方案。在这个过程中,工作流组件将逐渐与BPM标准进行对接,使其更加标准化。后续也会推出.net core版本的工作流组件,为大家多提供一种选择,敬请关注。

免费开源工作流Smartflow-Sharp v2.0的更多相关文章

  1. GO 前后端分离开源后台管理系统 Gfast v2.0.4 版发布

    更新内容:1.适配插件商城,开发环境从后台直接安装插件功能:2.代码生成细节修复及功能完善(支持生成上传文件.图片及富文本编辑器功能):3.增加swagger接口文档生成:4.更新goframe版本至 ...

  2. MvcPager 免费开源分页控件3.0版发布!

    MvcPager 3.0版在原2.0版的基础上进行了较大的升级,对MvcPager脚本插件重写并进行了大量优化.修复了部分bug并新增了客户端Javascript API等功能,使用更方便,功能更强大 ...

  3. PyCharm 3.0 发布,提供免费开源版本

    PyCharm 发布最新的 3.0 版本,该版本新特性详见: http://www.jetbrains.com/pycharm/whatsnew/index.html 该版本最主要的是提供了免费开源的 ...

  4. 严重推荐一个免费开源数据库建模工具软件 --OpenSystemArchitect 4.0

    嘿嘿,对于我这样的新手,这个工具还是很令人兴奋的. 真的是术业有专攻啊.关键还是免费开源 EXCEL,VISO,PPT,PS,CD,FREEHAND不是不可以,只是.人家还是专业点,方便点.. Ope ...

  5. Scut游戏服务器免费开源框架-3

    Scut游戏服务器免费开源框架--快速开发(3) Scut快速开发(3) 1        开发环境 需要安装的软件 a)        消息队列 b)        数据库,Sql2005以上版本 ...

  6. 如何通过免费开源ERP Odoo建立你的团队, 销售过程和目标

    这种快速的一步一步的指南将引导您完成Odoo CRM, 帮助您轻松处理您的销售渠道, 时刻从线索到客户管理您的销售渠道. 配置 从 Odoo初始化后,生成你的数据库, 选择CRM 作为第一个app安装 ...

  7. Kafka Eagle V2.0.0新版预览

    1.概述 Kafka Eagle是一款用于管理Kafka的监控系统,且完全开源.当前Kafka Eagle发布了2.0.0版本.今天笔者就为大家来介绍一下2.0.0更新了哪些功能. 官网地址:http ...

  8. 免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)

    前面介绍了六种.NET组件,其中有一种组件是写文件的压缩和解压,现在介绍另一种文件的解压缩组件SharpZipLib.在这个组件介绍系列中,只为简单的介绍组件的背景和简单的应用,读者在阅读时可以结合官 ...

  9. 免费开源的DotNet任务调度组件Quartz.NET(.NET组件介绍之五)

    很多的软件项目中都会使用到定时任务.定时轮询数据库同步,定时邮件通知等功能..NET Framework具有“内置”定时器功能,通过System.Timers.Timer类.在使用Timer类需要面对 ...

随机推荐

  1. day03 每日一行

    day03 每日一行 问题描述 用列表解释式 .生成器表达式实现 字典列表为: [{'first': 'john', 'last': 'smith', 'email': 'jsmith@exsampl ...

  2. 华为云服务器基于hadoop2.7.5安装hive-2.3.7

    1. Hive简介 The Apache Hive data warehouse software facilitates reading, writing, and managing large d ...

  3. python给excel文件加密码,并重新生成文件

    需安装pywin32 pip install pywin32 直接上源码.简单几行就搞定 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. ...

  4. 用LR录制终于可以在我的电脑上顺利弹出IE了

    之前在我的电脑上各种折腾,由于是win764bit+IE11,安装了LR11连最基本的录制都没能搞定.google之后各种的尝试,也没能解决问题.狠下心来把IE11换成了IE8,终于可以勉强使用了,没 ...

  5. JVM学习第三天(JVM的执行子系统)之字节码指令

    早上看了Class类文件结构,晚上继续来看字节码指令,毕竟谁也不是一步登天的(说白了还是穷); 字节码指令 Java虚拟机的指令由一个字节长度的.代表着某种特定操作含义的数字(称为操作码,Opcode ...

  6. Agumater 增加基本数据上传下载能力

  7. vue-devtools-4.1.4_0.crx及Vue.js not detected的问题

    谷歌-更多工具-扩展程序 Vue.js not detected的问题

  8. EMQ集群搭建实现高可用和负载均衡(百万级设备连接)

    一.EMQ集群搭建实现高可用和负载均衡 架构服务器规划 服务器IP 部署业务 作用 192.168.81.13 EMQTTD EMQ集群 192.168.81.22 EMQTTD EMQ集群 192. ...

  9. [翻译] 发布双屏预览SKD,公布MICROSOFT 365开发者日日期

    [前置提示]:本文翻译工作尚未完工,您可以先看原文QUQ 原文标题:Announcing dual-screen preview SDKs and Microsoft 365 Developer Da ...

  10. Face The Right Way(POJ 3276)

    原题如下: Face The Right Way Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 6708   Accepte ...