Session Bean Stateful

Documentos relacionados
Session Beans. Modelam o estado não-persistente

Entity Beans. Rodrigo Campiolo João Bosco M. Sobral. Computação Distribuída Sistemas de Informação

Enterprise Java Beans (I)

Entity Beans. Introdução Entity Beans BMP

Entity Beans CMP. O que é CMP? Criação de Entity Beans CMP Deployment no JBoss EJB-QL Exemplo Prático

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago

UFG - Instituto de Informática

Módulo III Camada de Persistência

Plataforma J2EE e EJB

Stateful Session Beans

Enterprise Java Bean. Enterprise JavaBeans

Tutorial J2EE. Aprendendo EJB de uma maneira fácil! Paulo Silveira

Introdução: EJBs de Sessão. Prof. Fellipe Aleixo

EJB. Session Beans. J2EE (C. Geyer) Introdução a SessionBean 1

UNIDADE IV ENTERPRISE JAVABEANS

Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos

Modelo de Componentes CORBA

J2EE. J2EE - Surgimento

JBoss Seam. Vinicius Senger Co-fundador Globalcode Alberto J Lemos (Dr. Spock) Instrutor Globalcode. Globalcode Open4Education

Sumário. Parte Um Visão geral Introdução... 23

Java 2 Enterprise Edition Session Beans

Enterprise JavaBeansTM

Enterprise JavaBeans. Java Deployment Course. por Jorge H. C. Fernandes DI-UFPE Julho de 1999

J530 - Enterprise JavaBeans. Geração automática de EJB com. XDoclet. argonavis.com.br. Helder da Rocha

Introdução ao Desenvolvimento de

Padrões de Projeto para Estruturação de Aplicações Distribuídas Enterprise JavaBeans

Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes

Aplicações Distribuídas Cliente/ Servidor Corporativas

PROCESSO SELETIVO EDITAL 001/2017

Framework Hibernate/JPA

Banco de Dados. SGBDs. Professor: Charles Leite

Objetos e Componentes Distribuídos: EJB

Java 2 Enterprise Edition Construção de Aplicações EJB

Desenvolvimento de um Framework para replicação de dados entre bancos heterogêneos

Objetos e Componentes Distribuídos: EJB e CORBA

J530 - Enterprise JavaBeans. Introdução a EJB e Stateless. Session Beans. argonavis.com.br. Helder da Rocha (helder@acm.org)

UNIVERSIDADE FEDERAL DO PIAUÍ DEPARTAMENTO DE COMPUTÇÃO DISCIPLINA: ENGENHARIA DE SOFTWARE II PROFESSOR: ARMANDO SOARES

Neste capítulo veremos a arquitetura básica de uma aplicação de mercado eletrônico, apresentando seus principais componentes.

Aumento da complexidade dos sistemas. aumento do nível de abstração

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS

Centro de Estudos e Sistemas Avançados do Recife. Desconstruindo EJB. Luiz Borba Luiz Eugênio (left)

3 Kaluana Arquitetura

J530 - Enterprise JavaBeans. Message-driven Beans. argonavis.com.br. Helder da Rocha

Injeção de Dependências e Spring

Tecnologias, O Futuro de Java e Como se Manter Atualizado AULA 6

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

J2EE. Apresentado por Nuno Nunes. 25 de Novembro de 2004 TM 1

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo

O padrão Data Access Object (DAO) é um padrão introduzido no ambiente JEE

Engenharia de Aplicações Sistemas Interactivos 2009/10! JAVASERVER FACES 1.2. Mestrado em Informática Universidade do Minho! 31!

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

3 Tecnologias Relacionadas

1. Identifique-se na parte inferior desta capa. Caso se identifique em qualquer outro local deste caderno, você será eliminado do Concurso.

Enterprise Java Beans

Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB

Curso. Liferay Desenvolvedor

1 Serviços, sessões, processos e entidades

ALUNO: RONI FABIO BANASZEWSKI

Livro texto: Capítulo 1

J530 - Enterprise JavaBeans. Entity Beans. com persistência implícita (CMP) argonavis.com.br. Helder da Rocha (helder@acm.org)

Adriano Maranhão PROFISSIONAIS E ATIVIDADES ENVOLVIDAS EM UM SGBD

Model Driven Development (MDD)

Continuação... Criando a Interface e adiante

Hibernate Anotations

Enterprise Java Beans (III)

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34

4 - Padrões da Camada de Integração. Introdução

Implementação de um Sistema de Objetos Remoto baseado em Java RMI. Ricardo Couto Antunes da Rocha INF/UFG

Universidade Federal de Campina Grande Centro de Ciências e Tecnologia Curso de Mestrado em Informática Coordenação de Pós-Graduação em Informática

2 Componentes de Software

Revisão de Bancos de Dados

Arquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003

Aplicações Distribuídas

Transações em Aplicações Corporativas com Java EE

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

Mapeamento Objeto-Relacional

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

UTILIZAÇÃO DO FRAMEWORK HIBERNATE NA CONSTRUÇÃO DE UM SISTEMA DE INFORMAÇÃO

3 Trabalhos relacionados

PROJETO PEDAGÓGICO DE CURSOS

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

DDL). O resultado da compilação dos parâmetros DDLs é

Aplicações Distribuídas

MAPEAMENTO OBJETO RELACIONAL COM HIBERNATE EM APLICAÇÕES JAVA WEB

(UFF) JSF (I) TEPIS II

Desenvolvimento de Software Baseado em Componentes. Paulo C. Masiero

NOME DA APRESENTAÇÃO

2 Versão 1: Funcionalidade Básica e Interface Web

Mini-curso Gratuito Globalcode Slide 1

O caminho do inferno está pavimentado de boas intenções. Marx.

Engenharia de Software

