Uniplac - Graduação - Sistemas de Informação - Sistemas Distribuídos - Plano de Ensino





PLANO DE ENSINO

2024/1


CURSO

Sistemas de Informação

ESTRUTURA CURRICULAR

Sistemas de Informação Par786/17

PROFESSOR

Luciano Coelho


DISCIPLINA

Nome

Cód.

Sem.

Créditos

C. Horária

Sistemas Distribuídos

0-18440

4

80


EMENTA

Terminologia, sistemas centralizados, distribuídos, paralelos ou de alto desempenho. Paradigmas de comunicação de processos. Programação de aplicações Cliente/Servidor com Sockets e TCP/IP. Sincronização em sistemas distribuídos. Objetos distribuídos.


OBJETIVO GERAL

Ao termino da disciplina o aluno estará apto a entender, modelar e desenvolver uma aplicação distribuída por meio de sockets. Também deverá integrar sistemas de informação por meio de WEB Services. Por fim, o aluno também entenderá a necessidade de pensar na segurança como qualidade essencial para projetar sistemas distribuídos.

OBJETIVOS ESPECÍFICOS

Compreender os principais conceitos sobre os sistemas distribuídos. Conhecer os modelos arquiteturais para sistemas distribuídos. Entender a comunicação entre processos. Desenvolver aplicações Cliente/Servidor. Implementar a arquitetura de aplicações baseadas em objetos distribuídos. Compreender e desenvolver a programação distribuída baseada em serviços (web services). Compreender e desenvolver a programação baseada em microservices.


CONTEÚDO PROGRAMÁTICO

UN.

CONTEÚDOS

C.H.

1

Apresentação da disciplina
Apresentação do plano de ensino
Apresentação Projeto Integrador

2

2

= Introdução aos tipos de sistemas:
• Centralizados, distribuídos, paralelos ou de alto desempenho.

= Introdução aos sistemas distribuídos
• Motivação, objetivos e desafios.
• Propriedades básicas: tornar recursos acessíveis, transparência, flexibilidade, confiabilidade e escalabilidade.
• Exemplos de sistemas distribuídos.

= Modelos de sistema
• Arquitetura geral de sistemas distribuídos: middleware, cliente-servidor, peer-to-peer, agentes móveis.
• Requisitos de projeto: desempenho, qualidade de serviço, confiabilidade, transparência.
• Modelos de interação.
• Modelos de falha.
• Modelos de segurança.


= Arquiteturas de Sistemas Distribuídos
• Sistemas de computação distribuídos
o Cluster, grades computacionais, cloud
o SaaS, PaaS e IaaS
o Sistemas distribuídos ubíquos e computação em névoa
• Sistemas de informação distribuídos
• Arquitetura centralizada, descentralizada e híbrida

= Segurança em sistemas distribuídos
• Principais aspectos de segurança: confidencialidade, integridade, autenticação, disponibilidade, não-repúdio.
• Criptografia simétrica e assimétrica.
• Autenticação e Autorização.
• Gestão de identidades.
• Assinaturas e certificados digitais.

= 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.

= Algoritmos distribuídos, sincronismo
• Conceitos relacionados ao tempo em sistemas distribuídos.
• Relógios lógicos.
• Sincronização de relógios físicos.
• Estado global.
• Exclusão mútua distribuída.
• Eleições, comunicação de grupo.
• Consenso.
• Transações distribuídas.

= Serviços de nomes e diretórios
• Nome, endereço e identificador.
• URI, URL e URN.
• Espaço de nomes e contexto.
• Âmbito global e local.
• Centralizada, espaço de nome vasto e hierárquico.
• Domain Name System – DNS.
• Multicast DNS (mDNS).
• DNS Service Discovery (DNS-SD).
• Serviço de diretórios (LDAP).

18

3

= Programação de aplicações Cliente/Servidor
• Comunicação Inter processos
• Sockets
• Representação e transmissão de dados
• Processos clientes e processos servidores
• Caracterização de middleware com relação a persistência, sincronismo e fluxo
• Threads
• Código móvel e agentes
• Uso e implementação de sockets
• Unicast, multicast, broadcast
• TCP, UDP, IP

= 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.
• Comunicação em grupo.
• Comunicação por eventos.
• CORBA
• Eventos e notificações

