Session Beans. Modelam o estado não-persistente

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

Stateful Session Beans

Session Bean Stateful

Java 2 Enterprise Edition Session Beans

Enterprise Java Beans (I)

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

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

UNIDADE IV ENTERPRISE JAVABEANS

J2EE. J2EE - Surgimento

Entity Beans. Introdução Entity Beans BMP

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

Aplicações Distribuídas Cliente/ Servidor Corporativas

Enterprise Java Bean. Enterprise JavaBeans

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

Aplicação da Arquitetura Multicamadas Utilizando Java. Raquel Schlickmann Orientador: Marcel Hugo

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

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

Aplicações distribuídas em Java Parte II: Componentes EJB

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

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

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

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação

Enterprise Java Beans

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

UFG - Instituto de Informática

Enterprise Java Beans (III)

Arquiteturas de Componentização de Servidores como Integradoras de Bancos de Dados Distribuídos

J2EE. Tecnologias de Middleware. Fernando Martins - fmp.martins@gmail.com

Exemplo de Aplicação Distribuída Serviço de Nomes Gerente de Segurança. Callbacks. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Java 2 Enterprise Edition RMI-IIOP e Enterprise JavaBeans

JavaTM RMI - Remote Method Invocation

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

J530 - Enterprise JavaBeans. Entity Beans. com persistência explícita (BMP) argonavis.com.br. Helder da Rocha

Sistemas de Objetos DistribuídosPrimeira Aplicação Java ORB p.1/21

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

Num sistema de objectos distribuídos, dois conceitos são fundamentais.

Sistemas Distribuídos

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

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado

Message Driven Beans. Apresentação. Introdução Implementação de MDBs Deployment no JBoss Java Messaging Service Exemplo

Sistemas Operacionais II

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos

Objetos e Componentes Distribuídos: EJB

Invocação de Métodos Remotos

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Sistemas Distribuídos: Conceitos e Projeto Java RMI

