26/10/10 Sistemas Distribuídos 1 DAS Sistemas Distribuídos para Automação Industrial Trabalho 2ª Semestre de 2010 Professor: Joni da Silva Fraga Estagiário: Eduardo Alchieri
26/10/10 Sistemas Distribuídos 2 Enunciado Objetivo; –Exercitar conceitos relacionados com SD; Concorrência; Threads; Comunicação entre processos.
26/10/10 Sistemas Distribuídos 3 Enunciado Implementação de uma aplicação utilizando mecanismos de invocação remota de métodos: –Servidor de . Fornecerá serviços dos protocolos SMTP, POP. Linguagem de programação Java; Comunicações através de chamadas a métodos remotos (CORBA);
26/10/10 Sistemas Distribuídos 4 Enunciado O servidor deverá implementar um objeto CORBA com os seguintes métodos: –login: Invocado pelo cliente para efetuar o login; Parâmetro de entrada: o identificador do cliente; O servidor deverá criar um outro objeto CORBA (chamaremos de ProxyCliente), que também é uma thread, para atender cada cliente; Retorna uma IOR (referência CORBA) do ProxyCliente criado para atender ao cliente em questão;
26/10/10 Sistemas Distribuídos 5 Enunciado Continuação... –enviarSMTP: Invocado para comunicação entre servidores; Cada recebido pelos objetos ProxyCliente deve ser colocado em uma fila onde uma thread separada ficará encaminhando os s direcionados a outro servidor; Parâmetro de entrada: o a ser encaminhado; Quando um servidor recebe um através deste método, coloca-o na caixa de entrada do destinatário.
26/10/10 Sistemas Distribuídos 6 Enunciado O objeto ProxyCliente deve implementar os seguintes métodos: –enviar: Invocado pelo cliente para enviar um ; Parâmetro de entrada: o (tipo composto IDL); Retorna true ou false; –listar: Invocado pelo cliente para listar s; Retorna uma lista com os assuntos (“subject”) dos s destinados ao usuário em questão.
26/10/10 Sistemas Distribuídos 7 Enunciado Continuação... –ler: Invocado pelo cliente pare receber um ; Parâmetro de entrada: assunto do a ser lido; Retorna o em questão.
26/10/10 Sistemas Distribuídos 8 Enunciado Aplicação cliente: –Deverá prover uma interface para escolher entre o envio ou o recebimento de ; –Para envio, questionar: emissor, destinatário, assunto e corpo do e- mail; Estes campos devem fazer parte da struct definida em IDL para encapsular os dados do . Emissor é o próprio cliente em questão. O campo destinatário deve ser, por exemplo: (para um destinatario registrado no servidor1). –Deverá indicar se o foi enviado com sucesso ou não;
26/10/10 Sistemas Distribuídos 9 Enunciado Aplicação cliente: –Os s lidos deverão ser apresentados no dispositivo de saída padrão; Montar uma infra-estrutura com: –2 servidores e; –6 clientes, sendo 3 contas em cada servidor.
26/10/10 Sistemas Distribuídos 10 Visão Simplificada do Funcionamento Servidor 1 CORBA NS Cliente 1Cliente 2 Servidor 2 CORBA 1 – registrar no NS1 - registrar no NS 2 – buscar a IOR do Servidor 1 3 – enviar para Servidor 1 Método: enviar 4 – buscar a IOR do Servidor 2 5 – encaminhar Método: enviarSMTP 6 – buscar a IOR do Servidor 2 7 – listar s Método: listar
26/10/10 Sistemas Distribuídos 11 Enunciado Observações: –Grupos: 2 alunos; –Entrega; –Dúvidas: –
26/10/10 Sistemas Distribuídos 12 Perguntas