Sistemas distribuidos
2) Compare a implementação de um Middleware com o uso de sockets e com o uso de Java/java/RMI, considerando aspectos tais como heterogeneidade, transparência de localização, transparência de acesso, etc.
3) Descreva o funcionamento das primitivas de comunicação quanto a:
a. endereçamento.
b. sincronismo.
c. bufferizaçao.
4) Comparando com o modelo OSI da ISO, em que nível ocorre as interações do modelo cliente-servidor (requisição/resposta)? Quais as camadas que fazem interface com a aplicação?
Em aplicações cliente/servidor desenvolvidas diretamente sobre as primitivas de rede do Sistema Operacional de Rede, ou seja, sem a utilização de frameworks de comunicação, as interações irão ocorrer na camada de Transporte, por exemplo utilizando sockets TCP orientados a conexão ou datagramas UDP. Independente do protocolo de transporte utilizado a aplicação deverá implementar um controle de sessões na camada de Sessão, lidando diretamente com endereçamento de rede e portas de comunicação. Dependendo da forma em que os dados são transmitidos pela rede a aplicação ainda terá que lidar com as representações dos dados na camada de Apresentação, para então finalmente trabalhar com os dados na camada de Aplicação.
5) Considerando fatores como flexibilidade, heterogêneidade e transparência de localização, quais são os problemas de sockets no desenvolvimento de sistemas distribuídos.
Implementar todas as funcionalidades infra-estruturais é um trabalho custoso, repetitivo, e, na maioria das vezes, complexo.
Como os usuários não são capazer de dizer a localização física do recurso e pela teoria vários computadores diferentes criam sockets diferentes, então o servidor seria sobrepujado pela criação constantes de novos sockets pela aceitação de novas conexões além de continuar escutando ao