webreport

博客园 首页 新随笔 联系 订阅 管理
  112 Posts :: 0 Stories :: 512 Comments :: 37 Trackbacks

置顶随笔 #

摘要: 专注于 web报表, web打印, 自定义web表单, web工作流管理系统方面的技术, 官方网站为: http://www.fcsoft.com.cn/阅读全文
posted @ 2007-04-02 15:21 web报表 阅读(3132) 评论(3) 编辑

2012年2月3日 #

摘要: 年前写过一篇,用子流程来分解大流程。当业务流程处理环节多,繁杂时,可以用子流程来分解。就像我们程序员最熟悉的子函数一样,把处理同一事项的归纳成一个子函数,子函数可以在多个场景多次调用,也可以在同一场景中反复调用。 用子流程来分解大流程,作用和子函数类似。将功能处理过程比较独立或者单一的归纳成一个子流程。子流程本身是一个完整的处理过程,可以单独启动执行,也可以嵌入到其它流程中使用。 单独启动执行:这种就是常见的业务流程的使用。 嵌入其它流程中被调用:和主流程就会有千丝万缕的关联了。阅读全文
posted @ 2012-02-03 12:19 web报表 阅读(1009) 评论(3) 编辑

2012年1月18日 #

摘要: 在没用管理系统的时候,很多企业都会将一些生产或流水线操作的数据保存在excel文件中,按名称或按sheet页形成多份excel的表格数据。 当运用了工作流管理系统后,这些生产或流水线的操作都会记录成流程的节点,过程需要记录的数据,也会应用到管理系统中。通常是建立数据库,建立数据库表来存储这些记录。 原来记录在纸质或excel文件中的数据,就需要通过工作流管理系统,执行流程的节点,打开节点上的表单界面,录入这些数据,并保存到数据库表中。 这样企业用户在操作习惯上会有些变化,原来存excel文件的,现在需要通过表单界面来录入。 用户为了更方便自己,会提出,我们还是按原来的方式,记录在excel文件中,或者说,我们记录了excel文件的,能不能选择excel文件,上传一下,然后再从流程的表单界面中展现出这些数据,并可编辑和维护,然后继续流程的流转。阅读全文
posted @ 2012-01-18 11:13 web报表 阅读(1081) 评论(5) 编辑

2012年1月11日 #

摘要: 企业的业务处理过程如果简单,不繁琐,几步就处理完成了的,不会考虑上工作流系统。如果处理过程繁杂,处理步骤很多,涉及到很多工序,而且处理时间很长,就必须用工作流系统了。统一管理,统一运行,无论处理的过程以及路由如何繁杂,这都是工作流系统最擅长的了。并且后续的维护、修改、变更也能快速的相应。这些是用硬编码的方式来实现无法比拟的。 企业选用工作流系统,还有一种情况,当企业的业务处理种类很多,虽然每种业务的处理过程不复杂,但是种类太多,用硬编码的方式来控制流转工作量太大,多一种业务处理过程就需要做技术人员扑上去,开发,测试,发布,部署,试运行一次,而且后续的维护和修改更加无法控制,这样企业也是无法忍受的。阅读全文
posted @ 2012-01-11 12:03 web报表 阅读(1384) 评论(1) 编辑

2011年12月19日 #

摘要: 运用工作流系统之后,流程的每次流转每次执行都会被记录下来,直到流程结束。这些被记录下来的记录就是流程实例的运行轨迹。运行轨迹的每条记录都会有一个主键id,用于唯一标识这条记录,这个主键id,就是流程实例轨迹id。 每个流程实例都有自己的运行轨迹,这个运行轨迹可以用列表也可以用图形的方式来展现。 流程实例的监控,大多是监控这个流程运行的轨迹。通过二次加工和定制开发,或再加上定时器的功能,可以做一些居于图形的实时监控。阅读全文
posted @ 2011-12-19 11:24 web报表 阅读(968) 评论(1) 编辑

2011年12月7日 #

