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

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

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

Transcrição

1 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 de software do Tribunal de Justiça do Pará. Possui as certificações SCJP, SCWCD e SCBCD. Trabalha com Java há 6 anos. Márcia Amaral (eme.amaral@gmail.com): bacharel em Ciência da Computação (UFPA). Analista de Sistemas do Tribunal de Justiça do Pará. "Java Girl" há mais de 8 anos. Eterna estudante de novas tecnologias. Auditoria Avançada de Persistência com Hibernate, JPA e Envers Aprenda como implementar um robusto e completo sistema de auditoria de persistência com o Hibernate em conjunto com o Envers A auditoria sobre as operações de banco de dados é importantíssima, quando não, indispensável em sistemas de porte corporativo. Essa importância surge a partir de necessidades como correção de inconsistências de dados, detecção de incidentes de segurança etc. Caso os requisitos de um sistema exijam muitos detalhes na auditoria de persistência, torna-se necessário o uso de ferramentas de alto nível para cumpri-los com eficiência. Este artigo visa apresentar o caminho das pedras para implementar auditoria em persistência objeto relacional com Hibernate, JPA e Envers, apresentando um grande leque de recursos para esse tipo de tarefa. A uditar a persistência permite analisar operações que envolvem o acesso a bancos de dados. Uma boa auditoria de persistência deve fornecer informações sobre as operações nas tabelas envolvidas: O nível de detalhe das informações geradas pela auditoria deve ser suficiente para que seja possível desfazer operações sempre que necessário. Muito provavelmente, o tipo de auditoria mais usado atualmente é o baseado em Stored Procedures e Triggers de bancos de dados. As técnicas abordadas neste artigo não entram em conflito com tais mecanismos, podendo até trabalhar em conjunto. Este artigo visa apresentar uma robusta e flexível ferramenta para implementação de auditoria de persistência, composta pelos frameworks Hibernate, JPA e Envers tendo como foco principal o último, que é quem possibilita que a tecnologia de mapeamento objeto relacional dos demais possa contar com um forte sistema de auditoria. 51

2 Hibernate e Envers O Hibernate é um framework de mapeamento objeto relacional muito popular entre os desenvolvedores Java. Atualmente, ele pode ser usado de duas maneiras: como Hibernate Core ou provedor de persistência JPA (Java Persistence API). Na primeira, não se depende dos recursos da JPA, podendo lançar mão de vários recursos exclusivos, como Criteria, por exemplo. Os recursos exclusivos do Hibernate Core que possibilitam a implementação de auditoria são os Interceptors e Events, que não fazem parte do escopo deste artigo. Na segunda, ele se comporta como uma implementação da JPA. A biblioteca que permite que o Hibernate seja usado como provedor JPA é a Hibernate Entity Manager. É só com esse tipo de uso que é possível usar o framework Envers para auditoria de persistência. O JPA é a tecnologia padrão de mapeamento objeto relacional do Java. Na edição 37 da Mundoj, o artigo Auditando persistência com JPA apresentou o mecanismo de Listeners de Callbacks, que permite a implementação de auditoria com JPA. Neste artigo, foram abordados os pontos fracos de se implementar auditoria com JPA, que são a não escuta dos Listaners aos métodos invocados de Query e a não-obtenção do estados antes e depois dos objetos envolvidos na operação de persistência. Conforme será apresentado nas próximas seções, o Envers supera essas limitações e ainda oferece funcionalidades exclusivas. O Envers é um framework que permite criar auditoria através do controle de versões de persistência em mapeamentos objetos relacionais feitos com o Hibernate como provedor JPA. A grande inovação é a geração e alimentação automáticas de tabelas que permitem o controle de versões dos conteúdos das tabelas mapeadas. Cada vez que uma tabela sofre alterações em seus registros, uma nova versão dela é gerada pelo Envers. Assim, este framework torna opcional a criação de tabelas e programação de módulos de sistemas para armazenar as informações de auditoria. O Hibernate e o Envers são mantidos pela JBoss.org e, em 30 de outubro de 2008, o Envers tornou-se um módulo do Hibernate. Todavia, sua biblioteca ainda não vem junto do Hibernate, sendo necessário fazer seu download separadamente. Segundo o site da JBoss, o Hibernate 3.5 já trará as bibliotecas do Envers juntos das suas, assim como já ocorre com C3P0, Ehcache e outros frameworks. Nessa versão, provavelmente será possível usar o Envers também em conjunto com o Hibernate Core e não apenas com o Hibernate como provedor JPA. Configuração do Hibernate. Deve-se configurar o Hibernate para que ele trabalhe em conjunto com o Envers. Na Listagem 1 há um exemplo de como isso pode ser feito em arquivo de configuração JPA. Listagem 1. Configuração do Envers no persistence.xml de um projeto Hibernate/JPA. <persistence-unit > <properties> <!-- configurações comuns --> <property name="hibernate.ejb.event.post-insert" <property name="hibernate.ejb.event.post-update" <property name="hibernate.ejb.event.post-delete" <property name="hibernate.ejb.event.pre-collection-update" <property name="hibernate.ejb.event.pre-collection-remove" <property name="hibernate.ejb.event.post-collection-recreate" </properties> </persistence-unit> Em seu modo padrão de configuração (o que está sendo apresentado até agora), o Envers precisa de uma tabela auxiliar para cada tabela oficial do sistema cuja classe de entidade for marcada para auditoria, além de uma tabela auxiliar única por todo o projeto. Por isso, é uma boa prática configurar a criação automática de tabelas com a propriedade hbm2ddl. auto do Hibernate. A figura 1 mostra como seria um DER preparado para o trabalho com o Envers se houvessem apenas duas tabelas no sistema (tabela jogador e tabela time_futebol ). Detalhes sobre essas tabelas estão na seção Armazenamento das Informações pelo Envers. Criando auditoria de persistência com o framework Envers Até o fechamento desta edição, a versão atual do Envers era GA, compatível com as versões 3.3.x do Hibernate. É com estas configurações que este artigo irá apresentar sua proposta. A seguir, um passo-a-passo de como configurar o Envers em seu projeto. Instalação de bibliotecas. A biblioteca do Envers é composta de um único arquivo, o envers-x.ga-hibernate-3.y.jar, em que X e Y são as versões do Envers e Hibernate da biblioteca, respectivamente. Outras bibliotecas necessárias são: individual. A tabela revinfo é usada por todas as tabelas com sufixo _aud. E existe uma tabela com esse sufixo para cada tabela cuja entidade for marcada para auditoria com o Envers (veja como fazer isso no próximo passo). 52

