Desmistificando o Hibernate Envers em 10 passos

Tamanho: px
Começar a partir da página:

Download "Desmistificando o Hibernate Envers em 10 passos"

Transcrição

1 _envers Desmistificando o Hibernate Envers em 10 passos Auditoria de dados? Registro de Log? Trilha de auditoria? Descubra como é fácil, através do Hibernate Envers, rastrear o histórico de mudanças e ter informações de quem, quando e o que foi modificado por um usuário. Em dez passos tem-se uma aplicação capaz de gerenciar todas as modificações realizadas na base de dados de forma simples e não intrusiva. Quando desenvolvemos sistemas de criticidade alta, que requerem regras de trilha de auditoria ou log de ações realizadas pelo usuário (isso ocorre principalmente em sistemas governamentais) nos deparamos com inclusões de auditoria na base de dados, gerando um registro de histórico das ações exercidas passo a passo pelos usuários. A motivação para o cliente solicitar esse requisito é poder auditar completamente os seus dados, ou seja, rastrear o histórico de mudança e ter as informações de quem, quando e o que foi modificado. Esse requisito é tratado como ponto crítico para o sistema e avaliado pelos gerentes e/ou líderes de projeto na gestão de riscos do projeto. Cabe ao arquiteto decidir qual será a solução técnica e o procedimento adotado para gerar uma trilha de auditoria utilizando bibliotecas que auxiliam no registro histórico dos dados. O framework Hibernate Envers nos ajuda a criar trilhas de auditoria de forma simples, eficaz e principalmente não intrusiva, sendo compatível com projetos que utilizam o Hibernate para a camada de persistência. Esse framework ao facilitar o versionamento de classes persistentes (ORM) agrega valor ao produto entregue ao cliente, visto possibilitar respostas sobre quem, quando e o que foi modificado. 5 \

2 Bruno Moreira Rocha é brasiliense, bacharel em Ciências da Computação pelo UniCEUB e trabalha com Java há 6 anos. É SCJP, OCWCD e Certified ScrumMaster. Luis Gustavo Santos Fernandez luisgustavo.fernandez@gmail.com é formado em Engenharia da Computação pelo Centro Universitário de Brasília. Trabalha com desenvolvimento de software há 6 anos. Atualmente exercendo a função de arquiteto de sistemas. Este artigo está estruturado de forma que o leitor consiga entender o Hibernate Envers e desmistificá- -lo em dez (10) passos, contendo itens como: conceito, configuração, modelagem de dados e consultas de registros históricos. Hibernate Envers O Envers (Easy Entity Versioning) é um framework que possibilita o versionamento das entidades persistentes de forma simples e fácil, sendo necessária somente a utilização de anotações. Com isso é permitido manter um histórico das alterações dos dados das entidades, sem que o desenvolvedor gere classes específicas para o mapeamento das entidades de histórico. Para auditar as alterações realizadas na entidade por meio de conceitos de revisão similares aos do Subversion. O conceito de revisão se caracteriza pela persistência de uma entidade, mapeada pela biblioteca, em uma transação atômica. Ou seja, para toda persistência de uma entidade auditável é criada uma revisão, um clone do objeto contendo um atributo de revisão como chave primária que persiste em uma tabela de histórico na base de dados. O Hibernate Envers, módulo do Hibernate, requer o Hibernate Annotations e o EntityManager para o seu funcionamento. Além disso, as entidades devem ter identificadores únicos (Primary Key) imutáveis. O Envers trabalha de forma autônoma ou dentro de um container como JBoss AS, em conjunto com os Frameworks JBoss SEAM ou SpringFramework. Algumas características:» Mapeamento da auditoria definido pela especificação do JPA.» Mapeamentos de auditoria, em conjunto com a JPA, extensíveis para atributos de dados, como coleções e mapas.» Criação de um registro de revisão para cada registro de dados de auditoria, ou seja, para cada entidade auditada é criada uma entidade de revisão.» Consulta de dados históricos. Desmistificando o Hibernate Envers em dez passos Para facilitar o entendimento dos passos abaixo utilizaremos um modelo de dados para ilustrar o nosso universo (figura 1). Passo 1: Transações de Auditorias O Envers considera que cada transação como uma nova revisão (similar ao conceito do subversion), desde que a entidade esteja mapeada com a Quando houver transações concorrentes de uma mesma entidade, para que o histórico seja real, a inclusão do histórico ocorrerá em uma mesma transação. Um erro comum que pode ocorrer é quando se utiliza relacionamentos um para muitos (OneTo- Many) e muitos para muitos (ManyToMany). Ao incluir a entidade pai, os relacionamentos representados por coleções devem ser persistidos na mesma transação. Ao persistir o relacionamento em uma transação distinta, o Envers definirá códigos de revisão diferentes para a Entidade pai e para os relacionamentos deixando completamente inconsistente a consulta do histórico. Passo 2: Restrições e Definições O Envers possui algumas definições e restrições que devem ser conhecidas para um melhor entendimento dos passos seguintes. As entidades não auditadas não podem ser anotadas Por mais que a anotação possua o atributo targetauditmode definido como RelationTargetAuditMode.NOT_AUDITED, o Envers considerará que a classe será auditada. isso diz respeito somente aos atributos e relacionamentos da Entidade, sendo assim, caso na análise da entidade seja verificado que a mesma não precisa ser audita- / 6

