2009-05-25

BPM软件

Views: 17712 | Add Comments

BPM软件可以做得很薄, 也可以做得很厚. 如果做得很薄, BPM软件只是一个流程引擎, 流程引擎只负责生成流程实例和任务实例并执行, 流程引擎只关心任务的执行顺序, 并不关心谁在什么时间执行.

显然, 如此原始的BPM软件(工作流引擎)根本卖不了一分钱. 所以, 软件商在提供BPM软件时, 工作流引擎的外围工具才是卖点. 所以说,

BPM软件 = 流程引擎 + 接口 + 外围工具

流程引擎提供了一种机制, 用于创建, 执行和监控流程. 所以, 创建什么样的流程, 接受什么样的输入以及并执行什么操作和产生什么样的输出, 如何统计要监控的数据, 这些都留给了BPM软件的使用者, 这也是工作难度和工作量的所在. BPM软件提供了一些工具, 可以改善这些工作, 但是, 从实际来看, 只减少了极少的工作难度和工作量. BPM提供的工具的使用门坎, 工具的智能程度和对业务的抽象水平, 共同造成了这种结果.

如果认为工作流引擎或者工作流系统是一个可以被最终用户使用的系统, 那就大错特错了.

流程定义时叫: Workflow, Activity, Context(上下文, 如表单Form)
流程实例时叫: Process, Task

Activity和Task是可嵌套的, 用来实现子流程 - 那么, 是不是也可以把Activity和Process统一起来, 一个Activity就是一个流程, 流程中的所有Activity都是子流程. Activity 有 onBegin() 和 onEnd() 两个方法, 用于主动与外部系统交互, end()方法被外部系统调用, 内部有begin()方法, 总是在前一个Activity end的时候隐式地被调用. onBegin()和onEnd()两个方法可用于实现流程系统对外界系统的自动化控制. begin()和end()方法不会阻塞, 立即返回.

Related posts:

  1. 工作流系统和信息管理系统的整合
  2. iphp 框架增加 lazyload 特性
  3. 如何使用ServletContextListener
  4. 使用ServletContextListener在服务器启动和关闭时创建和关闭缓存
  5. 分而治之算法(divide and conquer)
Posted by ideawu at 2009-05-25 00:45:44 Tags:

Leave a Comment