Você está na página 1de 10

Universidade Federal de Goiás

Instituto de Informática
Bacharelado em Sistemas de Informação
Plano de Ensino

Componente Curricular
Código Disc. Nome Carga Horária
Teórica Prática
INF0317 Sistemas Distribuídos
32 32

Turma: A - 2021/2
Professor: Sergio Teixeira de Carvalho
Modalidade: Presencial
Horário de aulas: Segunda, 19h50 às 20h20; Segunda, 20h30 às 22h.

EMENTA DA DISCIPLINA

Introdução a Sistemas Distribuídos. Invocação Remota. Objetos Distribuídos. Arquiteturas Orientadas a Serviços e
utilização de serviços Web. Computação Móvel e Ubíqua. Estudo de Casos de Tópicos Emergentes em Sistemas
Distribuídos.

OBJETIVOS DA DISCIPLINA

Objetivo geral
De forma geral, a disciplina deve prover ao estudante condições de desenvolver aplicações e sistemas
distribuídos utilizando as técnicas, algoritmos e ferramentas discutidas na disciplina.

Objetivos específicos
De forma específica, a disciplina deve possibilitar aos estudantes a capacidade de:

 Explicar, descrever e discutir os principais conceitos, modelos e paradigmas de Sistemas Distribuídos;

 Explicar, descrever e discutir os principais mecanismos de transparência na comunicação distribuída;

 Explicar e descrever os principais conceitos e requisitos para sincronização e coordenação de eventos;

 Implementar aplicações distribuídas por meio de comunicação inter- processo (sockets) utilizando UDP e
TCP;

 Explicar e descrever como funciona a chamada remota a procedimentos e a invocação a objetos


distribuídos;

 Implementar aplicações distribuídas por meio da criação e instanciação de objetos distribuídos e


invocação remota de seus métodos;

 Identificar e explicar as propriedades da computação móvel e ubíqua no desenvolvimento de aplicações


distribuídas.

Versão final 03/12/2021


 Compreender os princípios da arquitetura orientada a serviços e implementar aplicações que envolvem a
utilização de serviços web.

Relação com Outras Disciplinas


Para o bom desempenho do aluno nesta disciplina é importante o embasamento teórico e prático do aluno
adquirido nas disciplinas relacionadas a Sistemas de Computação, incluindo: Arquitetura de
Computadores, Sistemas Operacionais, Redes de Computadores. Além disto, é essencial que o aluno
tenha boa habilidade de programação (Introdução a Programação, Programação Orientada a Objetos) e
bom conhecimento de estrutura de dados (Algoritmos e Estruturas de Dados 1 e 2).

PROGRAMA

1 - Caracterização de sistemas distribuídos: compartilhamento de recursos; transparências de distribuição;


serviços; principais problemas e desafios; exemplos de sistemas distribuídos; aplicações distribuídas.
2 - Modelos de sistema: arquitetura geral de sistemas distribuídos e middleware (cliente-servidor, peer-to-peer,
stream, agentes móveis, arquiteturas orientadas a serviço, arquiteturas publish-subscribe); requisitos de projeto
(desempenho, qualidade de serviço, confiabilidade, transparência); modelos de interação; modelos de falha;
modelos de segurança.

3 - Processos em sistemas distribuídos: comunicação interprocessos (API de sockets, representação de dados);


processos clientes e processos servidores; uso de threads; código móvel e agentes, protocolo requisição-resposta,
comunicação em grupo).
4 - Objetos distribuídos: chamada de procedimentos remotos (RPC); modelo de objetos distribuídos (interfaces,
referência de objeto, operações, exceções, chamada de métodos remotos); uso e implementação de RMI;
plataformas de middleware e processamento distribuído aberto; eventos e notificações.

5 - Serviços de nomes e serviços de diretórios: publicação e descoberta de serviços, principais tecnologias


disponíveis.

