Buscar

Avaliação de Sistemas Distribuidos_2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

2ª AVALIAÇÃO 
INSTRUÇÕES 
• A prova é individual ( ) Com consulta (X) Sem consulta 
• A interpretação dos enunciados das questões faz parte da avaliação, portanto não cabe 
explicação dos mesmos. Cada questão corresponde ao valor entre parênteses; 
• Só serão válidas as questões transcritas de caneta azul ou preta para folha de resposta, 
inclusive as questões objetivas. Nestas, a letra correspondente à sua opção de resposta deverá 
vir com uma palavra que inicie com a mesma letra. (A/aluno; B/busca, C/classe, D/docente, 
E/educação); 
• Serão desconsideradas as questões rasuradas ou com uso de corretivo, respondidas de lápis 
ou de caneta de cores diferentes das descritas acima; 
• Não será permitido o uso de quaisquer materiais eletrônicos e materiais de apoio (caderno, 
apostila, lei seca etc.), tampouco o empréstimo de materiais entre os alunos durante a prova. 
• A prova terá duração de 1 hora e 40 minutos; Só será permitida a entrada de alunos 
com atraso de até 15 minutos, não acarretando com isso o aumento na duração do 
horário da prova. Durante a realização da prova é proibida a saída da sala de aula. 
• Lembre-se que é obrigatória a assinatura da ata de frequência da prova. 
• O não cumprimento das normas acima acarretará em sanção ao aluno. A prova terá 
porcentagem de 100%. 
QUESTÕES 
1 – (0,5 ponto) Sobre os modelos de comunicação nos procedimentos de invocação remota, 
analise e escolha a alterativa CORRETA: 
I - Um dos módulos de comunicação no RMI, o protocolo de requisição-resposta, transmite 
mensagens derequisição-resposta entre o cliente e o servidor. 
II - O módulo de referência remota é responsável pela transformação entre referências de 
objeto local eremoto e pela criação de referências de objeto remoto 
III - O módulo de referência remota de cada processo contém uma tabela de objetos remotos 
para registrar acorrespondência entre as referências de objeto local desse processo e as referências 
de objeto remoto 
Com base nas afirmativas pode-se conclui 
que : 
 
a) todas as afirmativas estão corretas. 
b) somente a afirmativa III está correta. 
c) somente as afirmativas II está corretas. 
d) somente a afirmativa I e III estão correta. 
e) somente as afirmativas II e III estão corretas. 
2 – (0,5 ponto) Sobre o modelo de referencia remota, analise as afirmativas abaixo e escolha 
a alterativa 
CORRETA: 
a) Esse módulo é chamado pelos componentes do software RMI quando estão empacotando 
somentereferências de objeto remoto. 
b) O módulo de referência remota de cada processo contém uma tabela de objetos remotos para 
registrar acorrespondência entre as referências de objeto local 
c) Existe uma entrada para cada proxy remoto que mantém uma entrada para todos os objetos 
remotosmantidos pelo processo 
d) O módulo de referência remota de cada processo contém uma tabela de objetos locais para 
registrar a 
correspondência entre as referências de objeto local desse processo e as referências de objeto 
remoto 
e) Um servente é uma instância de uma classe que fornece o corpo de um objeto remoto. É o 
servente quetrata as requisições remotas repassadas pelo esqueleto correspondente e desta 
forma são considerados são partes integrantes do processo cliente. 
3 – (0,5 ponto) Considera as seguintes afirmativas sobre a comunicação por datagrama 
através do protocolo UDP. 
I - Um datagrama enviado pelo protocolo UDP é transmitido de um processo origem para 
um processodestino com a existência de confirmações ou novas tentativas de envio. 
II – Observando as informações sobre ordenamento às vezes, as mensagens podem ser 
entregues em umaordem diferente da que foram emitidas. 
III - Tamanho da mensagem: o processo destino precisa especificar um vetor de bytes de um 
tamanho emparticular para receber as mensagens. 
IV- Ao chegar, a mensagem é posta em uma fila de recepção vinculada ao soquete associado à 
porta de destino. 
Com base nas afirmativas pode-se conclui 
que : a) somente a afirmativa II está correta. 
b) somente as afirmativas I e II estão corretas. 
c) somente a afirmativa II,III e IV estão corretas. 
d) somente as afirmativas I e III estão corretas. 
e) todas as afirmativas estão corretas. 
4 – (0,5 ponto) Um Sistema Web, voltado para a execução na Internet, pode ser 
definido como umsistema composto por componentes localizados em uma rede de 
computadores cujas ações são coordenadas somente através de troca de mensagens. Java 
RMI (Remote Method Invocation) tem como objetivo auxiliar o desenvolvimento de 
aplicações com objetos distribuídos. Neste contexto, marque a afirmativa correta. 
a)Aplicações desenvolvidas em Java RMI são dependentes do protocolo de rede da camada de 
transporte (UDP/TCP). 
b)Java RMI é adequado ao desenvolvimento de aplicações P2P (peer-to-peer) pois um método 
invocado remotamente é automaticamente replicado em dois ou mais servidores. 
c)Java RMI permite o envio de objetos não- serializáveis através do parâmetro local pointer. 
d)Java RMI permite que um objeto cliente invoque um método de um objeto servidor 
remotamente. 
e)Java RMI baseia-se no protocolo de envio de mensagens SOAP (Simple Object Access 
Protocol). 
 
 
 
 
5 - (2 pontos) Qual o papel da interface em arquiteturas distribuídas que usam o modelo de 
comunicação via RMI. 
R= A interface desempenha papeis crucias dentro de arquiteturas que utilizam o modelo de 
comunicação via RMI, suas principais atividades dentro desse modelo são: Fornecer a 
definição das assinaturas de um conjunto de métodos (isto é, os tipos de seus argumentos, 
valores de retorno e exceções), sem especificar sua implementação; Fornecer a definição das 
assinaturas de um conjunto de métodos (isto é, os tipos de seus argumentos, valores de 
retorno e exceções), sem especificar sua implementação; Definir os tipos que podem ser 
usados para declarar o tipo de variáveis ou dos parâmetros e valores de retorno dos métodos. 
Note que as interfaces não têm construtores e definir os tipos que podem ser usados para 
declarar o tipo de variáveis ou dos parâmetros e valores de retorno dos métodos. Notemos 
que as interfaces não têm construtores; 
 