3 Indicar quais tabelas serão auditadas. Com uma simples anotação é possível indicar quais classes de entidade fiquem sob a escuta do Envers e passarão a fazer parte de seu controle de versão. É a import org.hibernate.envers.audited. Na Listagem 2 há um exemplo de como usá-la. Listagem 2. Marcando a classe de entidade Jogador para auditoria com o Envers. @Table(name = "jogador") public class Jogador implements java.io.serializable { // campos e métodos Se estes três passos forem executados corretamente, sua aplicação já estará sob a auditoria e controle de versão de tabelas do Envers. Armazenamento das informações pelo Envers Vamos supor que na tabela time_futebol foram feitas as seguintes operações a partir de um projeto que usa Hibernate, JPA e Envers configurado no modelo padrão: 1. dois times foram inseridos; 2. o registro de um time sofreu alterações; 3. o registro de um time foi excluído. As figuras 2 e 3 mostram como ficariam as tabelas time_futebol_aud e revinfo, respectivamente. As tabelas de auditoria individuais, as que terminam com _ possuem os mesmos campos das tabelas as quais auditam e mais estes: indica o tipo de operação, em que: indica novo registro indica edição de registro indica exclusão faz a ligação com o campo de mesmo nome na tabela. O Envers usa uma tabela para centralizar o controle de operações, a re-. Ela possui os seguintes campos: faz a ligação com as tabelas de auditoria individuais (as de final _ ). O valor de REV é único por aplicação que usa o Envers, independentemente de quantas tabelas estão sendo auditadas. indica o momento exato (o timestamp ) em que a operação ocorreu. Recursos avançados de auditoria com Envers Os recursos abordados até aqui são suficientes para um sistema mínimo de auditoria, mas não para um sistema profissional em um ambiente corporativo. Para tal, é necessário saber pelo menos que usuário foi responsável pelas operações realizadas. É hora de "lançar mão" do recurso de escuta de revisão (Revision Listener) do Envers e criar uma classe para ser a entidade de revisão do projeto. Uma entidade de revisão é a classe que será usada para representar a tabela revinfo, portanto, deve estar mapeada como uma entidade JPA. Ela pode ser criada estendendo a classe org.hibernate.envers.defaultrevisionentity e criando os campos que achar importante para a auditoria. Essa classe também deve ser anotada para indicar qual classe de escuta de revisões (Revision Listener) irá gerenciá-la. Há um exemplo de entidade de revisão na Listagem 3. Se você preferir que sua tabela central de auditoria não se chame revinfo, basta usar outra palavra no atributo name na ou mesmo omiti-lo para aproveitar o nome da própria classe. Uma característica fantástica deste framework é que ele escuta tanto as operações feitas os métodos CRUD da interface EntityManager (persist, merge,remove e find) quanto às operações feitas pelo uso do método executeupdate() da interface Query. Como o leitor deve ter percebido, o Envers torna muito produtiva a criação de auditoria ao acesso a bancos de dados, uma vez que ele assume a responsabilidade pelas tabelas de auditoria as quais formam históricos parecidos com o que vemos em sistemas de controle de versão de arquivos, como CVS e Subversion, por exemplo. Caso não deseje estender a classe DefaultRevisionEntity para a entidade de revisão, você deve criar pelo menos dois campos devidamente encapsulados (com seus get e set ): 1. do tipo Integer ou int, anotado Number; 2. do tipo Long ou long, anotado Dependendo do tipo e da necessidade de um sistema, uma entidade de revisão pode conter campos como um número IP, um host name, o sistema operacional do usuário etc. A Listagem 4 mostra um exemplo de classe Revision Listener. 53

4 Listagem 3. Exemplo de classe de entidade de revisão. import org.hibernate.envers.revisionentity; import org.hibernate.envers.defaultrevisionentity; Listagem 5. Exemplo de recuperação de identificador usando o Seam. import org.jboss.seam.security.identity; // classe de escuta de revisões public class ExampleRevEntity extends DefaultRevisionEntity { private Integer idusuario; public void newrevision(object revisionentity) { Identity identity = (Identity) Component.getInstance( "org.jboss.seam.security.identity"); Integer idusuario = new Integer(identity.getPrincipal().getName()); // get e set de idusuario entidaderevisoes.setidusuario(idusuario); Listagem 4. Exemplo de classe de escuta de revisões. import public class AuditoriaFutebolListener extends RevisionListener { public void newrevision(object revisionentity) { EntidadeRevisoes entidaderevisoes = (EntidadeRevisoes) revisionentity; Listagem 6. Exemplo de recuperação de identificador usando o Struts2. import com.opensymphony.xwork2.actioncontext; public void newrevision(object revisionentity) { Integer idusuario = (Integer)ActionContext.getContext().getSession(). get("idusuarioatual"); Integer idusuario = ; //Recuperação do identificador do usuário // conforme a tecnologia usada entidaderevisoes.setidusuario(idusuario); entidaderevisoes.setidusuario(idusuario); Uma classe que implementa possui uma instância por. Por isso, muito cuidado com o uso de variáveis de instância. No exemplo da Listagem 4 existem várias formas de recuperar o identificador do usuário, dependo da tecnologia usada. Na Listagem 5 há um exemplo de como fazer isso com o framework JBoss Seam (através de busca de componente) e na Listagem 6, de como fazer com o Apache Struts2 (através de busca de atributo no escopo de sessão). Esse tipo de classe tem comportamento parecido com o dos Interceptors do EJB3 e do Struts2, afinal lida com uma responsabilidade transversal, no caso, a auditoria de persistência. Note que esse recurso não é indicado para estudar a operação em si se foi inclusão, exclusão ou alteração. O método newrevision(object revisionentity) é o único método da interface org.hibernate.envers. RevisionListener. O que interessa nesse tipo de classe é apenas atribuir informações extras para o registro da operação. Para escuta das operações CRUD, deve-se usar o recurso de escuta de eventos do Envers, que será apresentado na próxima seção. Recursos de flexibilização e personalização da auditoria com Envers O Envers tem uma proposta pronta de arquitetura de tabelas para prover auditoria e versionamento de persistência. É uma arquitetura muito inteligente e organizada que permite certas customizações como vistas no tópico anterior. Todavia, pode ser necessário que a arquitetura de tabelas de auditoria seja diferente da proposta pelo Envers. Também pode ser necessário usar outros recursos de registro de auditoria, como envio de s e criação de logs em arquivos-texto, por exemplo. O mecanismo do Envers que permite esse tipo de flexibilização é a escuta de eventos de auditoria (Audit Event Listener). 54

5 Escuta de eventos de auditoria (Audit Event Listener) Para poder usar o Envers em seu modo padrão, é preciso configurá-lo no JPA como visto no 2º passo do tópico Criando auditoria de persistência com o framework Envers. O que é feito na verdade é o mapeamento dos mecanismos de escuta de eventos de auditoria padrão do Envers. Para personalizar essas escutas, basta criar uma ou mais classes que estendam org.hibernate.envers.event.auditeventlistener (exemplo na Listagem 7) e indicá-las na configuração do JPA (exemplo na Listagem 8). Listagem 7. Exemplo de classe de escuta de eventos de auditoria personalizada. package mj.projetofutebol.listeners; import org.hibernate.envers.event.auditeventlistener; public class FutebolListener extends AuditEventListener{ public void onpostinsert(postinsertevent event) { // faça o que quiser com as informações do evento post insert public void onpostdelete(postdeleteevent event) { // faça o que quiser com as informações do evento post delete"" public void (PostUpdateEvent event) { // faça o que quiser com as informações do evento post update Todos os métodos de escuta de eventos de auditoria padrão do Envers possuem como parâmetro um objeto que estende org.hibernate.event. AbstractEvent. Esses objetos de evento permitem recuperar várias informações pertinentes sobre o evento e a entidade envolvida nele. Os principais métodos desses objetos de eventos estão na tabela 1. A Listagem 9 possui um pequeno exemplo de como usar alguns do métodos dessa tabela. Se for invocada a versão da superclasse dos métodos de escuta de eventos, o Envers tenta fazer seu procedimento padrão para a operação (registros numa tabela _aud e na tabela central de controle de revisões). Assim, caso seja necessário apenas acrescentar funcionalidades adicionais ao Envers (como envio de , por exemplo) sem alterar seu mecanismo padrão de armazenamento de dados de auditoria de persistência. Por exemplo: se você quiser que toda vez que um registro de determinada tabela seja excluído o administrador do sistema receba um , mas deseja manter a auditoria padrão do Envers, basta implementar o código de envio de no método onpostdelete(postdeleteevent event) e depois chamar super.onpostdelete(event). Recuperação dos dados de auditoria gerados pelo Envers Além de assumir o trabalho pesado pela alimentação das tabelas de auditoria, o Envers oferece um mecanismo robusto de recuperação de versões das tabelas. Na Listagem 10 há um exemplo de recuperação de versão com o uso da classe org.hibernate.envers.auditreader. Listagem 8. Configuração do Envers no persistence.xml de um projeto Hibernate/JPA. <persistence-unit > <properties> <!-- configurações comuns --> <property name="hibernate.ejb.event.post-insert" value="mj.projetofutebol.listeners.futebollistener" /> <property name="hibernate.ejb.event.post-update" value="mj.projetofutebol.listeners.futebollistener " /> <property name="hibernate.ejb.event.post-delete" value="mj.projetofutebol.listeners.futebollistener " /> </properties> </persistence-unit> O Envers possui um mecanismo de prevenção de criação de versões inúteis nas tabelas de auditorias individuais. Se for feito um pedido de atualização através do método () ou de uma query e os valores enviados forem os mesmos dos que já estão no banco de dados para o registro envolvido na operação, não será gerada uma nova versão da tabela em sua tabela de auditoria individual. E todos os mecanismos de escuta do Envers também são ignorados quando é feito um pedido de atualização que contém dados iguais aos já persistidos. A classe possui os recursos para recuperação de versões de dados de tabelas auditadas. Seus métodos estão na tabela 2. Existem duas outras formas de consultar as informações de auditoria geradas no banco de dados pelo Envers. Ambas utilizam a interface. Essa interface permite fazer consultas mais complexas em cima dos dados que foram armazenados. As queries do Envers são semelhantes às queries do Hibernate Criteria, facilitando a vida dos leitores que já têm familiaridade com a interface. A primeira forma é consultar uma entidade em uma determinada revisão. A segunda é consultar as revisões de uma determinada entidade. A Listagem 11 mostra um exemplo simples de uma consulta de entidade dada uma revisão. A consulta da Listagem 11 retorna uma lista de jogadores na revisão "revisionnumber" e cuja propriedade "nome_em_campo" tem o valor "Ronaldo". A Listagem 12 possui um exemplo simples de consulta a uma das revisões de uma entidade com AuditQuery. 55

6 Listagem 9. Exemplo de classe de escuta de eventos de auditoria personalizada. public class FutebolListener extends AuditEventListener{ public void onpostinsert(postinsertevent event) { Object entidade = event.getentity(); Serializable chave = event.getid(); // faça o que quiser com as informações do evento post insert Método Descrição Eventos Object getentity() Retorna a instância da entidade envolvida no evento. No caso de (), onpostinsert onpostdelete os campos da entidade recuperada por este método vêm com os valores alterados. Java.io.Serializable event. getid() Retorna a chave da entidade envolvida no evento. onpostinsert onpostdelete public void onpostdelete(postdeleteevent event) { Object[] getstate() Retorna um vetor de objetos com os valores dos campos da entidade já sob onpostinsert Object[] estadodeletado = event.getdeletedstate(); os efeitos do evento. // faça o que quiser com as informações do evento post delete Object[] getoldstate() Retorna um vetor de objetos com os valores dos campos da versão antiga public void (PostUpdateEvent event) { Object[] estadonovo = event.getstate(); Object[] estadoantigo = event.getoldstate(); // faça o que quiser com as informações do evento post update Object[]getDeletedState() da entidade (valores de antes de sofrer atualização). Assim pode-se ter acesso ao registro como estava antes da atualização. Equivale ao getstate(), porém só se aplica à escuta de post-delete onpostdelete public void onpreupdatecollection(precollectionupdateevent event) { PersistentCollection colecaoafetada = event.getcollection(); Serializable chavedaentidadequepossuiacolecao = event.getaffectedowneridornull(); String nomeentidadequepossuiacolecao = event.getaffectedownerentityname(); // faça o que quiser com as informações do evento pre update collection org.hibernate.collection. PersistentCollection Retorna a coleção de instâncias das entidades envolvidas no evento. onpostrecreatecollection onpreremovecollection onpreupdatecollection getcollection() Serializable getaffectedowneridornull() Retorna a chave da entidade à qual a coleção pertence. onpostrecreatecollection onpreremovecollection onpreupdatecollection String getaffectedownerentityname Retorna o nome da entidade à qual a coleção pertence. onpostrecreatecollection onpreremovecollection onpreupdatecollection Listagem 10. Recuperando uma determinada versão de registro da tabela time_futebol, sob a auditoria do Envers. import org.hibernate.envers.auditreader; import org.hibernate.envers.auditreaderfactory; public void recuperartimedeauditoria(integer idtime, Integer versao) { EntityManager em =. ; AuditReader leitorauditoria = AuditReaderFactory.get(em); TimeFutebol timerecuperado = leitorauditoria.find(timefutebol.class, idtime, versao); Listagem 11. Recuperando uma lista de versões de registro com AuditQuery. List jogadores = getauditreader().createquery(). forentitiesatrevision(jogador.class, revisionnumber).add(auditentity.property("nome_em_campo").eq("ronaldo")).getresultlist(); Listagem 12. Recuperando uma determinada versão de registro com AuditQuery. Number revision = (Number) getauditreader().createquery().forrevisionsofentity(jogador.class, false, true).setprojection(auditentity.revisionnumber().min()).add(auditentity.id().eq(idjogador)).add(auditentity.revisionnumber().gt(12)).getsingleresult(); A consulta da Listagem 12 retorna a menor versão na qual uma entidade da classe Jogador de id "idjogador" foi alterada, depois da versão 12. A classe AuditQuery tem uma série de métodos que permitem especificar restrições, fazer ordenação, limitar o número de resultados, assim como também é possível fazer uso de agregações e projeções. Abordar todos os seus métodos e combinações tornaria este trabalho muito extenso. Por isso encorajamos o leitor a consultar sua documentação da API (link nas referências) a fim de conhecer melhor os métodos e as possibilidades de utilização. 56

7 Método T find(class<t> cls, Object primarykey, Number revision) T findrevision(class<t> cls, Number revision) Descrição Recupera uma determinada versão (parâmetro revision ) de certo registro (parâmetro primarykey ) de uma determinada classe de entidade (parâmetro cls ). Recupera uma determinada versão (parâmetro revision ) de certo registro (identificado pelo parâmetro primarykey ) de uma determinada classe de entidade (parâmetro cls ). Listagem 13. Recuperando instâncias de objetos mapeados para chaves estrangeiras de entidades recuperadas pelo controle de versão do Envers. import org.hibernate.hibernate; public void recuperarjogadordeauditoria(integer idjogador, Integer versao) { EntityManager em =. ; AuditReader leitorauditoria = AuditReaderFactory.get(em); Jogador jogadorrecuperado = leitorauditoria.find(jogador.class, idjogador, versao); // objeto em Lazy eterno TimeFutebol timerecuperado = jogadorrecuperado.gettimefutebol(); T getcurrentrevision(class<t> revisionentityclass, boolean persist) java.util.list<number> getrevisions(class<?> cls, Object primarykey) Number getrevisionnumberfordate(java.util. Date date) java.util.date getrevisiondate(number revision) Recupera a versão atual da entidade da classe indicada (parâmetro revisionentityclass ). O parâmetro persist indica se o registro retornado deve ou não ser salvo no banco de dados caso ainda não esteja efetivamente salvo. Retorna a lista de versões existentes para um determinado registro (parâmetro primarykey ) de uma determinada classe de entidade (parâmetro cls ). Retorna a última versão de uma determinada data. Retorna a data de uma determinada versão de entidade (parâmetro revision ). Pontos fracos da auditoria com Hibernate e Envers Existe uma informação equivocada na documentação da API do Envers. Nela diz que o método find(class<t> cls, Object primarykey, Number revision) da classe AuditReader retorna null caso seja passada como parâmetro uma versão inexistente na tabela de auditoria individual da tabela. Todavia o que ocorre nesse caso é que o método retorna a última versão da entidade. Nos métodos de recuperação de versões anteriores das entidades sob o controle de versão, os campos mapeados para objetos de outras entidades não são recuperados. É como se estivessem em modo Lazy eternamente, pois o Hibernate não consegue recuperar seus campos em runtime. Para isso, é preciso uma técnica alternativa através do uso de recursos específicos do Hibernate, como mostra a Listagem 13. // única maneira de fazer o objeto ser preenchido Hibernate.initialize(timeRecuperado); Impacto na performance com uso do Envers Um trabalho de estudo do impacto na performance em uma aplicação com uso de Envers seria muito longo, mas, por dedução, acredita-se que o impacto é diretamente proporcional ao número de tabelas marcadas para auditoria e ao número de entidades envolvidas por operação. Para cada entidade mapeada para auditoria com Envers, a cada operação interceptada por ele, um método de escuta (seção Escuta de eventos de auditoria ) é invocado pelo menos uma vez. Caso a entidade possua mapeamentos de um para muitos ou de muitos para muitos em cascata com outras entidades também mapeadas para auditoria, o número de chamadas aos métodos de escuta é proporcional ao número de objetos envolvidos na operação. Portanto, é uma boa prática evitar o mapeamento de todas as classes de entidades e grandes projetos para evitar grandes perdas de performance. Porém, se os requisitos exigirem isso, uma menor performance é um preço a se pagar. Considerações finais Neste artigo foi abordado o framework Envers para auditoria de persistência com o Hibernate. Foram mostrados a configuração básica, alguns aspectos avançados e algumas dificuldades no uso deste framework. Os recursos oferecidos pelo Envers para auditoria com Hibernate e JPA são bem variados e poderosos, portanto, espera-se que este artigo estimule a criação de sistemas de auditoria de persistência robustos que são importantíssimos para a maioria dos tipos de sistema e indispensáveis em sistemas corporativos. Referências 57

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

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

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

Implementando uma Classe e Criando Objetos a partir dela

Implementando uma Classe e Criando Objetos a partir dela Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe

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

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

Desmistificando o Hibernate Envers em 10 passos

Desmistificando o Hibernate Envers em 10 passos _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

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 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

O Sistema foi inteiramente desenvolvido em PHP+Javascript com banco de dados em MySQL.

O Sistema foi inteiramente desenvolvido em PHP+Javascript com banco de dados em MySQL. Nome do Software: Gerenciador de Projetos Versão do Software: Gerenciador de Projetos 1.0.0 1. Visão Geral Este Manual de Utilização do Programa Gerenciador de Projetos via Web, tem por finalidade facilitar

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

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

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

Alteração do POC (Decreto de Lei nº. 35/2005) no sispoc

Alteração do POC (Decreto de Lei nº. 35/2005) no sispoc DOSPrinter Manual do Utilizador Alteração do POC (Decreto de Lei nº. 35/2005) no sispoc Data última versão: 20.03.2006 Versão : 1.1 Data criação: 01.03.2006 Faro R. Dr. José Filipe Alvares, 31 8005-220

Leia mais

SISTEMAS DE INFORMAÇÃO GERENCIAIS

SISTEMAS DE INFORMAÇÃO GERENCIAIS SISTEMAS DE INFORMAÇÃO GERENCIAIS Aluno: Luiza Cavalcanti Marques Orientador: Silvio Hamacher Introdução A modelagem e a utilização de bancos de dados em atividades gerenciais têm sofrido um aumento significativo

Leia mais

Guia do Usuário. idocs Content Server v.2.0-1 -

Guia do Usuário. idocs Content Server v.2.0-1 - Guia do Usuário idocs Content Server v.2.0-1 - 2013 BBPaper_Ds - 2 - Sumário Introdução... 4 Inicializando a aplicação... 6 Ambiente... 7 Alterando o ambiente... 8 Senhas... 10 Alterando senhas... 10 Elementos

Leia mais

Orientações para Usuários

Orientações para Usuários Sistema de Gestão de Certificados Eletrônicos Orientações para Usuários Organizadores de evento Controladores de qualidade Objetivos do Sistema Os principais objetivos da concepção do sistema são: automatização,

Leia mais

Conectar diferentes pesquisas na internet por um menu

Conectar diferentes pesquisas na internet por um menu Conectar diferentes pesquisas na internet por um menu Pré requisitos: Elaboração de questionário Formulário multimídia Publicação na internet Uso de senhas na Web Visualização condicionada ao perfil A

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

SISTEMA MEDLINK E-TISS PASSO-A-PASSO (USE JUNTO COM A VÍDEO AULA)

SISTEMA MEDLINK E-TISS PASSO-A-PASSO (USE JUNTO COM A VÍDEO AULA) 1 / 16 SISTEMA MEDLINK E-TISS PASSO-A-PASSO (USE JUNTO COM A VÍDEO AULA) Este guia passo-a-passo tem o objetivo de facilitar o entendimento: - da ordem de execução dos processos. - dos conceitos do sistema.

Leia mais

Como fazer um jogo usando o editor de apresentação

Como fazer um jogo usando o editor de apresentação Instituto Federal de Educação, Ciência e Tecnologia Sergipe IFS Campus Glória Curso Integrado em Agropecuária Professora: Jamille Silva Madureira Disciplina: Informática Como fazer um jogo usando o editor

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

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

Usando o Conference Manager do Microsoft Outlook

Usando o Conference Manager do Microsoft Outlook Usando o Conference Manager do Microsoft Outlook Maio de 2012 Conteúdo Capítulo 1: Usando o Conference Manager do Microsoft Outlook... 5 Introdução ao Conference Manager do Microsoft Outlook... 5 Instalando

Leia mais

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede O servidor de arquivos fornece um ponto centralizado na rede para armazenamento e compartilhamento de arquivos entre os usuários. Quando

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,

Leia mais

BR DOT COM SISPON: MANUAL DO USUÁRIO

BR DOT COM SISPON: MANUAL DO USUÁRIO BR DOT COM SISPON: MANUAL DO USUÁRIO BAURU 2015 2 BR DOT COM SISPON: MANUAL DO USUÁRIO Manual do usuário apresentado para auxiliar no uso do sistema SisPon. BAURU 2015 3 SUMÁRIO 1 Instalação... 5 1.1 Sispon...

Leia mais

Para o PowerPoint, assim como para vários softwares de apresentação, uma apresentação é um conjunto de slides.

Para o PowerPoint, assim como para vários softwares de apresentação, uma apresentação é um conjunto de slides. POWERPOINT 1. O QUE É UMA APRESENTAÇÃO Para o PowerPoint, assim como para vários softwares de apresentação, uma apresentação é um conjunto de slides. Em cada slide podemos ter vários elementos ou objetos

Leia mais

UML: Diagrama de Casos de Uso, Diagrama de Classes

UML: Diagrama de Casos de Uso, Diagrama de Classes UML: Diagrama de Casos de Uso, Diagrama de Classes Diagrama de Casos de Uso O modelo de casos de uso visa responder a pergunta: Que usos (funcionalidades) o sistema terá? ou Para que aplicações o sistema

Leia mais

Guia de utilização da notação BPMN

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais

2 Ferramentas Utilizadas

2 Ferramentas Utilizadas 2 Ferramentas Utilizadas Esta dissertação utiliza vários outros trabalhos para implementar os mecanismos de adaptação abordados. Essas ferramentas são descritas nas seções seguintes. 2.1 Lua Lua [7, 8]

Leia mais

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: SEGURANÇA DA INFORMAÇÃO Aula N : 15 Tema:

Leia mais

Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Sistemas de Informação

Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Sistemas de Informação Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Sistemas de Informação Rafael Strecker Coelho de Souza ANÁLISE E COMPARATIVO DE FERRAMENTAS CMS COMPATÍVEIS

Leia mais

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES. lucelia.com@gmail.com

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES. lucelia.com@gmail.com MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES lucelia.com@gmail.com Externamente ao sistema, os atores visualizam resultados de cálculos, relatórios produzidos, confirmações de requisições solicitadas,

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Curso de Tecnologia em Redes de Computadores Disciplina: Tópicos Avançados II 5º período Professor: José Maurício S. Pinheiro AULA 3: Políticas e Declaração de

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

Manual do Usuário. Protocolo

Manual do Usuário. Protocolo Manual do Usuário Protocolo Índice de capítulos Parte I - Processos............................... 01 1 - Buscar................................ 01 2 - Listar................................ 02 3 - Abertura..............................

Leia mais

agility made possible

agility made possible RESUMO DA SOLUÇÃO Utilitário ConfigXpress no CA IdentityMinder a minha solução de gerenciamento de identidades pode se adaptar rapidamente aos requisitos e processos de negócio em constante mudança? agility

Leia mais

Equipe OC- Olimpíadas Científicas

Equipe OC- Olimpíadas Científicas Equipe OC- Olimpíadas Científicas Ivan Tadeu Ferreira Antunes Filho 1 de outubro de 2012 Resumo Bem vindo a equipe do OC! Aqui está o resumo de todas as regras que temos no site até o presente momento.

Leia mais

MANUAL DA SECRETARIA

MANUAL DA SECRETARIA MANUAL DA SECRETARIA Conteúdo Tela de acesso... 2 Liberação de acesso ao sistema... 3 Funcionários... 3 Secretaria... 5 Tutores... 7 Autores... 8 Configuração dos cursos da Instituição de Ensino... 9 Novo

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Tratamento de Eventos Professor: Danilo Giacobo OBJETIVOS DA AULA Apresentar os modelos mais comuns de tratamento de eventos da plataforma Android. Aprender a utilizar

Leia mais

Treinamento do Sistema RH1000

Treinamento do Sistema RH1000 Treinamento do Sistema RH1000 = Bloco Treinamento = Ohl Braga Desenvolvimento Empresarial Atualizado em 25Mai2014 1 Bloco Treinamento Tópico Slide Dinâmica dos treinamentos 4 Áreas de treinamento 5 Treinamentos

Leia mais

Manual de Rotinas para Usuários. Advogados da União. Procuradoria da União no Estado do Ceará PU/CE SAPIENS. Sistema da AGU de Inteligência Jurídica

Manual de Rotinas para Usuários. Advogados da União. Procuradoria da União no Estado do Ceará PU/CE SAPIENS. Sistema da AGU de Inteligência Jurídica Manual de Rotinas para Usuários Advogados da União Procuradoria da União no Estado do Ceará PU/CE SAPIENS Sistema da AGU de Inteligência Jurídica Versão 1.0 2015 1 INTRODUÇÃO 3 1.1 O QUE É O SAPIENS? 3

Leia mais

3 Qualidade de Software

3 Qualidade de Software 3 Qualidade de Software Este capítulo tem como objetivo esclarecer conceitos relacionados à qualidade de software; conceitos estes muito importantes para o entendimento do presente trabalho, cujo objetivo

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

HIBERNATE EM APLICAÇÃO JAVA WEB

HIBERNATE EM APLICAÇÃO JAVA WEB HIBERNATE EM APLICAÇÃO JAVA WEB Raul Victtor Barbosa Claudino¹, Ricardo Ribeiro Rufino¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil victtor.claudino@gmail.com, ricardo@unipar.br Resumo: Este

Leia mais

MOODLE NA PRÁTICA PEDAGÓGICA

MOODLE NA PRÁTICA PEDAGÓGICA Carmen Mathias Agosto - 2009 I. CADASTRO 1. Acessar o site de treinamento (teste): http://moodle_course.unifra.br/ 2. Faça o login, clicando em acesso no lado direito superior da tela: 3. Coloque seu nome

Leia mais

Bem-vindo ao tópico Múltiplas filiais.

Bem-vindo ao tópico Múltiplas filiais. Bem-vindo ao tópico Múltiplas filiais. 1 Ao final deste tópico, você estará apto a: Explicar as opções disponibilizadas com o recurso Múltiplas filiais. Definir as configurações necessárias para trabalhar

Leia mais

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

Leia mais

ÍNDICE. Delphi... 3 CAPÍTULO 1 INTRODUÇÃO... 06 CAPÍTULO 2 INSTALANDO O DELPHI... 10

ÍNDICE. Delphi... 3 CAPÍTULO 1 INTRODUÇÃO... 06 CAPÍTULO 2 INSTALANDO O DELPHI... 10 Delphi 7 ÍNDICE CAPÍTULO 1 INTRODUÇÃO... 06 CAPÍTULO 2 INSTALANDO O DELPHI... 10 CAPÍTULO 3 INICIANDO O Delphi... 18 FORM DESIGN... 19 CODE EDITOR... 23 OBJECT INSPECTOR... 26 OBJECT TREE VIEW... 29 PALHETA

Leia mais

SISTEMA DE SERVIÇOS DE INFRA-ESTRUTURA DA UFRGS

SISTEMA DE SERVIÇOS DE INFRA-ESTRUTURA DA UFRGS SISTEMA DE SERVIÇOS DE INFRA-ESTRUTURA DA UFRGS Instituição: UFRGS Autores: Ricardo Vieira, José Luis Machado e Álvaro Juscelino Lanner Área: Sistema de Informações Introdução. O trabalho aqui proposto

Leia mais

Manual do Instar Mail v2.0

Manual do Instar Mail v2.0 Manual do Instar Mail v2.0 Sumário Conteúdo Menu Principal... 2 Menu Cliente... 3 Pagina Categorias do Instar-Mail... 4 Importação... 4 Campanhas... 8 Cadastramento de campanhas do Instar-Mail... 9 Ações

Leia mais

SIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS

SIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS SIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS SANTA MARIA FATECIENS 2008 Este manual tem por finalidade apresentar as especificações detalhadas da aplicação de Cadastro de Funcionários,

Leia mais

1. REGISTRO DE PROJETOS

1. REGISTRO DE PROJETOS 1. REGISTRO DE PROJETOS Nesta aplicação será feito o registro dos projetos/ ações de extensão, informando os dados iniciais do projeto, as classificações cabíveis, os participantes, a definição da região

Leia mais

Personalizações do mysuite

Personalizações do mysuite Personalizações do mysuite 1. mysuite... 2 2. Customização de campos... 3 3. Importação de dados... 3 4. Integração de sistemas... 3 5. Personalização do Atendimento Online... 4 5.1. Imagens de online

Leia mais

Guia passo a passo. Como se tornar um pequeno produtor certificado FSC

Guia passo a passo. Como se tornar um pequeno produtor certificado FSC Guia passo a passo Como se tornar um pequeno produtor certificado FSC INTRODUÇÃO AO FSC O que é o FSC? O FSC é uma organização independente, não governamental e sem fins lucrativos criada para promover

Leia mais

O Gerenciamento de Documentos Analógico/Digital

O Gerenciamento de Documentos Analógico/Digital Tipos de GED: Document imaging Document management Document Imaging / Document Management O Gerenciamento de Documentos Analógico/Digital Mundo analógico Criação Revisão Processamento Arquivo Mundo digital

Leia mais

Soluções via.net para otimização de processos paramétricos com Autodesk Inventor.

Soluções via.net para otimização de processos paramétricos com Autodesk Inventor. Soluções via.net para otimização de processos paramétricos com Autodesk Inventor. Michel Brites dos Santos MAPData A parametrização quando possível já é uma forma de otimizar o processo de criação na engenharia.

Leia mais

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento O modelo Entidade-Relacionamento Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento 1 Antes de começarmos: A modelagem conceitual é uma fase muito importante no plamejamento de um

Leia mais

O QUE É A CENTRAL DE JOGOS?

O QUE É A CENTRAL DE JOGOS? O QUE É A CENTRAL? A Central de Jogos consiste de duas partes: Um site na Internet e um programa de computador (Central) que deve ser instalado em sua máquina. No site www.centraldejogos.com.br, você pode

Leia mais

Política Gestão de Configuração e Mudança

Política Gestão de Configuração e Mudança Política Gestão de Configuração Histórico de Alteração Data Versão Descrição Autor 20/08/2011 1 Versão Inicial Danilo Costa Versão 1 Pág. 2 de 7 Índice 1. POLÍTICA 4 1.1 Aplicabilidade 4 2. CONCEITUAÇÃO

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

Cobrança Bancária. Contas / Manutenção.

Cobrança Bancária. Contas / Manutenção. Cobrança Bancária Este tutorial objetiva auxiliar os usuários na configuração do sistema para que a emissão de cobrança bancária dos títulos a receber seja feita. Os processos a seguir consistem na geração

Leia mais

Java NET: Interaja com a Internet. Ricardo Terra (rterrabh [at] gmail.com) Java NET: Interaja com a Internet Maio, 2011 1

Java NET: Interaja com a Internet. Ricardo Terra (rterrabh [at] gmail.com) Java NET: Interaja com a Internet Maio, 2011 1 Java NET: Interaja com a Internet Ricardo Terra rterrabh [at] gmail.com Ricardo Terra (rterrabh [at] gmail.com) Java NET: Interaja com a Internet Maio, 2011 1 CV Nome: Ricardo Terra Email: rterrabh [at]

Leia mais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT Disciplina: Modelagem a Programação Orientada a Objetos

Leia mais

NORMA TÉCNICA E PROCEDIMENTOS GERAIS PARA ADMINISTRAÇÃO DO BANCO DE DADOS CORPORATIVO

NORMA TÉCNICA E PROCEDIMENTOS GERAIS PARA ADMINISTRAÇÃO DO BANCO DE DADOS CORPORATIVO NORMA TÉCNICA E PROCEDIMENTOS GERAIS PARA ADMINISTRAÇÃO DO BANCO DE DADOS CORPORATIVO Referência: NT-AI.04.01.01 http://www.unesp.br/ai/pdf/nt-ai.04.01.01.pdf Data: 27/07/2000 STATUS: EM VIGOR A Assessoria

Leia mais

Manual das planilhas de Obras v2.5

Manual das planilhas de Obras v2.5 Manual das planilhas de Obras v2.5 Detalhamento dos principais tópicos para uso das planilhas de obra Elaborado pela Equipe Planilhas de Obra.com Conteúdo 1. Gerando previsão de custos da obra (Módulo

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

Nome Número: Série. Relacionamentos

Nome Número: Série. Relacionamentos Nome Número: Série Relacionamentos Competências: Organizar dados coletadas de acordo com as ferramentas de gerenciamento e Selecionar ferramentas para manipulação de dados; Habilidades: Utilizar um ambiente

Leia mais

O guia completo para uma presença. online IMBATÍVEL!

O guia completo para uma presença. online IMBATÍVEL! O guia completo para uma presença online IMBATÍVEL! Sumário Introdução 3 Capítulo 1 - Produção de Conteúdo: Por que e Como produzir 5 Capítulo 2 - Distribuição e Divulgação 8 Capítulo 3 - Monitoramento

Leia mais

Apostilas OBJETIVA Atendente Comercial / Carteiro / Op. Triagem e Transbordo CORREIOS - Concurso Público 2015 2º CADERNO. Índice

Apostilas OBJETIVA Atendente Comercial / Carteiro / Op. Triagem e Transbordo CORREIOS - Concurso Público 2015 2º CADERNO. Índice 2º CADERNO Índice Pg. Microsoft Office: Excel 2010... Exercícios pertinentes... 02 63 Microsoft Office: Power Point 2010... Exercícios pertinentes... 104 146 Internet e Intranet. Conceitos básicos, navegadores

Leia mais

Resolução de Problemas de Rede. Disciplina: Suporte Remoto Prof. Etelvira Leite

Resolução de Problemas de Rede. Disciplina: Suporte Remoto Prof. Etelvira Leite Resolução de Problemas de Rede Disciplina: Suporte Remoto Prof. Etelvira Leite Ferramentas para manter o desempenho do sistema Desfragmentador de disco: Consolida arquivos e pastas fragmentados Aumenta

Leia mais

Criar as tabelas para um banco de dados

Criar as tabelas para um banco de dados Treinamento Criar as tabelas para um banco de dados ANTES DE COMEÇAR O primeiro curso desta série, "Criar as tabelas de um novo banco de dados", forneceu uma lista de tabelas e campos para uso no banco

Leia mais

Manual do Usuário do Produto EmiteNF-e. Manual do Usuário

Manual do Usuário do Produto EmiteNF-e. Manual do Usuário Manual do Usuário Produto: EmiteNF-e Versão: 1.2 Índice 1. Introdução... 2 2. Acesso ao EmiteNF-e... 2 3. Configurações Gerais... 4 3.1 Gerenciamento de Usuários... 4 3.2 Verificação de Disponibilidade

Leia mais

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA. Manual do Moodle- Sala virtual

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA. Manual do Moodle- Sala virtual UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA Manual do Moodle- Sala virtual UNIFAP MACAPÁ-AP 2012 S U M Á R I O 1 Tela de Login...3 2 Tela Meus

Leia mais

PROGRAMA TERRITÓRIOS DA CIDADANIA. # Manual Operacional # Relatório de Execução - Data Base: 30/09/2012

PROGRAMA TERRITÓRIOS DA CIDADANIA. # Manual Operacional # Relatório de Execução - Data Base: 30/09/2012 PROGRAMA TERRITÓRIOS DA CIDADANIA # Manual Operacional # Relatório de Execução - Data Base: 30/09/2012 Para informar os dados da Execução de sua(s) ação(ões), você deve seguir os seguintes passos: 1 Acesse

Leia mais

4.1. UML Diagramas de casos de uso

4.1. UML Diagramas de casos de uso Engenharia de Software 4.1. UML Diagramas de casos de uso Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Utilizados para ajudar na análise de requisitos Através da forma como o utilizador usa o sistema

Leia mais

Manual do Usuário - ProJuris Web - Biblioteca Jurídica Página 1 de 20

Manual do Usuário - ProJuris Web - Biblioteca Jurídica Página 1 de 20 As informações contidas neste documento estão sujeitas a alterações sem o prévio aviso, o que não representa um compromisso da Virtuem Informática. As pessoas, organizações ou empresas e eventos de exemplos

Leia mais

Q-Acadêmico. Módulo CIEE - Estágio. Revisão 01

Q-Acadêmico. Módulo CIEE - Estágio. Revisão 01 Q-Acadêmico Módulo CIEE - Estágio Revisão 01 SUMÁRIO 1. VISÃO GERAL DO MÓDULO... 2 1.1 PRÉ-REQUISITOS... 2 2. ORDEM DE CADASTROS PARA UTILIZAÇÃO DO MÓDULO CIEE... 3 2.1 CADASTRANDO EMPRESAS... 3 2.1.1

Leia mais

Gestor de Janelas Gnome

Gestor de Janelas Gnome 6 3 5 Gestor de Janelas Gnome Nesta secção será explicado o funcionamento de um dos ambientes gráficos disponíveis no seu Linux Caixa Mágica, o Gnome. Na figura 5.1 apresentamos o GDM, o sistema gráfico

Leia mais

Casos de uso Objetivo:

Casos de uso Objetivo: Casos de uso Objetivo: Auxiliar a comunicação entre os analistas e o cliente. Descreve um cenário que mostra as funcionalidades do sistema do ponto de vista do usuário. O cliente deve ver no diagrama de

Leia mais

Como produzir e publicar uma apresentação online dinâmica (Prezi)

Como produzir e publicar uma apresentação online dinâmica (Prezi) Como produzir e publicar uma apresentação online dinâmica (Prezi) Este módulo irá ensinar-lhe como produzir e publicar uma apresentação online dinâmica usando o programa Prezi. A produção de uma apresentação

Leia mais

Guia do Cúram Configuration Transport Manager

Guia do Cúram Configuration Transport Manager IBM Cúram Social Program Management Guia do Cúram Configuration Transport Manager Versão 6.0.5 IBM Cúram Social Program Management Guia do Cúram Configuration Transport Manager Versão 6.0.5 Nota Antes

Leia mais

Passo-a-passo Oi Torpedo Empresa

Passo-a-passo Oi Torpedo Empresa Passo-a-passo Oi Torpedo Empresa Índice Logando no Oi Torpedo Empresa...2 Termo de Adesão ao Serviço...5 Página de Entrada no Oi Torpedo Empresa...6 Cadastramento de Usuário (Funcionalidade Somente Disponível

Leia mais

3. Fase de Planejamento dos Ciclos de Construção do Software

3. Fase de Planejamento dos Ciclos de Construção do Software 3. Fase de Planejamento dos Ciclos de Construção do Software A tarefa de planejar os ciclos de construção do software pode partir de diretrizes básicas. Estas diretrizes visam orientar que os ciclos de

Leia mais

COMO PROGRAMAR SEU TIME

COMO PROGRAMAR SEU TIME COMO PROGRAMAR SEU TIME 1) INSTALAÇÃO: Instale o simulador da categoria SIMUROSOT da FIRA. O simulador é gratuito e está disponível para download no site da FIRA (www.fira.net) ou no site da competição

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

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery Sistemas Operacionais Curso Técnico Integrado Profa: Michelle Nery Conteúdo Programático CONTAS DE E GRUPOS DE O Microsoft Management Console - MMC Permissões de Segurança de um Console Contas de Usuários

Leia mais

Neo Solutions Manual do usuário Net Contábil. Índice

Neo Solutions Manual do usuário Net Contábil. Índice Manual Neo Fatura 2 Índice 1. Introdução... 3 2. Configurando o software para importar dados de clientes... 3 3. Importando o cadastro de clientes... 4 4. Cadastro de Bancos... 5 5. Cadastro de Conta Correntes...

Leia mais

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores Conceitos Básicos de Rede Um manual para empresas com até 75 computadores 1 Conceitos Básicos de Rede Conceitos Básicos de Rede... 1 A Função de Uma Rede... 1 Introdução às Redes... 2 Mais Conceitos Básicos

Leia mais

Recuperando a chave do produto. Emails Chaves do produto Assinando contratos Usando o VLSC

Recuperando a chave do produto. Emails Chaves do produto Assinando contratos Usando o VLSC 1 Recuperando a chave do produto Emails Chaves do produto Assinando contratos Usando o VLSC 2 Notificação por email Depois da aceitação do pedido, a Microsoft enviará um email para o Cliente final e para

Leia mais

e-sfinge Sistema de Fiscalização Integrada de Gestão Módulo: Web Service

e-sfinge Sistema de Fiscalização Integrada de Gestão Módulo: Web Service e-sfinge Sistema de Fiscalização Integrada de Gestão Módulo: Web Service Definição do Web Service para envio de informações de unidades jurisdicionadas Versão beta 1.2 Vigência a partir de 01/01/2014 ÍNDICE

Leia mais

Manual do Usuário do Integrador de Notícias de Governo

Manual do Usuário do Integrador de Notícias de Governo Manual do Usuário do Integrador de Notícias de Governo 1 Versão: 2.0 Manual do Usuário Integrador de Notícias de Governo Envolvidos: Secretaria Executiva do Ministério do Planejamento, Orçamento e Gestão

Leia mais

Primeiros passos das Planilhas de Obra v2.6

Primeiros passos das Planilhas de Obra v2.6 Primeiros passos das Planilhas de Obra v2.6 Instalação, configuração e primeiros passos para uso das planilhas de obra Elaborado pela Equipe Planilhas de Obra.com Conteúdo 1. Preparar inicialização das

Leia mais

Manual do usuário Neo Protocolo Free

Manual do usuário Neo Protocolo Free O Neo Protocolo Free, é um sistema para criar e gerenciar protocolos de entrega e recebimento de documentos, desenvolvido e distribuído gratuitamente pela Neo Solutions. O software pode funcionar de forma

Leia mais

Pró-Reitoria de Educação a Distância. Manual do Ambiente Virtual de Aprendizagem para alunos

Pró-Reitoria de Educação a Distância. Manual do Ambiente Virtual de Aprendizagem para alunos Pró-Reitoria de Educação a Distância Manual do Ambiente Virtual de Aprendizagem para alunos Como acessar o ambiente 1. Entre no Ambiente Virtual de Aprendizagem localizado na página principal do Portal

Leia mais