1: persistence services to store complex state,
2: transaction functionality,
3: oo distribution for remote method invocation (synchronous messaging),
4: event services (asynchronous messaging)
5: directory services
6: mobility/agent technology
7: QoS/real-time control interfaces to transport layer
8: reflection
9: multimedia platform
10: groupware platform

The part of a software architecture located "in the middle". The term middleware is used for widely varying things, so try to avoid it. Generally, it can mean anything between (but not including) the operating system and the applications. Therefore an entity that provides processor scheduling is as less middleware as is your word processor. Middleware provides services to applications for a specific problem area. This area is currently often distributed systems with things like CORBA, COM, RMI, Jini called middleware. The write-up above contains more areas and services.

Middleware was the hottest concept in 1998 in the business and industry application software industry. During 1999 the term was replaced by a TLA: EAI, or Enterprise Application Integration. Just like WoOS mentions in his w/u above, middleware focused on a pretty low level of intergation - protocols and data integration. EAI brought this to a higher level by trying to integrate the business processes rather than pure data shoveling. You can charge a lot more integrating a companys business processes than just its data.

This year, the hot topic in business integration is online marketplaces, such as mySAP.com and those created by Ariba and other high profile players and software vendors.

Examples of middleware/EAI products: MQSeries by IBM, WebMethods (former Active Link from Active Software) NEON from New Era Of Networks, AmTrix from Viewlocity. These differ alot in terms of what comes out-of-the-box and I cannot recommend buying any of them if you don't have a big pile of money to lose.

Log in or register to write something here or to contact authors.