6 - (2 pontos) Para suportar RMI ou RPC, todo tipo de dados que possa ser passado como 
argumento, ou retornado como resultado, deve ser simplificado, e os valores de dados primitivos 
individuais, representados em um formato comum. Um padrão aceito para a representação de 
estruturas de dados e valores primitivos é chamado de representação externa de dados e tipo 
operação é realizado através dos procedimentos marshalling e unmarshalling. Defina estes 
conceitos associados a esta abordagem para representação de externa de dados. 
R= Marshalling(empacotamento) – se refere a uma forma de converter um objeto numa forma 
adequada para armazenamento ou transmissão em série; isto é, convertê-lo de sua forma nativa na 
memória da JVM, em uma forma que poderia ser enviada por uma conexão, inserida em um 
arquivo / banco de dados, etc. Já o Unmarshallig(desempacotamento) é apenas o inverso / outro 
lado desse processo; tomando uma representação do objeto criado por empacotamento e usando-
o para reconstituir uma instância do objeto dentro da JVM. 
 
 
7 - (2 pontos) A RMI (Remote Method Invocation – invocação a método remoto) está 
intimamente relacionada à RPC, mas é estendida para o mundo dos objetos distribuídos. 
Apresente as características comuns a estas duas abordagens de comunicação. 
R= Ambas suportam programação com interfaces, com as vantagens resultantes advindas 
dessa estratégia. Normalmente, ambas são construídas sobre protocolos de requisição-
resposta e podem oferecer diversas semânticas de chamada, como pelo menos uma vez e no 
máximo uma vez. Ambas oferecem um nível de transparência semelhante – isto é, as 
chamadas locais e remotas empregam a mesma sintaxe, mas as interfaces remotas 
normalmente expõem a natureza distribuída da chamada subjacente, suportando exceçõesremotas,por exemplo. 
 
8 - (2 pontos) Ao se trabalhar com a abordagem de comunicação de via RMI, alguns pontos 
devem ser observados no projeto utilizado de tal forma que proposta de comunicação atenda a 
abordagem de cominucação distribuída. Cite brevemente sobre estes pontos que devem 
observados. 
 
R= Pontos a serem observador no RMI: 
 