摘要: 工作流引擎只负责业务流程的抽象模型的建立,解释和运转,业务模块还是在业务模块中完成。 当一个成型的流程引擎在和业务模块集成时,需要做如下几点的集成: 1、业务模块中业务数据保存的同时,要调用流程引擎的执行流程流转的api函数,如,未初始化得到流程实例id的,就需要初始化流程,已经初始化的需要执行流程的流转。 并且业务模块的保存和流程的流转在同一个事务中。 2、业务模块中录入控件的操作权限设置,通常是只读,隐藏等。使得表单挂接在流程的各个节点上对各个控件的操作权限不一样。 3、业务关键数据需要传递到流程引擎中,使得流程上下文能读取,作用于流程。阅读全文
posted @ 2011-12-07 11:31 web报表 阅读(1296) 评论(0) 编辑

2011年11月30日 #

摘要: 第一次接触工作流系统,可能会对一些基本的术语和名词有误解。如流程实例,流程模版,流程版本等,以及这些名词之间的关系,需要有一个学习和理解的过程。这些名词和术语也是工作流系统中的通用名词,通过学习和理解后,会对这些术语和名词有一个共同的认识和理解。 如下面的词语 工作流引擎:抽象的业务流程设计模型,负责业务流程的定义,解释和运转。 工作流模版:用工作流引擎的基本概念和路由过程表示出一个业务办理过程,这个过程通常是用xml格式的文件来记录的,这个xml文件,就是工作流模版,也可以说是流程模版。阅读全文
posted @ 2011-11-30 11:08 web报表 阅读(1927) 评论(1) 编辑

2011年11月3日 #

摘要: 最近用户在做工作流系统的集成时,总会要求快速的集成到用户的应用系统。 一般一个成熟的工作流软件产品,会有流程设计器,流程引擎,表单设计器,流程管理中心。在流程管理中心能可视化给业务流程建模,并发起流程实例,执行流程的流转,监控和管理流程实例的运行情况。这些功能是在工作流软件产品中已经完成的功能模块,流程建模,执行流程实例的过程其实也是一个调用流程引擎api的集成过程,只是这些调用过程都封装好了,不需要用户再去关心那些代码是如何实现的。阅读全文
posted @ 2011-11-03 10:33 web报表 阅读(1934) 评论(2) 编辑

2011年10月28日 #

摘要: mysql数据库简单,易用,现在越来越多的小的应用系统选择mysql数据库,也更因为mysql是免费的,不用付费。 mysql安装:以for window的为例: 将安装文件展开,执行安装: 展开mysql-5.1.6-alpha-win32(utf-8).zip后执行install.bat 安装完成后,在windows,控制面板,服务中,启动mysql的服务。阅读全文
posted @ 2011-10-28 11:16 web报表 阅读(1565) 评论(4) 编辑

2011年10月25日 #

摘要: 工作流软件产品只负责业务流程的流转,流程节点上业务模块的办理,以及监控业务流程的执行。通常一套工作流管理系统,会包含流程引擎,流程设计器,流程管理中心,表单设计器,自定义表单系统,表单引擎等等。表单模块可以是可选的。一套自定义表单系统也会包含一个mvc的框架,能实现前后台的数据提交和展现,并实现了分层的管理。 当客户的应用系统集成工作流软件时,客户的应用系统本身也包含一个mvc的框架,能实现代码级别的前后台数据提交和页面功能展现。利用此mvc框架,应用系统应该完成登录,菜单,用户管理,权限管理,组织机构管理等等模块。在此基础上,再集成工作流软件产品来实现业务流。阅读全文
posted @ 2011-10-25 14:59 web报表 阅读(1373) 评论(5) 编辑

2011年10月21日 #

摘要: 通常工作流软件系统都会有自己的表单工具,能方便的可视化的设置出业务表单。但是很多客户在做工作流软件产品调研时,都会很关心工作流系统是否能方便的集成第三方的表单。大概是对自定义表单工具的能力不信任,也或者是对表单工具的不熟悉,抱着万一自定义表单工具不能实现自己的要求哦,还可以自己写代码来实现。 当然工作流软件产品中包含的表单工具,是能应付所有的要实现的需求的。可视化的设置功能达不到,还可以通过编程的方法来达到,因为表单工具本身也是一个开发工具,用传统的dotnet或java能实现的,表单工具也一样能实现。阅读全文
posted @ 2011-10-21 11:19 web报表 阅读(1961) 评论(2) 编辑

