Você está na página 1de 23

Curso de Especializao em Engenharia de Componentes com JAVA ENTERPRISE

Persistncia de Dados em Java com JPA e Hibernate

Projeto de Aplicaes Web (usando JPA)


Prof. Cludio Martins (claudiomartins2000@gmail.com)
Monitor: Thiago Fernandes Soares

Plataforma Web: Conceitos e Fundamentos

Plataforma Web - Caractersticas


Baseada em cliente (browser), protocolo HTTP e servidor web HTTP um protocolo de transferncia de arquivos (apenas). HTTP no mantm estado da sesso (*) do cliente
(*) Sesso representa o momento do uso do sistema web por um usurio no mesmo servidor HTTP.

Servidor representa sistema de arquivos virtual e responde a comandos que contm URLs (http://domnio:porta/recurso) Cabealhos contm meta-informao de requisio e resposta S garantida uma requisio/resposta por conexo.
3

Modelos de Arquitetura de AplicWeb


Aplicaes do Lado-cliente (JavaScript, applet...)
Vantagens: resposta rpida; interface do usurio mais rica e mais amigvel possvel; Desvantagens: requer que browser oferea suporte total tecnologia usada; ruim para processar dados no servidor, restries com segurana.

Aplicaes do Lado-servidor (JSP+Servlet, PHP,..)


Vantagens: no depende de suporte do cliente; fcil acesso a dados no servidor; mais controle e segurana. Desvantagens: interface do usurio pouco dinmica; resposta lenta;
4

Aplicaes Web com Java Aplicao Web o termo usado para designar sistemas web de contedo dinmico. Pode ser no lado cliente ou servidor. Java oferece como solues para aplicaes Web no lado servidor seguindo o padro J2EE, usando as APIs de servlets e JSP.

Modelo MVC
O modelo de arquitetura MVC busca impor a diviso dos interesses, isto , a separao em camadas para os dados (MODELO), a apresentao/interface (VISO) e o controle da aplicao (CONTROLADOR). Na plataforma Web, podemos ver isso da seguinte forma:
A VISO representada por pginas JSP e HTML O CONTROLADOR delegado a classes Servlets (ou JSP sem tags html) O MODELO pode ser utilizado objetos beans (em termpo de request ou de session).
6

Implementaes do MVC
Usando o modelo MVC na Web

Mecanismo de Extenso da UML


Um mecanismo de extenso algo que permite a modelos UML um refinamento de sintaxe e semntica para projetos especficos. Faz parte do mecanismo de extenso:
Esteritipos (Stereotypes) = Definio de novos elementos a partir de outros j existentes. Restries (Constraints) = Regras pertinentes aos elementos e propriedades. Valores Rotulados (Tagged Values) = Novas propriedades para elementos j existentes.
8

Modelo de Anlise (Diagrama de Robustez)


Preocupa-se com os elementos essenciais da modelagem de alto nvel. Os objetos a serem modelados so:

Pginas do lado cliente, HTML, frames, etc. JSP pode ser representado quando contm apenas interface de apresentao. Pginas e classes do lado servidor onde est representada a lgica da controle e de lgica da aplicao (o prprio caso de uso) Ex: Servlets e JSP de controle (no recomendado) Objetos de Classes de dados. Representa os dados da modelagem de negcio (persistentes e transientes). Ex: Classes de negcio (JavaBeans).
9

Regras para o Modelo de Anlise

Permitido

No permitido

Dependncia por acesso


10

Atividades Prticas (1)


Crie um projeto web no Eclipse Use um servidor web (Tomcat ou JBoss) Crie uma pequena aplicao de exemplo, para representar um formulrio de identificao (nome) e exibir como resultado uma pgina com a mensagem:
Benvindo + ${nomeForm} + ao nosso web site!.

Utilize o modelo MVC-Web para construir o sistema.


Pginas jsp para exibir dados e servir de interface com usurio Servlet para representar a lgica de controle (cada Servlet um processo ou caso de uso do sistema) Classes Entidade (Beans) para guardar dados que sero manipulados no sistema.

11

Atividades Prticas (2) PR-REQUISITOS: O BD pode ser criado no Postgresql, em MySQL ou HSQLDB. Ou mesmo no Access.
Nome do BD: bdreserva Criar e popular as tabelas a partir dos scripts
Executar o script CRIAR_BD Executar o script popula_dados.sql

Container Web (Tomcat ou Jboss com Tomcat)


12

Atividades Prticas (2) O BD pode ser criado no Postgresql, em MySQL ou HSQLDB. Ou mesmo no Access.
Nome do BD: bdreserva Criar e popular as tabelas a partir dos scripts
Executar o script CRIAR_BD Executar o script popula_dados.sql

Construir a modelagem UML-web para o sistema


13

Aplicao: Reserva de Livros


Viso Geral (Contexto) Requisitos Funcionais
Usurios de um sistema de biblioteca so professores e alunos; Os usurios podem pesquisar livros pelo ttulo do livro; Ao encontrar um livro, o usurio pode fazer a reserva uma cpia (volume) do livro disponvel para reserva; Para professor, pode-se reservar at 3 livros; Para aluno, pode-se reservar at 1 livros; O sistema verifica a identificao do usurio (matricula, senha) em caso de confirmar a senha; O sistema permite emprstimo de cpia em reserva; Etc...
14

Casos de Uso

15

Modelo de Domnio

{se usuario.tipo=professor, 3 reservas} {se usuario.tipo=aluno, 1 reserva}

16

Caso de uso: Pesquisar Livro (Telas de UI)

17

Caso de uso: Pesquisar Livro (cenrio bsico)


1 - O usurio fornece o titulo do livro (ou parte dele) 2 - O sistema seleciona todos os livros que satisfaam a condio de pesquisa 3- O sistema apresenta a lista para o usurio

18

Caso de Uso: Reservar Livro


1 - O usurio seleciona o livro (ver "Pesquisar Livro") 2 - O sistema verifica se o usurio est autenticado 2.1 - se no foi autenticado, solicita matricula/senha (usa "Autenticar Usurio") 3 - O sistema verifica se o usurio possui pendncias de emprstimos 3.1 - caso possua emprstimo, avisa o usurio que ele nao pode reservar livro 4 - O sistema verifica se o usurio ultrapassou o limite de reserva 4.1 - Para o professor, o limite 3 reservas 4.2 - Para o aluno, o limite apenas 1 reserva 5 - O sistema apresenta o prazo (data) limite para retira o livro para emprstimo 6 - O usurio confirma a reserva. FLUXOS ALTERNATIVOS a) a qualquer momento o usurio pode sair da operao de reserva

