O documento discute várias tecnologias Java para desenvolvimento web, incluindo Servlets, JSP, Struts, JSF, EJB, JPA e frameworks. Ele também aborda tópicos como arquitetura de aplicativos Java, persistência de dados e separação de preocupações.
Servlet
● Quase tãoantiga quanto o Java
● Maneira mais "roots" possível
● Não inclui forma fácil de se escrever HTML
Receber uma requisição e processar sua
resposta
Struts
● Não éum padrão JavaEE
● Bastante "burocracia" para criar as páginas
● Struts 1.x foi um sucesso! (última versão em 2008)
● Struts 2.x nunca ouvi falar de alguém usando
Produtividade na criação de aplicações web
("sem" Servlets / "sem" misturar HTML com Java)
JSF (JavaServer Faces)
●Padrão JavaEE
● Componentes (não escrevemos HTML, ele é gerado)
● Provê Ajax "nativo"
Produtividade na criação de aplicações web
(sem a burocracia do Struts)
JPA (Java PersistenceAPI)
● Não é preciso escrever SQLs de INSERT/UPDATE
● Facilita trabalhar com herança no banco de dados
Abstrair o fato que o banco de dados
não é orientado a objetos
JPA
API Framework
Só interfacese annotations Faz o trabalho duro
Especificação JavaEE Segue espec e tem + coisas
Definido pela Oracle Concorrentes: TopLink,
OpenJPA, ...
Hibernate
Quais são osproblemas de infraestrutura?
● Transação
68.
Quais são osproblemas de infraestrutura?
● Transação
● Acesso remoto
69.
Quais são osproblemas de infraestrutura?
● Transação
● Acesso remoto
● Autenticação e Autorização
70.
Quais são osproblemas de infraestrutura?
● Transação
● Acesso remoto
● Autenticação e Autorização
● Envio de mensagens assíncronas
71.
Quais são osproblemas de infraestrutura?
● Transação
● Acesso remoto
● Autenticação e Autorização
● Envio de mensagens assíncronas
● Agendamento de tarefas
72.
Quais são osproblemas de infraestrutura?
● Transação
● Acesso remoto
● Autenticação e Autorização
● Envio de mensagens assíncronas
● Agendamento de tarefas
JTA
Session Bean (@Remote)
JAAS
JMS
Timer Service
Servidor Web
Tomcat, JettyJBoss, GlassFish, WebSphere
Não entende EJB Entende EJB
Leve (sobe rápido) Pesado (demora mais para subir)
Servidor de Aplicação