Today websites serve as the central terminal (middleware) that routes business critical data (leads, customer data, analytics, commerce, etc.) to multitudes of sales and marketing technologies (Salesforce, Mailchimp, internal databases, etc.). This presents a problem: website software needs to be modified heavily to do this successfully. When the software is heavily updated it can become finicky to update, so much that marketing loses agility to communicate on their primary presentation. This article covers how websites have become modern middleware, how it affects businesses, and the ideology around how it can be solved.

What is middleware?

Middleware became prevalent in the 1980s as a solution to the problem of how to link newer applications to older legacy systems, although the term had been in use since 1968. It also facilitated distributed processing, the connection of multiple applications to create a larger application, usually over a network.

It’s now 2016, and this concept still applies more than ever. Today we have software for hundreds of operations in a business. The marketing department alone can accumulate 10-20 software solutions on average. Sales can have prospecting software, CRMs, email trackers and individual preference tools. The IT department, depending on your product, could be managing 20-40 pieces a software per engineer. Accounting, upper management, advertising; technology has infiltrated every department a business has. Right now most departments are only connected by email, social media, or chat applications. Larger organization may be collected data per department to analyst to analyze, but it’s a rare case.

Modern Middleware Lingers in all Businesses

Modern middleware often sneaks into a business as a CMS that is integrated into software from multiple departments. As a CMS (which initially is intended to power a website) becomes modified to service integrations, it morphs into modern middleware.

The main marketing website acts as grand central station to distributing educational, marketing, and sales material along with the responsibility to collect leads and manage permissions to marketing departments. To everyone in the business, other than marketing, this is ok. Marketing departments are the ones punished by this default behavior, as they lose agility to modify their now frankenstein marketing website.

A marketing website should be stand alone, but it is not, so how did this come to be? Most websites are loaded on a server with an extensible operating system, common programming languages, and network access. Great, exactly what is needed for the base of all middleware. In the true nature of the internet, communities hack together solutions because there isn’t time to create your own middleware, and there is a perfectly good open source website software already installed. And so it began, piles and piles of plugins, modules, and extensions to turn the precious marketing website into grand central station, except it’s built with a deck of cards instead of bricks.

The problems that come from this add up on multiple fronts: security, agility, stability, permissions, and access. Once the marketing website is seated as middleware, any failure will shut down so many aspects of the business, all hell breaks lose in the organization. If you haven’t experience this disaster and you are partaking in the later, it’s a matter of time you see that deck of cards fall and an organization that has no clue it rides on so many of its business critical operations upon a single website.

Solving the problem

The website is and always will be grand central station. So how do we not inflict the marketing software with the pains of becoming middleware? Split it up, create an integration layer behind the marketing website software. Boom, simple, right? No, not so simple. That integration layer software should be responsible for seamless communication with all marketing software, internal software, sales software, email software, review software, commenting software, etc. etc. It also should be reliable, for instance if it attempts to send a lead into your CRM, and for some reason you CRM is not available over a network connection, it should try again in 5 minutes, or tomorrow, or next week, until it sends that data successfully. 

Presenting a solution

Abstracting integrations from the marketing website into an integration layer, or rather a "modern middleware" solves this problem. This ensures the marketing website software never becomes bastardized. Having a separate middleware means any site created in a business web ecosystem has instant access to pre-existing integrations through network requests, which almost all software has the ability to make. This in turn gives marketing agility to create and experiment all while having instant hookups to all previous integrations. The IT department can manage their critical code while not effecting the marketing software. Dreamy.

There is nothing worse than a high-brow "you should do this" opinion without an actionable at the end. So we present you with SMiddleware, an open-source codebase to start your own business sales and marketing middleware. View the repository here: or send it along to your IT team.