Beruflich Dokumente
Kultur Dokumente
Multicamadas
Oscar A.K. Sampaio
Aplicações
Multicamdas
Aplicações
Multicamdas
Aplicações Corporativas
Arquitetura Multicamadas
Divisão de Camadas
Aplicações Empresariais
Alta demanda
Alto desempenho
Distribuídas
Complexas
Escalabilidade
Extensibilidade
Multicamadas
arquitetura de software
o aplicativo é dividido em várias camadas,
onde cada camada é responsável por um
determinado aspecto ou funcionalidade
◦ apresentação,
◦ lógica de negócio,
◦ persistência, etc
Aplicações Multicama das
Desacoplamento
Processamento Distribuido
Componentização
Escalabilidade
Extensibilidade
Camadas
Apresentação – Cliente
Apresentação – Servidor
Lógica de Negócios
Modelo
Persistência
Integração
Camadas
Plataforma JEE
Plataforma JEE
Plataforma Java para aplicações Corporativas
Servidor de Aplicativos
Camadas na Plataforma JEE
Enterprise Java Beans
Java Persistence API
Plataforma JEE
Plataforma Java para aplicações corporativas
Arquitetura Multicamadas
Baseada em componentes
Applets
Aplicativo cliente
Camada de Apresentação -
Servidor
Hospedado no servidor
Páginas JSP e Servlets
MVC
Interagem com outras camadas do aplicativo
Geram páginas HTML/XML enviadas ao
cliente
Camada de Apresentação -
Servidor
Camada de Lógica de
Negócios
Implementados por Enterprise Java Beans
Hospedados no Servidor
Componentes/Distribuídos
Containers JEE
Servidor de Aplicativo
Abstrai a complexidade de implementação
de aplicações multicamadas
◦ Concorrência
◦ Comunicação
◦ Gerenciamento de recursos
◦ Etc.
Hospedam os componentes JEE
Fornece Serviços
Tipos de Containers
Container WEB
◦ JSP
◦ Servlets
Container EJB
◦ EJBs
Containers JEE
Servicos JEE
Os componentes utilizam os serviços do
container para executar as tarefas
Serviços JEE
JNDI – serviço de diretórios
JTA – controle transacional
JAAS – segurança
JPA – persistência
Java Mail – serviço de e-mail
Web Services
JMS – serviço de Mensagens
...
Deploy
Processo de montar e instalar um aplicativo
no servidor
Enterprise Java Beans
Componentes Distribuidos
Transacional
Segurança
Enterprise Java Beans
Para o desenvolvedor são classes Java
anotadas
Para o container
◦ São objetos gerenciados
◦ Acesso Remoto
◦ Atendem a várias requisições de múltiplos clientes
Enterprise Java Beans
EJB – Session Beans
Implementa lógica de negócios
Tipos:
◦ Stateless
◦ Statefull
EJB – Session Beans
Implementação
◦ @Stateless
◦ @Statefull
Interfaces
◦ @Local
◦ @Remote
◦ @WebService
EJB - Message Driven Beans
Assincrono – orientado a Mensagens
Servidor de Mensagens
Anotação: @MessageDriven
Enterprise Java Beans
Camada de Persistência
JPA – Java Persistence API
Responsável por persistir os objetos java em
banco de dados.
Padronização
Especificação
Implementações: Hibernate, TopLink,
OpenJPA, etc.
JPA – Java Persistence API
JPA - Java Persistence API
As entidades do modelo são POJOs
Mapeamento objeto-relacional padronizado
◦ Configuração – XML
◦ Anotações
Regras de empacotamento simples
Pode eliminar a necessidade de DTOs
EntityManager – centraliza a interação com o
JPA
Persistence Unit – define uma unidade de
persistencia acesso a um banco de dados –
persistence.xml
JPA – Anotações
@Entity – informa ao JPA que a classe é uma
entidade e deve ser persistida
@Table(name=“...”) – informa o nome da tabela que
irá persistir a entidade