Next: About this document ...
MAC 0434/5765 - Sistemas de Middleware Avançados
Segundo Semestre de 2004
Utilização de EJB
Usando a arquitetura EJB, desenvolva um protótipo de sistema de
matrículas para uma instituição de ensino.
O fato de um aluno estar matriculado numa disciplina é expresso por um
relacionamento entre o aluno e o oferecimento da disciplina. Esse
relacionamento é do tipo ``muitos para muitos'', ou seja, pode haver
mais de um aluno matriculado numa disciplina (é bom que haja mesmo!),
e um aluno pode estar matriculado em mais de uma disciplina.
- Crie pelo menos dois entity beans: ``aluno'' e
``oferecimento de disciplina''. Cada um desses componentes deve
ter interfaces locais (LocalHome e Local).
Use CMP (container-managed persistence) para implementar os
componentes ``aluno'' e ``oferecimento de disciplina''. Use CMR
(container-nanaged relationships) para o relacionamento
entre alunos e oferecimentos de disciplinas.
- Crie pelo menos um session bean, para o ``processo de
matrícula''. O cliente que quiser fazer uma matrícula interage com
esse componente, que cuida de estabelecer a associação entre um
aluno e um ou mais oferecimentos de disciplinas.
- Crie pelo menos uma aplicação cliente. Sua aplicação deve obter do
usuário todas as informações necessárias para matricular um aluno
num conjunto de disciplinas e chamar um session bean para
efetuar as matrículas.
- Use o padrão ``sessão de fachada'', ou seja, evite que clientes
remotos acessem componentes tipo entidade. Acessos remotos a
componentes tipo entidade devem ser mediados por componentes
tipo sessão implantados no mesmo servidor de aplicação. Os
componentes tipo sessão recebem chamadas remotas dos clientes e
fazem chamadas locais a componentes tipo entidade. Esse arranjo
tem o objetivo de minimizar o número chamadas remotas e o tráfego
de dados entre o cliente e o servidor de aplicações.
Sua solução deve rodar no JBoss 4.0.0, disponível em
http://sourceforge.net/projects/jboss. Use o programa
ant para automatizar a geração dos componentes e do(s)
cliente(s). Se você ainda não conhece o ant, visite
http://jakarta.apache.org/ant/.
Bom trabalho!
Next: About this document ...
Francisco Reverbel
2004-09-21