2011年10月10日 #

摘要: 刚修完10.1长假,还没缓过来,整天不想事事,闲逛论坛园子,偶见吉日老大的 C# winform 窗体接收命令行参数自动登录进行系统,模拟600个WCF客户端的并发压力测试 http://www.cnblogs.com/jirigala/archive/2011/10/02/2197964.html 哈哈,想起我们也曾做过这样并发测试,当然和吉日老大一样,没有使用测试工具,是自己做的多线程并发测试,真是"高手"所见略同^_^.阅读全文
posted @ 2011-10-10 17:41 web报表 阅读(1908) 评论(2) 编辑

摘要: 很多人认为,工作流就是做审批流,上工作流系统,就是为了处理审批流。这显然是个误区,大概是给大量的oa办公系统给闹的,那套oa系统不包含一个审批流? 一套工作流系统,包含流程引擎,流程设计器,流程管理中心,甚至自定义表单。流程引擎封装好抽象的业务流程模型,流转和实现,对外提供api函数接口;流程设计器可视化的给业务流程建模,设计流程模版;流程管理中心,能模拟流程的运转,跟踪和监控流程实例;自定义表单可视化的设计业务模块;阅读全文
posted @ 2011-10-10 16:34 web报表 阅读(1606) 评论(2) 编辑

2011年9月26日 #

摘要: 工作流系统集成表单的过程,其实就是一个调用流程引擎api函数的集成过程。 工作流引擎只负责抽象的流程的流转,业务模块的实现,是在业务表单中完成。在和工作流系统集成的时候,完成表单提交的同时,再调用流程引擎的api执行执行流程的流转。 通常一套业务系统中,业务模块的实现,体现在一套MVC的框架中,无论是struts,spring,jsf等等都是为实现分层管理的mvc的框架。 一个业务功能的实现,在m,v,c这三个层面都有体现,好的mvc框架,能通过简单的配置来达到新增模块,只需要实现v展现层,m层的和数据库的交互。且需要维护的地方很少,集成度越高的框架越接近于自定义表单引擎,类似半自动化的表单系统。阅读全文
posted @ 2011-09-26 10:01 web报表 阅读(1344) 评论(0) 编辑

2011年9月21日 #

摘要: 首先,业务表要和流程关联起来,必需在业务主表中增加wf_id字段,存流程实例id. 例如,请假流程,请假单就是业务主表。报销流程,报销单主表,就是业务主表,报销明细子表,只要和报销单主表关联。 其次,在给业务流程建模的时候,需要知道此业务流程操作的主业务表,业务表的id主键。 流程实例启动的时候,将此信息生成到流程实例表中。阅读全文
posted @ 2011-09-21 15:52 web报表 阅读(1370) 评论(3) 编辑

2011年9月15日 #

摘要: 最近在很多B2C的网站采购的时候,对每张订单,都多了一个订单跟踪 这样的功能,点击打开,是轨迹的文字描述和简单的图例显示,使对订单的跟踪一目了然: 这个文字描述的轨迹备注很人性化,呵呵,因此考虑在工作流系统中增加文字描述的轨迹跟踪记录。 工作流系统的每个流程实例在运行的时候,流程引擎都会为其记录运行的轨迹过程。阅读全文
posted @ 2011-09-15 16:24 web报表 阅读(1346) 评论(2) 编辑

2011年8月7日 #