19

Caso de Uso: Autenticar Usurio

20

Caso de Uso: Autenticar Usurio

1 - O usurio fornece a matricula e a senha 2 - O sistema valida o acesso 2.1 - Caso o usurio no esteja cadastrado, o sistema emite a mensagem:
"Usurio no cadastrado no sistema. Solicite seu cadastro ao administrador do sistema"

2.1 - Caso a senha informada nao confira com a senha do cadastro, o sistema emite: "Senha invlida! PS-CONDIES: 3 - O sistema armazena os dados de acesso na sesso do usurio. 4 - O sistema retorna pgina de reserva de livro.

21

Exerccio Construa a modelagem UML p/ Web para todos os casos de uso:


Pesquisar Livro Reservar Livro Autenticar Usurio Incluir Livro

22

Incluir Livro
Pr-requisitos
Criar o modelo de classes conceituais (POJO) Criar o banco de dados Reserva
Em HSQLDB deve iniciar o servidor com o seguinte comando: java -cp hsqldb.jar org.hsqldb.Server -database.0 file:banco -dbname.0 reserva Ajustar o componente de conexo (ConexaoBD) para apontar para o banco escolhido.
url : jdbc:hsqldb:hsql://localhost/reserva

1 Criar o Servlet para incluir o Livro (GerenciadorLivro)


Usar o wizard de criao (File New Web Servlet)

2 Implementar a lgica de controle


Para padronizar a ao de controle, vamos adotar um parmetro de comando (ACAO):
I incluir livro A alterar livro E excluir livro

3 Criar a pgina de Formulrio de Inclusao de Livro 4 Tratar a lgica de incluso no controle GerenciadorLivro.
23

Você também pode gostar