• Home
  • Chat IA
  • Guru IA
  • Tutores
  • Central de ajuda
Home
Chat IA
Guru IA
Tutores

·

Ciência da Computação ·

Linguagens de Programação

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Anotações de Aula - Vetores e Apontadores em C - Conceitos e Exercícios

18

Anotações de Aula - Vetores e Apontadores em C - Conceitos e Exercícios

Linguagens de Programação

UERJ

Alocacao Dinamica de Memoria em C - Guia Completo com Listas Encadeadas

7

Alocacao Dinamica de Memoria em C - Guia Completo com Listas Encadeadas

Linguagens de Programação

UERJ

Trabalho de Programação em C

2

Trabalho de Programação em C

Linguagens de Programação

UERJ

Prova LP II - Implementacao de Excecao e Manipulacao de Array em Java

1

Prova LP II - Implementacao de Excecao e Manipulacao de Array em Java

Linguagens de Programação

UERJ

Alocacao Dinamica de Memoria em C - Guia Completo e Listas Encadeadas

7

Alocacao Dinamica de Memoria em C - Guia Completo e Listas Encadeadas

Linguagens de Programação

UERJ

Trabalho 1 UERJ Contador de Palavras em C para Arquivos Texto

1

Trabalho 1 UERJ Contador de Palavras em C para Arquivos Texto

Linguagens de Programação

UERJ

Tutorial de Structs em C: Definição, Uso e Exemplos Práticos

7

Tutorial de Structs em C: Definição, Uso e Exemplos Práticos

Linguagens de Programação

UERJ

Trabalho Pratico em C - Sistema de Controle de Pedidos para Restaurante UERJ

1

Trabalho Pratico em C - Sistema de Controle de Pedidos para Restaurante UERJ

Linguagens de Programação

UERJ

Formas de Acesso a Arquivos com e Sem Buffers - Tipos e Funções Essenciais

12

Formas de Acesso a Arquivos com e Sem Buffers - Tipos e Funções Essenciais

Linguagens de Programação

UERJ

Trabalho Prático C - Sistema de Controle de Pedidos para Restaurante UERJ

1

Trabalho Prático C - Sistema de Controle de Pedidos para Restaurante UERJ

Linguagens de Programação

UERJ

Texto de pré-visualização

