OSGi服务的消息总线

Ton*_*sen 4 osgi message-queue message-bus

我正处于一个项目的中间,我们将基于一系列基于OSGi服务的定制技术迁移一个主要的软件系统.为此,我们可能需要一种与OSGi服务兼容的消息总线.

  • 同步和异步传递
  • 仅限点对点
  • 保证交付 - 最好通过文件持久化
  • 从同一客户端(异步模式)订购的严格消息,但必须来自不同的客户端
  • 支持进程到进程和节点到节点的良好但不严格要求

开源解决方案将是首选,但不是必需的.

我查看了eventbus(按照/sf/answers/136741741/中的建议),但似乎效果不佳.

那么问题是,哪些技术与上述相匹配?

Mik*_*Van 5

东铭,

刚刚来自一个非常相似且成功的项目,请让我与您分享我的经验,为您节省一些时间和公司一些钱.首先,ESB是8年前提出时的一个非常好的主意.并且,他们解决了一个重要问题:如何以那些讨厌的程序员理解的方式定义业务问题?我们的目标是开发一个系统,允许业务人员创建一个软件解决方案,只需要很少或根本不需要讨厌的开发人员交互,这样可以更好地花费更多资金用于管理奖金.

为了回答这个问题,许多组织的优秀人员提出了JBI,BPMN和许多其他解决方案,让业务人员为他们想要"数字化"的业务流程建模.但实际上,它们在一个非常关键的层面上都存在缺陷:它们解决了业务问题,但没有解决集成问题.因此,除非由一些高价顾问完成,否则其中许多实施都是不成功的,即便如此,您的前景也是粗略的.

与此同时,90年代后期一些非常聪明的人发表了一本名为"企业集成模式"的书,该书确定了60多种用于解决常见集成问题的设计模式.许多执行ESB的人都意识到他们的问题不是业务建模.相反,问题是如何整合现有的应用程序.为了帮助解决这个问题,Michael Strachan和一些非常聪明的人开始了Apache软件基金会项目"Camel".Camel是企业集成模式的严格实现,除了大量的组件,旨在让像你我这样的人把东西连在一起.

因此,如果您认为您的业务流程只是需要将数据从一个应用程序发送到另一个应用程序,并且在两者之间进行适当的数据转换,那么Camel就是您的答案.现在,如果您希望将"路由"(您想要发送数据的指定系列的应用程序端点)基于数据库中的一组可配置规则,该怎么办?好吧,骆驼也可以这样做!有一个端点!无论如何,不​​要做传统的ESB,它的旧和破坏.绝对做骆驼的事情.

请让我知道这可不可以帮你.