3 Figura 1. Modelo de dados. da, não acrescente a anotação. Quando utilizamos o JPA/Hibernate para o mapeamento de entidades e necessitamos mapear entidades que contenham chaves primárias compostas é necessária a criação de uma classe que representa a chave composta. Como restrição do Envers, nesse tipo de mapeamento, não podemos @OneToMany e/ O Envers não suporta coleções porque esse tipo de dado pode conter elementos não excludentes. O motivo está contido no conceito de normalização de dados, mais especificamente na primeira forma normal, segundo a qual cada atributo de uma tabela deve conter somente valores atômicos e não pode conter grupos ou atributos multivalorados. No caso de tabelas que requerem uma tabela associativa quando houver um elemento duplicado será lançada uma exceção devido à violação de restrição exclusiva. Ao utilizar para representar um mapeamento bidirecional, pode-se ocasionar exceções de mapeamento no qual o Envers nos informa que o atributo mapeado não pode ser lido. Para solucionar o problema devemos utilizar a ao invés da Neste momento o Envers não irá auditar o relacionamento bidirecional. Listagem 1. A Listagem 1 apresenta um exemplo de mapeamento muitos para um utilizando a ManyToOne. = property = RelationTargetAuditMode. NOT_AUDITED) private Object objeto; Listagem 2. A Listagem 2 apresenta um exemplo de mapeamento um para muitos utilizando a = property private Set<Object> lista; Passo 3: Acrescentando a dependência do Hibernate Envers, utilizando o Maven. Neste artigo, utilizaremos a ferramenta Apache Maven para gerenciar o controle de dependências de bibliotecas do Hibernate Envers nos projetos. Para acrescentá-lo no projeto é necessário configurar o arquivo pom.xml de acordo com a versão do hibernate-core e hibernate-entitymanager. Para versões anteriores ao Hibernate 3.4 deve-se utilizar o JBoss Envers. Listagem 3. Adicionando a dependência do JBoss Envers para Hibernate 3.3. <dependency> <groupid>org.jboss.envers</groupid> <artifactid>jboss-envers</artifactid> <version>1.2.2.ga-hibernate-3.3</version> </dependency> Para a versão do Hibernate 3.6 e 4.1 deve-se utilizar o módulo hibernate-envers. Listagem 4. Adicionando a dependência do Hibernate Envers para Hibernate \

4 <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-envers</artifactid> <version> final</version> </dependency> Listagem 5. Adicionando a dependência do Hibernate Envers para Hibernate 4.1. <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-envers</artifactid> <version>4.1.0-final</version> </dependency> Passo 4: Adicionando os listerners do Envers O Hibernate Envers utiliza classes de listener que são responsáveis pelas ações de auditoria, ou seja, têm a função de incluir registros nas tabelas de histórico de acordo com a ação realizada pelo usuário na aplicação. Essas classes de listener devem constar no arquivo persistence.xml, caso contrário de nada adiantará as annotations presentes nas Entidades responsáveis pela auditoria. Segue abaixo como deve ficar a configuração no arquivo persistence.xml: Listagem 6. Adicionando os listerners no persistence. xml. <properties> <property name= hibernate.ejb.event.post-insert value= org.hibernate.ejb.event. EJB3PostInsertEventListener, org.hibernate.envers.event.auditeventlistener /> <property name= hibernate.ejb.event.post-update value= org.hibernate.ejb.event. EJB3PostUpdateEventListener, org.hibernate.envers.event.auditeventlistener /> <property name= hibernate.ejb.event.post-delete value= org.hibernate.ejb.event. EJB3PostDeleteEventListener, org.hibernate.envers.event.auditeventlistener /> <property name= hibernate.ejb.event.precollection-update value= org.hibernate.envers. event.auditeventlistener /> <property name= hibernate.ejb.event.precollection-remove value= org.hibernate.envers. event.auditeventlistener /> <property name= hibernate.ejb.event.postcollection-recreate value= org.hibernate. envers.event.auditeventlistener /> </properties> Passo 5: Como Auditar Entidades Para auditar as entidades é necessário identificá- -las com a da mesma maneira como identificamos as entidades persistentes Entity. O Hibernate Core o Envers possibilita a customização da nomenclatura da tabela tanto pela quanto Quando não se utiliza essa anotação o Envers entende que a nomenclatura da tabela de histórico será o nome da classe acrescentado pelo sufixo _AUD. Para exemplificar a temos uma entidade mapeada com a = tabela, schema= dbschema ) e o Envers entenderá que a nomenclatura da tabela de auditoria será a tabela_aud para o esquema de banco de dados dbschema. No caso de se adicionar a entidade à hist_tabela, schema= dbhist ) o Envers entenderá que a tabela de auditoria será a hist_tabela para o esquema dbhist. Assim podemos customizar a nomenclatura das tabelas de registros de dados históricos. Listagem 7. A Listagem 7 apresenta um exemplo de mapeamento utilizando JPA e = USUARIO, schema = = HIST_USUARIO, schema = DBSISTEMA ) public class Usuario { = CODIGO ) private Integer = NOME ) private String nome; = EMPRESA_CODIGO, referencedcolumnname = CODIGO ) private = USUARIO_CODIGO, referencedcolumnname = CODIGO ) private List<Documento> documentos; //get s e set s omitidos A partir do momento que existe a automaticamente todos os atributos e relacionamentos serão auditados sem necessitar de alguma configuração para que isso aconteça. / 8

