为什么Web服务被称为中间件? [关闭]

问题描述 投票:-3回答:2

Background:

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

下面是我工作的基于中间件的3层架构,其中4个组件 - 客户端,中间件和两个管理器,都是基于java的系统和RMI意识到的。

enter image description here


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

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

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

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


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

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

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


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

web-services java-ee middleware data-integration eai
2个回答
1
投票

你的问题似乎是基于意见的,但我们试着回答。

我相信你的直觉是正确的。恕我直言Axis2是一个服务框架,我不称之为中间件,因为我理解更广泛的功能。

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

当使用Axis提供消息转换(SOAP to Java)时,一些安全功能可以理解为中间件,因为Axis没有执行任何业务逻辑(那么甚至RMI也适合中间件定义)

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


0
投票

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

但大多数使用的中间件是两种类型 -

  • 面向消息的中间件(MOM)ex-MQs
  • 企业服务总线(ESB)ex-Mule ESB,TIBCO,Camel等。
© www.soinside.com 2019 - 2024. All rights reserved.