UFG - Instituto de Informática

Manipulação de Dados com SQL

Arquitetura em Camadas

Transcrição:

Session Bean Stateful

Componentes que mantém o estado dos seus atributos. Mantém os valores de seus atributos entre as várias chamadas de seus métodos de negócio (serviços).

Mantém um relacionamento forte com o cliente que o utiliza. Se a execução do Bean termina ou se o cliente solicita a remoção da instância para container, a sessão é finalizada e o estado é perdido e numa próxima utilização do Bean os valores serão nulos.

O cliente pode configurar os valores dos atributos do Bean através dos métodos set e obter os valores dos atributos através dos métodos get. Assim, o Bean pode utilizar esses valores para os métodos de negócio.

Ver exemplo escrito.

Session Bean Stateful Ciclo de Vida Instância do Session Bean Stateful ainda não existe 1. Class newinstance() 2. setsessioncontext() 3. ejbcreate() ejbremove() Execução dos Métodos de Negócios Session Bean Stateful Pronto Estado Ativo ejbpassivate() ejbactivate() Session Bean Satteful Estado Passivo

Estado Ativo (pronto) - É utilizado pelo cliente. - O métodos de negócio podem ser executados. - Possui recursos alocados pelo container. Estado Passivo - O Bean deixa de ser utilizado por um tempo e fica aguardando novas chamadas de cliente quando está passivo. - Os recursos foram liberados pelo container.

Note que os métodos ejbcreate(), ejbpassivate(), ejbactivate(), ejbremove(), ejbsetsessioncontext() são executados pelo container dentro do ciclo de vida de um Session Bean Stateful.

Session Bean Stateless Ciclo de Vida Para você relembrar! Instância do Session Bean Stateless ainda não existe 1. Class newinstance() 2. setsessioncontext() 3. EjbCreate() ejbremove() Session Bean Stateless Pronto ou Mantido no Pool de Objetos Execução dos Métodos de Negócio

Bean significa EJB

O acesso remoto é utilizado quando o Bean e o cliente estão em máquinas diferentes (JVMs distintas). Se o cliente e o Bean estiverem na mesma máquina (mesma JVM), o acesso remoto será realizado da mesma forma. Transparência de Acesso.

Devemos implementar as interfaces Home e Remote. A interface Remote define os métodos de negócio específicos do Bean. A interface Home define os métodos do ciclo de vida de um SessionBean e também os métodos de busca (create e finders) para um Entity Beans.

O cliente e o Bean deve estar na mesma JVM. O acesso não é transparente. Devemos especificar que o acesso é local. É usado para melhorar o desempenho da implementação do negócio. O Bean não pode ser acessado remotamente.

Para criar um EJB com acesso local, devemos implementar a interface Local e a interface LocalHome. A interface Local define os métodos de negócio específicos do EJB (assim como a interface Remote).

A interface LocalHome define os métodos do ciclo de vida do Bean (assim como a interface Home). Para os Entity Beans a interface LocalHome define também os métodos de busca (finders).

Quando deseja-se prover serviços, transacionais e seguros, a clientes. Um container EJB provê serviços transacionais, seguros e podendo ser com persistência.

Quando usar um Session Bean Stateless Dependendo da aplicação, os Session Beans podem não necessitar guardar os valores dos atributos do Bean, usados na execução de métodos. Não estão associados um cliente específico. Implementam comportamento que atendem a necessidade de muitos clientes. Exemplo: Validação de um CPF, Consulta de vôos.

Dependendo da aplicação, os Session Beans podem necessitar guardar os valores dos atributos do Bean, usados durante a execução dos vários métodos de negócio do Bean. Exemplo 1: Agente de Viagem que funcione como um proxy para serviços providos por outros Beans. Exemplo 2: Um Booking Business Bean que coordena as transações entre vários Beans.

Entity Beans

São componentes de negócio com mecanismos de persistência de dados. O estado pode ser persistido em um banco de dados relacional, arquivos XML ou outros tipos de repositórios de dados. O estado é mantido além do tempo de vida da aplicação ou do servidor de aplicação J2EE.

Quando seu estado precisa ser persistido, por necessidade da aplicação ou porque o Entity Bean não estava ativo e o servidor foi derrubado. Precisa-se recuperar o estado do Entity Bean. Em situações onde deseja-se utilizar os dados do Entity Bean em momentos que seria inviável mantê-los em memória.

Entity Bean - Formas de Persistência Persistência gerenciada pelo Entity Bean. (BMP - Bean Managed Persistence) Persistência gerenciada pelo Container. (CMP Container Managed Persistence)

A codificação das chamadas de acesso à base de dados estão na classe que implementa os métodos de negócio do Entity Bean. Responsabilidade do desenvolvedor.

Métodos de busca (para encontrar o estado de Entity Beans na base de dados). Métodos de criação, remoção e atualização de estados persistidos

Serve para evitar a complexidade de certas operações de persistência, se feitas pelo Container. Demanda mais tempo de desenvolvimento.

CMP - Container Managed Persistence Mais rapidez. Mais facilidade no desenvolvimento de objetos persistentes. O desenvolvedor não precisa escrever os comandos para persistir e manipular dados. O Container se encarrega de fazer essas operações e retornar os valores desejados.

CMP - Container Managed Persistence Ele faz isso para as operações triviais tais como inserção, remoção, atualização e seleção por chave-primária. Para operações específicas de consulta a objetos persistidos, se faz necessário o uso de uma linguagem de consulta conhecida por EQL (EJB Query Language).

CMP - Container Managed Persistence Essas operações devem ser definidas no arquivo de deploy do componente (ejb-jar.xml) utilizando EQL para cada operação desejada. Neste arquivo define-se os campos que serão persistidos e os relacionamentos entre Entity Beans.