摘要: 对接口编程,为变化而设计,是面向对象编程的基本原则。工作流软件产品中的流程引擎的实现,主要是采用面向对象的设计原理。 工作流引擎负责对业务流程的抽象,对业务流程建模,以及业务流程的流转。在流程引擎中会设计一些基本的赋予一定意义的节点,组合这些节点给业务流程建模。 流程引擎负责解释这些节点,并通过面向对象的编程方式,每个节点对应一个类,节点的属性和方法均在类里面有所体现,表现为类的属性和方法。当流程实例运行时,在流程引擎中建立这些类对象的实例,实例化为业务流程的每个具体节点。阅读全文
posted @ 2011-08-07 16:21 web报表 阅读(2173) 评论(3) 编辑

2011年7月20日 #

摘要: 权限设置通常分为模块级别的权限设置,原子操作的权限设置,记录级别的权限设置。 模块级别的权限设置很简单,某个人或某个角色对没个模块有操作权限,要么就没有操作权限; 原子操作的权限设置,是指对页面的控件的操作权限,某个用户或某个角色对某个控件有操作权限,或没有操作权限。 记录级别的权限设置,通常也指数据的权限控制,某人或某角色对某些记录有查看权限,或对某个字段没有查看更新等操作权限。 在工作流集成自定义表单的时候,我们通常需要做的权限设置是指原子操作的权限设置。即使控制一张表单在流程的多个节点上流转,每个节点对页面上各个控件的操作权限可能不一样;一张表单在多个用户或角色直接流转办理业务时,各用户对表单上各控件的操作权限可能不一样;阅读全文
posted @ 2011-07-20 18:00 web报表 阅读(1841) 评论(5) 编辑

2011年7月13日 #

摘要: 程序员,在实现业务模块时,都离不开要做一些弹出选择页。简单的如,部门列表页,从弹出的部门列表页中选择具体的部门;复杂的如,从弹出的产品列表页中选择多个产品,还需要把产品的规格,型号,单价等等信息一并返回。 通常我们在实现这样的弹出选择页时,都需要针对每个弹出页,写上一序列的代码,主要实现这样几方面的功能: 从主页传递一些参数到弹出页 弹出页功能的实现 模糊查找条件 列表显示列的摆放 sql的执行 确认,取消功能的代码编写 甚至还有翻页的实现阅读全文
posted @ 2011-07-13 15:40 web报表 阅读(1664) 评论(1) 编辑

2011年7月6日 #

摘要: 工作流引擎实现抽象流程的流转,业务的实现在表单模块中完成。如报销流程,填写报销单,审核报销单,都对应一个业务模块,在业务模块中实现将数据保存到数据库表中,实现业务数据的持久化。工作流引擎负责将这些业务模块串起来,实现业务流的流转。 曾经的业务系统,业务流的流转通常是采用对状态字段的控制来实现的。当报销单填写完成后,单据状态为1,经理审核的时候,就查询出单据状态为1的记录,做审核,审核完成后,也是修改审核状态,这样来达到业务流的流转。 当应用了工作流系统后,业务流的流转,就不需要根据状态字段来控制了,业务流的流转按照业务流程建模的节点规则向前流转,状态字段退化成纯粹的业务数据,只表示当前的业务状态。阅读全文
posted @ 2011-07-06 17:38 web报表 阅读(2067) 评论(2) 编辑

2011年6月10日 #

摘要: 上文写到流程如何与业务系统结合,曾经的三大迷茫点: 迷茫一:是直接在菜单上挂接 采购申请流程,点击就打开执行采购单?还是做一个通用的模块,每次有新增的业务流程,就按业务流程名称列出来,点击一个就启动一个业务流程实例? 迷茫二:是先初始化得到了流程实例id,再打开第一个节点关联的表单;还是先打开业务表单,业务数据提交时,再得到流程实例id呢? 迷茫三:流程实例第二个节点的办理,第三个节点的办理等待,通过什么方式来做?是直接挂菜单还是通过通用的模块来执行?阅读全文
posted @ 2011-06-10 10:46 web报表 阅读(2525) 评论(4) 编辑

2011年5月31日 #