6 – Algoritmos distribuídos: relógios lógicos, estado global, coordenação, consenso, exclusão mútua e eleição.

7 - Replicação e tolerância a falhas: comunicação confiável; replicação e manutenção de consistência entre


réplicas; transações distribuídas; comunicação de grupo.
8 - Modelos de sistemas distribuídos: sistemas peer-to-peer; serviços web, microserviços e REST; computação em
nuvem; computação móvel e ubíqua.

LEGENDA DOS PROCEDIMENTOS DIDÁTICOS


Legenda Descrição Objetivo
AEX Aula teórica Transmitir conhecimento de forma remota em ambientes virtuais (usando
preferencialmente o Google Meet) ou presencial (usando quadro e slides).
AP Aula prática Proporcionar ao aluno a aplicação prática do conteúdo ministrado em aula
teórica.
ED Estudo dirigido Desenvolver a capacidade analítica, capacidade de síntese, de avaliação crítica
e de análise.
OTR Outros Reunir procedimentos complementares.
RE Aula teórica com Desenvolver o raciocínio lógico, criatividade e capacidade de abstração e a
resolução de capacidade de identificar, analisar e projetar soluções de problemas.
exercícios

Versão final 03/12/2021


SE Seminários Desenvolver o raciocínio lógico, criatividade, capacidade de abstração,
capacidade para identificar, analisar, projetar soluções de problemas, a
capacidade de comunicação oral e a capacidade de trabalhar em grupo.
TG Trabalho em Desenvolver a capacidade de comunicação oral e escrita. Capacidade de
grupo trabalhar em grupo.

FERRAMENTAS E RECURSOS PARA O ENSINO REMOTO


Fórum Pode ser utilizado isolado ou associado a outras ferramentas em atividades dirigidas. Nele, os
participantes podem expressar sua opinião. É uma ferramenta assíncrona. Sua utilização
considera aspectos qualitativos e quantitativos.
Diário Permite aos participantes postarem suas reflexões acerca de um tema e o relato, de modo
assíncrono, do seu processo de aprendizagem. Possibilita a interação apenas entre estudante e
professor-tutor.
Wiki Ferramenta assíncrona de escrita colaborativa. Permite edição coletiva dos documentos e
atualização dinâmica. É necessário estar articulada a outra ferramenta, como o fórum e o chat,
para que os participantes possam organizar suas ideias e traçar suas metas. Será usada em
algumas tarefas.
Chat Ferramenta de comunicação síncrona, exigindo que os participantes da discussão estejam
conectados simultaneamente, de modo síncrono, para que o processo de comunicação seja
efetuado; bate-papo por meio de aplicativos de instant message (exemplo: Whatts app,
Telegram, Discord, etc.).
Lista de Ferramentas de comunicação assíncronas. Caracteriza-se pelo recebimento e envio de
discussão mensagens por e-mail.
Blog/ Videoblog Páginas pessoais da Internet cujo mecanismo possibilita registrar e atualizar em ordem
cronológica, opiniões, fatos, emoções, imagens, além de outros conteúdos que se queira
disponibilizar;
Tarefa Individual ou em Grupo. Consiste na descrição ou no enunciado de uma atividade a ser
desenvolvida pelo participante, de modo assíncrono, que pode ser enviada em formato digital
ao servidor da plataforma e será verificada posteriormente pelo professor-tutor;
Aula remota Aula (preleção, demonstração, orientação) mediada por ambiente virtual em que professor e
estudantes participam de modo síncrono, contendo recursos de interatividade (áudio, vídeo
e/ou chat). Exemplos: Google Meet, MS Teams, Zoom, BBB, Whereby, etc.)
Questionário Ferramenta assíncrona de recepção de materiais, possibilitando ao estudante submeter
arquivos digitais, para posterior avaliação e feedback do professor.
Podcast/
Videocast
Ato de difundir mensagens de áudio e/ou vídeo pela Internet (ou de modo listado) em
servidores de vídeos (Youtube, SnapTube, etc.). Permite ao participante criar arquivos de
áudio ou vídeo para publicação e/ou difusão de conhecimentos, episódios, demonstrações, etc.

