首页 /新闻中心
一次讲个明白BPM、ESB、SOA都是什么意思
炎黄盈动 2021年11月

SOA、ESB和BPM一直没有具体的定义,因为这三个词的含义太丰富,不能用一两句话来理解,这个词在不同的地方有不同的定义。

SOA-面向服务架构实际上强调软件架构和支持软件运行的相对稳定结构。表面意义是这样的。事实上,SOA是一种通过服务集成解决系统集成问题的理念。不是具体的技术,本质上是一种策略和思想。ESB-企业服务总线,像一条聪明的管道,用来连接每个愚蠢的节点。ESB为了整合不同的系统和协议服务,做了信息转换解释和路由,使不同的服务互联互通。BPM业务流程管理是一种以标准化结构端到端优秀业务流程为中心,不断提高组织业务绩效的系统方法。EMBA、MBA等常见的商业管理教育包括BPM

ESB总和SOA为何缠在一起,通常这两个名词总是不分家,谈论的话题是你有我,我有你。为什么会这样?两者之间有什么微妙的关系?ESB不是SOA。SOA最常见的实现方式是SCA和JBI,而SCA的实现需要ESB,而JBI则不需要ESB。因此,SCA实际上已经成为SOA的事实标准。首先想到的是SCA模式。ESB是SCA架构实现不可缺少的一部分,ESB产品脱离了具体的应用,没有任何意义。ESB的作用是实现服务间智能集成与管理的中介。您可以通过ESB访问集成系统的所有注册服务。BPM和SOA有什么区别?为什么这么重要?业内一个众所周知的事实是流程在服务上运行,所以业务流程管理(BPM)和面向服务的架构(SOA)显然是分不开的。

BPM

SOA良好的设计原则是碎片化,低效连接企业业务主干流程与业务转型重要组成部分流程的区别。那为什么要问BPM在哪里结束,SOA从哪里开始呢?一个原因是这两个缩略语代表了不同类型的概念。BPM属于业务范畴,旨在改进操作。SOA是一种以企业系统(业务和IT)工程设计为目标的结构风格。具体来说,BPM是构建操作解决方案的一种方法,SOA是一种帮助将复杂问题分解为定义良好、可重用的组件的思维模式。另一个原因是BPM和SOA对不同的人有不同的重要性(不同的人实施)。BPM对业务和流程分析师至关重要。SOA对架构师和工程师非常重要。在相互隔离时,两者都可能生成相同类型的工件,即流程和服务定义,但它们使用不同的动机和应用不同的技能集来实现这种操作。架构师和工程师通常无法定义业务希望如何运行自己。相反,业务和流程分析师无法设计复杂的系统,他们必然会专注于解决当前的问题。最后,BPM和SOA的输出生命周期也不同。流程不仅可以独立于服务进行更改,而且比设计好的服务更频繁。

事实上,如果一个可重用的服务像许多业务流程一样变化无常,那么该服务将给用户带来不可接受的成本,并迫使他们不断调整和回归更新版本。虽然流程和服务相互依赖,但它们没有相同的生命周期,仍然需要像过去一样支持不断变化的业务目标。如果流程不受限制地推动服务,服务数量将激增,最终的SOA结构将无法与一组纠缠在一起的剩余应用程序相比。如果服务不受限制地推动流程,改革和创新将受到影响,因为任何变化都将衡量最终结果是否可以重用,尽管许多业务流程根本不需要重用。要了解BPM和SOA是否达到适当的平衡,就要了解目标是否与企业服务组合的可管理性从单一流程解决方案的角度达成一致。BPM是SOA落地不可或缺的吗?大多数企业在信息化过程中为了实现特定的应用而构建的独立系统,制约了系统之间的数据共享,阻碍了系统效率的提高。如何消除这些信息岛,实现各种信息资源的相互关联、整合、协作和互动,一次又一次地考验着企业信息系统的建设,为SOA中间件或平台制造商的发展带来了巨大的空间。与SOA倡导的以技术创新驱动实现业务需求的做法不同,国内BPM中间件和平台厂商大多以业务为核心,以业务领域需求为出发点,结合实际开发BPM应用或平台。在开发过程中,制造商努力逐步提高系统的集成能力,实现更丰富的连通性,最终缩短业务交付周期,提高综合竞争力。使系统更加基于组件和服务,朝着SOA的方向前进,最终实现SOA和BPM的完美融合。