摘要: 还记得多年前在做工作流管理中心的流程演示时,很迷茫如何用流程的功能模块来展现业务流程。 业务流程的展现,传统的做法是按业务单据建立好业务表,再增加一些状态字段来控制单据的流转,达到完成业务流程。 例如一个采购申请流程: 按采购单建立好表结构字段; 做好制定采购单的模块; 买方制定好的单据接下来会在卖方的各个部门之间流转,就通过增加的状态字段来控制: 1 申请状态;2 发送状态;3 仓库备货状态;4 已发货状态 ;5 配送在途;6 买方签收;7 完成;8 作废阅读全文
posted @ 2011-05-31 18:11 web报表 阅读(3975) 评论(13) 编辑

2011年5月29日 #

摘要: 在协同办公系统中web自定义表单开发工具是核心组件,它可以为协同系统提供数据展现接口,自定义表单开发工具通过调用接口并返回接收数据后显示在页面上,如果需要对页面上的数据进行分析时,图形化的数据展现会更显得直观明了。 在经过验证研究后,决定在web自定义表单开发工具中集成fusioncharts控件,之所以选择FusionCharts图形控件主要是它集成比较灵活、简单,对系统没有特殊的要求。下面的是FusionCharts的简单概述和系统要求:FusionCharts OverviewFusionCharts is a flash charting component that can be u阅读全文
posted @ 2011-05-29 09:08 web报表 阅读(2428) 评论(2) 编辑

2011年5月20日 #

摘要: 工作流软件系统做为一个开发组件,只实现了工作流引擎,工作流的建模,流程实例的创建,流转等等。不包含整体的业务系统,当集成到用户的应用系统时候,需要作为组件的方式集成。 集成的方式有多种,一般来说,用户系统是首先要集成的,应用系统的一般都会有自己的用户系统,包含,用户,角色,权限等。这些不包含在工作流软件系统中,但是在工作流软件系统中又一定会用到,流程节点的执行权限等,都离开用户角色权限等的设置。因此用户系统的集成是必须要做的。 1.用户系统的集成阅读全文
posted @ 2011-05-20 12:04 web报表 阅读(1763) 评论(4) 编辑

2011年5月11日 #

摘要: 在上篇的web自定义表单集成协同办公管理平台中提到web自定义表单开发工具已经成为协同产品继工作流之后的核心组件。在协同产品中web自定义表单开发工具的价值主要体现在:1、解决协同产品的通用性和用户需求个性化的矛盾;2、为异构系统提供数据展现的接口。 第一个价值点很好理解,就是客户可以在协同平台的基础上用web自定义表单开发工具开发业务表单,并绑定好企业的业务流程实现个性化的协同应用,固化组织的管理规范,更重要的保障了管理规范的有效执行,提升组织执行力。第二个价值点体现在既然是协同办公平台就需要和其他异构业务系统进行数据整合。在web自定义开发工具中与异构业务系统的数据整合分为两种:一种是业.阅读全文
posted @ 2011-05-11 20:18 web报表 阅读(1627) 评论(2) 编辑

2011年5月3日 #

摘要: 在工作流软件产品中,产品的扩展性和易用性是衡量软件产品的重要指标。 大家都知道,工作流软件系统会包含流程引擎,流程管理中心,流程设计器,任务调度,定时器管理等等......,其中流程引擎是核心,流程引擎完成对所有业务流程的抽象,建模,以及抽象的业务流程节点的定义、流转。但是流程引擎完成的是抽象的业务流程节点的流转,当给一个具体的业务流程建模后,启动这个业务流程,才开始一个具体的应用。在具体业务流程中,常常会伴随有一些具体的业务规则和业务过程的实现,这些是流程引擎中不包含的,流程引擎只负责通用的抽象的节点的流转和实现,具体的业务规则和过程,是和具体的应用系统紧密关联的。例如,审核月终报销的时候,要引入一些相应的规则来做判断,如部门经理引入部门经理级别的每月通讯费报销范围,餐费报销范围,交通费报销范围,等等,通过这些数据来判断报销申请是否审批通过。这个判断过程是和具体的应用紧密关联的。阅读全文
posted @ 2011-05-03 11:16 web报表 阅读(1623) 评论(2) 编辑

2011年4月30日 #

