For many programmers, middleware is like a
black box.
Middleware helps get the job done more quickly and keeps the programmer from having to worry about even more things.
Most application programmers prefer to keep that black box closed. They learn how to make calls to the box and receive results, but will not try to understand what goes on in the box.
This top-down view has led to a categorization of products according to how they are accessed. Essentially, programmers define
middleware products by their APIs. This is like telling the difference between two boxes by looking only at the handles.
Yes, the handles might indeed be different, but within the suitcases, one suitcase may hold clothes and the other suitcase may contain cash.