Промежуточное ПО категории виртуальных систем позволяет
разработчикам иметь дело со многими различными системами так, как
если бы это была одна система, с использованием общего слоя
промежуточного ПО и набора API. На каждой системе устанавливается
соответствующая версия промежуточного ПО и конфигурируется служба
именования. После этого сервисы разнородной распределенной
системы становятся доступными всем приложениям в сети. Из одного
клиентского приложения с использованием API можно запустить
процесс на мейнфрейме, обновить базу данных и затребовать сервис
на UNIX-системе.
Хорошим примером промежуточного ПО этой категории является
продукт DCE, в котором поддерживается основанный на RPC доступ к
разнообразным системам, для которых поддерживается DCE. Помимо
прочего, DCE обеспечивает собственные службы безопасности и
именования и позволяет взаимодействовать с любым числом серверов
ресурсов с использованием шлюзов и интерфейсов. Однако DCE не
может удовлетворить требования эффективности разработчиков
клиент-серверных систем, для которых важна высокая загрузка
серверов и сети. Более того, применяемый механизм синхронных RPC
требует, чтобы для выполнения операции все участвующие системы
были активны. Обычно выполнение удаленного вызова должно быть
полностью завершено перед тем, как приложение сможет продолжить
свое выполнение. DCE продается компаниями (подразделение IBM) и .
Продукты класса MOM в состоянии обойти некоторые ограничения,
необходимо присутствующие в системах, основанных на синхронных
RPC, за счет предоставления асинхронного механизма обмена
сообщениями. Это означает, что целевой сервер может не быть
активным, но тем не менее API MOM не заблокирует приложение.
Еще более существенно то, что для реализации MOM не требуется
высокая пропускная способность сети, и можно восстанавливаться
после сбоев системы и/или сети за счет журнализации транзакций во
внешней памяти. Примерами MOM-продуктов являются MessageQ
компании , MQSeries компании