Middleware is at the heart of IT

Sander Hautvast

What is ‘middleware’? French professor Sacha Krakowiak defines middleware

as [a] software layer [which role] is to make application development easier,
by providing common programming abstractions,
by masking the heterogeneity and the distribution of the underlying hardware and operating systems,
and by hiding low-level programming details

This makes sense, considering the fact that writing an http server nowadays or a servlet-container is not considered sane anymore, given the multitude of commercial and open source products that have already proven themselves. Over the years a range of products and standards has emerged that to a growing extent hide the low-level intricacies and provide the application programmer with easy yet powerful abstractions. They range from webservers, databases and application servers to EBS´s and BPM platforms. They form the IT landscape that enable modern business. And it´s their heterogeneity and distribution that is at the heart of the emerging problems that we will address in a top-10 style series of blogs in the coming weeks.

Middleware adds a new level of complexity

Application servers (for instance) solve a lot of problems regarding web-based applications. With it come higher level problems, regarding enterprise wide infrastructure and integration. Middleware problems occur typically in a medium to large enterprises that have seen their primary business become more and more dependent on internet based applications. The problems have their origins and solutions in technology, as well as in organizational psychology. It’s about people, their knowledge, span of control and their being involved in other processes in the company.

The 10 issues have formed our frame of mind that we use to assess companies that ask us to audit their software development and operation processes. They all have had to find answers to problems that application servers have not solved satisfactorily like deployment or synchronizing test and production environments. They have come to realize the fact that middleware is (often) the battleground where developers and administrators meet. And they have trouble finding people with the right technical skills and at the same time have the ability to mediate between these two groups.

Middleware is here to stay

Writing software is to a growing degree about combining existing components using code and configuration. Integrating the wide range of infrastructural components requires detailed knowledge of the platform and the ability to guide developers. This typically is an architect’s job . This architect should also be in contact with business consultants, to be able to wield the power of middleware to underpin the success of business initiatives in the long run. While projects deal with immediate needs, the middleware is a long-term investment, requiring revision over time. Failing to understand this is a recipe for trouble.

Middleware requires management

Middleware management is not solely about application development, or application lifecycle management, nor is it part of a helpdesk or just another form of systems management. It´s about all of that and more. It´s at the heart of an IT organization. This means that middleware people should be involved in decision making processes, which is often not the case. On the other hand, the middleware people should streamline their work, stay updated on technology and work along principles and best practices, or they will be an impediment for the projects they support.

Number 10 on the list is the “dependency problem”, meaning: systems availability should not depend on that one expert alone.

Comments (2)

  1. Amit Thawani - Reply

    April 30, 2010 at 1:19 pm

    I am a regular reader of Xebia blogs and most of the time I enjoy these reads.

    I am fully in-line with the discussion and am a strong believer of having a middleware (EAI or ESB) in the enterprise where you have multiple front-end and back-end applications following different protocols and message formats etc. However, while having audit at our enterprise by a well known Technical Consultancy company, I was astonished by the views of the architect who recommend us to put everything in one box - pizza box.

    I would appreciate if you extend this article in your following blogs on EAI vs ESB debate. Moreover, the responsibilities of each of the layers - Presentation Server (could be lying in the DMZ), Middleware and the Back-end (database, external interface - Webservices, JMS etc).

    If you already have such blogs, please advice me the appropriate link.

    Long live middleware !!

  2. Links « Beautiful Discovery - Reply

    May 4, 2010 at 3:16 am

    [...] Middleware is at the heart of IT What’s even more interesting is that if you want to understand first you have to understand middleware. [...]

Add a Comment