ERP系统中的工作流和业务流

首先解释两个概念:

    工作流,将工作分解成几段不同的任务,然后通过一定的规则和过程来执行这些任务并对它们进行监控,达到提高工作效率,降低生产成本,提高企业竞争力等目的.它大多应用于办公自动化领域.

    业务流:它是企业内部资源之间的数据流动,一般通过企业资源计划系统(ERP)对企业中的物流、资金流和信息流进行全面集成管理.

但是在实际的企业中,常常有些需求,需要在OA系统和ERP系统中来回切换,比如:采购用款申请,付款,做凭证则是ERP系统中的功能(如下图)。

     2011060309580983.jpg

此外,企业在利用oa系统进行工作流审批后,会产生一些业务数据,而这些业务数据又可能是ERP系统中的外部数据源,比如上图的采购费用申请的数据。为了避免数据的重复且保证数据源的唯一性,就产生了工作流系统和业务流系统集成的需求.

目前常见的集成方法,归纳起来两大类

1):基于接口的集成封装模式,利用OA,ERP各自提供的的接口(这个接口的含义包括:数据库表结构,web service接口,其它自定义接口),实现两数据之间的互访.

2):基于中间表的互访模式,以相同的数据模型存储不同的系统之间的共享数据, 通过直接对两系统的数据表进行操作的方式,实现不同系统间的数据访问,以及数据的一致和实时传递.

由上分析可知,这种集成还是有难度的,至少需要不同程度的二次开发,如果是采用二次开发,我个人倾向于web service,web service就是我们常常听到的soa架构,它是一种整合各种服务的架构平台,核心点就是实现服务和技术的完全分离,从而在最大限度上实现服务的集成和重组.(注,如果在erp开发中,我是强列反对用soa架构的,我一直觉的soa只用在一些特定的业务场景,最适合的莫过于对外提供服务接口),为什么不采用表呢?因为
ERP的审批流还比较特殊,它流程的执行实际上就是控制权在两个子系统之间的转移,如果是基于表的互访问模式,这是一种紧耦合的集成方式,它将影响系统的灵活性和扩展性,阻碍业务流程的调整和优化,不利于企业的发展.

最近在研究国内的一个开源系统FireWorkflow(http://www.fireflow.org),并对它的源代码进行了分析(先做个广告,接下来我会把源码分析的过程写成blog,供大家交流,指正).

Fireworkflow提到的一些理念,甚合我意,比如,一个普通的请假流程

     2011060309583873.jpg

 

该流程图的执行过程描述如下:

首先,工作流子系统启动一个新的业务流程实例,然后创建一个新的任务实例——“申

请”,并将控制权交给业务子系统,业务子系统等待申请人填写表单。申请人完成表单后,控制权再次被交给工作流子系统,由它决定下一步的路由。这个工作是由称为Synchronize r 的元素完成的(图中标有"S"的圆圈)。在这个业务示例中,它通过计算得出下一步操作是“部门经理审批”。于是创建一个名字叫做“部门经理审批”的任务实例,并将控制权交给业务子系统,业务子系统等待部门经理做审批操作。

图中的工作流逻辑和业务逻辑分得非常清晰,审批之后执行哪个业务操作是由工作流逻辑子系统的一个“操作”决定的。业务逻辑子系统中的“审批”操作仅仅负责完成业务特定的逻辑,其他的与之无关,这正是我所想要的结果,一个好的erp,理应包含工作流子系统和业务流子系统,而这两个子系统既是毫无关联的又可以相互协作,不关联指的是少了其中的一个,另外一个都可以正常工作。相互协作指的是它们可以互相利用,更好的为企业发展服务.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/660744/viewspace-697036/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/660744/viewspace-697036/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值