gpt4 book ai didi

java - EJB3 在哪里适合 SOA/EIP?

转载 作者:行者123 更新时间:2023-11-29 05:58:31 24 4
gpt4 key购买 nike

我(也许过于简单)对 EJB3 的理解是,它是一种将 POJO 转变为符合 Java EE 的业务逻辑单元的方法。它是可重用的,可以“插入”到跨越多个项目的不同后端架构。这是朝着真正的组件驱动架构方向迈出的一步。 如果这些断言中有任何一个是不真实的,请先纠正我!!

如果我在这些项目上是正确的,那么我想知道 EJB3 是如何/在哪里/何时/是否嵌入到像 Apache Camel 这样的 ESB 中的。使用 Camel,每个端点通常会实现一些 EIP,例如 WireTapFilterTransformer。我想知道 EJB(特别是 EJB3)适合这些 EIP/SOA 模式中的哪一个。它是一个简单的 Filter 吗?还有别的吗?

我想我的问题的根源是:

  • 如果我正在构建 Camel Route,什么时候将 EJB3 作为端点而不是其他 EIP 才有意义? EJB3 在 ESB 中的用例是什么?它们在什么情况下优于其他 EIP?

最佳答案

这种情况没有对错之分。

EJB 可以很好地插入到 JavaEE 应用程序服务器中,旨在提供一种架构,将业务逻辑封装为 EJB 中的 Java 代码,并让应用程序服务器处理扩展、节流、故障转移、集群、负载平衡等,以及将 EJB 暴露给通信协议(protocol)(Web 服务或消息驱动 Bean 的 JMS)。

我认为在 Apache Camel 中引入 EJB 作为业务逻辑容器没有任何实际意义,除非您已经拥有一个完整的堆栈 Java EE 应用程序并希望 Camel 使用。

Camel 有一组很棒的功能可以通过 bean-binding 连接到“真正的”pojos .

我建议使用简单的 java bean/pojos 来实现业务逻辑,您可以通过 camel 丰富的连接器集轻松地将它们插入任何其他应用程序。实现不同的 Camel EIP 有多种选择。一种常见的方法是使用 java 代码,但是用于转换的 XSLT 和用于过滤器的 groovy 也同样常见。我永远不会将 EJB 用于简单的过滤器,而是在 Java EE 应用程序中调用一些复杂的逻辑。服务器,或者通常避免所有这些(MDB 除外),而是查看与应用程序服务器的 JMS 通信。

关于java - EJB3 在哪里适合 SOA/EIP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11090490/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com