标签: eai

RabbitMQ与Mule相比如何?

RabbitMQ如何与Mule相比,我将使用面向消息的架构构建一个应用程序,而AMQP(RabbitMQ)提供了我想要的一切,但我对如此多的相关技术选择和ESB等类似概念感到困惑.如果我在不考虑其他选择的情况下做出选择,我有一个疑问.

我很清楚RabbitMQ是一个消息代理,它帮助我调解生产者和消费者之间的消息(所有形式或发布订阅,我可以理解它如何从真实的例子中使用,如twitter,或Facebook更新等)

什么是骡子,如果我能用骡子实现我在RabbitMQ中做的事情,我应该考虑类似于RabbitMQ的骡子吗?

mule的目标是否与消息代理的目标不同?

mule是否假设底层有一个消息代理将消息传递给适当的mule监听器(我可以在RabbitMQ中轻松编写监听器)

mule是一个完整的Java基础系统(我用RabbitMQ做的当前实验花了我不到30分钟编写一个简单的RPC客户端服务器,客户端作为C#和服务器作为Java,这样的事情很容易在Mule中完成).

esb jms eai mule rabbitmq

42
推荐指数
2
解决办法
2万
查看次数

消息总线和消息代理之间的区别

消息总线[1]和消息代理[2]之间的区别是什么

  • 两者都是应用程序的中间件
  • 两者都可用于解耦各种系统
  • 两者都可以具有规范数据模型
  • 两条路由消息都可以提供其他功能,例如数据转换

正如我所看到的,唯一相关的区别是用来代表每一个的图片.

如果之间存在一些差异,请告诉我什么.
如果它们是相同的,请告诉我为什么两个概念引用相同的功能.

谢谢.

[1] http://www.eaipatterns.com/MessageBus.html
[2] http://www.eaipatterns.com/MessageBroker.html

integration messaging routing eai

30
推荐指数
2
解决办法
1万
查看次数

BizTalk是ESB吗?

我正在研究建筑模式,企业服务总线(ESB).阅读本文企业集成,几乎没有经验,我想知道BizTalk是否是ESB或者它只是一个EAI(集线器/轮辐或总线)?

我找到了这个NServiceBus和Biztalk,将BizTalk描述为一个中心消息代理.

考虑其他ESB框架(NServiceBus和Rhino Service Bus).这些框架没有处理消息的中心点.

Biztalk是EAI而不是ESB吗?

非常感谢

biztalk esb eai

20
推荐指数
3
解决办法
2万
查看次数

开源SOA堆栈

我将评估开源SOA解决方案.有什么选择?
我正在寻找提供(可能)完整SOA堆栈的东西.

我想要以下功能 -

  1. BPEL
  2. BPM
  3. ESB
  4. SOA治理
  5. 好的工具

现在Glassfish ESB看起来是个不错的选择.还有其他好的Stacks吗?

soa open-source esb eai

10
推荐指数
2
解决办法
4682
查看次数

WS在TIBCO BW或Java中

我发现与使用Java编码相比,在TIBCO中开发WS要快得多.

使用TIBCO作为您的WS服务提供商和服务请求者是明智的投资吗?

同时也是开发JMS消费者和发布者的先前问题.

我的服务器端Java代码如何使用/监听BW流程?到目前为止,我读到了有关TIBCO Adapters的功能,它具有许多功能,如监控,但这只是一个开销吗?在Java应用程序中编写WS&JMS代码是否更好?

您如何决定是否在Java或TIBCO中实现功能(例如发送邮件,记录等)?

非常感谢!Thirdy

java tibco jms eai businessworks

8
推荐指数
1
解决办法
2266
查看次数

ESB和EAI之间的区别

在大多数文章中,我看到ESB和EAI之间的主要区别是"EAI中的单点故障".

我的问题是:

在EAI中,如果Hub失败,我们会说这是单点故障.在ESB中,如果总线发生故障,我们可以说单点故障.这是正确的吗?如果没有,请简要说明一下.

esb terminology eai

8
推荐指数
2
解决办法
9109
查看次数

在Apache Camel应用程序中,单元测试如何注入模拟端点来代替真实端点?

我正在使用Apache Camel 实现消息转换器模式,以使用来自RESTful端点的消息并将它们发送到AMQP端点.

封闭的应用程序基于Spring Boot,因此我使用Camel的" spring-boot "组件来集成这两个框架.正如这个spring-boot链接中的文档所示,我正在一个@Configuration注释类中实现我的Camel路由,该类扩展了RouteBuilder:

@Component
public class MyRestToAmqpRouter extends RouteBuilder {

   @Override
   public void configure() throws Exception {

      from("jetty:http://my-restful-url")
         .process(exchange -> {
            // convert the message body from JSON to XML, take some 
            // incoming header values and put them in the outgoing
            // body, etc...
         }).to("rabbitmq://my-rabbitmq-url");

   }

}
Run Code Online (Sandbox Code Playgroud)

我的问题涉及如何进行单元测试这种翻译,而不需要实际的RESTful端点或配置的RabbitMQ代理?我已经阅读了许多在线示例,以及Camel in Action一书......看起来单元测试Camel路线的典型方法是将路径切入粘贴到单元测试中,并替换一个或更多端点URL带有" mock:whatever".

我想这八九不离十的作品...但它非常脆弱,当有人不更新单元测试后改变了真正的代码测试套件将无法识别.

我试图使用模拟来修改一些基于Spring的单元测试示例,如下所示:

@RunWith(CamelSpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {Application.class})
public class MyRestToAmqpRouterTest extends AbstractJUnit4SpringContextTests {

    @Produce(uri …
Run Code Online (Sandbox Code Playgroud)

java spring eai apache-camel spring-boot

8
推荐指数
1
解决办法
7799
查看次数

中间件应用程序是否需要执行业务逻辑?

假设我有一个大型中间件基础架构来调解多个业务组件(客户应用程序,网络,支付等)之间的请求.中间件堆栈负责编排,路由,转换和其他内容(类似于Gregor Hohpe的Enterprise Integration Patterns一书).

我的问题是:在中间件上放置一些业务逻辑是一种好的设计吗?

假设我的应用程序A从中间件请求一些客户数据.但是为了获得这些数据,我必须提供客户ID其他一些参数.获取此参数应该由请求应用程序完成,还是负责"促进"并提供接收客户ID的接口并在内部获取其他参数的中间件?

我意识到这不是一个简单的问题(因为业务逻辑的定义),但我想知道它是一般方法还是一些指导方针.

soa middleware business-logic eai

6
推荐指数
1
解决办法
3574
查看次数

使用xpath获取xsi:type的值

我试图确定正确的XPath表达式,以返回元素的xsi:type属性值Body.我没有运气就尝试了所有的东西.根据我读到的内容,这似乎很接近,但显然不是正确的.任何快速指导,以便我终于可以休息了吗?

//v20:Body/@xsi:type
Run Code Online (Sandbox Code Playgroud)

我想要它回来 v20:SmsMessageV1RequestBody

<v20:MessageV1Request>
    <v20:Header>
        <v20:Source>
            <v20:Name>SOURCE_APP</v20:Name>
            <v20:ReferenceId>1326236916621</v20:ReferenceId>
            <v20:Principal>2001</v20:Principal>
        </v20:Source>
    </v20:Header>
    <v20:Body xsi:type="v20:SmsMessageV1RequestBody">
        <v20:ToAddress>5555551212</v20:ToAddress>
        <v20:FromAddress>11111</v20:FromAddress>
        <v20:Message>TEST</v20:Message>
    </v20:Body>
</v20:MessageV1Request>
Run Code Online (Sandbox Code Playgroud)

xml xpath xsd eai spring-integration

6
推荐指数
1
解决办法
5800
查看次数

BPM vs ESB - Orchestration?

我们可以有把握地说,如果ESB提供了Orchestration功能,它是否有资格成为BPM的实现?

我知道BPM有不同的目的,即建模一些业务流程,这些业务流程的实现可以通过任何简单的Java/J2EE应用程序,复杂的SOA应用程序或某些应用程序来完成,即我提供BPM.是对的吗?

soa esb business-process-management eai orchestration

6
推荐指数
2
解决办法
1万
查看次数