3o quadrimestre de 2002
Prof. Ivan Luiz Marques Ricarte
Introdução aos aspectos de concorrência (fazer mais de uma coisa ao mesmo tempo) e distribuição (fazer coisas em mais de um lugar) na programação orientada a objetos. Exemplos serão trabalhados em Java.
[Revisão.] Desenvolvimento de software orientado a objetos: dos requisitos ao programa.
Programação concorrente. Conceitos básicos: processos e threads. Desenvolvimento de aplicações concorrentes em Java: threads como objetos. Construções da linguagem Java para programação concorrente. Propriedades de aplicações concorrentes. Padrões básicos para a programação concorrente.
Programação cliente-servidor: clientes Web. Princípios da programação cliente-servidor: localização, troca de mensagens. A arquitetura da World Wide Web. Endereçamento de recursos por URL. Transferência de recursos e o protocolo HTTP. Construções da linguagem Java para acesso a recursos Web.
Programação cliente-servidor: clientes e servidores TCP/IP. A arquitetura TCI/IP. Endereçamento IP. Conexões por soquetes. Construção de servidores TCP. Construções da linguagem Java para desenvolvimento de clientes e servidores TCP.
Programação cliente-servidor: acesso a servidores de bancos de dados relacionais. Revisão sobre o desenvolvimento de bases de dados relacionais. Consultas usando SQL. O protocolo JDBC. Desenvolvimento de clientes de bancos de dados usando Java.
Arquiteturas de três camadas. O conceito de middleware. Organização de aplicações em três camadas. Extensão de servidores HTTP como middleware. Desenvolvimento com servlets Java.
Plataformas de objetos distribuídos. Conceitos básicos. Acesso pelo nome do serviço. O serviço de acesso a nomes e diretórios de Java (JNDI). Invocação de métodos remotos em Java (RMI). Desenvolvimento de aplicações distribuídas usando RMI. A arquitetura CORBA. Java IDL.
Plataformas de agentes móveis. Conceitos de agentes e locais de execução. Estrutura básica de uma plataforma para execução de agentes móveis. Estudo de caso: a plataforma de Aglets.
Consulte a página de referências para a lista de leituras recomendadas. Veja também o roteiro de aulas.
Prova: 12/nov (35%)
Trabalho:
Apresentação em sala de aula: 19/nov, 26/nov e 3/dez (30%, avaliação pelos pares).
Monografia: entrega 13/dez. (35%)
O trabalho é individual.
O tema do trabalho final será determinado no máximo até o dia 08/out. Proposta de tema de interesse do aluno deve ser discutida antes dessa data.
A apresentação em sala de aula terá duração de 25 minutos, com até cinco minutos adicionais para perguntas.
Veja os critérios para a avaliação das apresentações!
Veja a escala das apresentações!
A monografia deve ser entregue por e-mail em formato PostScript ou PDF. Código anexo (se houver) em arquivo à parte, contendo o fonte em arquivo comprimido.