Sistemas Distribuídos

Documentos relacionados
Invocação Remota. Prof. Leonardo Barreto Campos. 1/29

Principais conceitos de CORBA

Sistemas Distribuídos

Prof. Me. Sérgio Carlos Portari Júnior

Common Object Request Broker Architecture

Vamos fazer um pequeno experimento

Sistemas Distribuídos: Conceitos e Projeto RPC e RMI

Sistemas Operacionais II

Sistemas Distribuídos Aula 10

PMR3507 Fábrica digital

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

INTRODUÇÃO. RPC x RMI

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Comunicação. Carlos A. G. Ferraz 25/6/2003. Sistemas Distribuídos 1. Tópicos. Camadas. Transmissão de dados. Marshalling/Unmarshalling.

Comunicação. capítulo

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1

Arquitetura e Objetos Distribuídos em CORBA. Aula 3. Especificações OMA Object Web

Sistemas de Objetos Distribuídos

SISTEMAS DISTRIBUIDOS

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Programação Distribuída. Metas de um Sistema Distribuído

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Operacionais II

Desenvolvimento de Aplicações Distribuídas

Sistemas Distribuídos

Java RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Sistemas Distribuídos

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Características de Sistemas Distribuídos

Plataformas de Distribuição de Objetos

Desenvolvimento de Aplicações Distribuídas

Sistemas Distribuídos

Objetos e Componentes Distribuídos: EJB e CORBA

Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior

O que se espera para o futuro dos Web Services? As tecnologias são respectivamente JSON e REST.

Características de Sistemas Distribuídos

Comunicação entre Processos

Sistemas Operacionais Distribuídos e de Redes

Protocolo Request-Reply


SIST706 Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos

Introdução a Web Services

SISTEMAS DISTRIBUÍDOS

Metas de um Sistema Distribuído

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.

Sistemas Distribuídos

O que é um sistema distribuído?

Tecnologias de Distribuição e Integração. Quais as preocupações a ter com um sistema distribuído?

Processos ca 3 pítulo

Sistemas Distribuídos Aula 2

Arquitetura de sistemas distribuídos

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

Programação Distribuída. Tipos de Sistemas Distribuídos

Grupo I [7v] b) [0,3] Em que componente do sistema de RPC será utilizado o campo identificador de operação?

Engenharia de Software

Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; !

STD29006 Sistemas Distribuídos

Sistemas Distribuídos CORBA. Edeyson Andrade Gomes.

Infra-Estrutura de Software

Java RMI Remote Method Invocation

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Web Services - Definição. Web Services - Introdução. Universidade Federal de Santa Catarina. DSOOII Web Services

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

Padrões Arquitetônicos

Sistemas Distribuídos. Visão Geral Expandida

Estilo: BlackBoard. BlackBoard = repositório de dados compartilhados

Objetos e Componentes Distribuídos: EJB

Introdução aos Sistemas Distribuídos

Sistemas Distribuídos. Edy Hayashida

COMPUTAÇÃO DISTRIBUÍDA

Rede de computadores Cliente- servidor. Professor Carlos Muniz

INTEGRAÇÃO DE UMA REDE DE SENSORES SEM FIO COM A WEB UTILIZANDO UMA ARQUITETURA ORIENTADA A SERVIÇO

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

RMI e RPC. RPC significou um passo muito grande em direcção à

Redes de Computadores e Aplicações

TECNOLOGIAS DE SISTEMAS DISTRIBUÍDOS IMPLEMENTADAS EM JAVA: SOCKETS, RMI, RMI-IIOP E CORBA

Sumário. 1 Caracterização de Sistemas Distribuídos 1. 2 Modelos de Sistema Redes de Computadores e Interligação em Rede 81

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

COMUNICAÇÃO ENTRE PROCESSOS

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS. Aula 1- Introdução aos Sistemas Distribuídos

PROTÓTIPO DE UM SISTEMA DE IMPORTAÇÃO PARA UMA AGÊNCIA DE TRANSPORTES INTERNACIONAIS

Sistemas Distribuídos

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida

21108 Sistemas Distribuídos Teste Formativo

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado

Implementando Aplicações Distribuídas Utilizando CORBA: Um Estudo de Caso Voltado à Área de Banco de Dados

