-2

背景:

wiki说:可以看作中间件的服务包括企业应用集成数据集成、面向消息的中间件(MOM)、对象请求代理(ORB)和企业服务总线(ESB)。

下面是我工作的基于中间件的 3 层架构,其中 4 个组件——客户端、中间件和两个管理器,都是基于 Java 的系统和RMI感知。

在此处输入图像描述


架构中引入了中间件(上图),主要用于数据集成(业务逻辑):

  • 执行来自多个管理器的不同数据(业务逻辑)的集成
  • 表示层(用于客户端)在集成后提供特定格式的数据
  • 客户端访问的身份验证/授权/安全性。

概括地说,以上是在任何 3 层架构产品中引入中间件的一些主要原因。

正如这里提到的,RMI 仅提供寻址同步编码移动性,但不提供互操作性通信方面,在上述架构中仅此而已。RMI 本身不是中间件


想象一下将上述架构从基于 RMI迁移到Axis2,这 4 个组件(包括中间件)中的所有 POJO 都应该使用Axis2启用 Web 。中间件(上)的功能保持不变。

Axis2只会使用 SOAP 或 REST(v2) 协议启用这 4 个组件之间的互操作通信,仅此而已。

但在本文中,Axis2 被称为中间件。它是JAX-WS规范的实现。


说Axis2是一个中间件是什么意思?它不执行业务逻辑。

4

2 回答 2

1

您的问题似乎是基于意见的,但让我们尝试回答。

我相信你的直觉是正确的。恕我直言Axis2是一个服务框架,我不会将其称为中间件,因为在中间件这个术语下,我理解更广泛的功能。

另一方面 - 术语中间件的定义不是很严格,所以这一切都取决于你做出的广泛/抽象定义。

当使用 Axis 提供消息转换(SOAP 到 Java)时,一些安全特性可以理解为中间件,因为 Axis 不执行任何业务逻辑(那么即使是 RMI 也适合中间件定义)

总结 - 将 Axis2 框架称为中间件是不幸的恕我直言。现在的问题是作者是否试图使用流行语,或者他们没有找到更好的标题

于 2018-01-01T07:45:48.013 回答
0

如果中间件的定义类似于“用于定义中间人同时传达两种不同技术的通用术语”,那么 Axis 可以被命名为中间件。我认为他们已经考虑了这个通用定义。

但最常用的中间件有两种——

  • 面向消息的中间件 (MOM) ex- MQ

  • 企业服务总线 (ESB) 前 Mule ESB、TIBCO、Camel 等。

于 2018-01-01T11:47:59.093 回答