Sistemas Distribuidos - O que é middleware
Software que fornece um modelo de programação, e que é situado entre camadas de software (no nosso caso, o Java RMI, entre as camadas de aplicação e transporte), que usa um protocolo baseado em mensagens entre objetos (locais e remotos), no sentido de fornecer abstrações de mais alto nível, como as invocações e eventos remotos, proporcionando transparência de localização nas invocações remotas.
2. Quando um cliente invoca um método num objecto servidor quais os principais com ponentes de software que podem falhar? (Dar um exemplo de uma falha para cada caso)
O processo cliente (terminar de forma anormal - crash)
O processo servidor (terminar de forma anormal – crash)
O software de comunicação (uma mensagem pode não ser chegar ao destino)
Em que medida as falhas são independentes?
Para que servem os stubs? (Considere o stub do cliente e o stub do servidor.)
Stub cliente - serve para interceptar as chamadas de procedimento do cliente empacotando os parâmetros e enviando ao servidor. Após a chegada da resposta do servidor ele desempacota o resultado e encaminha para o cliente.
Stub servidor - recebe a requisição do cliente, desempacota os parâmetros, chama o procedimento passando os parâmetros e quando obtém o resultado ele empacota e encaminha de volta ao cliente.
Qual a diferença principal entre RPC (Remote Procedure Call) e RMI (Remote Method Invocation) ?
RPC implementa processos: cliente e servidor, como seria para uam linguagem
procedural, como a linguagem C, que não suporta classes nem objetos.RMI implementa objetos ao invés de processos, com nas linguagens C++ e Java.
que são os stubs e os skeletons e como os mesmos são gerados?
Os stubs e os skeletons são componentes intermediários, entre um cliente e o objeto. O stub é um componente do lado do cliente, que contém uma referência para o objeto remoto. A partir desta referência, chamamos o método do objeto remoto, via ORB. O skeleton é um