Buscar

Programa de Ensino - Sistemas Distribuidos - IFES

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

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

Outros materiais