Background:
wiki says: Services that can be regarded as middleware include enterprise application integration, data integration, message oriented middleware (MOM), object request brokers (ORBs), and the enterprise service bus (ESB).
Below is the middle ware based 3-tier architecture that I worked for, where 4 components - client, middleware and two managers, all are java based systems and RMI aware.
Middle ware was introduced in the architecture(above) mainly for data integration(business logic):
- Perform integration of different data(of business logic) coming from multiple managers
- Presentation layer(for client) to provide particular format of data, after integration
- Authentication/Authorisation/Security for client access.
To generalise, above are some main reasons to introduce middle ware, in any 3-tier architecture product.
As mentioned here, RMI is just providing Addressing, Synchronization, Encoding, Mobility but not interoperability, aspects of communication, in the above architecture and nothing more than that. RMI itself is not a middle ware
Just to imagine migrating the above architecture from RMI based to Axis2, all POJO in those 4 components(including middleware) should be web enabled using Axis2. Functionality of middle ware(above) remains same.
Axis2 would just enable interoperable communication between those 4 components using SOAP or REST(v2) protocol and nothing more than that.
But in this paper, Axis2 is mentioned as middle ware. It is an Implementation of JAX-WS specification.
What does it mean to say that Axis2 is a middleware? It does not execute business logic.