Última atualização: 30/11/00
Índice |
Objetivos do Curso
Calendário Avaliação Bibliografia Sites de Interesse |
O objetivo deste curso é apresentar diferentes mecanismos que dão apoio ao desenvolvimento de aplicações distribuídas e capacitar o aluno para implementar tais aplicações. O curso tem um enfoque bastante prático que será exercitado através de desenvolvimento de aplicações simples usando diferentes mecanismos apresentados. Como requisito, o aluno deve ter uma base de programação em C++ ou Java.
Este calendário será sempre atualizado com os detalhes de cada assunto e poderá ser modificado de acordo com o aproveitamento da turma.
Aula | Data | Assunto | Referências |
---|---|---|---|
1 | 08/08 | Apresentação do curso. Objetivos, programa, avaliações. | |
2 | 22/08 | Aspectos de Programação Distribuída
Apoio à Programação Distribuída - Bibliotecas do Sistema Operacional - Linguagens de Programação Distribuída - Plataformas de Distribuição de Objetos Conceitos Básicos. - Concorrência - Distribuição - Paralelismo - Sistema Distribuído - Aplicações Distribuídas - Paralelismo X Distribuição Exemplos de Aplicações Distribuídas | |
3 | 24/08 | Programação Distribuída
Bibliotecas do Sistema Operacional Bibliotecas + Ferramentas Linguagens de Programação Distribuídas Plataformas de Distribuição de Objetos Classes de Aplicações Distribuídas - Inerentemente Dinâmicas - Aplicações Tolerantes a Falhas - Aplicações usando especialização funcional Requisitos para Suporte a Programação Distribuída Vantagens de Sistemas Distribuídos Desvantagens de Sistemas Distribuídos | |
4 | 29/08 | Comunicação entre Processos
- Comunicação Síncrona - Comunicação Assíncrona Modelos de Estruturação de Programas Distribuídos - Modelo Cliente-Servidor ...... Tipos de Servidores ............ Iterativo ............ Concorrente - Modelo de Filtros - Modelo de Pares (Par-a-Par) | |
5 | 31/08 | Comunicação entre Processos
- Condições de Corrida - Região Crítica - Exclusão Mútua Problemas de Sincronização - Deadlock - Starvation | |
6 | 05/09 | Comunicação entre Processos (continuação)
- Semáforos - Discussão sobre Trabalho: Problema dos Filósofos - Paper para leitura: Distributed Software Engineering - Jeff Kramer | |
7 | 12/09 | Comunicação entre Processos (continuação)
- Problema Clássico ............ Leitores e Escritores - Discussão sobre a Implementação do Problema dos Filósofos | |
8 | 14/09 | Threads
- Conceito - Benefícios de Threads - Programando com Threads ............ Exemplo - Sincronização entre Threads ............ Exemplo | |
9 | 19/09 | Discussão sobre paper DSE
Uso de Bibliotecas para programação distribuída - Socket | |
10 | 21/09 | Socket
- Conceitos - Chamadas - Parâmetros das Chamadas - Estrutura de Endereçamento - Com conexao x Sem conexao - Exemplo de programação com Socket para um Servidor com conexão | |
11 | 26/09 | Apresentação do Trabalho 1 no Laboratório | |
12 | 28/09 | Continuação Socket
- Exemplo de programação com Socket para um Servidor com conexão - Exemplo de programação com Socket do lado do cliente - Exemplo de estruturação do cliente e do servidor usando socket como função externa Discussão sobre Trabalho 1 - parte 2 . | |
13 | 03/10 | Aula de Dúvidas | |
14 | 31/10 | Apresentação do Trabalho 2 | |
15 | 07/11 | Continuação da Apresentação do Trabalho 2 | |
16 | 09/11 | RPC - Chamada Remota de Procedimento
- Conceitos Básicos - Modelo RPC - Stubs - SUN RPC ............ Formato XDR ............ RPCGEN ............ Geração Automática de programas com RPCGEN | |
17 | 14/11 | Continuação RPC
- Passos de Construção de uma Aplicação Distribuída usando RPC | |
18 | 16/11 | CORBA - Common Object Broker Architecture
- Introdução ............ Reuso ............ Programação Modular ............ Programação Orientada a Objetos ............ Programação Baseada em Componentes - Arquitetura OMG - Arquitetura CORBA | |
19 | 23/11 | Continuação CORBA
- Referência do Objeto - Repositório de Interfaces - Repositório de Implementações - Invocação Estática X Invocação Dinâmica - Exemplo com Invocação Estática | |
20 | 30/11 | Continuação CORBA
- LuaOrb ............ A linguagem Lua - Exemplo com Invocação Dinâmica usando LuaOrb - Visão Geral do Serviço de Nomes - Discussão sobre Trabalho 2. |
Livros: