Terceiro Trabalho de MAC 0434/5765
Segundo Semestre de 2003
Conforme conversamos em aula, o terceiro (e último!) trabalho de
MAC 0434/5765 poderá ser a implementação de um software (EP3)
ou a apresentação de um seminário.
- As implementações de software podem ser feitas em equipes de uma ou
duas pessoas. No caso de implementações mais complexas (como a
proposta 5 abaixo), o tamanho da equipe pode ser aumentado para
quatro pessoas.
- Os seminários (individuais) devem ter duração de 45 minutos.
Escreva-me até 18 de novembro informando o tema do seu EP3 ou seminário.
Se você escolher um seminário, escreva bem antes disso para reservar
uma data. (Temos espaço para no máximo 10 seminários, nos dias 21/11,
25/11, 28/11, 02/12 e 05/12.) Se você escolher um trabalho de
implementação, informe também a composição da sua equipe.
Caso queira propor um tema diferente dos sugeridos abaixo, fale
comigo pessoalmente.
Propostas de Trabalhos de Implementação
- Comparação entre os desempenhos de duas bibliotecas reflexivas
Daniel de Angelis Cordeiro e Marcos Eduardo Bolelli Broinizi
A biblioteca cglib oferece suporte para
chamadas reflexivas e para proxies dinâmicos, podendo ser
utilizada como uma alternativa ao pacote
java.lang.reflect
. A proposta é comparar os
desempenhos dessas duas bibliotecas.
- Geração dinâmica de stubs IIOP com o Javassist
Emílio de Camargo Francesquini
Para gerar stubs IIOP, o JBoss ainda está usando um "bytecode
assembler" obsoleto. A proposta é reimplementar a geração dinâmica
desses stubs empregando uma ferramenta bem mais amigável, o pacote Javassist.
- Facilitador para criação e implantação de serviços Jini no JBoss
Carlos Alexandre Queiroz
A proposta é utilizar a infra-estrutura de gerenciamento de
serviços do JBoss e a idéia dos "deployers", de modo que os
serviços essenciais do Jini sejam inicializados em conjunto
com o servidor de aplicações. Pretende-se definir um novo tipo de
componente implantável, para serviços Jini.
- Transações distribuídas no JBoss
David Paulo Pereira
A proposta é fazer uma implementção parcial de transações
distribuídas entre múltiplios servidores: propagar o contexto
transacional entre servidores e implementar o protocolo two-phase
commit. Logging e recuperação não seriam implementados.
- Logging e recuperação no gerenciador de transações do JBoss
Agora a proposta é implementar logging e recuperação no
gerenciador de transações que existe hoje, sem adicionar suporte
para transações distribuídas entre múltiplos servidores. (Um
gerenciador de transações completo seria a união desta proposta
com a anterior.)
- Clustering de sessões HTTP com Javaspeces
Daniel André Vaquero e Rodrigo Dombrowski
A proposta é implementar clustering para o Tomcat 4
utilizando a tecnologia Javaspaces. Cada
Javaspace seria um repositório de sessões HTTP a serem
atendidas. O cluster faria a replicação de sessões HTTP pelos
Javaspaces, e os nós do cluster poderiam ser organizados em grupos
que acessam Javaspaces independentes. Quando um dos servidores
Tomcat recebe o aviso de que uma requisição foi recebida, ele
busca a sessão correspondente em um Javaspace pelo identificador
da sessão. A utilização do mecanismo do Jini de busca por serviços
(discovery) faz com que as localizações dos Javaspaces não
precisem ser hard-coded. Esta solução seria configurável
dinamicamente, ou seja, modificações no cluster poderiam ser
feitas sem a necessidade de reinicializá-lo.
- Compartilhamento de arquivos usando JXTA
Eduardo Leal Guerra e Vladimir Emiliano Moreira
A proposta é desenvolver um sistema peer-to-peer para
compartilhamento e transmissão de arquivos em uma rede de
computadores. Utilizaremos a tecnologia JXTA (Juxtapose) para
abstrair o código referente ao protocolo de comunicação entre os
nós. Além disso, será utilizada Programação Orientada a Aspectos
para tratar de forma ortogonal alguns aspectos da aplicação.
Propostas de Seminários
- JPDA
e "hot swap" de classes
- Javassist
Stefan Neusatz Guilhen
02/12/2003
- Hibernate
- JGroups
- Bibliotecas dinâmicas para programação orientada a aspectos
Flávia Rainone
05/12/2003
- Frameworks de inversão de controle e gerenciamento de dependências
- Prevayler
- Padrões
de projeto para EJB
Emerson Luiz Navarro Tozette
05/12/2003
- Conditional
Messaging e Dependency-Spheres
- Políticas de Coleta de Lixo Usadas pela JVM da Sun
Rodrigo Vieira Couto
02/12/2003
- XWork/WebWork2 e PicoContainer
Paulo Silveira
28/11/2003
- Castor JDO e Hibernate
Fernando Kasten Peinado
28/11/2003
- Arquitetura de Plugins do Eclipse
Alexandre Freire da Silva
25/11/2003
Last modified: Mon Dec 1 00:22:12 EDT 2003
Francisco Reverbel
reverbel at ime.usp.br