摘要: 半夜醒来,翻来覆去再也睡不着,猛然想起今天是买房正好十年整了,是该写点什么了。 至今还清楚的记得,一年的房屋租期在五一节到期,房东不再租房给我了,不租的具体原因现在已经完全忘记了,被迫要重新找房租。十年前,北京的房屋中介业远不如现今之发达,现今之猖狂。加上为了省钱,只能如做贼般满胡同的贴求租条。白天还不敢贴,只等下班后黄昏时才行。从2001年4月初开始全力找房,刚开始时,还怕太早找到了会浪费太多的钱。结果一个星期过去了,又一个星期过去了。依然没有找到合适的房租,心中便越来越急了。 有一天,在知春路旁边的一个小区里慌乱地贴条时,依稀看见竟然有个尾房销售的电话,便记了下来。联系,看房,至今还清楚.阅读全文
posted @ 2011-04-30 10:15 web报表 阅读(2040) 评论(10) 编辑

2011年4月26日 #

摘要: 提起“协同办公”,随便在百度或者Google搜索一下,就能让你看到眼花缭乱的信息,国内的各大协同办公软件厂商都在鼓吹着自己对协同的理解和自己的协同办公软件产品如何能实现协同办公管理,但从众多的信息中我们总能找到各大协同厂商所做的协同软件产品的共同点: 1、协同办公管理套件: 一般包括日常的办公管理、公文流转管理、日常交流管理、人力资源管理、项目管理、客户关系管理、企业目标管理、费用管理等等,模块的多少一般是由各个协同办公厂商的能力而定。阅读全文
posted @ 2011-04-26 15:35 web报表 阅读(1128) 评论(2) 编辑

2011年4月21日 #

摘要: 工作流软件产品在建模的时候,通常都是从开始节点开始,经过一序列的节点,最后到结束。因为有些业务的特殊性,可能会需要有多个起点,也可能会在流程的某个节点就结束了,这里就涉及到流程的多起点,和多结束点的问题。 通常工作流引擎都需要支持流程的多起点。多结束点倒是很简单,可以通过条件跳转等等来达到流程的某个节点就转向结束。流程的多起点表现方式有很多种,例如有的需要定时启动一个流程实例;同样一个业务流程,不同的人启动时,所走的步骤不一样。 单起点模式:阅读全文
posted @ 2011-04-21 17:04 web报表 阅读(1576) 评论(3) 编辑

2011年4月3日 #

摘要: 在OA审批流中,任务信息,经常需要抄送给相关人员。被抄送的人能查看到任务信息,但是不参与执行任务。 在工作流软件产品中,产生一条任务信息,任务有参与人,执行人,任务完成后,还有任务的完成人,这些是任务的基本信息。当任务需要抄送给相关人员时候,还需要给任务设置抄送人。被抄送的人,能全程关注任务的执行与完成情况,即使是完成了的任务,被抄送的人也可以查看。当然,任务的抄送人仅仅能查看到任务信息,不能参与到任务的执行中。阅读全文
posted @ 2011-04-03 14:57 web报表 阅读(1896) 评论(5) 编辑

2011年3月21日 #

摘要: 工作流软件系统,都会包含一个工作流引擎,流程设计器等。工作流引擎是工作流系统的微内核,是多种业务流程的抽象。工作流引擎设计的好坏,直接影响到流程的功能。 工作流引擎包含一些基本的节点,利用这些节点组合出各种各样的路由结构,利用这些路由结构来标识各式的业务流程,也就是说利用这些基本的节点能给业务流程建模,流程引擎能建立并解释这些节点,并利用用户输入,自动执行,定时执行,外部调用等等使得流程得以递进,达到流程的流转。所以要理解一套工作流软件系统产品,首先必须要理解流程引擎的这些基本节点,才能将大千世界中各式各样的业务流程表达出来,即给业务流程建模。阅读全文
posted @ 2011-03-21 15:02 web报表 阅读(1705) 评论(4) 编辑

2011年3月17日 #

