Tópicos Avançados em Programação Orientada a Objetos

3o quadrimestre de 2002

Prof. Ivan Luiz Marques Ricarte

Objetivo

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.

Lista de tópicos

  1. [Revisão.] Desenvolvimento de software orientado a objetos: dos requisitos ao programa.

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

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

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

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

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

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

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

Referências

Consulte a página de referências para a lista de leituras recomendadas. Veja também o roteiro de aulas.

Critérios de avaliação

Observações

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.