Enquete online
Recurso de interação para obtenção de respostas acerca de um tema, pesquisa ou questão posta
no modo síncrono.

Versão final 03/12/2021


PROCEDIMENTOS DIDÁTICO-PEDAGÓGICOS
Carga Horária Total da Disciplina: 64 h
UNIDADE 1: Introdução a Sistemas Distribuídos; Processos em Carga horária: 16h
Sistemas Distribuídos
Objetivo da unidade: Contextualizar os fundamentos de Sistemas Período: 06/12 a 23/12
Distribuídos e caracterizar os processos em Sistemas Distribuídos.
Produção
Tipo de Forma de
#Aulas Atividade proposta do Duração
interação/recurso Avaliação
estudante
AEX: Apresentação da
Disciplina e Plano de Assiduidade,
Aula remota Participação
Ensino. Introdução a participação
4 síncrona; chat; na aula; 06/12 [4h]
Sistemas Distribuídos; [1,0].
Enquete. Enquete.
introdução a processos Entrega da
distribuídos. Enquete.
Assiduidade,
AEX, RE: Processos em Aula remota Participação participação
4 sistemas distribuídos. síncrona; chat; na aula; [1,0]. 13/12 [4h]
Enquete. Enquete. Entrega da
Enquete.
AEX, RE: Processos em
sistemas distribuídos: Assiduidade,
processos clientes e processos Aula remota Participação participação
4 servidores; comunicação síncrona; chat; na aula; [1,0]. 20/12 [4h]
interprocessos (API de Enquete. Enquete. Entrega da
sockets, representação de Enquete.
dados)
Resolução
de Entrega dos
exercícios e exercícios e
AEX, RE, SE: Processos em problemas; problemas.
sistemas distribuídos: uso de Aula remota
4 Resolução Entrega da 23/12 [4h]
threads, sockets, assíncrona.
concorrência. da Avaliação
Avaliação Formativa 1
Formativa [7,0]
1.

Versão final 03/12/2021


PROCEDIMENTOS DIDÁTICO-PEDAGÓGICOS

UNIDADE 2: : Processos e Arquitetura de Sistemas Distribuídos


Carga horária: 16 h
Objetivo da unidade: Conhecer os modelos e arquiteturas de Sistemas Distribuídos e implementar a Período: 17/01 a 07/02
comunicação interprocessos.
Tipo de Produção do estudante
#Aulas Atividade proposta Forma de Avaliação Duração
interação/recurso
AEX, RE: Processos em sistemas
distribuídos: processos clientes e Assiduidade, participação.
processos servidores; uso de threads; Participação presencial na aula; resolução de
4 Aula presencial. Entrega dos problemas 17/01 [4h]
código móvel e agentes, protocolo problemas.
requisição-resposta, comunicação em resolvidos [1,0].
grupo).
AEX, RE: Arquitetura geral de sistemas
distribuídos e middleware (cliente-
servidor, peer-to-peer, stream, agentes Assiduidade, participação.
Participação presencial na aula; resolução de
4 móveis); requisitos de projeto Aula presencial. Entrega dos problemas 24/01 [4h]
problemas.
(desempenho, qualidade de serviço, resolvidos [1,0].
confiabilidade, transparência).

AEX, RE: Arquitetura geral de sistemas


distribuídos e middleware (arquiteturas Assiduidade, participação.
Participação presencial na aula; resolução de
4 orientadas a serviço, arquiteturas Aula presencial. Entrega dos problemas 31/01 [4h]
problemas.
publish-subscribe). resolvidos [1,0].