28

4

= Pratica de programação
= Contêineres
= Message broker
= Microservices

= Web Services
• Arquitetura Orientada a Serviços
• Representação dos dados em XML e JSON
• Padrões de Web Services
• SOAP, WSDL, UDDI
• REST
• Sincronização

32

 

TOTAL DE HORAS

80 h

Avaliação 02 será Processual e Continua acontecendo com base nas entregas das atividades realizadas em todas as aulas. A recuperação dessa atividade acontecera automaticamente com uma nova entrega da atividade no prazo máximo de 7 dias após a inicial estipulada. Os materiais da disciplina e atividades serão disponibilizados exclusivamente na plataforma Google Classroom, o código da turma será disponibilizado via grupo da turma no WhatsApp. A frequência deverá ser indicada pelo(a) aluno(a), presencialmente, nos dois momentos que a chamada for realizada durante a aula. A ausência do(a) aluno(a) no período da aula deverá ser justificada e protocolada seguindo as resoluções da universidade.


Estratégias:AGC, AEX, APE, ARM, ED, EX, EC, LAB


SISTEMÁTICA DE AVALIAÇÃO

CONHECIMENTOS

Testes de conhecimento, atividades propostas.

HABILIDADES

Eficiência e eficácia das soluções apresentadas para a resolução das atividades propostas. Articula saberes teóricos e práticos para a resolução de problemas.

ATITUDES

Pontualidade, assiduidade, contribuição para o bom andamento das aulas, participação nas atividades propostas, proatividades, trabalho em equipe, responsabilidade, respeito, sigilo profissional, postura profissional, uso das tecnologias em sala somente com foco educacional.

OUTRAS

DATAS PREVISTAS

Avaliação

Unidades

C

H

A

Valor

Data

Recuperação

Sim

Data

Avaliação 01 – Avaliação Integrativa

todas

x

x

x

3

A definir

Avaliação 02 – Laboratórios Práticos (processual e continua)

Todas

x

x

x

4.5

A definir

x

A definir

Avaliação 03 –teórica/seminário

Todas

x

x

x

2.5

A definir

x

A definir


 BIBLIOGRAFIA BÁSICA

1

COULOURIS, George; DOLLIMORE, Jean; KINDBERG, Tim. Sistemas distribuídos: conceitos e projeto. 4.ed. Porto Alegre: Bookman, 2008. 784 p. ISBN 9788560031498

2

TANENBAUM, Andrew S.; BOS, Herbert. Sistemas operacionais modernos. 4. ed. São Paulo: Pearson Education, 2016. 695 p. ISBN 858791857-5.

3

MONTEIRO, Eduarda Rodrigues et al. Sistemas distribuídos. Porto Alegre: SAGAH, 2020. 1 recurso online. ISBN 9786556901978.


 BIBLIOGRAFIA COMPLEMENTAR

1

TANENBAUM, Andrew S.; WETHERALL, David. Redes de computadores. 5. ed. Rio de Janeiro: Editora Campus, 2011. 923 p. ISBN 9788576059240

2

RICHARDSON, Leonard. Restful: serviços web. Rio de Janeiro: Alta Books, 2007. 336p. ISBN 9788576081715

3

OZSU, Tamer M.; VALDURIEZ, Patrick; SOUZA, Valdenberg D. de. Princípios de sistemas de bancos de dados distribuídos: Tradução da 2ª edição. Rio de Janeiro: Editora Campus, 2001. 711 p. ISBN 853520713-9

4

RUSS BASIURA & MIKE BATONGBACAL & BRANDON BOHLING & ET AL. Professional ASP.NET Web Services. 1. Makron Books 2003 ISBN 8534614792

5

RIBEIRO, Uirá. Sistemas distribuídos: desenvolvendo aplicações de alta performance no Linux. Rio de Janeiro: Ed. Axcel Books, 2005. 380 p. ISBN 8573232285

obs:

QR Code

Para a atenticação do plano de ensino

Assinatura
Fone: 55 49 32511022
Av. Castelo Branco, nº170, Bairro Universitário - Lages - SC - Brasil
© 2024 - Universidade do Planalto Catarinense, desenvolvido por: Núcleo de Informática