I attended a talk recently about an application that consumers can use to make better shopping decisions across various ecommerce sites. The architect for the application began his presentation by talking about the infrastructure (or middleware) that was used to build the application, which included the 'cloud', 'NoSQL'. The presentation was attended by several engineers in the valley, and was well received, until a member of the audience asked - how was the choice of infrastructure influenced by the customer need for better and faster shopping decisions? As it happened, the benefit was really to the company in minimizing its operating costs, and the application could have better served the customer with a different style.
This reminded me of an article by Jack Wileden and Alan Kaplan titled Middleware as Underwear: Toward a More Mature Approach to Compositional Software Development. With a catchy title, it highlights the role of infrastructure in application development, that is much like the underwear should not dictate the type of clothes someone wears, the middleware in an application should not be the center of attention and dictate the application design.
The article further goes on and identifies other similarities between middleware and underwear
1. Excessive fascination with it suggests immaturity
2. In general, it should be kept hidden from public view. Not even seams should be apparent.
3. It should never dictate, limit or prevent changes in what is publicly visible.
4. In most circumstances, it should be as simple as possible.
5. It must be reliable. Failures can have embarrassing, and often painful, consequences.
Read the complete article for more details