Sistemas Distribuídos

Comunicação entre processos COMUNICAÇÃO ENTRE PROCESSOS. Comunicação entre processos - troca de mensagens

Transcrição:

Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com

1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com as regras padronizadas que descrevem a sintaxe e a semântica desses serviços. Em geral, os serviços são especificados por meio de Linguagens de Descrição de Interfaces (IDLs- Interface Definition Language). Especificações adequadas de interfaces devem ser completas e neutras.

2. Comente as transparências desejáveis em Sistemas Distribuídos. Transparência de Localização Oculta o lugar em que um recurso está localizado Transparência de Acesso Oculta diferenças na representação de dados e no modo de acesso a um recurso Transparência de Falhas Oculta a falha e a recuperação de um recurso Transparência de Tecnologia Oculta tecnologias utilizadas para obter o recurso. Transparência de Concorrência Oculta a disputa pelo recurso.

3. Explique o significado de transparência de distribuição. é a capacidade que um sistema tem de ocultar entre os usuários e as diferentes aplicações de ser um sistema único de computador

4. Comente as vantagens e desvantagens do endereçamento direto, com identificadores dependentes e independentes de localização e ainda endereçamento usando servidor de nomes. Vantagem: As vezes a localização física é importante. Desvantagem: As vezes o recurso importa mais que sua localização física. No entanto, nem sempre é fácil achar o recurso. Por isso, serviços de nome são importante para ligar o recurso a sua localização de forma transparente ao usuário.

5. Qual o papel das interfaces em sistemas distribuídos? Descrever os serviços. Como eles funcionam e como devem ser acessados.

6. Considerando o exemplo de Cliente/Servidor usando a API Java para socket em comunicação UDP, apresentado em aula: 6.1. Descreva como o cliente recupera o endereço do servidor, que tipo de mecanismo e que serviço de nomes é utilizado? O cliente precisa saber previamente qual o endereço do servidor. Nenhum serviço de nome é utilizado. 6.2. Como o servidor identifica o cliente que está se comunicando com o mesmo? Através do pacote de chegada. Nele contém todas as informações necessárias ao servidor como IP do cliente e Porta da aplicação requisitante.

7. O que significa a Inexistência de relógio global em um sistema distribuído? Em quê isso impacta no desenvolvimento de softwares distribuídos? É consequência do fato do tempo necessário para a troca de mensagens não ser desprezível em sistemas geograficamente dispersos, como os sistemas distribuídos. Desenvolvedores de software distribuídos precisam estar ciente que não há sincronização natural entre esses sistemas, e portanto é preciso desenvolver mecanismos de sincronização, caso esse seja um requisito desejado da aplicação.

8. Por que é dito que um sistema distribuído ocorre Falhas independentes? Com a separação física dos sistemas distribuídos, a falha de um componente de um sistema distribuído não compromete o funcionamento dos outros componentes. Porém, essa falha pode afetar a comunicação entre os componentes.

9. Exemplifica a transparência de falhas em um sistema distribuído Caso uma mensagem não seja entregue um sistema distribuído tolerante a falhas pode retransmitir a mensagem.

10. Por que a heterogeneidade de tecnologia é um desafio em sistemas distribuídos? Porque a cada instante surgem novas tecnologias, novas linguagens de programação, novos sistemas operacionais. Para que o software distribuído não se torne obsoleto ele precisa ser escrito de forma extensível de modo que seja fácil e rápida a inserção de novas tecnologias.

11. Qual a diferença entre sistemas distribuídos síncronos e assíncronos. Os síncronos aguardam retorno, bloqueando o processo de requisição. Os assíncronos não aguardam retorno e não bloqueia o processo que fez a requisição.

12. O serviço NTP (Network Time Protocol) pode ser usado para sincronizar relógios de computador. Explique por que, mesmo com esse serviço, nenhum limite garantido é dado para a diferença entre dois relógios. Porque as redes não são determinísticas, não é possível garantir o atraso de propagação dos pacotes. O atraso de uma requisição NTP pode afetar a sincronia do relógio alvo.

13. Cite e explique vantagens e desvantagens da distribuição no contexto de sistemas distribuídos. Vantagens: Economia, Aumento da Disponibilidade, Aumento do Desempenho, Escalabilidade Desvantagens: mais fontes de falhas, maior necessidade de tratar essas falhas, mais dificuldade em manter a consistência, mais problemas de segurança

