Académique Documents
Professionnel Documents
Culture Documents
Conceitos da arquitetura
2
Motivação
Tolerância a falhas
Gerenciamento de sistemas
Message-driven middleware
...
3
Arquitetura baseada em
componentes
Utilizar os serviços de cada
componente, independentemente.
Não preciso implementar controle de
transações, compro o componente que
faz isso.
Problema: padrões precisam ser
seguidos
4
Sistemas de objetos distribuídos
O Stub representa o
objeto remoto para o
cliente Cliente Objeto Remoto
O skeleton representa
o cliente para o objeto
remoto Interface Remota
Stub Skeleton
Rede
5
Middleware explícito
Transaction
Service
É necessário Cliente
Objeto
Security
Service
implementar cada Remoto
método Stub
Skeleton
Rede
8
Conseqüências
Desenvolvimento rápido
9
EJB x JavaBeans
13
Serviços
Configuráveis
Segurança
Transações
Conectividade remota
Não configuráveis
Persistência
Ciclo de vida de beans
14
Segurança
Autenticação e Autorização
API JAAS - Java Authentication and
Authorization Service
Autenticação depende da
implementação do servidor
Controle de acesso é definido
declarativamente
15
Transações
16
Nomes
17
Conectividade remota
18
Persistência
19
Arquitetura em camadas
Browser
Páginas
Aplicações Aplicativo Cliente de HTML e
CORBA Java Web service applets
Servidor
J2EE Camada WEB
Camada de Negócios
Camada de Dados
20
Componentes na camada de
negócio
Podem ser EJbs!
Formam o núcleo de uma aplicação
distribuída
Processam as requisições do cliente
camada de dados
EJBs são objetos CORBA
EJbs são sempre escritos em java
21
Tipos de EJB
Session Beans
Modelam processos de negócio.
Podem manter ou não estado não-persistente
Debitar, creditar...
Entity Beans
Modelam dados de negócio.
Representam informações em bancos de dados
Mantêm estado persistente
Uma conta, um cliente
Message-driven beans
Modelam processos assíncronos. Respondem a eventos.
Agem somente quando recebem uma mensagem
Não mantêm estado
22
Exemplo clássico
Cliente
HTML Servlet
Cliente JMS
Cliente
WebService JSP
Cliente Cliente
MOM Taglib
CORBA Swing
Message-driven
Session Bean Session Bean
bean
BD 23
Papéis
25
Papéis
Provedor dos containers (container/server
provider)
Fabricantes que oferecem containers EJB e Web
Garantem o ambiente de execução onde vivem os beans
e os serviços de middleware que eles têm acesso
JBoss, WebLogic, WebSphere, Tomcat (Web), IPlanet,
etc.
Implantador de aplicações (deployer)
Instala e coloca para funcionar a aplicação no software
fornecido pelo provedor de containers
Garante a integração com sistemas e serviços, escolhe o
hardware, ajusta a segurança, performance, acesso a
serviços e recursos externos
Administrador do sistema (system administrator)
Garante a estabilidade da solução operacional
26
Por que a divisão em
papéis?
Poder de especialização
Pode combinar alguns papéis
Bean Provider
Application
Implanta o sistema
Assembler
Deployer System
Administrator
27