Trabalho Prático de Sistemas Distribuídos Tema Implementação de uma Biblioteca RPC Remote Procedure Call em Python 1 Descrição Geral O objetivo deste trabalho é implementar uma biblioteca de RPC Remote Procedure Call utilizando apenas bibliotecas padrão do Python A biblioteca deverá permitir que funções sejam chamadas remotamente simulando a operação de sistemas distribuídos reais O sistema deve ser desenvolvido de forma modular organizado em diretórios e usando Programação Orientada a Objetos POO 2 Regras e Requisitos Funcionais Seu sistema deve implementar as seguintes funcionalidades Definição de uma interface de serviço Um conjunto de funções que serão exportadas remotamente Geração de Stubs A partir da interface gerar automaticamente classes cliente stubs que encapsulam chamadas remotas SerializaçãoDesserialização de dados Os parâmetros e resultados das chamadas devem ser serializados e transmitidos pela rede Comunicação entre cliente e servidor via socket TCPIP Servidor RPC Receber requisições desserializar invocar a função e devolver o resultado serializado ao cliente Cliente RPC Conectarse ao servidor enviar a requisição e receber o resultado Binder Um serviço simples para registro e descoberta de servidores O Binder deve ter uma função startbinder exatamente com esse nome 3 Restrições de Implementação O trabalho deve ser feito exclusivamente com bibliotecas padrão do Python não usar pip install Utilize pickle ou outra ferramenta da biblioteca padrão para serializar objetos e parâmetros Defina protocolos simples para comunicação textual ex usar caracteres separadores como entre campos no Binder O servidor deve ser concorrente aceitar múltiplos clientes ao mesmo tempo utilizando threading ou multiprocessing A arquitetura deve ser modularizada em vários arquivos e diretórios conforme descrito abaixo 4 Organização dos Arquivos Seu projeto deve ter a seguinte exatamente essa estrutura bibliotecarpc rpc initpy rpcserverpy Classe que implementa o servidor RPC rpcclientpy Classe que implementa o cliente RPC rpcstubgeneratorpy Módulo para gerar stubs automaticamente rpcbinderpy Módulo do Binder para localização de serviços serializerpy Módulo de serialização e desserialização interface mathservicepy Exemplo de interface de serviço examples serverexamplepy Exemplo de servidor que registra serviço clientexamplepy Exemplo de cliente que consome o serviço READMEmd Manual de execução e organização do sistema 5 Dicas Técnicas Serialização Para serializar a chamada nome da função parâmetros e o resultado utilize o módulo Separador em protocolos Ao enviar comandos para o Binder registro e descoberta defina um protocolo simples Por exemplo REGISTERservicenameipport LOOKUPservicename E no Binder trate as mensagens separando os campos usando split Binder Deve ser um servidor socket simples que recebe comandos de registro REGISTER e consulta LOOKUP Servidor RPC Depois de registrar no Binder o servidor deve aguardar conexões receber uma chamada executar a função correspondente e devolver o resultado ao cliente Cliente RPC O cliente deve consultar o Binder para descobrir o IP e porta do serviço desejado criar a chamada serializada enviála e aguardar a resposta Gerador de Stub O stub deve gerar métodos cliente que encapsulam chamadas RPC Em uma primeira versão é aceitável gerar manualmente para focar na lógica do RPC Depois o gerador pode ser aprimorado para automatizar a criação Conexões simultâneas No servidor RPC a cada conexão recebida abra uma nova threadprocesso para tratar a chamada sem bloquear outros clientes Erro e exceção Implemente tratamento de erros por exemplo serviço não encontrado função inexistente etc 6 Critérios de Avaliação Critério Peso Funcionamento completo da biblioteca RPC 40 Implementação correta do Binder 15 Geração e uso de Stubs 15 Organização modular do código diretórios 15 Tratamento de exceções e comunicação robusta 10 Documentação e clareza do README 5 7 Entrega Deve ser implementado um exemplo de uma calculadora distribuída a ser colocado dentro do diretório example conforme mostrado na organização dos arquivos O exemplo deve usar a sua biblioteca rpc e fazer as 4 operações exatamente da seguinte forma o printResultado de 5 3 mathstubadd5 3 o printResultado de 4 2 mathstubmultiply4 2 o printResultado de 5 3 mathstubsub5 3 o printResultado de 4 2 mathstubdivide4 2 8 Entrega Entregar um arquivo zip contendo toda a estrutura de diretórios O READMEmd deve conter o Como iniciar o Binder Servidor e Cliente o Como adicionar novos serviços à biblioteca o Exemplos de execução Data limite 040525 Forma de envio Google Classroom

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Anotações de Aula - Vetores e Apontadores em C - Conceitos e Exercícios

18

Anotações de Aula - Vetores e Apontadores em C - Conceitos e Exercícios

Linguagens de Programação

UERJ

Alocacao Dinamica de Memoria em C - Guia Completo com Listas Encadeadas

7

Alocacao Dinamica de Memoria em C - Guia Completo com Listas Encadeadas

Linguagens de Programação

UERJ

Trabalho de Programação em C

2

Trabalho de Programação em C

Linguagens de Programação

UERJ

Prova LP II - Implementacao de Excecao e Manipulacao de Array em Java

1

Prova LP II - Implementacao de Excecao e Manipulacao de Array em Java

Linguagens de Programação

UERJ

Alocacao Dinamica de Memoria em C - Guia Completo e Listas Encadeadas

7

Alocacao Dinamica de Memoria em C - Guia Completo e Listas Encadeadas

Linguagens de Programação

UERJ

Trabalho 1 UERJ Contador de Palavras em C para Arquivos Texto

1

Trabalho 1 UERJ Contador de Palavras em C para Arquivos Texto

Linguagens de Programação

UERJ

Tutorial de Structs em C: Definição, Uso e Exemplos Práticos

7

Tutorial de Structs em C: Definição, Uso e Exemplos Práticos

Linguagens de Programação

UERJ

Trabalho Pratico em C - Sistema de Controle de Pedidos para Restaurante UERJ

1

Trabalho Pratico em C - Sistema de Controle de Pedidos para Restaurante UERJ

Linguagens de Programação

UERJ

Formas de Acesso a Arquivos com e Sem Buffers - Tipos e Funções Essenciais

12

Formas de Acesso a Arquivos com e Sem Buffers - Tipos e Funções Essenciais

Linguagens de Programação

UERJ

Trabalho Prático C - Sistema de Controle de Pedidos para Restaurante UERJ

1

Trabalho Prático C - Sistema de Controle de Pedidos para Restaurante UERJ

Linguagens de Programação

UERJ

Texto de pré-visualização