摘要: 工作流软件中的定时器处理,一般分为两种: 应用服务启动就启动的定时器 这种类型和通常的web系统中的定时器处理一样。应用服务器启动后,定时器就启动了,然后按照定制的时间段轮询处理。当应用服务器关闭的时候,这种定时器才会关闭。这种定时器通常是对所有需要定时处理的记录来做的,在工作流软件中,就对应到所有的业务流程,所有的流程实例。 这种类型的定时器,在报表软件,报表产品中经常有用到,比如 每天晚上定时生成按日汇总表,每个月未生成月结汇总表。在工作流系统中,可以利用这种定时器按计划启动业务流程的流程实例。按计划扫描执行那些过期需要自动处理的任务等等。 由流程的流转来启动定时器 当流程示例流转到某个节点时,启动这个节点的定时器,按定时器设置的时间间隔轮询执行处理。当流程流转流程实例离开这个节点了,这个定时器就关闭了。这种类型的定时器,和流程的特定节点关联,每个流程实例都会经历定时器的 启动->执行->关闭 这样整个过程。阅读全文
posted @ 2011-03-17 16:46 web报表 阅读(1945) 评论(4) 编辑

2011年2月25日 #

摘要: 工作流系统的自由流实现了不按照流程预定义的轨迹流转,即需要在节点之间任意的跳转。上一篇自由流的实现主要说明了跳转规律,如果是单节点间的跳转,只要有当前的节点,以及跳转到的节点,就ok了。但是当当前节点和任意跳转到的节点之间有分支并发线路后,就不是简单的跳转了,当分支套分支,分支主干等之间的跳转就更复杂了。阅读全文
posted @ 2011-02-25 18:06 web报表 阅读(647) 评论(0) 编辑

2011年2月22日 #

摘要: 如果我们把预定义的流程比喻成一条从起点到终点的公交线路,那么流程定义中的步骤,就表示车站。汽车到站后人员有上车下车等行为,这就可以认为是流程中的动作。流程定义完后,就按照预定义好的线路往下走,当然业务流程的规则是比公交线路更复杂。 业务流程的流转离不开人员的参与,工作流软件的定义就是:自动运作的业务过程部分或整体,表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。 在工作流软件中,有步骤的所有者,动作的执行人,任务的参与者,工单的执行人等等很多关于人的概念。 下面一一解释工作流软件产品中的关于人的概念:阅读全文
posted @ 2011-02-22 15:47 web报表 阅读(1978) 评论(3) 编辑

2011年2月17日 #

摘要: 工作流系统在给业务流程建模的时候,按照流程引擎的设计,将业务流程定义出来。这个业务流程的每个流程实例,就按照流程建模时定义好的线路流转。 自由流是指流程实例在运行时,不按照预先定义好的线路流转,而是自由的跳转,由流程实例的操作人员来选择下一个到达的节点。通常这种都是不正常的流转,和回退流一样,破坏了流程的正常定义。但是自由流又很有“特色”,符合一定的业务需求。例如,当一份申请单提交审核后,需要部门经理,总经理,都审核过,才能流转到业务部门来处理,但总经理出差在外,申请单又急需处理,部门经理在线下已经征得总经理的同意后,就可以选择跳过总经理的审核,直接送到业务部门。阅读全文
posted @ 2011-02-17 16:24 web报表 阅读(2040) 评论(6) 编辑

2011年2月14日 #

摘要: 工作流引擎或工作流系统,应该致力于工作流引擎模型的设计,业务流程的抽象,以及业务流程的流转,这些是工作流系统的重要部分,把这些设计好了,一套工作流系统也就具备雏形了。 但是业务流程的流转往往是需要有特定的人,特定的角色等的参与的。在业务流程建模,流程实例的流转,都是离不开应用系统中的用户系统。可以说用户系统是工作流系统的不可缺少的部分,因此工作流系统也必需要涉及到用户系统的设计与实现。 工作流系统作为开发部件,集成到用户的应用系统中。有些模块可以直接被应用系统调用,同时流程引擎又封装了很多api函数,开发人员也可以通过类库,api函数等的来集成流程引擎的功能。 一般来说,应用系统均会包含有用户系统,组织机构等的维护模块,有独立的设计和实现。阅读全文
posted @ 2011-02-14 10:13 web报表 阅读(2198) 评论(0) 编辑

