何时使用BPEL和ESB?

Gee*_*.VC 5 web-services esb bpel

作为初学者,我应该如何决定某个特定流程是作为ESB还是BPEL实现的?

应该使用哪些参数来决定是否应该使用它们来实现?

jbx*_*jbx 13

首先,ESB只是一个概念,而BPEL是基于XML和Web服务的OASIS标准.BPEL文件实际上是XML.

当您需要将两个或更多应用程序连接在一起时,可以使用ESB,以避免直接的点对点集成.这提供了各种好处,例如将消息从一种格式转换为另一种格式,或引入其他消息交换模式.ESB的通信通常是无状态的,即消息通过,路由到其目的地,并在那里结束.ESB是一个非常广泛的术语,由供应商解释和误解以推销其产品.

另一方面,实施BPEL和类似技术的业务流程管理系统关注跟踪各种活动的进展及其关系.BPEL流程与流程图非常相似.BPEL流程保留状态,跟踪其进度和流量,并且通常在冗长的事务中使用(尽管不一定),这也可能涉及手动人工任务.

BPEL流程的教科书示例是贷款处理应用程序.客户贷款请求进入,并且该流程首先在某些系统上使用Web服务调用执行一些自动检查,如果信用评级过低,系统会通知管理员手动评估表单(通过某个工作流程系统).然后,该过程等待来自人工工作流系统的回调,使用一些相关方法(某些ID)将其与正确的BPEL流程实例匹配(以便为正确的客户提供服务),并相应地恢复该流程.