为什么要学工作流?

Posted on June 1, 2009

很多人经常面对一种场面,就是在查找某环节的问题时,惊奇的发现自己又得面对工作流。虽然有点排斥,但是,您必须面对它,无处可避。本文所言的工作流通常是指Oracle Workflow,这是数据库内置的组件,在EBS系统中它被发扬光大了。不论哪个版本,工作流都是一个核心的组件,在11i系列认证中,它甚至作为独立的一块内容。

当您的团队开始谈论BPM时,您可能会想起BPEL。是的,在R12中,有一种更独特的流程管理技术被推荐给用户,但是Workflow依旧处于一个非常关键的位置。我之前曾罗列过11i中的几个标准的工作流,它们在控制业务流程方面起到了有效的作用。如果光看到这些,您可能把工作流等同于审批流程了,事实上这是非常片面的理解。现在,请打开你的浏览器(我是指11i中的),进入采购超级用户(或者其它职责),选择“流程”,如下图:

直接将流程和操作有机集成了。这也是一种工作流的应用。当然,也许您早知道这个功能并开始使用了。我也认同,把一些需要控制点的业务流程放在浏览器中,是一种不错的主意。这个和单据等审批流程类似,可以控制各个功能的执行时机。这些流程和审批层次一样,都是需要IT部门预先分析、设计并定义好的,但是如果用户,他可能刚入职,也可能子公司给他分配了新的角色,作为集团总部的您如何管理子公司各用户权限的分配呢?点击Web页面右上角的首选项,看到如下的内容:

如文字所示,“请求访问”就是用于自行申请权限(职责)的。回忆之前介绍用户层级管理时提到的,Provision Services和Self-Service and Approvals同样也用到了工作流。

以上都是除了审批之外的非典型工作流应用。只要您的业务中存在规则(rule-based),那么就可以使用工作流。还有很多地方可以发现工作流的应用,这里不一一举例了。大致划分的话,可以发现下面几个领域会用到工作流:

  1. 审批。比如采购订单审批,另有一些场合会使用AME。
  2. 任何有规则,需要控制流程的场所。比如进行复杂数据处理时,利用工作流非常直观的设计界面来设计处理流程,而不是塞到一段冗长的PL/SQL代码中。
  3. 业务事件。比如某些删除或更新操作可能需要通知其他系统,这时可以考虑订阅该事件,并实施特殊的逻辑。
  4. 异构系统的同步。可以将工作流和业务事件组合使用,在处理异构系统的数据同步时非常有用。比如您可能需要某个关键点触发一条手机短信。
  5. 发邮件。工作流的邮件功能已经非常强大,可以发HTML格式的邮件,也可以发附件。
  6. 投票。

如果您有心去统计,会发现11i中工作流的影子遍布在每个角落。工作流并不难懂,掌握了它,对理解11i内部工作机制有非常大的帮助。

Related Posts

  1. 业务事件(Business Event) Tips

» Filed Under Workflow Print This Post Print This Post

Comments

2 Responses to “为什么要学工作流?”

  1. liner on June 1st, 2009 18:23

    没有淘汰的技术,只有更合适的技术和更有效的方式

  2. Zeeno on June 2nd, 2009 08:15

    Agree :)

Leave a Reply