Pontifícia Universidade Católica do Paraná PUCPR Curso: Ciência da Computação 3ODWDIRUPD-((Œ

Plataforma J2EE e EJB

RMI e RPC. RPC significou um passo muito grande em direcção à

Injeção de Dependências e Spring

Curso Superior de Banco de Dados

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

Paradigmas de Computação Paralela

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

Desenvolvimento Baseado em Componentes: Tecnologia J2EE

Sistemas Paralelos e Distribuídos /2004 Curso: Matemática /Informática Sistemas Distribuídos /2004 Curso: Ensino da Informática

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

Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Middleware de Aplicações Paralelas/Distribuídas

Java 2 Enterprise Edition Fundamentos básicos de Transações

Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior

2 Criar uma Enterprise Application que num módulo EJB irá conter um ou vários Beans.

Objetos e Componentes Distribuídos: EJB e CORBA

Modelo de Componentes CORBA

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

Prof. Fellipe Araújo Aleixo

Arquitetura JEE Introdução à Camada de Negócios: Enterprise Java Beans (EJB) Marcos Kalinowski

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

UFG - Instituto de Informática

AspectJ - Programação Orientada a Aspectos em Java. Sérgio Soares Centro de Informática Universidade Federal de Pernambuco

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

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

Num sistema de objectos distribuídos, dois conceitos são fundamentais.

Tipos, Literais, Operadores

Tipos, Literais, Operadores

Programação Na Web. Servlets: Ciclo de Vida. Agenda. Visão geral sobre ciclo de vida. Nascimento de uma Servlet. Execução de uma Servlet

Java RMI - Remote Method Invocation. Programação com Objetos Distribuídos (C. Geyer) Java-RMI 1

Middleware de Aplicações Paralelas/Distribuídas

Enterprise Java Beans

Serviço de Transação. Transação - Conceitos

Programação Paralela OO. projeto ProActive www-sop.inria.fr/oasis/proactive/home.html

TDC2012. EJB simples e descomplicado, na prática. Slide 1

Programação Estruturada e Orientada a Objetos

Sistemas Distribuídos

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

MsC. João Maria MsC. Liviane Melo

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }

Java 2 Enterprise Edition Uma aplicação J2EE completa

Instituto Superior de Engenharia de Lisboa

Módulo III Camada de Persistência

LEIC-A / MEIC-A 2007/2008 (1º

J820. Testes em J2EE com. Jakarta C A C T U S. argonavis.com.br. Helder da Rocha

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha

Infra-Estrutura de Software

LEIC-A / MEIC-A 2007/2008 (1º

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

Transcrição:

EJB Session Beans Session Beans Modelam o estado não-persistente O estado será perdido entre chamadas de métodos (sessão sem estado) ou chamadas do servidor (sessão com estado) Modelam processos do negócio realizados por um único cliente, envolvendo um ou mais entity bean Session beans são perdidos em um crash do servidor 1

Session Beans Estendem as ações do cliente no servidor Simplificam as ações programadas pelo cliente Limitam o número de chamadas distribuídas necessárias entre o cliente e os entity beans Limitam o número de stubs que têm que ser carregados pelo cliente Gerenciam ações que podem atravessar vários entity beans ou atingir um escopo externoaoentity bean. Exemplos: Caixa pode autenticar o usuário e transferir fundos entre contas Statement pode incluir transações de múltiplas contas Diagrama de Classe para um Session Bean <<Interface>> javax.ejb.ejbhome <<Interface>> AccountHome <<Interface>> javax.ejb.ejbobject <<Interface>> Account javax.ejb.sessionbean activate() passivate() remove() setsessioncontext(sessioncontext) AccountBean implements the business methods of the Account interface. AccountBean 2

Exemplo Session Bean - Home package ejb.bank; import javax.ejb.*; import java.rmi.remoteexception; public interface AccountHome extends EJBHome { public Account create() throws CreateException, RemoteException; } Exemplo Session Bean - Remote package ejb.bank; import java.rmi.remoteexception; import javax.ejb.*; public interface Account extends EJBObject { public double balance() throws RemoteException; } 3

Exemplo Session Bean - Bean package ejb.bank; import javax.ejb.*; import java.io.serializable; import java.util.*; import java.rmi.*; public class AccountBean implements SessionBean { private transient SessionContext ctx; public void ejbcreate () {} public void ejbremove() {} public void setsessioncontext(sessioncontext ctx) { this.ctx = ctx; } Exemplo Session Bean } public void ejbactivate() {} public void ejbpassivate() {} /** * Lógica de negócio */ public String balance() throws RemoteException { // lógica de acesso ao BD return(value); } 4

Diagrama de Sequência para criar um objeto Session Bean Classes fornecidas pelo container : client EJB home EJB object session context bean Bean instance (e.g. AccountBean) create(args) new new new setsessioncontext(...) ejbcreate(args) Session Bean Primeiro Exemplo Exemplo de Stateless Session Bean Hello World 5

Session Beans com e sem Estado Session bean sem estado Não mantém estado conversacional Parece o mesmo para um cliente antes e depois da operação Cada método é independente do outro e a única informação necessária é fornecida nos parâmetros da chamada Consome a menor quantidade de recursos entre todosostiposde beans Session Beans com e sem Estado Session bean com estado Mantém o estado conversacional entre um cliente e o session bean É semi-persistente Pode ser serializado fora e tornado passivo para conservar recursos do sistema ( passivation ) Será seralizado dentro e ativado quando necessário no futuro Por exemplo: session bean representando um carrinho de compras, utilizado em uma aplicação de um supermercado on-line 6

Pooling de Objetos Containers EJB podem usar pools de objetos Evitar a necessidade de criação de novas instâncias de Beans quando o cliente solicita Flexibilidade de criar instâncias antecipadamente e colocá-las em um pool de objetos prontos Quando um cliente invoca um método create () em uma interface home, o container pode obter uma instância do poll, chamar alguns métodos para prepará-la e permitir o seu uso pelo cliente Os métodos invocados dependem do tipo do Bean. Em geral incluem fornecer ao Bean um objeto EJBContext acesso ao ambiente de execução do container (para o bean) Quando o cliente chama algum método remove () a instância pode ser recolocada no poll Ativação e Passivation Processo de passivation : Recursos finitos do container podem levar a remoção temporária de objetos Bean para armazenamento secundário Processo de ativação: Quando o servidor traz de volta o EJB do armazenamento secundário para a memória Somente em Beans que podem possuir estado 7

Funcionamento do Pooling Instance Swapping 8

Ciclo de Vida Session sem Estado Ciclo de Vida Session com Estado 9

Session Bean Segundo Exemplo Exemplo de Statefull Session Bean Conversor de Temperaturas 10