Trabalho Prático de Sistemas Distribuídos Tema Implementação de uma Biblioteca RPC Remote Procedure Call em Python 1 Descrição Geral O objetivo deste trabalho é implementar uma biblioteca de RPC Remote Procedure Call utilizando apenas bibliotecas padrão do Python A biblioteca deverá permitir que funções sejam chamadas remotamente simulando a operação de sistemas distribuídos reais O sistema deve ser desenvolvido de forma modular organizado em diretórios e usando Programação Orientada a Objetos POO 2 Regras e Requisitos Funcionais Seu sistema deve implementar as seguintes funcionalidades Definição de uma interface de serviço Um conjunto de funções que serão exportadas remotamente Geração de Stubs A partir da interface gerar automaticamente classes cliente stubs que encapsulam chamadas remotas SerializaçãoDesserialização de dados Os parâmetros e resultados das chamadas devem ser serializados e transmitidos pela rede Comunicação entre cliente e servidor via socket TCPIP Servidor RPC Receber requisições desserializar invocar a função e devolver o resultado serializado ao cliente Cliente RPC Conectarse ao servidor enviar a requisição e receber o resultado Binder Um serviço simples para registro e descoberta de servidores O Binder deve ter uma função startbinder exatamente com esse nome 3 Restrições de Implementação O trabalho deve ser feito exclusivamente com bibliotecas padrão do Python não usar pip install Utilize pickle ou outra ferramenta da biblioteca padrão para serializar objetos e parâmetros Defina protocolos simples para comunicação textual ex usar caracteres separadores como entre campos no Binder O servidor deve ser concorrente aceitar múltiplos clientes ao mesmo tempo utilizando threading ou multiprocessing A arquitetura deve ser modularizada em vários arquivos e diretórios conforme descrito abaixo 4 Organização dos Arquivos Seu projeto deve ter a seguinte exatamente essa estrutura bibliotecarpc rpc initpy rpcserverpy Classe que implementa o servidor RPC rpcclientpy Classe que implementa o cliente RPC rpcstubgeneratorpy Módulo para gerar stubs automaticamente rpcbinderpy Módulo do Binder para localização de serviços serializerpy Módulo de serialização e desserialização interface mathservicepy Exemplo de interface de serviço examples serverexamplepy Exemplo de servidor que registra serviço clientexamplepy Exemplo de cliente que consome o serviço READMEmd Manual de execução e organização do sistema 5 Dicas Técnicas Serialização Para serializar a chamada nome da função parâmetros e o resultado utilize o módulo Separador em protocolos Ao enviar comandos para o Binder registro e descoberta defina um protocolo simples Por exemplo REGISTERservicenameipport LOOKUPservicename E no Binder trate as mensagens separando os campos usando split Binder Deve ser um servidor socket simples que recebe comandos de registro REGISTER e consulta LOOKUP Servidor RPC Depois de registrar no Binder o servidor deve aguardar conexões receber uma chamada executar a função correspondente e devolver o resultado ao cliente Cliente RPC O cliente deve consultar o Binder para descobrir o IP e porta do serviço desejado criar a chamada serializada enviála e aguardar a resposta Gerador de Stub O stub deve gerar métodos cliente que encapsulam chamadas RPC Em uma primeira versão é aceitável gerar manualmente para focar na lógica do RPC Depois o gerador pode ser aprimorado para automatizar a criação Conexões simultâneas No servidor RPC a cada conexão recebida abra uma nova threadprocesso para tratar a chamada sem bloquear outros clientes Erro e exceção Implemente tratamento de erros por exemplo serviço não encontrado função inexistente etc 6 Critérios de Avaliação Critério Peso Funcionamento completo da biblioteca RPC 40 Implementação correta do Binder 15 Geração e uso de Stubs 15 Organização modular do código diretórios 15 Tratamento de exceções e comunicação robusta 10 Documentação e clareza do README 5 7 Entrega Deve ser implementado um exemplo de uma calculadora distribuída a ser colocado dentro do diretório example conforme mostrado na organização dos arquivos O exemplo deve usar a sua biblioteca rpc e fazer as 4 operações exatamente da seguinte forma o printResultado de 5 3 mathstubadd5 3 o printResultado de 4 2 mathstubmultiply4 2 o printResultado de 5 3 mathstubsub5 3 o printResultado de 4 2 mathstubdivide4 2 8 Entrega Entregar um arquivo zip contendo toda a estrutura de diretórios O READMEmd deve conter o Como iniciar o Binder Servidor e Cliente o Como adicionar novos serviços à biblioteca o Exemplos de execução Data limite 040525 Forma de envio Google Classroom

Sua Nova Sala de Aula

Sua Nova Sala de Aula

Empresa

Central de ajuda Contato Blog

Legal

Termos de uso Política de privacidade Política de cookies Código de honra

Baixe o app

4,8
(35.000 avaliações)
© 2025 Meu Guru®