BPM、工作流与OA
BPM与工作流、OA其实是不同的概念。但笔者发现很多人依然会把三者混为一谈。虽说,企业管理相关理念发展到如今,BPM与工作流已经融合为一了,但还是可以了解三者的区别。
工作流基本上属于面向应用的流程架构。例如,典型的人工审批流,页面流,文档的路由等。从项目过程来看,一般根据业务部门的用例需求,由技术人员遵循传统步骤进行设计,开发,测试,部署。工作流一般强调快速开发,着眼于局部应用,反复多,重用性差。工作流建模与开发使用统一流程模板;具有一定的工作流模式,流程较为可控;可使用多种不同的编程语言。编程出错基本反映在程序层面;学习上手较快;单一流程开发周期较短。工作流比较适于图像,文档等传输;使用变量参数,一般无松散持久层。也就是说,它与业务服务没有密切的关联。通俗地说,工作流只是将行动节点串接起来,例如,常见的人工审批流程。其人员接口内嵌于流程,系统接口主要是调用应用程序,本身并不强调服务组件接口,业务应用不对业务人员透明。工作流一般用于系统应用内或系统应用间。特点是灵活跳转,松散耦合。
工作流顾名思义基于人的工作的流程,因为只有人才会工作(work)。当然,机器也会工作,因此BPM(业务流程管理)的概念更进一步了,已经不管是人和机器,都是基于业务流程本身的一种管理,业务流程需要人工完成,那么人工必须完成任务;而业务流程需要机器完成,机器应该会自动完成,这个自动完成不是直接执行SQL操作数据库,而是基于服务之间的调用流程,是服务的组合完成,比如有一个数据库注册服务A和邮件服务B,如果需求要求注册后发送邮箱确认,那么使用流程实现服务A+服务B,而且能够每次用户注册都会执行这个流程。
因此,流程有两个好处:自动化流程和状态跟踪。也就是说,在流程执行过程中,能够有一个总的状态机跟踪整个流程的执行情况,从而让流程管理者能够实时了解当前流程在哪个情况。
再来说说OA。很多企业在选型管理系统时,分不清OA系统和BPM