2011年2月10日 #

摘要: 工作流系统的回退流,是指流程实例运行到一定阶段后,可以主动的选择回退到曾经运行过的任意轨迹上。回退流的发起方是当前步骤的任务执行人,选择主动的回退,上面有一篇 回退流的实现,主要说明了回退流的实现过程。 工作流系统的撤回,是指流程实例运行了一定的轨迹后,上一步的任务执行人,选择撤回刚刚提交的任务,使得流程再次流转到此步骤。撤回的发起方是当前步骤的上一步任务的执行人,选择主动撤回。阅读全文
posted @ 2011-02-10 10:11 web报表 阅读(2779) 评论(4) 编辑

2011年1月24日 #

摘要: GoF四人组一共介绍了23种面向对象的设置模式,为每一种特定的实现取了一个名字,根据模式的应用目的不同,将他们分为3类,创建型、结构性和行为型。 面向对象设计三原则: 优先使用组合 针对接口编程 为变化而设计 设计模式不是万能的,熟悉了这些模式,灵活运用它,并且不局限于设计模式,构架出适合自己的设计才是最重要的。 在工作流系统的开发中,后台的类是纯面向对象的方式实现的,因此少不了设计模式的运用:阅读全文
posted @ 2011-01-24 17:58 web报表 阅读(1900) 评论(1) 编辑

2011年1月19日 #

摘要: 在流程建模的时候,定义好了返回的线路,这种严格来说,不是回退流。例如,审核不通过,则返回重新填写,这种只是条件路由。 工作流的回退流,是流程实例在流转的过程中,可以回退到运行轨迹的任意步骤,同时还可以辅助一些业务补偿方法,使得回退时候的环境和原来执行时候的环境一样。 所以回退流,和流程引擎支持的正常的路由方式是不一样的,甚至是反流程建模的方式,流程建模就是把业务流程的各业务处理过程按一定的流转方式建立起关联。而回退流,是没有规律的,当流转到一定的步骤后,可以回退到任意的步骤。 当流程的流转方式为顺序流的时候,处理回退很简单:阅读全文
posted @ 2011-01-19 17:18 web报表 阅读(2471) 评论(3) 编辑

摘要: 业务流程的流转过程中,经常会有需要并发处理的过程,即流程流转到下一步,同时产生多个当前需要处理的过程,这些过程不分先后处理顺序,只要都处理完成了,最后汇聚到一起,再接着主流程运行,就可以了。例如:一份报销单,填写完成后,同时启动财务部门审核和本部门的审核,这两部分的审核不分先后顺序,只要都完成后,再将结果返回给报销单填写人,继续下面的流转。这种的并行处理的过程,就需要流程引擎支持分支和聚合。 分支又分为 静态的分支 和动态的分支。阅读全文
posted @ 2011-01-19 12:00 web报表 阅读(1849) 评论(1) 编辑

2010年12月9日 #

摘要: 通常在利用流程设计器给业务流程建模之后,会生成一个流程描述的xml文件,业务流程的每个环节步骤,需要执行的操作,自动的,手动的等等信息,都被描述在这个流程建模的xml文件中。xml文件的内容,是一些规则的预先定义的抽象的节点信息,流程引擎负责这些节点的定义,创建,解释,定位等等,业务流程利用这些节点建模。建模完成的业务流程,挂接上业务表单后,就可以直接运行业务流程了。 业务流程的运行,从启动流程实例开始,启动一个流程实例即代表开始了一次业务流程处理。每例业务流程的处理过程,都包含从创建,到激活,到处理,到结束(当然中间也可以人为的直接终止,或挂起,再恢复),这样一个过程。流程实例创建后,就按照流程建模的xml文件,按照定义的节点路由顺序一步一步的流转,相应业务也在相应的步骤中处理。阅读全文
posted @ 2010-12-09 17:22 web报表 阅读(2374) 评论(1) 编辑