<强>是企业服务总线(一个充当中介,消息代理,服务使能器,模式转换增强,透明位置提供商,服务聚合器,负载平衡器,显示器和所有工具这些东西)负责编制服务

怎么样把一个业务自动化的业务流程与超过千步和几十个服务调用你的企业服务总线里面?

你会做到这一点,或者你会使用在业务流程中的专家,如BPEL引擎?

请给我你的意见。

有帮助吗?

解决方案

是,也不是。有编排和聚集/服务增强之间的薄,有时难以区分线。

在一般情况下,如果你有任何长时间运行或复杂的业务流程(过程是关键的字,虽然我会避免定义它) - 这是最适合BPEL

简单的任务,例如聚集的三个服务调用的结果,可以并且通常应在ESB层来完成。

这是不值得过失去睡眠过多,虽然

免责声明:我是IBM ESB顾问,虽然我不是以官方身份写这篇

其他提示

没有,一个ESB的责任不是服务编排(本身)。 在ESB在“软件基础设施级”提供了一个抽象层。

这意味着,ESB是与在总线上发布的任何服务“呼叫进行连接的单个逻辑端口的抽象”。

在ESB是抽象的,意味着总线上的服务的消费者,千万不要“需要知道”的服务的部署细节,并且有可能暴露“面向内部的服务”与单个文档模型。 ESB提供低电平服务(如协议转换和消息转换),以便在内部服务能够以简化的方式进行通信。

这意味着一些编排:ESB提供的上述提到的低级别服务编排(例如,当服务X经由IIOP调用,带有附件的翻译这对SOAP然后从任何串行化的数据转换请求到XML有效载荷)。

您通常会避免在ESB业务流程是:为了处理这个(保险)销售,我们首先需要验证由买方提供的信息,那么我们就需要承保投保的风险,并最终计算要支付的保险费需要,在这之后我们需要...等。

以上描述的步骤是清楚业务流程(其甚至可以被中断...例如,如果自动承销是不可能的,则人承销需要进一步评估的风险)。

商业服务(例如验证,承保,高级计算)组成业务过程(例如保险出售),这是通常被称为业务流程,是最适合于一个业务流程引擎发生和使用定义正式业务流程建模语言(诸如BPEL)。

另外做出关于在过程中的许多步骤的猜测:在上面的例子中,验证是一个(粗粒度)服务。验证规则本身的内部到该服务。对于复杂的业务规则(即,不是业务流程),可能需要使用业务规则引擎的

我的短快的回答是NO时,即不是其责任。

我宁愿让那个到BPEL或BPM套件。

MHH我不知道还有什么补充:) ...祝你好运?

现在我自己的眼光。

对于所有的ESB必须做,把服务编排您的SOA的主要基础设施元素中的工作是不是一个好主意。

骨料,OK!但是,让你的沟通渠道忙于业务逻辑,可以肯定,引起能力,交货等特点可怕的影响。

毕竟的大多数ESB 如为BEA的AquaLogic服务具有用于编排一个的有限的支持包括的缺乏状态能力,以及类似的活动等待(定时器)或拾取(等待一些输入对处理移动),分割/结合能力(已添加上ALSB 3.0),等等。

没有办法。只要使用工具,如BPEL引擎或类似的Weblogic集成的工具。

感谢。

每当有两个或更多的服务进行交互的使用服务编制器,即,用于组合物和方法控制服务。如果你已经ESB暴露于ESB这个组合服务。现在,如果你要撰写新服务,包括该组合服务使用协调器,并再次对ESB暴露。 使用ESB作为服务提供机制和网络服务经纪人和代理。在撰写服务编制将使用ESB来达到互动服务。如果这些交互服务使用不兼容的XML模式ESB可以转换/他们在运行时和路由服务请求基础上的内容,例如映射到公共架构命名空间。

是编排是一种责任,在大多数情况下,ESB的。或者,如果你画ESB红外和红外编排之间的线,那么你对性能的考虑物理层这样做,不是为了责任的逻辑归属。

您有两个选择 - 时,例如,人力资源系统接收一个新员工 - 你在哪里放置,上面写着“合规部门需要批准,并首先检查的业务逻辑,然后如果这是确定的HR部门将需要最后确定租金,然后会计部门将需要一个新的条目,然后薪资系统将需要更新,如果失败,那么我们就需要发送电子邮件到人力资源“?如果所有的业务流程都被认为由发起部门/应用程序,那么整个系统是企业变得复杂,完全不同的编排系统“拥有”。

第二个选择是集中的编排,基本上使其成为消息平台的逻辑伙伴。如果你选择看到这些作为单独的文物,那是你的,但它同样有效描述都为ESB。

这是企业服务总线不应该负责协调服务。

配器意味着最小“智能”的,特别是用于补偿失败的事务的能力。服务总线工具往往会说他们提供“的try-catch”或类似的东西,但运行范围的componsation的能力是一个合适的协调工具的标志。另外要等待,知道自己的状态,或保持悬念事物的能力是你正在处理一个协调器,而不是一个总线的另一个指标。

说起1000 +步骤以及十几个服务,考虑到如果 - 那么在这一过程中。如果所有在1000步的假设性陈述仅代表与不改变的有效载荷路由那么你仍然在ESB“路由”,因此仍。但是,如果有一个连的嵌套的IF-THEN,我开始寻找不同的工具。除此之外,如果-thens看起来像路由能很快影响到业务逻辑。一旦业务逻辑开始显示出来,然后一个更好的语言,如BPEL或BPMN是更好的。

管弦乐队导体的示例是经常考虑到描述编排是如何工作的,中央个体根据得分引导音乐家。通常什么不放过的理念是导体不仅是导演,但听为好,如果出现错误能够可靠,可重复的方式进行补偿。

例如想象我们的第一导体进去大号玩家带来,但表示大号手已经决定去做些别的事情。一个简单的弹球风格的“协调器”将在大号段带来,充分认识它不存在,然后等待观众后来抱怨。一个真正精明的导体会看到大号走了,并立即调出更深层次的男中音角进行补偿。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top