Why web service is called a middleware?

2.5k Views Asked by At

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.

enter image description here


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.

2

There are 2 best solutions below

0
gusto2 On

your question seems to be opinion based, but lets try to answer.

I believe your intuition is correct. IMHO Axis2 is a service framework, I woudn't call it middleware as under the term middleware I understand much broader functionality.

On the other side - the term middleware is not defined very strictly, so it all depends how broad/abstract definition you make.

When using Axis to provide message transformation (SOAP to Java), some security features it can be understood as middleware as the Axis is not executing any business logic (then even RMI would fit into the middleware definition)

Summing up - calling the Axis2 framework as middleware is IMHO unfortunate. Now the question is if the authors were trying to use buzzwords or they did not find better title

1
Myth On

If the definition for middleware is like - "a generic term used for defining a middleman while communicating two different technologies" Then Axis can be named as middleware. I think they have considered this generic definition.

But mostly used middleware is two types-

  • Message Oriented Middleware(MOM) ex- MQs

  • Enterprise Service Bus(ESB) ex- Mule ESB, TIBCO, Camel etc.