背景:
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是一个中间件是什么意思?它不执行业务逻辑。