Ogres are like onions.
Middleware is EnterpriseSpeak. If you picture interaction with an application consisting of
then you have the standard three-layer enterprise software model.
The bit you interact with is normally a WebPage, or in some cases, a dumb Terminal. It doesn't really do any thinking, or more importantly, any data validation. You tell it that you were born in 1765, and it happily believes you and passes this information off to the next layer in the cake (or was it an onion?).
Middleware is the buzzword for that next part. It includes WebServers, application servers, ContentManagementSystems, all that stuff. You hear the term "business logic" bandied around: this is implemented in this layer of the model. It is the part that includes the rule "you can't possibly have been born in 1765", and then refuses to update the information store, and hands an error back up to the top layer.
The third layer, the information store, is usually a DataBase.
To confuse things, it's possible to have part of your business logic be kept in your database by way of things like cursors, which are nothing at all to do with the flashing bar. It really does make you want to stick your head in an ogre.
lib/main.php:944: Notice: PageInfo: Cannot find action page