Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso: Bacharel em Sistemas de Informação Unidade Curricular: Sistemas Distribuídos Professor(es): Sérgio Nery Simões Período Letivo: 2016/1 (6º. Período) Carga Horária: 60h OBJETIVOS Gerais: • Caracterizar um sistema distribuído; • Conhecer os principais problemas associados à distribuição de sistemas; • Analisar os principais mecanismos de comunicação remota entre processos; • Experimentar a construção de pequenos sistemas distribuídos. Específicos: • Diferenciar sistemas convencionais de sistemas distribuídos; • Apontar os sistemas distribuídos presentes no cotidiano do usuário de sistemas de informação; • Conhecer os principais modelos de Arquitetura e Interação de sistemas distribuídos; • Definir o conceito de Plataforma e Middleware System; • Aplicar tecnologias de comunicação remota inter-processo – Soket, P2P e RMI • Conhecer os padrões de distribuição de objetos e componentes - Middleware systems; • Aplicar tecnologias de distribuição de objetos; • Conhecer as tecnologias de WEB distribuição de sistemas; • Analisar as principais questões associadas à segurança de sistemas distribuídos; EMENTA Caracterização e Desafios dos Sistemas Distribuídos. Modelos de Arquiteturas: Peer-to-Peer, Cliente-Servidor e variações. Arquiteturas Orientadas a Serviço. Modelos de Interação: síncrona (online e tempo real) e assíncrona (offline/batch). Definição e Exemplos de Midleware: RPC, CORBA, JAVA RMI, JAVA EJB, etc. Processamento Distribuído Aberto (ODP). Suporte da Plataforma Operacional: Multiprocesso, Multithread, Concorrência, Paralelismo e Controle de Acesso a Recursos. Tolerância a Falha (conceitos, arquiteturas e algoritmos); Segurança em Sistemas Distribuídos (criptografia, autenticidade, integridade). Web Services e Middleware baseado em XML. Sistemas Multiagentes (MAS). Fundamentos de programação distribuída: Socketc (TCP/IP), RPC e Java RMI. PRÉ-REQUISITO (SE HOUVER) Sistemas Operacionais e Redes de Computadores CONTEÚDOS CARGA HORÁRIA • Parte I - Fundamentos • Visão Geral de Arquitetura de Software; • Caracterização e Desafios dos Sistemas Distribuídos. • Modelos de Arquiteturas: Peer-to-Peer, Cliente-Servidor e variações. • Arquiteturas Orientadas a Serviço. • Modelos de Interação: síncrona (online e tempo real) e assíncrona (offline/batch). 8h • Parte II – Sistemas Cliente/Servidor e a Internet • Modelo de Programação da Internet. • Serviços da Internet: DNS, NTP, FTP, WEB e SMTP. • SOCKET: Portas e Endereços; estrutura de dados e modelo de funcionamento (Stream e Datagrama); • Programação Cliente/Servidor com Socket em Java 9h • Parte III– Sistemas Peer-to-Peer • Modelos de Sistemas Peer-to-Peer (P2P) • Serviços P2P na Internet: Torrente, Emule, KAASA, MSN, Skype • Programação P2P em Java: JXTA 7h • Parte IV– Middleware Systems • Definição e Exemplos de Midleware: RPC, CORBA, JAVA RMI, JAVA EJB, etc. • Processamento Distribuído Aberto (ODP). • Web Services e Middleware baseado em XML. • O Exemplo do JAVA RMI; • Middleware Systems Modernos: OSGi e ESB; • Sistemas Multiagentes (MAS). 18h • Parte V– Concorrência e Tolerância a Falha • Suporte da Plataforma Operacional: Multiprocesso, Multithread, Concorrência, Paralelismo e Controle de Acesso a Recursos. • Tolerância a Falha (conceitos, arquiteturas e algoritmos); • Segurança em Sistemas Distribuídos (criptografia, autenticidade, integridade) 18 ESTRATÉGIA DE APRENDIZAGEM • Aulas Expositivas Interativas • Estudo em grupo com apoio de referências bibliográficas • Aplicação de lista de exercícios • Atendimento individualizado. • Prática em laboratório RECURSOS METODOLÓGICOS / AMBIENTE VIRTUAL Quadro branco, projetor multimídia, gerenciador de máquinas virtuais, sistemas operacionais, simulador de redes de computadores e ferramentas de desenvolvimento. Esta disciplina contém atividades virtuais, apoiadas pelo ambiente AVA: http://moodle.ifes.edu.br/moodle/course/view.php?id=1392 (senha: BSI_SD) AVALIAÇÃO DA APRENDIZAGEM Critérios Verificação do desempenho individual avaliando se o aluno assimilou os conceitos e as atividades solicitadas de acordo com as técnicas de aprendizagem previstas. Instrumentos 3 Provas e 2 trabalhos. Pontuação (total de 100 pontos) • Prova 1 = 20 pontos • Prova 2 = 20 pontos • Prova 3 = 20 pontos • Trabalho Parte 1 = 15 pontos • Trabalho Parte 2 = 25 pontos Bibliografia Básica (títulos; periódicos etc.) • ANDREW S. TANENBAUM, MAARTEN VAN STEEN. Sistemas Distribuídos - princípios e paradigmas - 2ª EDIÇÃO • GEORGE COULOURIS, JEAN DOLLIMORE E TIM KINDBERG. Sistemas Distribuídos, - conceitos e projeto 4.ED. Bibliografia Complementar (títulos; periódicos etc.) • JORGE CARDOSO. Programação de Sistemas Distribuídos em Java. ISBN 978-972-722-601-6 • VERÍSSIMO P., L. RODRIGUES, Distributed Systems for Systems Architects. Kluwer Academic Publishers, 2001. 623p. ISBN 0-7923-7266-2. • Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea. Java Concurrency in Practice. 1ª. São Paulo: Addison-Wesley Professional, 2006. • BOLTON, Fintan; E WALSHE, Eamon. Pure Corba 3.1ª ed. São Paulo: SAMS,2000 • ALVES, ALEXANDRE DE CASTRO. OSGi In Depth. 1ª ed.Cambridge (USA): O'Reilly Media, 2011 • CIBRARO, Pablo; CLAEYS, Kurt e GRABNER, Johann. Professional WCF 4 - Windows Communication. 1ª ed.San Francisco: JOHN WILEY CONSUMER, 2010
Compartilhar