Top Banner
Aplicações Multicamadas Oscar A.K. Sampaio
32

Aplicacoes Multicamadas

Apr 11, 2015

Download

Documents

Material didatico da disciplina Aplicações Multicamadas do curso de especialização 'Desenvolvimento de Aplicações utilizando Software Livre' - UNAMA 2008
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Aplicacoes Multicamadas

Aplicações Multicamadas

Oscar A.K. Sampaio

Page 2: Aplicacoes Multicamadas

Aplicações MulticamdasAplicações CorporativasArquitetura MulticamadasDivisão de Camadas

Page 3: Aplicacoes Multicamadas

Alta demanda Alto desempenho Distribuídas Complexas

Escalabilidade Extensibilidade

Aplicações Empresariais

Page 4: Aplicacoes 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

Multicamadas

Page 5: Aplicacoes Multicamadas

Desacoplamento

Processamento Distribuido

Componentização

Escalabilidade

Extensibilidade

Aplicações Multicamadas

Page 6: Aplicacoes Multicamadas

Apresentação – Cliente Apresentação – Servidor Lógica de Negócios Modelo Persistência Integração

Camadas

Page 7: Aplicacoes Multicamadas

Camadas

Page 8: Aplicacoes Multicamadas

Plataforma JEEPlataforma Java para aplicações CorporativasServidor de AplicativosCamadas na Plataforma JEEEnterprise Java BeansJava Persistence API

Page 9: Aplicacoes Multicamadas

Plataforma Java para aplicações corporativas

Arquitetura Multicamadas

Baseada em componentes

Servidor de Aplicativos / Containers

Plataforma JEE

Page 10: Aplicacoes Multicamadas

Núcleo da plataforma JEE

Hospeda o aplicativo corporativo – componentes

Fornece infra-estrutura (serviços)

Ex.: Jboss, GlassFish, Open

Servidor de Aplicativos

Page 11: Aplicacoes Multicamadas

Servidor de Aplicativos

Page 12: Aplicacoes Multicamadas

Clientes Web◦ Páginas HTML/XML◦ Browser

Applets

Aplicativo cliente

Camada de Apresentação - Cliente

Page 13: Aplicacoes Multicamadas

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

Page 14: Aplicacoes Multicamadas

Camada de Apresentação - Servidor

Page 15: Aplicacoes Multicamadas

Implementados por Enterprise Java Beans

Hospedados no Servidor

Componentes/Distribuídos

Camada de Lógica de Negócios

Page 16: Aplicacoes Multicamadas

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

Containers JEE

Page 17: Aplicacoes Multicamadas

Container WEB◦ JSP◦ Servlets

Container EJB◦ EJBs

Tipos de Containers

Page 18: Aplicacoes Multicamadas

Containers JEE

Page 19: Aplicacoes Multicamadas

Os componentes utilizam os serviços do container para executar as tarefas

Servicos JEE

Page 20: Aplicacoes Multicamadas

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 ...

Serviços JEE

Page 21: Aplicacoes Multicamadas

Processo de montar e instalar um aplicativo no servidor

Deploy

Page 22: Aplicacoes Multicamadas

Componentes Distribuidos

Gerenciados pelo Container

Transacional

Segurança

Enterprise Java Beans

Page 23: Aplicacoes Multicamadas

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

Page 24: Aplicacoes Multicamadas

Enterprise Java Beans

Page 25: Aplicacoes Multicamadas

Implementa lógica de negócios

Existe durante uma sessão de Interação

Tipos:◦ Stateless◦ Statefull

EJB – Session Beans

Page 26: Aplicacoes Multicamadas

Implementação◦ @Stateless◦ @Statefull

Interfaces◦ @Local◦ @Remote◦ @WebService

EJB – Session Beans

Page 27: Aplicacoes Multicamadas

Assincrono – orientado a Mensagens Servidor de Mensagens Anotação: @MessageDriven

EJB - Message Driven Beans

Page 28: Aplicacoes Multicamadas

Enterprise Java Beans

Page 29: Aplicacoes Multicamadas

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.

Camada de Persistência

Page 30: Aplicacoes Multicamadas

JPA – Java Persistence API

Page 31: Aplicacoes Multicamadas

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 - Java Persistence API

Page 32: Aplicacoes Multicamadas

@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

@Id – marca uma propriedade da classe como chave primária – identificador

@GeneratedValue – como gerar o id (chave primária) @Column (name=“...”) – informa o nome da coluna que irá

persistir o campo @Lob – BLOBs @Enumerated – tipos enumerados @Temporal (tipo) – Data, Hora e Data+Hora @Transient – não persiste a coluna

JPA – Anotações