【TechTarget中国原创】先建立BPM还是SOA优先,这是个类似鸡和蛋的辩论。没有确定的业务流程,企业就无法为业务建立可重复使用的服务;没有服务层,企业也无法重复使用业务流程。
因此,哪个应该优先呢?
答案非常简单——两个都优先!这意味着某些组织应确定业务流程,创建一个与此业务流程相关的面向服务的架构(SOA)。“那些从事大型BPM工具部署的企业要认识到,他们必须在创建流程的同时,建立一个服务层, ”康涅狄格州斯坦福德市Gartner市场研究公司BPM分析师Janelle Hill说。
她表示,如果开发人员在不了解服务业务背景的情况下创建服务,他们最终只会得到错误的结果;如果业务分析人员想在不接触服务的情况下试图实现业务流程自动化,其过程非常困难也缺乏弹性。
某大型保险公司就是一个典型例子。该公司使用BPM工具确定流程并为单一BPM系统环境编写代码。“一切都很完美,直到三年后,市场环境完全改变,他们才意识到如果不完全打破原有系统就无法修改业务流程,” Sense Agility创始人,林肯金融集团和Allstate保险公司前首席架构师Aleks Buterman说。
该保险公司已将其业务流程内的业务规则硬编码化,不能随意改变。因此当执行新业务或制定类似于批准或拒批贷款制度的有关规定时,这个大问题也随之而来,Buterman说。事实上,这对于面临信用卡规则改变的放款人而言是个问题,改变后的规则会严厉打击欺骗性的加息并从重处罚延迟付款的行为。
Buterman认为,为避免这种业务规则硬编码化情况的发生,公司应将业务规则管理与BPM工具分离。对于储存资料、修改规则以及建立可重复使用的组件和服务来说,服务层或SOA更加理想。
同时,IT部门不应使用同一BPM工具为所有业务单元建立同一流程,而应将流程设计为一个共用接口上所有单元都能使用的服务,他说。
“共用流程必须预留服务,做到在其它地方也可重复使用。做不到这一点,就无法实现BPM的最佳投资回报率。” Buterman说。