Assiduidade, participação.
AEX, RE, SE: modelos de interação; Participação presencial na aula; resolução de Entrega dos problemas
4 modelos de falha; modelos de Aula presencial. problemas. resolvidos. 07/02 [4h]
segurança. Resolução da Avaliação Formativa 2. Entrega da Avaliação
Formativa 2 [7,0].
PROCEDIMENTOS DIDÁTICO-PEDAGÓGICOS
UNIDADE 3: Objetos e Serviços Distribuídos – Comunicação e Nomeação
Carga horária: 16 h
Objetivo da unidade: Conhecer e implementar a comunicação entre objetos distribuídos. Período: 14/02 a 14/03

Tipo de Produção do estudante


#Aulas Atividade proposta Forma de Avaliação Duração
interação/recurso
AEX, RE: Chamada de procedimentos Assiduidade, participação.
Participação presencial na aula; resolução de
4 remotos (RPC). Modelo de objetos Aula presencial. Entrega dos problemas 14/02 [4h]
distribuídos.
problemas.
resolvidos [1,0].
AEX, RE: Modelo de objetos
distribuídos (interfaces, referência de Assiduidade, participação.
objeto, operações, exceções, chamada Participação presencial na aula; resolução de
4 Aula presencial. Entrega dos problemas 21/02 [4h]
de métodos remotos); uso e problemas.
implementação de RMI; plataformas de resolvidos [1,0].
middleware; eventos e notificações.
AEX, RE: Serviços de nomes e
serviços de diretórios: publicação e Assiduidade, participação.
Participação presencial na aula; resolução de
4 descoberta de serviços, principais Aula presencial. Entrega dos problemas 07/03 [4h]
tecnologias disponíveis. Comunicação
problemas.
resolvidos [1,0].
indireta.
Assiduidade, participação.
AEX, RE, SE: Comunicação Participação presencial na aula; resolução de Entrega dos problemas
4 indireta (publish-subscribe; Aula presencial. problemas. resolvidos [1,0]. 14/03 [4h]
comunicação em grupo). Resolução da Avaliação Formativa 3. Entrega da Avaliação
Formativa 3 [7,0].
PROCEDIMENTOS DIDÁTICO-PEDAGÓGICOS

UNIDADE 4: Modelos de Sistemas Distribuídos e Algoritmos Distribuídos


Carga horária: 16 h
Objetivo da unidade: Conhecer, analisar algoritmos distribuídos.
Período: 21/03 a 11/04
Tipo de Produção do estudante
#Aula Atividade proposta Forma de Avaliação Duração
interação/recurso
AEX, RE: Serviços web, microserviços Assiduidade, participação.
Participação presencial na aula; resolução de
4 e REST; computação em nuvem. Aula presencial. Entrega dos problemas 21/03 [4h]
problemas.
resolvidos [1,0].
Assiduidade, participação.
AEX, RE: computação móvel e Participação presencial na aula; resolução de
4 Aula presencial. Entrega dos problemas 28/03 [4h]
ubíqua; aplicações ubíquas. problemas.
resolvidos [1,0].
AEX, RE: Algoritmos de coordenação, Assiduidade, participação.
Participação presencial na aula; resolução de
4 consenso, exclusão mútua e eleição. Aula presencial. Entrega dos problemas 04/04 [4h]
problemas.
resolvidos [1,0].
Assiduidade, participação.
Participação presencial na aula; resolução de Entrega dos problemas
AEX, RE: Replicação e tolerância a
4 Aula presencial. problemas. resolvidos. 11/04 [4h]
falhas.
Resolução da Avaliação Formativa 4. Entrega da Avaliação
Formativa 4 [7,0].
PROCEDIMENTOS METODOLÓGICOS

O processo de ensino-aprendizagem será orientado pela aplicação de diversas técnicas, de modo mesclado, coerente com os
objetivos de aprendizagem e tipo de conteúdo. A disciplina será desenvolvida com as aulas expositivas dialogadas, debates
e aulas práticas, por meio de realização de atividades remotas síncronas e assíncronas, utilizando o Google Meet e o
Ambiente Virtual de Aprendizagem (AVA) Plataforma Turing (Moodle), e por meio de atividades presenciais em sala de
aula. A dedicação do estudante na resolução das atividades desenvolvidas dentro e fora do AVA, bem como a revisão dos
conteúdos apresentados e a supervisão do professor são fundamentais para que o aproveitamento seja satisfatório.

