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