转我们经理的一篇文章,业务流程实现的讨论,希望大家集思广议。

   现在搜一下业务流程管理,信息很多,也有很多产品号称是业务流程管理系统,但是在我看来,根本不是那么一回事,只能说某些产品只是实现了一个业务流中的某一个片段,如审批流、状态机、一个单据的流程。

   想实现多个单据,如从申请、订单、发票、提货、出库、凭证一个完整的流程怎么办呢?怎么来用业务流管理起来。业务流系统的特点是根据规则系统自动分配任务,参与流程的人来完成任务。这个特点要求业务流的规则是可以定义和预见的。但是实际业务又要求,后续的业务只有在业务发生之时才能决定。这里面就存在一个矛盾,怎么解决这个矛盾呢。

   首先想到的是业务流的流程实例的拆分和合并,流程是跟业务对象实例一一对应的,业务流中的业务对象有很多种,每种业务对象的实例之间存在拆分和合并的可能。如果对象实例数据合并了,则流程实例也需要合并;如果对象实例数据拆分了,流程实例也需要拆分。

   第二个想到的办法是,将实例的明细数据启动一个流程实例,这里仍需要解决一个问题,那就是各个环节的处理是以一个业务实例为单位的,将明细数据对应一个流程实例,需要提供组处理的功能,即一组任务项合并为一个任务,处理这个任务就完成一批任务。

   第三个办法就是不使用业务流的原理来处理。即一个单据的完整流程使用业务流系统,几个单据之间使用的是集成流,利用集成的方式来处理几个单据之间的流转。

  虽然办法有很多,但是那种是最好的方式呢?

你可能感兴趣的:(转我们经理的一篇文章,业务流程实现的讨论,希望大家集思广议。)