Next: About this document ...
MAC 0462/5863 - Sistemas de Middleware Avançados
Segundo Semestre de 2006
Utilização de EJB 3.0 e da API de Persistência Java
Usando a arquitetura EJB 3.0 e a API de Persistência Java (JPA),
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. Cada
oferecimento de disciplina tem um certo número de vagas, que varia de
disciplina para disciplina. O número de alunos matriculados na disciplina não
pode exceder o número de vagas do oferecimento da disciplina.
- Crie pelo menos duas entidades JPA: ``aluno'' e ``oferecimento de
disciplina''. Deve haver um relacionamento ``muitos para muitos''
entre alunos e oferecimentos de disciplinas.
- Crie um componente EJB 3.0 com a funcionalidade de ``administração do
sistema''. Tal componente deve ser um session bean sem
estado e deve ser acessível a clientes remotos. Ele deve permitir que um
cliente remoto cadastre novas instâncias das entidades aluno e
oferecimento de disciplina, altere dados dos alunos (como endereço,
telefone e senha de acesso ao sistema) e dos oferecimentos de disciplinas
(como horário, sala e número de vagas), e remova instâncias das entidades
aluno e oferecimento de disciplina.
- Crie um componente EJB 3.0 para o ``gerenciamento de matrículas''. Tal
componente deve ser um session bean com estado e deve ser
acessível a clientes remotos. O cliente que quiser fazer matrícula
abre uma sessão com o gerenciador de matrículas, que cuida de estabelecer
a associação entre um aluno e um ou mais oferecimentos de disciplinas.
- Escreva uma aplicação cliente para o administrador do sistema e outra
para os alunos. A primeira interaje com o session bean bean de
administração e permite que o administrador desempenhe suas tarefas:
cadastramento/remoção de alunos e disciplinas, etc. A segunda interaje
com o session bean bean de gerenciamento de matrículas e permite
que o usuário (um aluno possuidor de uma senha de acesso ao sistema) se
matricule num conjunto de disciplinas e verifique em que disciplinas ele
está matriculado.
- Escreva um componente Web com parte da funcionalidade (ou toda ela, se
preferir) da aplicação cliente voltada para os alunos. Esse componente
deve ser um servlet que interaje com o session bean de
gerenciamento de matrículas. O componente Web não precisa ter toda a
funcionalidade da aplicação cliente, mas ele deve ao menos permitir que
um aluno visualize, num Web browser, uma página com a lista de
disciplinas nas quais o aluno está matriculado.
Sua solução deve rodar no JBoss Application Server 4.0.4, disponível em
http://www.jboss.org. Visite a página do projeto ``JBossAS'', faça
download do arquivo jboss-4.0.4.GA-Patch1-installer.jar, rode o
instalador (java -jar jboss-4.0.4.GA-Patch1-installer.jar) e selecione
o perfil ``ejb3''. Para automatizar a geração dos componentes e dos clientes,
use o programa ant, disponível em http://ant.apache.org.
Este trabalho deve ser feito em equipes de até duas pessoas. Cada equipe
deve se registrar comigo (Reverbel) até o dia 12 de setembro, através de
uma mensagem informando os nomes dos integrantes da equipe. A mensagem
deve ser enviada para meu email e deve ter subject ``registro de
equipe de SMA''.
Bom trabalho!
Next: About this document ...
Francisco Reverbel
2006-09-06