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.