Atividades Remotas

 Período de aulas remotas: 06/12/2021 até 23/12/2021.

 Acesso às atividades síncronas e assíncronas:

◦ Atividades síncronas: Google Meet – https://meet.google.com/rgb-mxdk-pwu

◦ Atividades assíncronas (AVA): Plataforma Turing/INF/UFG.

 Frequência: a frequência do aluno será computada por meio da sua produção (coluna Produção do Estudante nos
Procedimentos Didáticos-Pedagógicos), tantos nas atividades síncronas quanto nas atividades assíncronas.

 Horário para atendimento (síncrono): Quartas, 18h às 19h no mesmo link das atividades assíncronas.

Atividades Presenciais

 Período de aulas presenciais: 17/01/2022 até 11/04/2022.

 Acesso às atividades presenciais: sala de aula em um dos Centros de Aulas do Câmpus Samambaia com uso
obrigatório de máscara, conforme normativas vigentes na UFG.

 Frequência: a frequência do aluno será computada por meio do seu comparecimento presencial às aulas.

 Horário para atendimento (sala 228/INF): quartas das 18h às 19h.

 Retomada presencial: é obrigatório o uso de máscara em todas as atividades presenciais, conforme normativas
vigentes na UFG. Além disso, todos os alunos devem observar e seguir as recomendações da UFG quanto à
retomada das atividades acadêmicas disponíveis no site https://retormada.ufg.br.

Quanto à proteção dos direitos autorais, de imagem e voz do docente e estudantes:


De acordo com orientações veiculadas pela Pró-Reitoria de Graduação (PROGRAD/UFG), abaixo estão
elencadas algumas medidas/resoluções, as quais deverão ter a ciência e concordância de todos os envolvidos
nas atividades de ensino previstas para esta disciplina:
1) No desenvolvimento das atividades remotas emergenciais, algumas poderão ser gravadas. Dessa forma,
poderá haver a captura de imagem e voz do professor e dos estudantes. A gravação das atividades remotas
ocorrerá a partir da anuência conjunta do docente responsável pela disciplina e os estudantes nela regularmente
matriculados.
2) Poderão ter acesso ao ambiente virtual de ensino, apenas o docente e os estudantes regularmente
matriculados nesta disciplina. Depende de autorização do professor, o acesso de terceiros ao ambiente virtual,
que porventura, não estejam diretamente envolvidos com as atividades nela desenvolvidas.
3) Os materiais didáticos, que porventura, forem disponibilizados pelo docente, não poderão ser objeto de
divulgação ao público externo, seja por meio de redes sociais, filmagens, vídeos, impressos de fotografias e
quaisquer outros meios de publicação e comunicação.
4) O material didático produzido e fornecido pelo docente deve ser utilizado apenas para fins educacionais e
pedagógicos da disciplina.
5) É proibida a reprodução e/ou a distribuição de trechos ou da integralidade das aulas gravadas sem a
autorização expressa do professor.

As metodologias de ensino-aprendizagem e os recursos educativos empregados neste componente curricular incluem:


 Exposição verbal e dialogada dos conteúdos teóricos, de forma síncrona (Google Meet) e assíncrona (fóruns);
 Análise crítica baseada em vídeos e textos;
 Estudo de texto;
 Sala de aula invertida;
 Retomada de conteúdo;
 Resolução comentada de questões;
 Seminários;
 Trabalho em equipe com tarefas que exigem a colaboração de todos;
 Atividades avaliativas individuais com questões objetivas e discursivas.

CRITÉRIO DE AVALIAÇÃO

