Middleware Is a Surprising Category of Software
IT Trendz has explored several main ideas revolving around middleware in 2020. Joseph Gulla reminisces in his latest post.
By Joseph Gulla12/16/2020
What Is Middleware?Back in April, I wrote “In all the time I have been in IT, I don’t ever remember having a discussion with anyone in system administration or application development where the topic of “what is middleware” came up”. Why is this the case?
The people I worked with had views of middleware influenced mainly by their jobs. The system programmers and system administrators saw middleware as programs that they installed that often needed serious admin privileges. They installed the products, did some testing then turned the software over to another group to use. Application developers saw middleware as a tool to do their job. They didn’t fuss about it. They jumped in and started to use capabilities that mainly made their job easier. They seemed grateful that they had less to invent and more to make use of as soon as they figured out how it worked. Learning happened by working with it on the job and reading manuals—especially IBM Redbooks.
Like many things in IT, middleware can be understood and explained in many ways. In broadest terms, middleware is software that is in the middle. In the middle of what? Well, the different middleware layers of functionality are in the logical space between the computer, network hardware, OS and the business applications. You got it—applications on top, computer and OS on the bottom and middleware in the middle. I completed this first post exploring, in a general way, four categories of middleware including database, application server, message oriented and web.
Important Middleware Categories Worth ExploringThe next week, I continued the series by first commenting that no other software has had the impact of database middleware. It is hard to imagine a contemporary system or application that doesn’t utilize an imbedded or external database. The 2021 global commercial database market sized at 22 billion USD helps explain its commercial impact as well.
This week, I added to the series by discussing some other important categories of middleware including transaction processing monitors, remote procedure call, API, integration and portals. Again, I did this in a high-level way.
Db2 for z/OS and WebSphere Play Critical Roles in the World of MiddlewareWith this next article, I started to fill out the details of the categories by highlighting some powerful examples of products in these categories including Db2 for z/OS and WebSphere. Before exploring those products, I briefly reminded the readers of the middleware categories that I had identified:
- Application server
- Transaction processing monitors
- Remote Procedure Call
IBM MQ and IBM HTTP ServerNext, I continued to fill out the details of the categories by highlighting some powerful examples of products in two more categories—messaging and web servers. About IBM MQ, I wrote that the main idea of IBM MQ is to provide a system that backs distributed application components. In support of this, IBM MQ works with a broad range of computing platforms, applications, web services and communications protocols for delivery of any type of data as messages. I wrote about the IBM HTTP Server, that web middleware directly supports websites as every site runs from a computer known as a web server, which is always connected to the internet. Developed by the Apache Software Foundation, Apache HTTP Server is one of the most popular web servers in the world. IBM’s HTTP Server for WebSphere Application Server, simply referred to as the IBM HTTP Server, builds on the Apache functionality. IBM latest HTTP Server, Version 9, is supported on AIXÒ, HP-UX, LinuxÒ, Solaris, WindowsÔ and z/OSÒ OSes.
IBM CICS and IMS Support Leading-Edge DevelopmentContinuing this series on middleware, I worked to write about more of the categories by highlighting some powerful examples of transaction processing monitors with a focus on IBM CICS® and IMS®. Because these products have a long history of client use supported by decades of development and modernization by IBM, these products are much more than data communication and database products. These products support leading-edge development methods and the most useful programming languages and tools.
CICS and IMS are products that empower the interactive world of dynamic inquiries and real-time updates with support for key database technologies. In general terms, both products have data communications functionality, which support interaction with a variety of protocols and devices, and database functionality, which makes available hierarchical and relational advanced capabilities. It’s useful to understand CICS and IMS history to appreciate the significance of the products on the IT industry. Both started in the 1960s in different ways and under different circumstances, and both are thriving today. How are they important to IT?
Here are two simple measures. CICS processes more than 1.1 million transactions per second–that’s 100 billion transactions a day. IMS processes over 50 billion transactions per day. This obviously isn’t the whole story, but the statistics are nevertheless compelling.
RPC and API Middleware Extend from the 1980s to the PresentWith this next post, I continued to fill out the details of the categories by highlighting the strong examples of remote procedure call (RPC) and API middleware. Although RPC and API are in different middleware categories, they have some characteristics in common as they both are centered on the implementation on the notion of a useful and flexible interface. RPC is a standard that’s implemented in products like z/OS® Communications Server is a great example. API is a way of programming that leverages protocols like REST and SOAP. Standards are in the API mix as well including HTML, XML and JSON. Let me get into more details.
Integration and Portal Software Complete This Middleware SurveyIn this final article, I completed this series on middleware by highlighting the interesting and useful examples of integration and portal middleware. Middleware integration tools are used to connect internal and external systems. Integration capabilities have abstract names like transformation, connectivity, composability and enterprise messaging. These functions are useful because they make it possible for developers to extend capabilities across different applications and platforms.
Apache has a portals project that is a good example of portals from within the open-source community. I wrote previously that there is some controversy about portals actually being a type of middleware as they’re not in the middle of the application and the OS in a conventional way. However, when portals refer to enterprise portal servers, they’re considered middleware because portals facilitate front-end integration, which is the focus of the Apache projects.
Middleware FuturesIt is difficult to imagine a future without a significant role for middleware software. As IT continues to grow and expand—systems, networks and applications—middleware will continue to provide the tools to make connections between components. As new application areas are identified, middleware software will continue to be developed to make developers productive right from the start. That is what it does—it helps the IT community realizes its potential.
z/OS / Linux on IBM Z / z/VM / z/VSE / Article / Community / Systems management / Application development / Data management / IT infrastructure / Modernization / IBM Z / Linux on IBM Z / Db2 for z/OS / CICS / IMS / IT Trendz blog / OS updates / Software
Joseph Gulla is the general manager and IT leader of Alazar Press. He's a frequent Destination z contributor and writes a weekly IT Trendz blog.