作为初学者,我应该如何确定是否必须将特定流程实现为ESB或BPEL?
应该使用哪些各种参数来决定是否应使用其中任何一个来实现?
最佳答案
首先,ESB只是一个概念,而BPEL是基于XML和Web服务的OASIS标准。 BPEL文件实际上是XML。
当需要将两个或多个应用程序连接在一起时,可以使用ESB,以避免直接的点对点集成。这提供了各种好处,例如将消息从一种格式转换为另一种格式,或引入其他消息交换模式。 ESB的通信通常是无状态的,即消息通过,被路由到其目的地,并在此结束。 ESB是一个非常宽泛的术语,供销售商推销其产品时会对其进行解释和错误解释。
另一方面,实现BPEL和类似技术的业务流程管理系统与跟踪各种事件的进度及其关系有关。 BPEL流程与流程图非常相似。 BPEL流程可以保留状态,跟踪其进度和流程,并且通常(尽管不一定)用于长时间的事务中,这也可能涉及手动的人工任务。
BPEL流程的教科书示例是贷款处理应用程序。提出客户贷款请求,该过程首先在某些系统上使用Web服务调用执行一些自动检查,如果信用等级太低,系统会通知管理员(通过某些工作流系统)手动评估表单。然后,流程等待来自人工工作流系统的回调,使用某种关联方法(某些ID)将其与正确的BPEL流程实例进行匹配(以便为正确的客户提供服务),并相应地恢复流程。
关于web-services - 何时使用BPEL和ESB?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4468021/