Em ambientes multiusuários dentro de sistemas distribuídos, os
componentes podem ser implementados em diferentes linguagens
de programação, plataformas e protocolos para comunicação.
Nesse tipo de sistema distribuído, faz-se necessário um software
que gerencie essas diversas partes e assegure que elas possam se
comunicar e trocar dados. Esse software é denominado