A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução a EJB 3.0 Eduardo Martins Guerra Instituto Tecnológico de Aeronáutica Curso de Pós-Graduação em Engenharia de Software Programação Distribuída.

Apresentações semelhantes


Apresentação em tema: "Introdução a EJB 3.0 Eduardo Martins Guerra Instituto Tecnológico de Aeronáutica Curso de Pós-Graduação em Engenharia de Software Programação Distribuída."— Transcrição da apresentação:

1 Introdução a EJB 3.0 Eduardo Martins Guerra Instituto Tecnológico de Aeronáutica Curso de Pós-Graduação em Engenharia de Software Programação Distribuída com Java EE

2 Objetivo da Aula Apresentar os fundamentos da tecnologia de EJBs e quais são os impactos em incluí-los na arquitetura de um sistema distribuído.

3 O que faz um EJB Container? Tipos de EJB Partes de um EJB Comunicação Remota Repositório JNDI Funcionamento dos EJBs Agenda da Apresentação

4 O que faz um EJB Container? O uso de EJBs deixa os desenvolvedores focarem na lógica de negócios, enquanto os outros serviços ficam a cargo de quem fez o container EJB. Controle de Transação Segurança Concorrência Gerenciamento de comunicações Gerenciamento de Recursos Persistência Serviço de Mensagens Customizações em tempo de deploy Injeção de Dependências EJB Container

5 Tipos de EJB Entity É utilizado para representar uma entidade persistente. Normalmente representa uma linha do banco de dados. Na versão 3.0 não é mais um EJB. Message-driven É utilizado como consumidor de mensagens, escutando mensagens em um servidor de mensagens. Utilizado para processamento assíncrono. Muito usado com mensagens JMS. Session Representa um processo, uma regra de negócios. Pode ser statefull (com estado) ou stateless (sem estado).

6 O que possui um EJB? Bean Class É a classe que possui a implementação dos métodos de negócios. Deve implementar uma Business Interface e possuir uma (ou configuração no Deployment Descriptor). Business Interface É uma interface normal, onde os métodos de negócio são declarados. Deve possuir a (default), e nunca as duas. Serão os métodos disponibilizados para os clientes. Deployment Descriptor Apesar das metainformações dos EJBs poderem ser quase todas configuradas via anotação, elas podem ser sobrepostas no deployment descriptor (para alterações em tempo de deploy). Na versão 3.0 não é obrigatório!

7 Poderes de um EJB Um EJB possui algums poderes recebidos do container que muitas vezes faz com que o seu uso seja mais vantajoso do que de uma classe normal. Suporte a transações distribuídas Controle de Acesso Pode ser disponibilizado remotamente Recebe injeções de dependência de recursos Tem seu ciclo de vida gerenciado Pode ter seus métodos interceptados

8 Comunicação com EJBs A comunicação é feita utilizando RMI-IIOP O retorno dos métodos devem ser: Tipos primitivos Objetos serializáveis Array de primitivos ou objetos serializáveis Objeto remoto Cliente StubSkel Remote Object

9 JNDI JNDI (Java Naming and Directory Interface) é uma API para acessar serviços de nomes e diretórios em aplicações Java. É utilizado em Java EE para a localização de objetos distribuídos. Componentes Enterprise Java Bean. Fabrica de recursos com drivers JDBC e JMS. Referência da transação do usuário (UserTransaction). DataSources e entradas de configuração da aplicação. Com JNDI localizamos os seguintes recursos: Para acessarmos um serviço de nomes devemos criar um objeto do tipo InitialContext.

10 Obtendo a Referência de um EJB Cliente JNDI Naming Service Name lookup(Name) Business Interface Stub EJB Object Business Interface Services Bean create() Business Interface

11 Invocando Métodos em um EJB Cliente Services Bean EJB Object Stub Business Interface

12 Exercício – Session Bean Criar um Session Bean para a execução remota da funcionalidade criada para a aplicação MVC. Colocar a regra de negócios no Session Bean. Realizar o acesso remoto a partir do Servlets. Observar os tipos de objetos que podem ser retornados. Criar um Criar uma


Carregar ppt "Introdução a EJB 3.0 Eduardo Martins Guerra Instituto Tecnológico de Aeronáutica Curso de Pós-Graduação em Engenharia de Software Programação Distribuída."

Apresentações semelhantes


Anúncios Google