分析:SOA和BPM之间如何协同工作?

SOA和BPM如何很好的共同工作?实际上它们是两个完全不同的原则。SOA和BPM在结构上是相同的。实际上,举个例子,它们就像是“流程同构”。同构指的是一个保持结构的双射。在更一般的范畴论语言中,同构指的是一个态射,且存在另一个态射,使得两者的复合是一个恒等态射。

面向服务的体系结构(Service-Oriented Architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以一种统一和通用的方式进行交互。

业务流程管理(Business Process Management,BPM)是一套达成企业各种业务环节整合的全面管理模式。BPM涵盖了人员、设备、桌面应用系统、企业级 Backoffice 应用等内容的优化组合,从而实现跨应用、跨部门、跨合作伙伴与客户的企业运作。BPM通常以Internet方式实现信息传递、数据同步、业务监控和企业业务流程的持续升级优化。显而易见,BPM不但涵盖了传统“工作流”的流程传递、流程监控的范畴,而且突破了传统“工作流”技术的瓶颈。BPM的推出,是工作流技术和企业管理理念的一次划时代飞跃。

在SOA环境中,流程同构意味着,假设:“如果你要模型化业务流程,作为单独的操作,模型化服务构成的实施的这个流程,这两个模型有同样的结构,也就他们是同构的。”

以这样的方式看待SOA-BPM,协助确立业务和IT之间的通用语言。

业务人员可以探讨流程,IT人员可以探讨SOBA,而且在某种程度上,他们在探讨同样的事情。如果流程专家希望把业务服务作为流程子任务思考,他们可以继续这样进行。同样的,如果技术实施人员更喜欢把业务流程作为服务组件思考,这样也可以。最好的就是,当BPM团队在白板上描绘流程加工标准,SOA团队在另一个白板上描绘具体构成,两个图标看起来实际上很像。如果这不是业务和IT的对齐,又是什么呢?感性的SOA和BPM之间的“裂缝”,这个裂缝更多地是语义方面的产品,而不是实际上的两个原则的结构上的不同。SOA提供服务集合,可以按需映射业务流程。