That which is hidden from the user.
Middleware is the middle-man
that sits between two or more hulking systems which are used to being the center of attention. The middleware takes data from one system, and gives it to the other system in a way it likes.
This is more complicated than it first appears.
Middleware can follow many different models. You can have MessageOrientedMiddleware
The leading middleware solution are TransactionProcessingMonitor
s, with BigBlue CustomerInformationControlSystem
taking up a third of that market share, followed by number 2 TuxedoMonitor
(12%), and Oracle is in the third place. See http://www.theinquirer.net/?article=24939
Due to quick changing scene in matters related to DistributedComputing
, some analysts are saying it is cheaper to throw away existing products (TooOld
) and adopt more recent solutions. See
Battleground between the Titans
JavaPlatform Vs MicrosoftWindowsPlatform
In an article on EclipseIde
the top MiddleWare
vendor commented on a piece of history for the Eclipse name like this:
- "Our target was Microsoft...around 1998 we felt, key to the competition around application servers and middleware, we needed to bring developers to Java-based middleware"
newsletter relayed MS new coordinated approach in its turf war with the "InvisibleBigMammoth?
". One of the opening slides at MS Tech Ed 05 has four points, three of these were related to BigBlue
, the other is directed at LampPlatform
. MS products BizTalk
are direct response to BigBlue
arsenal of JavaTwoEnterpriseEdition
MiddleWare in game development
In game development, MiddleWare
refers to third party software libraries and modules which sit between the hardware's OS and the game programmers code. Until recently, MiddleWare
was a dirty word in game development. But the popularity of MiddleWare
libraries such as RenderWare
, Havok, and so on have changed things. MiddleWare
usually includes tool sets that enable cross platform conversions from source data. MiddleWare
is not usually used to describe operating system extensions such as DirectX for Windows or OpenGL for other operating systems.
I am not sure whether it is really DistributedComputing. Probably a more appropriate term is CollaborativeComputing?? The first term to me means designing a single application system that is distributed in implementation, but the MiddleWare as I know it is there more to get value from integrating information from existing applications that may be on different platforms and technologies
. An example is BizTalk
which is part of MicroSoft DistributedInternetArchitecture
, but as a product it was delivered later. PleaseComment