Modelo do objeto - Um programa orientado a objetos, por exemplo em Java ou C++, consiste 
em um conjunto de objetos interagindo, cada um dos quais composto de um conjunto de dados e 
um conjunto de métodos. Um objeto se comunica com outros objetos invocando seus métodos, 
geralmente passando argumentos e recebendo resultados. Os objetos podem encapsular seus dados 
e o código de seus métodos. Algumas linguagens, como Java e C++, permitem que os 
programadores definam objetos cujas variáveis de instância podem ser acessadas diretamente. No 
entanto, para uso em um sistema de objeto distribuído, os dados de um objeto devem ser acessíveis 
somente por intermédio de seus métodos. 
 
Referências de objeto - Os objetos podem ser acessados por meio de referências de objeto. Por 
exemplo, em Java, uma variável que parece conter um objeto, na verdade, contém uma referência 
para esse objeto. Para invocar um método em um objeto, são fornecidos a referência do objeto e o 
nome do método, junto aos argumentos necessários. O objeto cujo método é invocado é chamado 
de alvo, de destino e, às vezes, de receptor. As referências de objeto são valores de primeira classe, 
significando que eles podem, por exemplo, ser atribuídos a variáveis, passados 
como argumentos e retornados como resultados de métodos 
 
Interfaces - Uma interface fornece a definição das assinaturas de um conjunto de métodos (isto é, 
os tipos de seus argumentos, valores de retorno e exceções), sem especificar sua implementação. 
Um objeto fornecerá uma interface em particular, caso sua classe contenha código que implemente 
os métodos dessa interface. Em Java, uma classe pode implementar várias interfaces, e os métodos 
de uma interface podem ser implementados por qualquer classe. Uma interface também define os 
tipos que podem ser usados para declarar o tipo de variáveis ou dos parâmetros e valores de retorno 
dos métodos. Note que as interfaces não têm construtores. Uma interface fornece a definição das 
assinaturas de um conjunto de métodos (isto é, os tipos de seus argumentos, valores de retorno e 
exceções), sem especificar sua implementação. Um objeto fornecerá uma interface em particular, 
caso sua classe contenha código que implemente os métodos dessa interface. Em Java, uma classe 
pode implementar várias interfaces, e os métodos de uma interface podem ser implementados por 
qualquer classe. Uma interface também define os tipos que podem ser usados para declarar o tipo 
de variáveis ou dos parâmetros e valores de retorno dos métodos. Note que as interfaces não têm 
construtores. 
 
Ações - Em um programa orientado a objetos, a ação é iniciada por um objeto invocando um 
método em outro objeto. Uma invocação pode incluir informações adicionais (argumentos) 
necessárias para executar o método. O receptor executa o método apropriado e depois retorna o 
controle para o objeto que fez a invocação, algumas vezes fornecendo um resultado. 
 
Exceções - Os programas podem encontrar muitos tipos de erros e condições inesperadas, de 
diversos graus de gravidade. Durante a execução de um método, muitos problemas diferentes 
podem ser descobertos: por exemplo, valores inconsistentes nas variáveis do objeto ou falhas nas 
tentativas de ler ou gravar arquivos ou soquetes de rede. As exceções proporcionam uma maneira 
clara de tratar com condições de erro, sem complicar o código. 
 
Coleta de lixo - É necessário fornecer uma maneira de liberar o espaço em memória ocupado 
pelos objetos quando eles não são mais necessários. Uma linguagem (por exemplo, Java) que pode 
detectar automaticamente quando um objeto não está mais acessível, recupera o espaço em 
memória e o torna disponível para alocação por outros objetos. Esse processo é chamado de coleta 
de lixo (garbage collection). 
 
Objetos distribuídos - O estado de um objeto consiste nos valores de suas variáveis de instância. 
No paradigma baseado em objetos, o estado de um programa é dividido em partes separadas, cada 
uma associada a um objeto. Como os programas baseados em objetos são logicamente 
particionados, a distribuição física dos objetos em diferentes processos ou computadores de um 
sistema distribuído. Os sistemas de objetos distribuídos podem adotar a arquitetura cliente- 
servidor. Nesse caso, os objetos são gerenciados pelos servidores, e seus clientes invocam seus 
métodos usando invocação a método remoto, RMI. Na RMI, a requisição de um cliente para 
invocar um método de um objeto é enviada em uma mensagem para o servidor que gerencia o 
objeto. A invocação é realizada pela execução de um método do objeto no servidor e o resultado 
é retornado para o cliente em outra mensagem. Para permitir encadeamentos de invocações 
relacionadas, os objetos nos servidores podem se tornar clientes de objetos em outros servidores.

Continue navegando