5 Caso seja necessário, é possível limitar o que deve ser auditado. Por exemplo, pode-se definir que apenas algumas informações de uma determinada tabela sejam necessárias para a auditoria ou para evitar que alguma coluna contendo um valor extenso seja armazenado também na tabela de auditoria, como um Blob. Para não auditar atributos ou relacionamentos utilize as Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDiTED). A primeira anotação ignora totalmente o atributo ou relacionamento, sendo ideal para relacionamentos que são somente leitura (configurados como insertable = false e updatable = false). A segunda servirá para relacionamentos com tabelas de domínio (code tables) com ManyToOne, por exemplo. Os valores dessas tabelas não sofrerão alterações por isso não seria interessante manter uma ou mais tabelas de histórico para ela. Passo 6: Entidade de Revisão O Hibernate Envers controla as versões por meio de uma Entidade de Revisão que contém a A tabela que essa entidade representa conterá o código de revisão, o tipo de revisão e a data em que foi feita a ação. É possível colocar quantos atributos forem necessários nessa tabela, como, por exemplo, o código do usuário, o endereço ip do usuário, entre outras informações. Essas informações serão preenchidas pela classe de Listener de Revisão definida na RevisionEntity. O próprio Envers é responsável por informar o valor do tipo de revisão analisando o método utilizado (insert, update e delete). Os valores possíveis para o tipo de revisão são: 1 (um) para inclusões, 2 (dois) para alterações e 3 (três) para deleções. Os atributos da Entidade de Revisão que representam o código da revisão e a data da ação devem conter as Timestamp. O Envers considerará que foram criadas as colunas REV e REV_TYPE, que representam o código de revisão e o tipo de revisão, respectivamente. Caso seja necessário alterar o nome dessas colunas por uma questão de padronização de banco de dados, por exemplo, basta acrescentar configurações no persistence.xml, abaixo: Listagem 8. Configurações no persistence.xml.. <properties> <property name= org.hibernate.envers.revision_ field_name value= CODIGO_REVISAO /> <property name= org.hibernate.envers.revision_ type_field_name value= CODIGO_TIPO_REVISAO /> </properties> Listagem 9. A Listagem 9 apresenta uma entidade de revisão mapeada com JPA e @Table(name = REVISAO, schema = DBSISTEMA = SEQ_REVISAO, sequencename = DBSISTEMA.SEQ_REVISAO, allocationsize = 1, initialvalue = 1) public class = SEQ_REVISAO, strategy = = CODIGO_REVISAO, length = 8, nullable = private @Column(name = DT_REVISAO ) private Date = CODIGO_USUARIO ) private Long = _USUARIO ) private String = NOME_USUARIO ) private String nomeusuario; //... Passo 7: Listener de Revisão As classes de listeners de revisão, que possuem a responsabilidade de preenchimento da entidade de revisão com os dados pertinentes à auditoria, são invocadas após as ações definidas nas propriedades do arquivo persistence.xml (conforme Listagem 6). O requisito para criação de classes de listerner de revisão é a implementação da interface org.hibernate.envers.revisionlistener desenvolvendo o método void newrevision(object revisionentity), responsável pela criação de uma nova revisão para os dados auditados. Listagem 10. A Listagem 10 apresenta um exemplo de listener para recuperar os dados de um usuário, utiliza-se o SpringFramework. public class RevisaoListener implements org.hibernate. envers.revisionlistener 9 \