14. Qual a diferença entre um socket TCP e um socket UDP. A mesma entre o protocolo TCP e UDP.

15. O que é um webservice? é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Pode ser Localizado dinamicamente, ter sua interface descoberta automaticamente porque o serviço sabe se descrever (WSDL) e pode ser invocado através da Web

O que é um middleware? Camada de software entre o sistema operacional e a aplicação que permite a comunicação entre essas aplicações em uma ambiente distribuído.

Quando um cliente invoca um método num objeto servidor quais os principais componentes de software que podem falhar? (Dar um exemplo de uma falha para cada caso) O cliente pode falhar Requisição mal formada, desconexão do ponto de acesso. O servidor pode falhar Desligamento, Sobrecarga. O canal de comunicação pode falhar Congestionamento na rede, queda de link

18. Para que servem os stubs? (Considere o stub do cliente e o stub do servidor.) Stub do cliente é responsável por empacotar os parâmetros em uma msg e enviar a msg para a máquina do servidor. Quando a resposta chega, o resultado é copiado para cliente, e controle volta a ele Stub do servidor (skeleton) é responsável, no servidor, por desempacotar parâmetros, chamar o procedimento do servidor e retornar resposta para máquina do cliente

19. Qual a principal diferença entre RPC (Remote Procedure Call) e RMI (Remote Method Invocation)? RPC chamada de funções RMI chamada de objetos

20. Que são os stubs e os skeletons e como os mesmos são gerados? Respondido na 18. Skeletons são stubs do no servidor. Através de compiladores de linguagens de descrição de interface. Um exemplo desses compiladores é o idlj que compila interfaces descritas em idl para java.

21. Como um cliente acha o serviço remoto RMI? Fazendo uma requisição ao servidor de nomes do RMI chamada RMIRegistry.

22. Pra que serve Servidor RMI Registry? Para registrar e publicar serviços providos por servidores RMI. Um cliente interessado no serviço pode fazer uma requisição ao RMIRegistry, o mesmo retornará o objeto associado ao serviço requerido pelo cliente.

23. Qual a diferença entre um middleware orientado a objetos e um middleware orientado a mensagem? OO: primitiva de interação: invocação de método, comunicação 1 para 1. Comunicação síncrona. OM: primitiva de interação: passagem de mensagem, comunicação 1 para 1 ou 1 para N. Usa fila de mensagens e a comunicação é assíncrona.

24. O que é IDL? Qual sua finalidade? Interface Description Language é uma linguagem puramente declarativa para descrever uma interface de um serviço de forma genérica e independente de linguagem de programação. Deste modo, o serviço é fornecido de qualquer linguagem de programação (provedor) para qualquer outra linguagem de programação (consumidor).

25. O que você entende por ORB? object request broker ou Agente de Requisição de Objetos é uma parte de um middleware que permite que programadores façam chamadas a programas de um computador para outro através de uma rede de computadores. Portanto, serve como cada de comunicação de um middleware. Após a conexão de um objeto com o ORB, os métodos deste objeto tornam-se acessíveis para invocações remotas

26. O que é CORBA? De Common Object Request Broker Architecture é a arquitetura padrão criada pelo Object Management Group (OMG) para estabelecer e simplificar a troca de dados entre sistemas distribuídos heterogêneos. Existem implementações do CORBA para quase todas as linguagens de programação.

27. Quais os modelos de comunicação suportados pelos sistemas de middleware vistos em sala. Como cada um funciona? Baseada em RPC, passagem de mensagem e memória compartilhada.

28. Quais as camadas de um middleware? Para que servem cada uma dela?

29. O que é um serviço? é uma unidade de software que executa uma função de negócio; estabelece um contrato bem definido: entradas, saídas, restrições, premissas, comportamento (lógica de negócio); esconde do seu consumidor todos os detalhes de implementação, incluindo infraestrutura e lógica interna; é auto-contido, independente e modular; pode ser reutilizado em outros contextos; realiza uma função de negócio integralmente, de forma consistente; pode ser disponibilizado e administrado individualmente; pode ser combinado com outros serviços para compor um serviço de mais alto nível ou um processo de negócio;