BPM可能会在SOA落地后发挥更大的作用。BPM制造商模糊了BPM和SOA之间的界限很多供应商产品,尤其是BPM产品,模糊了BPM和SOA之间的界限,因为BPM产品有嵌入式企业服务总线(ESB)。企业服务总线是反映和形式化用户、中介和提供者概念的模式;因此,从技术角度来看,它是核心SOA技术。嵌入式ESB经常携带BPM产品的原因非常简单之前已经讨论过了,因为BPM假设流程的自动化部分可以连接到基本的IT功能,所以必须可以使用连接和中介功能,否则BPM解决方案只会以人为本。但是,即使使用嵌入ESB的BPM套件,也要记住BPM和SOA是由技能不同的人完成的。

事实上,BPM和SOA产品组合的合理需求之一是每个群体都有专门的工具:流程专家和集成专家。此外,如果SOA是企业战略的一部分,我们必须警惕从BPM平台外部化SOA功能需要一个过程。毕竟,BPM并不是唯一的服务用户。只要想想移动、云和大数据,你就会明白!ESB和BPM怎么会粘在一起?一些架构师看到ESB支持服务组合模式,然后认为这种模式可以用来实现业务流程。因此,ESB产品演变为BPM产品。如果你关心ESB的一般使用模式,你会发现ESB的服务组合模式与BPM中的服务安排非常相似。两者都结合/组装细粒度服务,形成大粒度服务或业务流程。其实两者有本质的区别。首先,ESB是一个偏向于技术层整合的组件,如组装客户数据查询服务和日志服务。结果是客户数据查询服务,只是在仲裁流中插入了一个新的附加功能,即日志服务。服务安排在BPM中的含义非常侧重于业务流转的概念。例如,项目审批流程可能需要来自几个相关系统的服务参与,即项目审批申请、一级职能经验审批、部门经理审批、财务审批等。这些服务的流通形成了一个完整的业务流程。其次,ESB上的服务组合是无状态的。当ESB运行时,它将为每个请求建立一个实施仲裁逻辑的实例。请求和请求之间没有时间序列关系,是相互关联和独立的。

BPM

相反,BPM上的服务安排是不同的。未完成的业务流程实例将始终存在于BPM运行中,存活期可能为一天、一周甚至一个月或更长;请求与请求之间可能存在一定的相关性,如与项目(相同的项目ID)的项目审批流程、一级职能经理、部门经理和财务要求都是针对同一运行时的实例。除了其他非技术因素外,实践的一个重要原因是它混淆了ESB的服务组合和BPM的服务安排。虽然ESB可以在技术上实现BPM,尤其是在长运行过程中,但这违背了ESB产品的设计理念,将极大地影响其ESB运行的整体运行效率。建议:认清服务组合与服务安排的技术差异,分析各产品的概念类别,选择合适的产品解决合适的问题。ESB对业务流程管理的好处是连通性——使应用程序中不同部分之间的交互有序。就像应用程序分布更高一样,ESB的作用也越来越大。应用开发团队在企业BPM开始时必须解决的附加问题是每个独立的ESB支持多种通信方式。需要注意什么?BPM和SOA(包括ESB)的结合仍然是目前常见的做法,但必须努力有效解决流程专家、集成专家和服务架构师在技能和思维方式上的差异。所有这三个群体都是业务变革的关键,他们必须共同努力实现共同的目标。如果BPM和SOA之间的界限没有明确定义,那么每个群体都会对自己的角色和责任做出自己的假设,很少与其他群体的假设相匹配。对于遗留的IT系统改造,作为一种技术演进,似乎不属于业务流程管理,这也是为什么很多流程分析师、业务用户甚至CIO看不到相关性的原因。但如果没有BPM策略,你就无法改变应用模型,包括流计算,这是下一代应用架构的基础。不要像以前那样向IT技术人员或应用程序系统提出一些需求在特定的业务领域,但让BPM根据业务模型或应用程序服务注册完成端到端完整的业务生命周期,确定完整合适的业务流程,这样你就可以赢,不会重复同样的错误。