Patrick Hofman

Recently a new generation middle tiers has emerged. Thanks to this layer between database and application administrators have less work and users have more possibilities. Some middle tiers even create the possibility of time travel’ in the corporate data.

Both DBA’s and users are aware of a number of recurring problems when they are working with databases. These impede them in their work, are time-consuming and occasionally even make the work impossible. For many of these problems the solution has already existed for some time: the middle tier. Developers of databases are also aware of a number of recurring problems. Think for example of the hard to discover and hard to restore human errors, or of the tracing of data or actions of the past. However, you should also think of the confrontation with databases that are hard to or even impossible to link to applications of thirds and therefore are less useable in an integrated corporate environment. In addition, users are also criticizing database applications. Common complaints are slowness in the retrieval of information from the database, multiple applications/databases with deviating information about the same subject and a lack of intelligibility and retrievability of the saved data. That is to say: a lot of computer language but not a lot of 'common human language'. These are exactly the type of problems that can be intercepted with a middle tier, also called the 'business logic layer'. The current generation of middle tiers is even capable of clearing away the main part of the frustrations.

User friendly

A middle tier builds a bridge between a database and an application, and works both as a conduit and as a translator of incoming and outbound information. It is often more useful for users to approach information through a middle tier, because then they do not need to be aware of things like serial numbers. Such codes are linked to projects or products to make them more tractable in IT systems, but they can be detrimental to the usability. Through a middle tier users can search on the basis of practical terminology, as the intermediate layer makes the translation before the search is started in the database. This is how an employee can search for a name (such as 'M6 bolt 5 cm' or 'building project Hoogdaelem') without having to know a product or project number or even a database number. This improves usability and speed a lot when it comes to working with and searching in the database. Some middle tiers are also able to link databases together or make applications communicate with each other. In addition, some middle tiers are self-sustaining. This increases efficiency for software development, in line with extreme programming and Rapid Application Development.

Some middle tiers even create the possibility of 'time travel' in the corporate data.

The middle tier is expanded relatively simply for every time a new database is linked and for every new application that needs to search in the data. Such a self-extending - and therefore in a way self-upgrading - middle tier ensures that the user and the administrator of the database is no longer dependent on software suppliers. And that is also why in the end a middle tier is much cheaper than traditional solutions for many companies when it comes to database management.

Time machine

As has been said the new generation of middle tier solutions can accomplish more. The new middle tiers add functionality that provide unprecedented possibilities to database users when it comes to finding and using information. First of all the new middle tier is capable of linking different solutions of different suppliers to a joint database; the database can be reached through several mechanisms. Not just a wide scope of software applications, but also web services (online software) and APIs (for automated information requests) can be connected on the database(s) through the middle tier. That is how the intermediate layer ensures that all kinds of different programs can communicate simply with the database as well each other. That way information can be retrieved out of the system quite simply and the information in the database remains clean and up-to-date.

The intermediate layer ensures that different programs can communicate simply with the database.

In addition, some new middle tier solutions have a function which allows the user to travel through time, so to speak. That is because the new intermediate layer allows for the possibility to recall the exact situation and data of a moment in the past. It is important to reconstruct the status of a certain project on the 31st of March 2005 at 2 o'clock in the afternoon, for example. Then the date and time of that moment are entered into the middle tier, after which all data are automatically returning to that situation on that date. This way the middle tier works as a kind of time machine for the database data. This function has a number of big advantages. Considering that it is becoming possible to recall data and even complex situations of any desired moment in time, all kinds of analyses are possible, like data mining, for the purpose of an audit. The middle tier ensures that it is easy to see which actions a user has undertaken. But it can also be seen this might have been jammed or dropped. The middle tier also expands on the reporting possibilities. If, for example, it turns out that the export of data to a program has failed, then the situation of that moment can be recalled to still be able to correctly execute the export, with exactly the same data. By the way, this possibility also ensures that export of data to 'log' progress is not as necessary, because the progress can easily be monitored or recalled through the middle tier.

Version control will also no longer present problems because old versions of documents, as long as they are managed through the middle tier, can be retrieved. That is how changes can be discovered simply and linked to the correct user and earlier versions can easily be reused. Users can recover and restore a lot more by themselves thanks to the time travel function of the middle tier. So first of all, a lesser amount of logic needs to be build into the software. That makes the development of software simpler and less valuable. The administrator will also receive less requests for restoring to a backup of the database to retrieve data, which is usually a time-consuming job. That is how the maintenance costs of the database drop considerably, since the administrator can spend his time more usefully. By the way, the middle tier also usually ensures a history-conscious database with exact and more complete data than the database which was restored by an administrator. If a user looks back in time, then it has no influence on what other users see. That is how the middle tier combines optimal freedom with extraordinary possibilities.


Today's middle tier has even more advantages compared to the older variant besides an expansion of the possibilities. In particular the costs for the client have significantly decreased. The purchase and implementation of a middle tier solution only used to be profitable for a project of a few hundred thousand euros. Nowadays the use of a middle tier solution is already profitable for projects of a few thousans of euros. This is mostly because there is no longer a need for a lot of customization. Usually installation happens automatically, with little human intervention. For example, Invantive has a kind of ‘plug-and-play’ middle tier that is self-generating and can also generate applications for information analysis.

In any case, it can be wise for smaller companies to work with a middle tier. If an application and database are small a makeshift solution can function fine; at the moment the database expands or the number of users and applications increases then the situation turns awkward. Then the last, makeshift solution suddenly turns into a disinvestment and then the company is also unable to avoid the transition to an established system. A middle tier is scalable and that makes it particularly suitable for growing organizations. In fact, every organization that is experiencing changes would do wise to use a middle tier. And what company does not want that these days?

The middle tier will not be the solution to all frustrations or bottlenecks that frustrate database management. After all, IT solutions can never catch all problems. But this solution does strongly add to effectivity and usability when having dealing with databases.

Invantive has already implemented a number of these 'time travelling' middle tiers under the name of Invantive Producer. So far this intermediate layer is only offered combined with Oracle products, but other variants are under contruction.

This article is also available as a PDF

Publication Patrick Hofman Database Magazine – Number 2 – March 2008