A avaliação de desempenho do aluno na disciplina é determinada pela entrega das atividades programadas, em
conformidade com o cronograma, e com as notas obtidas nas unidades avaliativas.
As unidades avaliativas compreendem as atividades desenvolvidas no período programado. Assim, temos 05 unidades
avaliativas:

 Unidade 01: (soma das atividades programadas) * 0,30

 Unidade 02: (soma das atividades programadas) * 0,25

 Unidade 03: (soma das atividades programadas) * 0,25

 Unidade 04: (soma das atividades programadas) * 0,20

Toda atividade apresenta o valor máximo de 10 pontos, correspondente ao somatório das pontuações obtidas na respectiva
unidade. Para o caso da atividade em grupo, o aluno receberá uma pontuação individual e uma pontuação do grupo, e a
pontuação final será a média aritmética simples de ambas.

Fórmula de cálculo da Média Final (MF)*:

 soma das unidades avaliativas 01, 02, 03 e 04.

Observações:
(1) Estará aprovado o(a) aluno(a) que atingir nota final (NF) igual ou superior a 6.0 (seis pontos) e frequência às atividades
acadêmicas igual ou superior a 75% da carga horária da disciplina.
(2) Será atribuída a nota 0 (zero) a qualquer atividade avaliativa não realizada na data estipulada.
(3) Todas as atividades assíncronas são supervisionadas. As atividades supervisionadas referem-se às atividades práticas e
devem ser desenvolvidas segundo Resolução CNE/CES 03/2007 de 2 de julho de 2007.
(4) Os alunos que se envolverem em plágio (desvios de conduta, seja como facilitador ou como beneficiário) receberão
nota 0 (zero) para a atividade correspondente. O caso poderá ser levado ao conhecimento daCoordenação do Curso, do
Núcleo Docente Estruturante e do Conselho Diretor do Instituto de Informática para as providências cabíveis e legais. O
pedido de segunda chamada deverá ser protocolado conforme condições estipuladas na Resolução CONSUNI específica
(RGCG) em vigor.
(5) Este Plano está amparado pelas normativas e portarias emanadas dos órgãos governantes superiores, pelas resoluções,
instruções normativas e diretrizes didático-pedagógicas da UFG e do INF, em vigor, que definem e regulam o
funcionamento do ensino remoto excepcional.

BIBLIOGRAFIA

Bibliografia Básica
 ANDREWS, G. R. Foundations of multithreaded, parallel, and distributed programming Reading
(Mass.): Addison-Wesley, 2000. xx, 664 p. 
 COULOURIS, G. F. et al. Distributed Systems: Concepts and Design. 5. ed., Addison-Wesley, 2012.
Reading (Mass.): Addison-Wesley, 2000. 664 p. 
 KUROSE, J. F.; ROSS, K. Redes de Computadores e a Internet. 6. ed. Pearson Education,
2013.ANDREWS, G. R. Foundations of Multithreaded, Parallel, and Distributed Programming.
Pearson. 2000.
Bibliografia Complementar
 BIRMAN, K. P. Reliable distributed systems: technologies, web services, and applications, New York:
Springer, 2005. ISBN 0387215093. 
 CLARK, M. et al. Web services business strategies and architectures, Chicago, Illinois: Expert Press,
2002. ISBN 1904284132. 
 JOSUTTIS, N. M. SOA in practice. Sebastopol: O'Reilly, 2007. ISBN 0596529554.  LYNCH, N. A
Distributed algorithms San Francisco: M. Kaufmann, 1997. xxiii, 872il. (The Morgan Kaufmann series
in data management systems).
 TANENBAUM, A. S.; STEEN, M. van. Distributed Systems: Principles and Paradigms. 2. ed.,
Prentice Hall, 2006.

Bibliografia Sugerida
 TANENBAUM, Andrew S.; van STEEN, Maarten: Distributed systems: principles and
paradigms. 3rd Edition, 2018.

Você também pode gostar