Transações em J2EE Mara Denise Coutinho da Silva Sandra Luzia Cortinovi Universidade Federal do Rio Grande do Sul Instituto de Informática Web e Sistemas.

Slides:



Advertisements
Apresentações semelhantes
JBanana.
Advertisements

Checkpoint SGBD com alta demanda de transações Checkpoint
Introdução Gdes. bancos de dados: Concorrência: Transação:
Objetos Implícitos Contextuais
Aula 2 SGBD e Arquitectura ANSI/SPARC Transacções
01/08/2011 Professor Leomir J. Borba- –
TECNOLOGIA EM SISTEMAS PARA INTERNET Banco de dados em aplicativos WEB Aula /08/2011 Professor Leomir J. Borba- –
Sistemas de Informação Redes de Computadores
© Marcelo Bezerra de AlcântaraBanco de Dados II - Transação - 1 Disciplina Banco de Dados II Gerenciamento de transações Msc, Marcelo Bezerra de Alcântara.
PLATAFORMA J2EE Luís Filipe Almeida Santos
Sistemas Distribuídos
Motor de Armazenamento
Linguagens de Programação Orientadas a Objetos
Prof. João Bosco M. Sobral
Sumário 1 SQL Embutida 2 Processamento de Consultas
Conceitos do Servidor Funcionamento Básico do Servidor Tarefas necessárias para estabelecer um servidor para receber requests do Cliente.
Processamento de Transação
Fundamentals of Database Processing
Mark C. Little Arjuna Technologies Ltd., Newcastle upon Tyne, UK
Java Server Faces Leandro O. Gomes Primeiros passos - FES(2009-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.
RECUPERAÇÃO APÓS FALHA
Middleware e Sistemas Distribuídos
Aula R Prof. Naércio Filho Técnico em Informática
JSP / Servlets Avançado
Transações Lílian Simão Oliveira.
SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS Hélder Lima e Silva - hmls
Paradigmas de Linguagens de Programação Linguagem Imperativa 2
PESQUISADOR: CASSIANO DALCIN / 2010 Trabalho de Conclusão de Curso MINISTÉRIO DA EDUCAÇÃO Universidade Tecnológica Federal do Paraná Campus Medianeira.
Controle Distribuído da Concorrência
Controle de concorrência
TRANSAÇÕES Lílian Simão Oliveira. Fonte: Material de referência do SQL Server 2008 R2, disponível em: br/library/bb418439%28v=SQL.10%29.aspx.
RMI x C# Remote Emilena Specht – 1113/01/9 2004/01
Hibernate + JBoss Mapeamento O-R em aplicações corporativas Ricardo Cavalcanti Jobson Ronan
Framework para mapeamento objeto-relacional
Controle de Concorrência Locks. Conceito de Transação Transações podem ser vistas como um grupo de operações combinadas em uma unidade lógica de trabalho.
Arquitetura das JSP - Aula 2
Processos.
Conceitos da arquitetura
Transações BMT e CMT Ricardo Cavalcanti Jobson Ronan
Introdução a Banco de Dados Aula 04
Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.
Slide 1 Programação com Objetos Distribuídos Trabalho Leve 1 The Guardian Model and Primitives for Exception Handling in Distributed Systems Universidade.
1 15/4/ :36 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
Nome: Thatiane Ramos dos Santos Nome: Patricia Emille da Silva.
PostGres - Transacções
Hibernate Universidade Federal do Rio Grande do Sul Instituto de Informática Web e Sistemas de Informação (2004/2005) Objetos Distribuídos Prof. Dr. Cláudio.
Serialização Relaxada em Banco de Dados Múltiplos Andressa Sebben
J2EE Transaction Artemise Barroggi Constantino Luciari Gonçalves Jardim.
Hibernate + JBoss Mapeamento O-R em aplicações corporativas Ricardo Cavalcanti Jobson Ronan
1 Universidade Federal de Santa Catarina Centro Tecnológico - CTC Departamento de Informática e Estatística - INE Bancos de Dados Distribuídos Transaction.
Um estudo da ferramenta EGEN Developer Vitor Hugo Becker Departamento de Informática da Universidade Federal do Rio Grande do Sul – UFRGS.
Transações J2EE UFRGS - Instituto de Informática Curso de Especialização Web e Sistemas de Informação (WEBSIS) Programação com Objetos Distribuídos Prof.
Conceitos do Cliente Funcionamento Básico do Cliente Como Clientes acessam e usam Objetos Distribúidos.
Universidade Federal do Rio Grande do Sul POD – Programação com Objetos Distribuídos Professor: Claúdio Fernando Resin Geyer Resumo: Transações – Tutorial.
Programação com Objetos Distribuídos (Vânia R. Sávio Rodenas) 1 Transações com EJB 3.0 Vânia Regina Sávio Rodenas.
1 EJB Enterprise JavaBeans MAC 440/5759 Sistemas de Objetos Distribuídos Prof. Fabio Departamento de Ciência da Computação IME - USP (Boa parte destes.
Implementando um sistema real com EJB Klissiomara Dias GENTe.
Sumário 1 Processamento de Consultas 2 Introdução a Transações
RMI Remote Method Invocation
Transações Banco de Dados II Aline S Costa 1. TRANSAÇÕES Conjunto de operações que formam uma única unidade lógica de trabalho; Conjunto de instruções.
Grid Versioning Service (GVS) left | Version Date:
Engenharia de Controle e Automação Computação Para Engenharia Semana /02/2013 Professor Leomir J. Borba- –
Sistema Almirante Gabriel Junji Ito Giuliano Diego Barbarra.
Projeto e Implementação de Sistemas de Arquivos
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Fundamentos de EJB Componentes do framework Ricardo Cavalcanti Jobson Ronan
Desenvolvimento WEB II Professora: Kelly de Paula Cunha Apresentação baseada no material didático elaborado pelo Prof. Pasteur Ottoni de Miranda Junior.
Aspectos de Segurança Autenticação e Controle de Acesso Ricardo Cavalcanti Jobson Ronan
Aspectos de performance EJB Performance tuning Ricardo Cavalcanti Jobson Ronan
Transcrição da apresentação:

Transações em J2EE Mara Denise Coutinho da Silva Sandra Luzia Cortinovi Universidade Federal do Rio Grande do Sul Instituto de Informática Web e Sistemas de Informação – Edição 2003/2004 POD – Programação com Objetos Distribuídos

2 Transações em J2EE Manuais  Bean-Managed –Programador explicitamente inicia uma transação, controla cada conexão e recurso dentro do contexto da transação e determina quando a transação irá realizar commit ou rollback Automáticas  Container-Managed –Variável de configuração indica quando um método deve ter comportamento transacional. –Container EJB intercepta as chamadas e inicia automaticamente a transação. Ao fim da execução do método, o container realiza commit ou rollback.

3 Transações Automáticas Container-Managed simplificam o desenvolvimento; cada método é associado a uma transação; aplicável a qualquer tipo de bean: –session, –entity, –message-driven; atributo transaction no deployment descriptor determina o nível de suporte a transações

4 Transações Automáticas - Container-Managed Atributo Transaction Required Método executa no contexto de transação existente. Se não existe transação, o container inicia uma transação antes da execução do método. RequiresNew Método exige que uma nova transação seja iniciada. Caso o método tenha sido chamado dentro de uma transação cliente, o container: (1) suspende a transação cliente; (2) inicia um nova transação; (3) dispara o método; (4) reativa a transação cliente após a execução do método Supports Método executa no contexto de transação existente. Se não existe nenhuma transação, então o método executa sem transação Mandatory O método só executa se já existe uma transação no momento da chamada. Caso não exista, o container gera a exceção NotSupported O método não executa dentro do escopo de uma transação Supports O contexto de transação será ignorado Never Método não executa dentro de transação. Se existir transação ativa no momento da chamada, o container gera exceção

5 Rollback em transações automáticas —automaticamente pelo container quando de exceção —explicitamente pelo método setRollbackOnly da interface EJBContext Rollback em transações automáticas —automaticamente pelo container quando de exceção —explicitamente pelo método setRollbackOnly da interface EJBContext Métodos não permitidos em transações automáticas —commit, setAutoCommit e rollback —getUserTransaction —métodos do javax.transaction.UserTransaction Métodos não permitidos em transações automáticas —commit, setAutoCommit e rollback —getUserTransaction —métodos do javax.transaction.UserTransaction Transações Automáticas - Container-Managed

6 Transações Manuais - Bean-Managed aplicável a beans do tipo session e message-driven uso de JDBC ou JTA; JDBC : transação controlada pelo SGBD JTA: –transações independentes da implementação –Interface UserTransaction –Procedimentos: 1.Obter a transação do objeto de contexto 2.Definir inicio da transação com begin() 3.Definir pontos de término com commit() ou rollback()

7 Transações Manuais - Bean-Managed Retorno com falha Session bean sem estado método deve efetivar ou desfazer a transação antes do retorno Session bean com estado JTA associação entre a instância do bean e a transação é mantida através de múltiplas chamadas do cliente até o fim da transação JDBC a conexão retém a associação entre a instância do bean e a transação; se a conexão é fechada, a associação é perdida

8 Timeouts de Transação Automática  propriedade transaction.timeout no arquivo default.properties no diretório config Manual  método setTransactionTimeout da interface UserTransaction Timeouts de Transação Automática  propriedade transaction.timeout no arquivo default.properties no diretório config Manual  método setTransactionTimeout da interface UserTransaction Níveis de Isolamento Grau em que os dados em processo de atualização são visíveis a outras transações Não padronizado pelo J2EE – responsabilidade do SGBD Níveis de Isolamento Grau em que os dados em processo de atualização são visíveis a outras transações Não padronizado pelo J2EE – responsabilidade do SGBD

9 Atualizações de Múltiplas Bases de Dados Servidor J2EE Cliente Bean-A invoca método no Bean-A Bases de Dados X X Y Y Z Z inicia transação Bean-B AtualizaAtualiza invoca método no Bean-B AtualizaAtualiza AtualizaAtualiza termina transação

10 Atualizações de Múltiplas Bases de Dados Servidor J2EE Cliente Bean-A invoca método no Bean-A Bases de Dados X X Y Y inicia transação termina transação Bean-B AtualizaAtualiza invoca método no Bean-B AtualizaAtualiza