Middleware em Sistemas Distribuídos
Gabarito: letra B. O software que gerencia a comunicação entre componentes heterogêneos (diferentes linguagens, plataformas, protocolos) em sistemas distribuídos é o middleware. Ele atua como uma camada de intermediação que abstrai as diferenças e provê serviços de comunicação, coordenação e troca de dados.
Alternativa A — ❌ Incorreta
Comutação de pacotes é uma técnica de transmissão de dados em redes, não um software de gerenciamento de comunicação entre componentes em sistemas distribuídos. Ela se refere à forma como os dados são fragmentados e roteados, não à integração de plataformas heterogêneas.
Alternativa B — ✅ Correta ⟵ GABARITO
Middleware é exatamente a camada de software que fica entre os sistemas operacionais e as aplicações distribuídas, oferecendo serviços como comunicação, gerenciamento de transações, segurança e descoberta de serviços. Ele permite que componentes desenvolvidos em diferentes linguagens e plataformas possam interagir de forma transparente.
Alternativa C — ❌ Incorreta
Servidor de aplicação é um ambiente de execução para aplicações, geralmente hospedando lógica de negócio e fornecendo serviços como gerenciamento de conexões e escalabilidade. Embora possa fazer parte de um sistema distribuído, não é o software específico para gerenciar a comunicação entre componentes heterogêneos; o middleware é que cumpre esse papel.
Alternativa D — ❌ Incorreta
Chamadas remotas (RPC - Remote Procedure Call) são um mecanismo de comunicação que permite que um programa execute um procedimento em outro computador como se fosse local. É uma parte do middleware, mas não o software que gerencia todo o ambiente distribuído. O middleware engloba RPC e outros serviços.
Alternativa E — ❌ Incorreta
Microsserviços é um estilo arquitetural onde uma aplicação é dividida em serviços pequenos e independentes, cada um executando uma função de negócio. Embora microsserviços se comuniquem entre si (geralmente via middleware ou APIs), o termo não se refere a um software de gerenciamento de comunicação, e sim a uma forma de estruturar a aplicação.
Conclusão: A definição apresentada no enunciado corresponde exatamente ao conceito de middleware, que atua como uma camada de integração em sistemas distribuídos.