摘要: 年前写过一篇,用子流程来分解大流程。当业务流程处理环节多,繁杂时,可以用子流程来分解。就像我们程序员最熟悉的子函数一样,把处理同一事项的归纳成一个子函数,子函数可以在多个场景多次调用,也可以在同一场景中反复调用。用子流程来分解大流程,作用和子函数类似。将功能处理过程比较独立或者单一的归纳成一个子流程。子流程本身是一个完整的处理过程,可以单独启动执行,也可以嵌入到其它流程中使用。单独启动执行:这种就是常见的业务流程的使用。嵌入其它流程中被调用:和主流程就会有千丝万缕的关联了。
阅读全文摘要: 在没用管理系统的时候,很多企业都会将一些生产或流水线操作的数据保存在excel文件中,按名称或按sheet页形成多份excel的表格数据。当运用了工作流管理系统后,这些生产或流水线的操作都会记录成流程的节点,过程需要记录的数据,也会应用到管理系统中。通常是建立数据库,建立数据库表来存储这些记录。原来记录在纸质或excel文件中的数据,就需要通过工作流管理系统,执行流程的节点,打开节点上的表单界面,...
阅读全文摘要: 企业的业务处理过程如果简单,不繁琐,几步就处理完成了的,不会考虑上工作流系统。如果处理过程繁杂,处理步骤很多,涉及到很多工序,而且处理时间很长,就必须用工作流系统了。统一管理,统一运行,无论处理的过程以及路由如何繁杂,这都是工作流系统最擅长的了。并且后续的维护、修改、变更也能快速的相应。这些是用硬编码的方式来实现无法比拟的。企业选用工作流系统,还有一种情况,当企业的业务处理种类很多,虽然每种业务的处理过程不复杂,但是种类太多,用硬编码的方式来控制流转工作量太大,多一种业务处理过程就需要做技术人员扑上去,开发,测试,发布,部署,试运行一次,而且后续的维护和修改更加无法控制,这样企业也是无法忍受的。
阅读全文摘要: 运用工作流系统之后,流程的每次流转每次执行都会被记录下来,直到流程结束。这些被记录下来的记录就是流程实例的运行轨迹。运行轨迹的每条记录都会有一个主键id,用于唯一标识这条记录,这个主键id,就是流程实例轨迹id。每个流程实例都有自己的运行轨迹,这个运行轨迹可以用列表也可以用图形的方式来展现。流程实例的监控,大多是监控这个流程运行的轨迹。通过二次加工和定制开发,或再加上定时器的功能,可以做一些居于图形的实时监控。
阅读全文摘要: 工作流引擎只负责业务流程的抽象模型的建立,解释和运转,业务模块还是在业务模块中完成。当一个成型的流程引擎在和业务模块集成时,需要做如下几点的集成:1、业务模块中业务数据保存的同时,要调用流程引擎的执行流程流转的api函数,如,未初始化得到流程实例id的,就需要初始化流程,已经初始化的需要执行流程的流转。 并且业务模块的保存和流程的流转在同一个事务中。2、业务模块中录入控件的操作权限设置,通常是只读,隐藏等。使得表单挂接在流程的各个节点上对各个控件的操作权限不一样。3、业务关键数据需要传递到流程引擎中,使得流程上下文能读取,作用于流程。
阅读全文摘要: 第一次接触工作流系统,可能会对一些基本的术语和名词有误解。如流程实例,流程模版,流程版本等,以及这些名词之间的关系,需要有一个学习和理解的过程。这些名词和术语也是工作流系统中的通用名词,通过学习和理解后,会对这些术语和名词有一个共同的认识和理解。如下面的词语工作流引擎:抽象的业务流程设计模型,负责业务流程的定义,解释和运转。工作流模版:用工作流引擎的基本概念和路由过程表示出一个业务办理过程,这个过程通常是用xml格式的文件来记录的,这个xml文件,就是工作流模版,也可以说是流程模版。
阅读全文摘要: 最近用户在做工作流系统的集成时,总会要求快速的集成到用户的应用系统。一般一个成熟的工作流软件产品,会有流程设计器,流程引擎,表单设计器,流程管理中心。在流程管理中心能可视化给业务流程建模,并发起流程实例,执行流程的流转,监控和管理流程实例的运行情况。这些功能是在工作流软件产品中已经完成的功能模块,流程建模,执行流程实例的过程其实也是一个调用流程引擎api的集成过程,只是这些调用过程都封装好了,不需要用户再去关心那些代码是如何实现的。
阅读全文摘要: mysql数据库简单,易用,现在越来越多的小的应用系统选择mysql数据库,也更因为mysql是免费的,不用付费。mysql安装:以for window的为例:将安装文件展开,执行安装:展开mysql-5.1.6-alpha-win32(utf-8).zip后执行install.bat安装完成后,在windows,控制面板,服务中,启动mysql的服务。
阅读全文摘要: 工作流软件产品只负责业务流程的流转,流程节点上业务模块的办理,以及监控业务流程的执行。通常一套工作流管理系统,会包含流程引擎,流程设计器,流程管理中心,表单设计器,自定义表单系统,表单引擎等等。表单模块可以是可选的。一套自定义表单系统也会包含一个mvc的框架,能实现前后台的数据提交和展现,并实现了分层的管理。当客户的应用系统集成工作流软件时,客户的应用系统本身也包含一个mvc的框架,能实现代码级别的前后台数据提交和页面功能展现。利用此mvc框架,应用系统应该完成登录,菜单,用户管理,权限管理,组织机构管理等等模块。在此基础上,再集成工作流软件产品来实现业务流。
阅读全文摘要: 通常工作流软件系统都会有自己的表单工具,能方便的可视化的设置出业务表单。但是很多客户在做工作流软件产品调研时,都会很关心工作流系统是否能方便的集成第三方的表单。大概是对自定义表单工具的能力不信任,也或者是对表单工具的不熟悉,抱着万一自定义表单工具不能实现自己的要求哦,还可以自己写代码来实现。当然工作流软件产品中包含的表单工具,是能应付所有的要实现的需求的。可视化的设置功能达不到,还可以通过编程的方法来达到,因为表单工具本身也是一个开发工具,用传统的dotnet或java能实现的,表单工具也一样能实现。
阅读全文摘要: 刚修完10.1长假,还没缓过来,整天不想事事,闲逛论坛园子,偶见吉日老大的C# winform 窗体接收命令行参数自动登录进行系统,模拟600个WCF客户端的并发压力测试http://www.cnblogs.com/jirigala/archive/2011/10/02/2197964.html哈哈,想起我们也曾做过这样并发测试,当然和吉日老大一样,没有使用测试工具,是自己做的多线程并发测试,真是"高手"所见略同^_^.
阅读全文摘要: 很多人认为,工作流就是做审批流,上工作流系统,就是为了处理审批流。这显然是个误区,大概是给大量的oa办公系统给闹的,那套oa系统不包含一个审批流?一套工作流系统,包含流程引擎,流程设计器,流程管理中心,甚至自定义表单。流程引擎封装好抽象的业务流程模型,流转和实现,对外提供api函数接口;流程设计器可视化的给业务流程建模,设计流程模版;流程管理中心,能模拟流程的运转,跟踪和监控流程实例;自定义表单可视化的设计业务模块;
阅读全文摘要: 工作流系统集成表单的过程,其实就是一个调用流程引擎api函数的集成过程。工作流引擎只负责抽象的流程的流转,业务模块的实现,是在业务表单中完成。在和工作流系统集成的时候,完成表单提交的同时,再调用流程引擎的api执行执行流程的流转。通常一套业务系统中,业务模块的实现,体现在一套MVC的框架中,无论是struts,spring,jsf等等都是为实现分层管理的mvc的框架。一个业务功能的实现,在m,v,c这三个层面都有体现,好的mvc框架,能通过简单的配置来达到新增模块,只需要实现v展现层,m层的和数据库的交互。且需要维护的地方很少,集成度越高的框架越接近于自定义表单引擎,类似半自动化的表单系统。
阅读全文摘要: 首先,业务表要和流程关联起来,必需在业务主表中增加wf_id字段,存流程实例id.例如,请假流程,请假单就是业务主表。报销流程,报销单主表,就是业务主表,报销明细子表,只要和报销单主表关联。其次,在给业务流程建模的时候,需要知道此业务流程操作的主业务表,业务表的id主键。流程实例启动的时候,将此信息生成到流程实例表中。
阅读全文摘要: 最近在很多B2C的网站采购的时候,对每张订单,都多了一个订单跟踪 这样的功能,点击打开,是轨迹的文字描述和简单的图例显示,使对订单的跟踪一目了然:这个文字描述的轨迹备注很人性化,呵呵,因此考虑在工作流系统中增加文字描述的轨迹跟踪记录。工作流系统的每个流程实例在运行的时候,流程引擎都会为其记录运行的轨迹过程。
阅读全文摘要: 对接口编程,为变化而设计,是面向对象编程的基本原则。工作流软件产品中的流程引擎的实现,主要是采用面向对象的设计原理。工作流引擎负责对业务流程的抽象,对业务流程建模,以及业务流程的流转。在流程引擎中会设计一些基本的赋予一定意义的节点,组合这些节点给业务流程建模。流程引擎负责解释这些节点,并通过面向对象的编程方式,每个节点对应一个类,节点的属性和方法均在类里面有所体现,表现为类的属性和方法。当流程实例运行时,在流程引擎中建立这些类对象的实例,实例化为业务流程的每个具体节点。
阅读全文摘要: 权限设置通常分为模块级别的权限设置,原子操作的权限设置,记录级别的权限设置。模块级别的权限设置很简单,某个人或某个角色对没个模块有操作权限,要么就没有操作权限;原子操作的权限设置,是指对页面的控件的操作权限,某个用户或某个角色对某个控件有操作权限,或没有操作权限。记录级别的权限设置,通常也指数据的权限控制,某人或某角色对某些记录有查看权限,或对某个字段没有查看更新等操作权限。在工作流集成自定义表单的时候,我们通常需要做的权限设置是指原子操作的权限设置。即使控制一张表单在流程的多个节点上流转,每个节点对页面上各个控件的操作权限可能不一样;一张表单在多个用户或角色直接流转办理业务时,各用户对表单上各控件的操作权限可能不一样;
阅读全文摘要: 程序员,在实现业务模块时,都离不开要做一些弹出选择页。简单的如,部门列表页,从弹出的部门列表页中选择具体的部门;复杂的如,从弹出的产品列表页中选择多个产品,还需要把产品的规格,型号,单价等等信息一并返回。通常我们在实现这样的弹出选择页时,都需要针对每个弹出页,写上一序列的代码,主要实现这样几方面的功能:从主页传递一些参数到弹出页弹出页功能的实现 模糊查找条件 列表显示列的摆放 sql的执行 确认,取消功能的代码编写 甚至还有翻页的实现
阅读全文摘要: 工作流引擎实现抽象流程的流转,业务的实现在表单模块中完成。如报销流程,填写报销单,审核报销单,都对应一个业务模块,在业务模块中实现将数据保存到数据库表中,实现业务数据的持久化。工作流引擎负责将这些业务模块串起来,实现业务流的流转。 曾经的业务系统,业务流的流转通常是采用对状态字段的控制来实现的。当报销单填写完成后,单据状态为1,经理审核的时候,就查询出单据状态为1的记录,做审核,审核完成后,也是修改审核状态,这样来达到业务流的流转。 当应用了工作流系统后,业务流的流转,就不需要根据状态字段来控制了,业务流的流转按照业务流程建模的节点规则向前流转,状态字段退化成纯粹的业务数据,只表示当前的业务状态。
阅读全文摘要: 还记得多年前在做工作流管理中心的流程演示时,很迷茫如何用流程的功能模块来展现业务流程。业务流程的展现,传统的做法是按业务单据建立好业务表,再增加一些状态字段来控制单据的流转,达到完成业务流程。例如一个采购申请流程:按采购单建立好表结构字段;做好制定采购单的模块;买方制定好的单据接下来会在卖方的各个部门之间流转,就通过增加的状态字段来控制:1 申请状态;2 发送状态;3 仓库备货状态;4 已发货状态 ;5 配送在途;6 买方签收;7 完成;8 作废
阅读全文