Distributed mission-critical environments employ a mixture of hard and soft real-time applications that usually expect a guaranteed range of quality of service (QoS). These applications have different levels of criticality and varied structures ranging from periodic independent tasks to distributed pipelines or event-driven modules. The underlying distributed system must evolve and adapt to the high variability in resource demands that competing applications impose. The current industry trend is to use commercial off-the-shelf (COTS) hardware and software components to build distributed environments for mission-critical applications. The paper considers how adding a middleware layer above the COTS components facilitates consistent management of system resources, decreases system complexity, and reduces development costs.