6 public void newrevision(object objetorevisao) { Revisao revisao = (Revisao) objetorevisao; Authentication authentication = SecurityContextHolder.getContext(). getauthentication(); Usuario usuario = (Usuario) authentication. getprincipal(); revisao.setcodigousuario(usuario.getid()); revisao.setnomeusuario(usuario.getnome()); revisao.set usuario(usuario.get ()); revisao.settimestamp(new Date()); muitos para um (ManyToOne), este não será carregado de forma automática (mesmo utilizando o tipo de inicialização EAGER). Este relacionamento precisa ser inicializado manualmente utilizando-se o método initialize da classe org.hibernate.hibernate. infelizmente, mesmo que seja feita uma inicialização explícita, o Envers não carregará os relacionamentos um para muitos (OneToMany) e muitos para muitos (ManyToMany). Uma solução seria carregar separadamente a lista de Entidades que representam um determinado relacionamento através de consultas com a APi do Envers utilizando o código de revisão desejado e a classe específica. Listagem 11. Método initialize. Passo 8: Criando Tabelas de Auditoria e Revisão As tabelas de histórico devem ser consideradas espelhos das tabelas auditadas, mantendo a mesma nomenclatura da tabela de origem. Acrescentando dois atributos: o código da revisão (chave primária gerada através da tabela de revisão) e o tipo de revisão que definirá a ação executada como inclusão, alteração ou exclusão de dados. Passo 9: Relacionamentos Quando for necessário recuperar os dados de auditoria e a entidade contiver o relacionamento de public static void initialize(object proxy) throws HibernateException { if ( proxy == null ) { return; else if ( proxy instanceof HibernateProxy ) { ( ( HibernateProxy ) proxy ). gethibernatelazyinitializer().initialize(); else if ( proxy instanceof PersistentCollection ) { ( ( PersistentCollection ) proxy ).forceinitialization(); //Usando o método Hibernate.initialize(entidade.getRelacionamento()); Figura 2. Modelo de Dados, Tabelas de Histórico. / 10

7 Passo 10: Consultando Revisões Ao contrário do que normalmente é feito, não é possível consultar dados históricos utilizando os mecanismos de busca fornecidos pelo Hibernate, ou seja, não será possível a utilização de HQL e Criteria para recuperar Entidades que representam as tabelas de histórico. Não existe Entidade mapeada para as tabelas de auditoria, apenas para as originais, somente sendo possível recuperar a versão desejada no formato da Entidade com as consultas disponibilizadas pela API do Envers ou através de SQL Nativo. Para realizar consultas sem a utilização de SQL nativo, o Envers fornece a interface AuditReader que contém métodos que realizam consultas utilizando as entidades já mapeadas. O Envers cria a Entidade em tempo de execução que representa a tabela de histórico contendo as mesmas propriedades e relacionamentos da Entidade de origem. A classe AuditReaderFactory é responsável por recuperar uma instância que implementa AuditReader. O método get se encarrega dessa função exigindo como parâmetro o EntityManager: Listagem 12. AuditReader. private AuditReader getauditreader() { AuditReader reader = AuditReaderFactory. get(entitymanager); return reader; Listagem 13. Exemplo como recuperar uma Entidade através de sua chave e a revisão específica desejada. public T findbyidandrevision(object id, Number revision) { reader = getauditreader(); T obj = reader.find(getpersistentclass(), id, revision); return obj; public List<T> findbyrevision(class classe, Number numerorevisao) { reader = getauditreader(); AuditQueryCreator query = reader.createquery(); PropertyNameGetter p = new RevisionNumberPropertyName(); AuditCriterion c = new SimpleAuditExpression(p, numerorevisao, = ); List<T> revisoes = (List<T>) query. forentitiesatrevision(classe, numerorevisao). add(c).getresultlist(); return revisoes; Considerações Finais Neste artigo, foram abordados conceitos e demonstrações da utilização do Hibernate Envers. Um poderosíssimo framework para a criação de trilhas de auditoria, sem que haja a necessidade de desenvolver uma estrutura específica para as auditorias no SGBD (Stored Procedures ou triggers). No desenvolvimento de novos projetos que requerem trilhas de auditoria já podemos incorporar o Hibernate Envers para o desenvolvimento deste requisito, minimizando os impactos por ser um framework transparente, baseado em revisões e principal por não ser intrusivo. Seja produtivo com o mínimo de impacto possível no desenvolvimento de auditoria no seu projeto, divirta-se e adapte seu projeto para realizar trilhas de auditorias de forma simples e prática utilizando-se o Hibernate Envers. /referências Lembre-se de inicializar os relacionamentos (muitos-para-um) para que seja possível recuperar os valores dos mesmos. Além de fornecer uma série de consultas úteis através da interface AuditReader, o Envers fornece uma série de interfaces que viabilizam o uso de Criteria para consultas personalizadas em dados históricos. > > > > Listagem 14. Consulta personalizada que recupera uma lista de uma determinada Entidade através de um código de revisão específico. 11 \

Hibernate Envers Easy Entity Auditing

Hibernate Envers Easy Entity Auditing Hibernate Envers Easy Entity Auditing Auditando suas classes de persistência com Hibernate Envers Castro (@CastroAlexandre) Consultor (Summa) e Instrutor (Globalcode) SCJP, SCWCD, SCBCD, SCEA-I, SCSNI

Leia mais

Persistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com

Persistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com Persistência de dados com JPA Hélder Antero Amaral Nunes haanunes@gmail.com O que é persistência? A persistência de dados é o fato de pegar um dado e torná-lo persistente, ou seja, salvar em algum banco

Leia mais

ruirossi@ruirossi.pro.br

ruirossi@ruirossi.pro.br Persistência Com JPA & Hibernate Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 Mapeamento Objeto-Relacional Contexto: Linguagem de programação orientada a objetos

Leia mais

Mapeamento Lógico/Relacional com JPA

Mapeamento Lógico/Relacional com JPA Mapeamento Lógico/Relacional com JPA Elaine Quintino da Silva Doutora em Ciência da Computação pelo ICMC-USP/São Carlos Analista de Sistemas UOL PagSeguro Instrutora Globalcode Agenda! Persistência de

Leia mais

Auditoria Avançada de Persistência com Hibernate, JPA e Envers

Auditoria Avançada de Persistência com Hibernate, JPA e Envers a r t i g o José Yoshiriro Ajisaka Ramos (jyoshiriro@gmail.com): bacharel em Sistema de Informação (IESAM). Mestrando em Ciência da Computação (UFPA). Instrutor na Equilibrium Web e na UAB. Engenheiro

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Engenharia de Software Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 9 Mapeamento em JPA Introdução O mapeamento objeto-relacional

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Sistemas de Informações Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 7 JPA A Persistência com JPA Para configurar o JPA

Leia mais

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Luis Gustavo Zandarim Soares 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paraná PR Brasil luisgustavo@live.co.uk,

Leia mais

Auditando persistência com JPA

Auditando persistência com JPA a r t i g o Em ambientes corporativos, a auditoria sobre as operações de banco de dados é importantíssima, quando não, indispensável. Essa importância surge a partir de um conjunto de necessidades, como:

Leia mais

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education JPA Passo a Passo Henrique Eduardo M. Oliveira henrique@voffice.com.br 1 Palestrante Henrique Eduardo M. Oliveira (henrique@voffice.com.br) > Trabalha: Arquiteto JEE / Instrutor Java > Formação: Ciências

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados

Leia mais

JPA: Persistência padronizada em Java

JPA: Persistência padronizada em Java JPA: Persistência padronizada em Java FLÁVIO HENRIQUE CURTE Bacharel em Engenharia de Computação flaviocurte.java@gmail.com Programação Orientada a Objetos X Banco de Dados Relacionais = Paradigmas diferentes

Leia mais

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44 Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

Leia mais

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) Sessão Prática II JPA entities e unidades de persistência 1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) a) Criar um Web Application (JPAsecond) como anteriormente:

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

Modelagem de Banco de Dados através do ERwin

Modelagem de Banco de Dados através do ERwin Modelagem de Banco de Dados através do ERwin Introdução O Erwin é uma ferramenta CASE para a modelagem de banco de dados através do modelo ER (Entidade-Relacionamento). Possibilita uma maior concentração

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Guia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior

Guia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior Guia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior Demoiselle Audit... v 1. Auditor... 1 1.1. Auditor de Persistência... 1 1.2. Auditor de Visão... 1

Leia mais

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

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web

Leia mais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

Leia mais

ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API

ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API Tiago Henrique Gomes da Silva Balduino 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil tiagobalduino77@gmail.com

Leia mais

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária Cascavel Novembro de 2009 Pedro Patitucci Finamore Daniel Bordignon Cassanelli Marco Antonio da Rosa DIAGRAMAS DE CLASSE E SEQUÊNCIA

Leia mais

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Ferramenta de apoio a gerência de configuração de software Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Gerência de Configuração

Leia mais

Hibernate. Mapeamento Objeto-Relacional. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior

Hibernate. Mapeamento Objeto-Relacional. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior Hibernate Mapeamento Objeto-Relacional Baseado nas notas de aula de João Dalyson e Raphaela Galhardo Fernandes Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior Objetivos Aprender MOR usando Hibernate

Leia mais

Persistindo dados com TopLink no NetBeans

Persistindo dados com TopLink no NetBeans Persistindo dados com TopLink no NetBeans O que é TopLink? O TopLink é uma ferramenta de mapeamento objeto/relacional para Java. Ela transforma os dados tabulares de um banco de dados em um grafo de objetos

Leia mais

Persistência de Dados em Java com JPA e Toplink

Persistência de Dados em Java com JPA e Toplink Persistência de Dados em Java com JPA e Toplink Vinicius Teixeira Dallacqua Curso de Tecnologia em Sistemas para Internet Instituto Federal de Educação, Ciência e Tecnologia - IFTO AE 310 Sul, Avenida

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

Curso de Java. Acesso a banco de dados através do Hibernate. Todos os direitos reservados Klais

Curso de Java. Acesso a banco de dados através do Hibernate. Todos os direitos reservados Klais Curso de Java Acesso a banco de dados através do Hibernate Todos os direitos reservados Klais Motivação Java é uma linguagem orientada a objetos: Numa aplicação, o uso de objetos é um recurso importante

Leia mais

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013 QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013 Prezados Senhores da comissão de licitação da UENF, seguem alguns questionamentos acerca do edital de concorrência 01/2013 para esclarecimentos: 1. ANEXO

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

e-stf WebServices Processo Eletrônico Smart Client Documentação

e-stf WebServices Processo Eletrônico Smart Client Documentação SUPREMO TRIBUNAL FEDERAL Secretaria de Tecnologia da Informação e-stf WebServices Processo Eletrônico Smart Client 1 Histórico da Revisão Data Versão Descrição Autor 20/06/2008 1.0 Criação do documento

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

1. Domínio dos Atributos

1. Domínio dos Atributos Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Domínio dos Atributos Por domínio, ou tipo, pode-se entender como a maneira como determinado atributo (ou campo, se tratando

Leia mais

BANCO DE DADOS. Fixação dos conteúdos Integridade Referencial Normalização Exercícios

BANCO DE DADOS. Fixação dos conteúdos Integridade Referencial Normalização Exercícios BANCO DE DADOS Fixação dos conteúdos Integridade Referencial Normalização Exercícios BANCO DE DADOS X SGBD Banco de Dados: Um "banco de dados" pode ser definido como um conjunto de "dados" devidamente

Leia mais

Parte I. Demoiselle Mail

Parte I. Demoiselle Mail Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework

Leia mais

Módulo 03. Mapeando Associações/Relacionamentos. Raphaela Galhardo. raphaela@jeebrasil.com.br

Módulo 03. Mapeando Associações/Relacionamentos. Raphaela Galhardo. raphaela@jeebrasil.com.br Módulo 03 Mapeando Associações/Relacionamentos Raphaela Galhardo raphaela@jeebrasil.com.br Associações Um-para-um; Muitos-para-um; Um-para-muitos; Muitos-para-muitos. Associações - OneToMany Exemplo: Uma

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Uso do SQLite no Android Professor: Danilo Giacobo OBJETIVOS DA AULA Aprender a persistir dados utilizando o banco de dados SQLite. Conhecer e utilizar a classe SQLiteOpenHelper.

Leia mais

Java Persistence API. Entity Entity Campos e Propriedades Entity Chaves Primárias Entity Associações

Java Persistence API. Entity Entity Campos e Propriedades Entity Chaves Primárias Entity Associações Java Persistence API Entity Entity Campos e Propriedades Entity Chaves Primárias Entity Associações Entity Manager Entity Manager API Java Persistence Query Language (JPQL) Persistence Units 1 Java Persistence

Leia mais

Documento de Arquitetura

Documento de Arquitetura Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento

Leia mais

WebApps em Java com uso de Frameworks

WebApps em Java com uso de Frameworks WebApps em Java com uso de Frameworks Fred Lopes Índice O que são frameworks? Arquitetura em camadas Arquitetura de sistemas WEB (WebApps) Listagem resumida de frameworks Java Hibernate O que são frameworks?

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta

Leia mais

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando

Leia mais

HISTÓRICO DAS REVISÕES N.ºREVISÃO DATA IDENTIFICAÇÃO DO DOCUMENTO 00 16/04/2007 Emissão inicial

HISTÓRICO DAS REVISÕES N.ºREVISÃO DATA IDENTIFICAÇÃO DO DOCUMENTO 00 16/04/2007 Emissão inicial HISTÓRICO DAS REVISÕES N.ºREVISÃO DATA IDENTIFICAÇÃO DO DOCUMENTO 00 16/04/2007 Emissão inicial Elaborado: 16/04/2007 Superintendente e ou Gerente da unidade Análise Crítica e aprovação : 16/04/2007 Representante

Leia mais

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

Guia de Fatores de Qualidade de OO e Java

Guia de Fatores de Qualidade de OO e Java Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.

Leia mais

Criar uma aplicação JPA2 com EclipseLink e H2

Criar uma aplicação JPA2 com EclipseLink e H2 Criar uma aplicação JPA2 com EclipseLink e H2 1) Criar uma aplicação Java no NetBeans. File > New Project > Java, Java Application > Project name: JPA2 Finish. 2) Acrescentar ao Projeto NetBeans a biblioteca

Leia mais

JPA Java Persistence API. Prof. Ramon Chiara

JPA Java Persistence API. Prof. Ramon Chiara JPA Java Persistence API Prof. Ramon Chiara JDBC Java DataBase Connectivity Acesso a bancos de dados Independência de banco de dados JDBC Aplicação JDBC Driver Banco de Dados JDBC Java DataBase Connectivity

Leia mais

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase. ? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.? Desde de 1994, a Microsoft lança versões do SQL SERVER

Leia mais

TOTVS BA Guia de Customização Linha Logix

TOTVS BA Guia de Customização Linha Logix TOTVS BA Guia de Customização Linha Logix Guia de Customização Sumário Título do documento 1. Objetivo... 3 2. Introdução... 3 3. Customização... 3 2 TOTVS BA Linha Logix Guia de Customização Projeto/Versão:

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS

Leia mais

Módulo 5 JPATransaction Camadas Turma Turma TurmaBC .business @BusinessController TurmaBC TurmaBC TurmaBC

Módulo 5 JPATransaction Camadas Turma Turma TurmaBC .business @BusinessController TurmaBC TurmaBC TurmaBC Módulo 5 No módulo anterior adaptamos nosso projeto para persistir as informações no banco de dados utilizando as facilidades da extensão demoiselle-jpa. Experimentamos o controle transacional do Framework

Leia mais

ARQUITETURA SISGRAD. Manual de Utilização. Versão: 2.0. Criação: 05 de julho de 2007 Autor: André Penteado

ARQUITETURA SISGRAD. Manual de Utilização. Versão: 2.0. Criação: 05 de julho de 2007 Autor: André Penteado ARQUITETURA SISGRAD Manual de Utilização Versão: 2.0 Criação: 05 de julho de 2007 Autor: André Penteado Última Revisão: 09 de outubro de 2009 Autor: Alessandro Moraes Controle Acadêmico - Arquitetura SISGRAD

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Faculdade Lourenço Filho - ENADE 2011-1

Faculdade Lourenço Filho - ENADE 2011-1 1. Quando se constrói um banco de dados, define-se o modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e seus relacionamentos. Cada entidade pode

Leia mais

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011 Banco de Dados Aula 1 - Prof. Bruno Moreno 16/08/2011 Roteiro Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza autodescritiva

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais

Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser

Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser A1Criando um módulo de negócio Capítulo 27 Aplicação dividida em módulos - Introdução Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser compreendido como uma solução de

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

Figura 1. A Classe Java

Figura 1. A Classe Java Conexã o com MySQL Connection Factory Para criar as conexões com o banco de dados será utilizado um padrão chamado Factory, onde através dele se terá uma única classe que proverá uma fábrica de conexão

Leia mais

Aplicabilidade: visão geral

Aplicabilidade: visão geral CURSO BÁSICO SAXES 2 Aplicabilidade: visão geral BI Comércio Indústria nf-e Serviços Software house Enterprise Business Bus Banco financeiro Instituição Sindicato ERP html Casos 3 6 Customização: importação

Leia mais

Hibernate. Mapeamento O/R Marcio Aguiar Ribeiro aguiar.marcio@gmail.com

Hibernate. Mapeamento O/R Marcio Aguiar Ribeiro aguiar.marcio@gmail.com Hibernate Mapeamento O/R Marcio Aguiar Ribeiro aguiar.marcio@gmail.com Hibernate O que é? Ferramenta para mapeamento O/R em Java Uma das mais difundidas Transparência Independência quanto ao tipo de base

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Engenharia de Software Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 11 Mapeamento em JPA - Continuação Objetos Embutidos

Leia mais

Aula 2 - Revisão de JPA (Java Persistence API)

Aula 2 - Revisão de JPA (Java Persistence API) Aula 2 - Revisão de JPA (Java Persistence API) Professor: Ricardo Luis dos Santos IFSUL 2015 Tabela para Revisão Assunto (JPA) Interesse? 1 Vantagens e Desvantagens 4 2 Principais Conceitos 7 3 Anotações

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Perola André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Prevayler é a implementação em Java do conceito de Prevalência. É um framework que prega uma JVM invulnerável

Leia mais

RELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE Elio Lovisi Filho 1 Ronney Moreira de Castro 2 RESUMO

RELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE Elio Lovisi Filho 1 Ronney Moreira de Castro 2 RESUMO Revista Eletrônica da Faculdade Metodista Granbery http://re.granbery.edu.br - ISSN 1981 0377 Curso de Sistemas de Informação - N. 10, JAN/JUN 2011 RELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE

Leia mais

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações

Leia mais

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL. Java Peristence API 1.

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL. Java Peristence API 1. UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL Java Peristence API 1.0 Salvador-Ba Março/2009 1 RAMON PEREIRA LOPES Java Peristence API

Leia mais

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância 5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância O capítulo anterior apresentou uma discussão sobre a inclusão dos chamados learning services no processo

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Análise de Ponto de Função

Análise de Ponto de Função Complemento para o Curso Análise de Ponto de Função FUNÇÕES DO TIPO DADO O termo Arquivo não significa um arquivo do sistema operacional, como é comum na área de processamento de dados. Se refere a um

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MANUAL

Leia mais

Resolvendo objeto-relacional impedance mismatch com hibernate

Resolvendo objeto-relacional impedance mismatch com hibernate Resolvendo objeto-relacional impedance mismatch com hibernate August 7, 2013 Sumário I 1 Introdução 2 3 4 Sumário II 5 Contexto Mapeamento Objeto-Relacional (ORM) é uma técnica de programação para converter

Leia mais

Persistência de Classes em Tabelas de Banco de Dados

Persistência de Classes em Tabelas de Banco de Dados UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos

Leia mais

2013 GVDASA Sistemas Cheques 1

2013 GVDASA Sistemas Cheques 1 2013 GVDASA Sistemas Cheques 1 2013 GVDASA Sistemas Cheques 2 AVISO O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio. Nenhuma

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Introdução à Banco de Dados. Definição

Introdução à Banco de Dados. Definição Universidade Federal da Bahia Departamento de Ciência da Computação (DCC) Disciplina: Banco de Dados Profª. Daniela Barreiro Claro Introdução à Banco de Dados Definição Um banco de dados é uma coleção

Leia mais

Padrão J2EE Data Access Object (DAO)

Padrão J2EE Data Access Object (DAO) Introdução CRUD DAO Exemplo Padrão J2EE Data Access Object (DAO) Prof. Enzo Seraphim Motivação para usar Componentes precisam acessar e armazenar informações em armazenamento persistente As APIs de armazenamento

Leia mais

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

Leia mais

Análise de Dados do Financeiro

Análise de Dados do Financeiro Análise de Dados do Financeiro Introdução Para reunir em um só local as informações de contas a pagar e receber cadastradas e/ou geradas no sistema TTransp existe a interface de análise de dados do financeiro.

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

LINGUAGEM DE BANCO DE DADOS

LINGUAGEM DE BANCO DE DADOS LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados

Leia mais

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores

Leia mais

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: SGBD Características do Emprego de Bancos de Dados As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: Natureza autodescritiva

Leia mais

InfoMix Tecnologia. Soluções em Tecnologia da Informação. SYSFARM Sistema de Gerenciamento de Farmácias. Documento Requisitos Versão 1.

InfoMix Tecnologia. Soluções em Tecnologia da Informação. SYSFARM Sistema de Gerenciamento de Farmácias. Documento Requisitos Versão 1. SYSFARM Sistema de Gerenciamento de Farmácias Documento Requisitos Versão 1.1 Histórico de Revisão Data Versão Descrição Autor 06/09/2009 1.0 Elaboração da para análise da 1º versão Marcos Silva do documento

Leia mais

Especificação do Trabalho

Especificação do Trabalho Especificação do Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação, ligação,

Leia mais

DESENVOLVIMENTO DE SOFTWARE. Introdução ao Visual Studio VB.Net. Programação Estruturada. Prof. Celso Candido ADS / REDES / ENGENHARIA

DESENVOLVIMENTO DE SOFTWARE. Introdução ao Visual Studio VB.Net. Programação Estruturada. Prof. Celso Candido ADS / REDES / ENGENHARIA Introdução ao Visual Studio VB.Net Programação Estruturada 1 Nesse momento inicial não iremos programar em VB.Net, usando o Visual Studio, mas conhecer alguns comandos e variáveis usadas em uma linguagem

Leia mais

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)? Roteiro BCC321 - Banco de Dados I Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Conceitos Básicos Banco

Leia mais

HIBERNATE Criando um projeto em Java + Hibernate do zero

HIBERNATE Criando um projeto em Java + Hibernate do zero HIBERNATE Criando um projeto em Java + Hibernate do zero SUMÁRIO 1 Instalação do NetBeans 2 Instalação do Java Development Kit (JDK) 3 Criar projeto no NetBeans 4 O arquivo hibernate.cfg.xml 5 Criar as

Leia mais

Oficina. Praça das Três Caixas d Água Porto Velho - RO

Oficina. Praça das Três Caixas d Água Porto Velho - RO Oficina Praça das Três Caixas d Água Porto Velho - RO Oficina Ministrante: Marcel Leite Rios Apresentação Pessoal Marcel Leite Rios Prof. de Informática IFRO Graduado: Sistemas de Informação - ULBRA MBA

Leia mais