wiki说:可以视为中间件的服务包括企业应用程序集成,数据集成,面向消息的中间件(MOM),对象请求代理(ORB)和企业服务总线(ESB)。
下面是我工作的基于中间件的3层架构,其中4个组件 - 客户端,中间件和两个管理器,都是基于java的系统,并且RMI知道。
中间件是在架构(上面)中引入的,主要用于数据集成(业务逻辑):
- 执行来自多个经理的不同数据(业务逻辑)的集成
- 表示层(用于客户端),在集成后提供特定格式的数据
- 身份验证/授权/客户端访问安全性。
总结一下,以上是在任何3层架构产品中引入中间件的一些主要原因。
如上所述here,RMI只提供寻址,同步,编码,移动性但不是互操作性,沟通方面,在上述架构中,仅此而已。 RMI本身不是中间件
想象一下,将上述架构从基于 RMI的迁移到Axis2,这4个组件(包括中间件)中的所有POJO都应该使用 Axis2 进行Web启用。中间件(上图)的功能保持不变。
Axis2 只会使用SOAP或REST(v2)协议启用这4个组件之间的可互操作通信。
但是在这个paper中,Axis2被称为中间件。它是一个 JAX-WS规范的实施。
Axis2是一个中间件是什么意思?它不执行业务逻辑。
答案 0 :(得分:1)
你的问题似乎是基于意见的,但我们试着回答。
我相信你的直觉是正确的。恕我直言Axis2是一个服务框架,我不称之为中间件,因为我理解更广泛的功能。
另一方面 - 术语中间件的定义并不严格,所以这取决于你做出的广泛/抽象定义。
当使用Axis提供消息转换(SOAP to Java)时,一些安全功能可以理解为中间件,因为Axis没有执行任何业务逻辑(那么即使RMI也适合中间件定义)
总结 - 将Axis2框架称为中间件是恕我直言不幸。现在问题是作者是否试图使用流行语或者他们找不到更好的标题
答案 1 :(得分:0)
如果中间件的定义类似于 - "一个通用术语,用于定义中间人,同时传达两种不同的技术" 然后Axis可以命名为中间件。我认为他们已经考虑了这个通用的定义。
但主要使用的中间件是两种类型 -
面向消息的中间件(MOM)ex-MQs
企业服务总线(ESB)ex-Mule ESB,TIBCO,Camel等。