Análise de Desempenho dos Frameworks de Persistência Hibernate e Spring Data

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

Download "Análise de Desempenho dos Frameworks de Persistência Hibernate e Spring Data"

Transcrição

1 Análise de Desempenho dos Frameworks de Persistência e Spring Data Vitor Gotardo, Edson A. Oliveira Junior 2 Resumo. Grande parte das aplicações desenvolvidas utilizando linguagens orientadas a objetos persistem seus objetos por meio de bases de dados relacionais com o apoio de frameworks de Mapeamento Objeto-Relacional (ORM), como. Este artigo apresenta uma análise de desempenho baseada em benchmark dos frameworks e Spring Data. Tal análise fornece indícios iniciais para que analistas e desenvolvedores possam escolher os frameworks mais apropriados para o desenvolvimento de seus projetos. Palavras-chave: framework, ORM,, JPA, Spring Data, benchmark. Abstract. Most applications developed using object-oriented languages persist your objects using relational databases with support of Object-Relational Mapping (ORM) frameworks such as. This paper presents a benchmark-based performance analysis for and Spring Data frameworks. Such an analysis provides initial evidence to analysts and developers may choose the most appropriate frameworks for the development of their projects. Keywords: framework, ORM,, JPA, Spring Data, benchmark.. Introdução Muitas aplicações utilizam dados que precisam ser guardados e recuperados, em um ambiente orientado a objetos. Os objetos são utilizados para representar esses dados, e nesse caso, é o objeto que precisa ser armazenado. Para tanto, existem três tipos de mecanismos de persistência de objetos: Object-Oriented Database Management Systems (OODBMS), Relational Database Management Systems (RDBMS) e Object- Relational Database Management Systems (ORDMS) []. Um problema muito conhecido na persistência de objetos em um banco de dados relacional é o conflito de impedância, que surge entre o modelo orientado a objeto e o modelo relacional e também entre a linguagem orientada a objeto e a linguagem de consulta (query) relacional []. Conflito de impedância é quando dois sistemas diferentes não funcionam de maneira ideal e eficiente quando conectados para funcionarem em conjunto. Poderíamos dizer então que os conceitos de modelo de orientação a objeto e do modelo relacional possuem valores de impedância diferentes. Enquanto o modelo relacional dá mais ênfase aos dados em si e sua representação e organização, o modelo orientado a objetos enfoca na abstração dos dados e seu comportamento, operações na forma de objetos [7]. O Mapeamento Objeto-Relacional (Object-Oriented Mapping - ORM) foi desenvolvido para servir como uma ponte entre esse conflito de impedância e tornar a persistência de objetos mais simples. Assim, é oferecido um mapeamento entre o modelo orientado a objeto e o modelo relacional []. Aluno do curso de especialização em Desenvolvimento de Sistemas para Web Universidade Estadual de Maringá (UEM) - Av. Colombo, 5790 Bloco C56 Maringá PR Brasil 2 Departamento de Informática Universidade Estadual de Maringá (UEM) - Av. Colombo, 5790 Bloco C56 Maringá PR Brasil -

2 Este artigo tem como meta comparar dois frameworks ORM, o que é um dos mais consolidados por desenvolvedores Java e.net e o Spring Data JPA que é um framework recente, mas que promete agilizar o desenvolvimento da camada de persistência. Para tal comparação serão utilizados algumas operações de persistência sendo elas: consultas simples e com joins, inserção, alteração e exclusão. Será utilizado uma média do desempenho dos procedimentos executados para encontrar o framework com menor tempo médio nas operações de persistência. Este artigo está organizado da seguinte forma: na Seção 2 são abordadas as tecnologias utilizadas para efetuar a comparação dos frameworks; na Seção 3 é realizado o estudo comparativo de desempenho entre e Spring Data JPA; na Seção 4 é apresentada a conclusão e trabalhos que podem ser desenvolvidos futuramente. 2. Revisão Bibliográfica 2.. O é um projeto que tem como objetivo ser uma solução completa para o problema de mapeamento persistindo dados em Java. Ele serve como mediador na interação de aplicações com banco de dados relacional, deixando o desenvolvedor livre para concentrar-se na camada de negócio da aplicação. O é uma solução não intrusiva. O desenvolvedor não precisa seguir todas as regras e design patterns quando estiver desenvolvendo a camada lógica de negócio e classes de persistência, mas, o se integra facilmente com a maioria das novas e existentes aplicações e não requer grandes mudanças na aplicação [9] Spring Data JPA O Spring oferece suporte para as tecnologias de acesso a dados desde seu início. Este oferece uma implementação mais simples de acesso a dados, independente da tecnologia utilizada como JDBC,, TopLink, JDO e ibatis para a persistência de dados. O principal alvo do Spring em relação a acesso a dados era bancos de dados relacionais, sendo que esta tecnologia era predominante quando se trata de persistência de dados. Com a chegada da tecnologia NoSQL a espaço para criar suporte para desenvolvedores surgiu. Além disso, ainda existem melhorias a serem feitas relacionadas ao acesso a dados relacionais. Foram esses fatores que incentivaram a criação do projeto Spring Data que consiste em módulos dedicados para tecnologias como NoSQL, JPA e módulos JDBC para suporte a banco de dados relacional [2]. O projeto Spring Data JPA, embora não seja um framework ORM, foi desenvolvido com base no padrão JPA 2 para trabalhar com qualquer framework que siga tal especificação. O Spring Data JPA é responsável pela criação das classes Data Access Object (DAO) que possuem os métodos concretos para comunicação com a base de dados. Assim, fica abstraída a necessidade de se criar classes concretas para os repositórios de dados, sendo necessário apenas criar uma interface específica para cada classe de entidade, e nelas, estender a interface JpaRepository [3] Benchmark Employees Sample Database O benchmark é um teste, ou uma série de testes, que medem o desempenho de um sistema ou subsistema enquanto executam tarefas definidas. O benchmark deve medir o pico de desempenho de um sistema, normalmente operações com um problema conhecido. Benchmarks medem a capacidade de um sistema, muitas vezes referente a performance de uma aplicação em particular, como um banco de dados []. 2

3 Neste artigo o benchmark é utilizado para medir o desempenho de frameworks ORM efetuando operações de persistência em banco de dados relacional, assim, tornando possível a comparação entre eles. A base de dados Employee Sample Database foi desenvolvida por Crews e Maxia [4] e fornece aproximadamente 60MB de dados que estão separados em seis tabelas, fornecendo um total de 4 milhões de registros. Tal benchmark é bastante interessante para realizar tarefas de comparação de mecanismos de persistência de dados Java Persistence Query Language Em muitas maneiras o JPQL é similar ao SQL, uma ferramenta para interagir com base de dados relacional. Além disso, o JPQL é similar ao SQL em sua sintaxe, declarações e cláusulas. A principal diferença entre JPQL e SQL esta nos objetos que são especificados nas declarações e o objeto retornado por esta declaração. Em declarações SQL, é definido diretamente o objeto que deseja utilizar, por exemplo, uma tabela ou view para ser consultada ou modificada. Em declarações JQPL são utilizadas as entidades. E o mesmo acontece para os resultados retornados pela consulta JQPL, estes são instâncias de entidades, enquanto que os resultados retornados pelo SQL são tabelas ou views. Resumindo, o JQPL trata as entidades mapeadas para uma estrutura de base de dados, não precisando lidar com a estrutura da base de dados diretamente. O JQPL simplifica muito a tarefa de recuperar entidades. Todas as instâncias de entidades retornadas são automaticamente mapeadas. Assim, não é necessário mapear estas instâncias manualmente [0] A pode ser utilizada para criar consultas usando JPA e vincular esta consulta a um método na interface dos repositórios. Assim, quando o método é chamado, o Spring Data JPA executa a consulta especificada na [6]. 3. Estudo Comparativo de Desempenho entre e Spring Data JPA 3.. Ambiente de Testes Para efetuar os testes de benchmark foi utilizado: Spring Tool Suite como ambiente de desenvolvimento integrado (IDE) Spring Framework ; Spring Data JPA.3.4; MySQL ; Java JDK.7; Maven para construir os projetos mais facilmente mantendo as versões dos pacotes utilizados sempre estáveis e garantir que as mesmas versões foram utilizadas para os dois projetos. O computador usado para os testes tem processador com 4 núcleos reais e 8 threads, e 6GB de memoria RAM Planejamento, Execução e Análise dos Resultados 3

4 3.2. Definição de Contexto e Planejamento do Estudo Comparativo Objetivo do Estudo Comparar frameworks de persistência objeto-relacional com o objetivo de identificar o melhor desempenho com relação a operações de persistência de dados em um banco de dados relacional do ponto de vista de analistas e desenvolvedores de software no contexto de um benchmark específico para operações de persistência relacionais Seleção das Variáveis Variáveis independentes (entrada/causa): o Framework de persistência e Spring Data JPA Variável dependente (observação/efeito): o Desempenho Definição das Hipóteses Hipótese Nula (H0): os tempos médios para a execução das operações de persistência usando e Spring Data JPA são os mesmos. Hipótese Alternativa (H): o tempo médio de execução das operações de persistência usando é menor que o tempo médio usando Spring Data JPA. Hipótese Alternativa (H2): o tempo médio de execução das operações de persistência usando é maior que o tempo médio usando Spring Data JPA Execução do Estudo Comparativo O estudo comparativo foi conduzido com base na execução de 4 operações de persistência, sendo consultas (query a query), sendo que as consultas (query3 e query5) possuem JOIN e as demais são consultas simples, inserção, alteração e exclusão. Cada consulta foi executada 0 vezes manualmente, sendo efetuado o cálculo médio do desempenho de cada consulta para ter uma ideia geral dos resultados. Query: é uma consulta simples que busca Employee em um total de registros. Foi utilizado somente a tabela employees da base de dados e o comando utilizado para esta consulta Employee e WHERE e.id = "). Como mostra a Figura o efetuou a consulta em 0,63s e o Spring Data JPA efetuou a consulta em 0,048s. 4

5 0,2 0,5 0,63 0, 0,05 0,048 0 Figura : Busca Employee em um total de registros. Query2: é uma consulta simples que busca registros do tipo Employee que possuam o ID maior que utilizando o operador >. Foi utilizado somente a tabela employees da base de dados e o comando utilizado para esta consulta Employee e WHERE e.id > 20000"). Como mostra a Figura 2 o efetuou a consulta em,006s e o Spring Data JPA efetuou a consulta em,087s.,,08,06,04,02 0,98 0,96,006,087 Figura 2: Busca registros do tipo Employee com ID maior que Query3: é uma consulta com JOIN que busca registros do tipo Employee que possuam o ID maior que e estão no Department de ID 7, os resultados estão ordenados pela data de início e de término que determinado Employee permaneceu no departamento. Foram utilizadas as tabelas employees e dept_emp e o comando utilizado para esta consulta Employee e INNER JOIN e.deptemps de WHERE e.id > AND de.pk.department = 7 ORDER BY de.from_date, de.to_date"). Como mostra a Figura 3, o efetuou a consulta em 3,826s e o Spring Data JPA efetuou a consulta em 3,536s. 5

6 3,9 3,8 3,7 3,6 3,5 3,4 3,3 3,826 3,536 Figura 3: Busca registros do tipo Employee com ID maior que que estão no Department de ID 7, ordenados pelas datas de início e término. Query4: é uma consulta simples que busca registros do tipo Employee que possuam o ID maior ou igual a utilizando o operador >=. Foi utilizado somente a tabela employees da base de dados e o comando utilizado para esta consulta Employee e WHERE e.id >= 20000"). Como mostra a Figura 4, o efetuou a consulta em,02s e o Spring Data JPA efetuou a consulta em,055s.,06,05,04,03,02,0,02,055 Figura 4: Busca registros do tipo Employee com ID maior ou igual que Query5: é uma consulta com JOIN que busca registros do tipo Employee que estão no Department de ID 7. Foi utilizado as tabelas employees e dept_emp e o comando utilizado para esta consulta Employee e INNER JOIN e.deptemps de WHERE de.pk.department = 7"). Como mostra a Figura 5, o efetuou a consulta em 3,787s e o Spring Data JPA efetuou a consulta em 3,470s. 6

7 3,9 3,8 3,7 3,6 3,5 3,4 3,3 3,787 3,47 Figura 5: Busca registros do tipo Employee que estão no Department de ID 7. Query6: é uma consulta simples que busca registros do tipo Employee que possuam o ID menor que utilizando o operador <. Foi utilizado somente a tabela employees da base de dados e o comando utilizado para esta consulta Employee e WHERE e.id < 20000"). Como mostra a Figura 6, o efetuou a consulta em 0,997s e o Spring Data JPA efetuou a consulta em,064s.,08,06,04,02 0,98 0,96 0,997,064 Figura 6: Busca registros do tipo Employee com ID menor que Query7: é uma consulta simples que busca registros do tipo Employee que possuam o ID menor ou igual a utilizando o operador <=. Foi utilizado somente a tabela employees da base de dados e o comando utilizado para esta consulta Employee e WHERE e.id <= 20000"). Como mostra a Figura 7, o efetuou a consulta em,007s e o Spring Data JPA efetuou a consulta em,04s.,05,04,03,02,0 0,99,007,04 Figura 7: Busca registros do tipo Employee com ID menor ou igual que

8 Query8: é uma consulta simples que busca registros do tipo Employee que possuam o ID diferente de utilizando o operador <>. Foi utilizado somente a tabela employees da base de dados e o comando utilizado para esta consulta Employee e WHERE e.id <> 20000"). Como mostra a Figura 8, o efetuou a consulta em,006s e o Spring Data JPA efetuou a consulta em,037s.,04,037,03,02,0,006 0,99 Figura 8: Busca registros do tipo Employee com ID diferente de Query9: é uma consulta simples que busca registros do tipo Employee que possuam o ID entre e utilizando o operador BETWEEN. Foi utilizado somente a tabela employees da base de dados e o comando utilizado para esta consulta Employee e WHERE e.id BETWEEN AND 50000"). Como mostra a Figura 9, o efetuou a consulta em 0,998s e o Spring Data JPA efetuou a consulta em,033s.,04,03,02,0 0,99 0,98 0,998,033 Figura 9: Busca registros do tipo Employee com ID entre e Query0: é uma consulta simples que busca registros do tipo Employee que são do GENDER(sexo) masculino(m) utilizando o operador IN. Foi utilizado somente a tabela employees da base de dados e o comando utilizado para esta consulta Employee e WHERE e.gender IN('M')"). Como mostra a Figura 0, o efetuou a consulta em 0,999s e o Spring Data JPA efetuou a consulta em,030s. 8

9 ,04,03,02,0 0,99 0,98 0,999,03 Figura 0: Busca registros do tipo Employee que são do sexo masculino. Query: é uma consulta simples que busca registros do tipo Employee que possuam primeiro nome com as letras Sa utilizando o operador LIKE. Foi utilizado somente a tabela employees da base de dados e o comando utilizado para esta consulta Employee e WHERE e.first_name LIKE '%Sa%'"). Como mostra a Figura, o efetuou a consulta em,039s e o Spring Data JPA efetuou a consulta em,066s.,07,066,06,05,04,039,03,02 Figura : Busca registros do tipo Employee que possuam Sa no primeiro nome. Query2: foram inseridos.000 objetos do tipo Employee na tabela employees. Todas as propriedades do objeto foram preenchidas, sendo elas: first_name, last_name, gender, hire_date, birth_date. Como mostra a Figura 2, o efetuou a inserção em 0,70s e o Spring Data JPA efetuou a inserção em 5,930s ,70 5,93 Figura 2: Inserção de.000 objetos do tipo Employee. 9

10 Query3: foram alterados os últimos registros do tipo Employee, os campos alterados foram: first_name, last_name, gender. Como mostra a Figura 3, o efetuou a operação em 0,77s e o Spring Data JPA efetuou a operação em 0,078s. 0,2 0,77 0,5 0, 0,078 0,05 0 Figura 3: Alteração dos últimos registros do tipo Employee. Query4: foram excluídos os últimos registros do tipo Employee. Como mostra a Figura 4, o efetuou a operação em 0,247s e o Spring Data JPA efetuou a operação em 0,47s. 0,3 0,25 0,2 0,5 0, 0,05 0 0,247 0,47 Figura 4: Exclusão dos últimos registros do tipo Employee Análise dos Dados do Estudo Comparativo Com base na execução das 4 operações de persistência realizadas neste estudo o obteve melhor desempenho em 9 operações. O Spring Data JPA obteve melhor desempenho em 5 operações. Sendo assim, o framework obteve o melhor desempenho geral com base nas operações utilizadas neste estudo. A Tabela mostra o desempenho dos frameworks categorizados por tipo de operação. Cláusulas Spring Data JPA WHERE 8 JOIN x 2 INSERT x UPDATE x 0

11 DELETE x Total 9 5 Tabela : Desempenho dos frameworks categorizados por tipo de operação. Assim, o estudo realizado fornece indícios de que a hipótese nula (H0) deve ser rejeitada e, consequentemente, a hipótese alternativa (H) deve ser aceita, sendo que na média, o framework obteve melhor desempenho do que o framework Spring Data JPA para as operações realizadas neste estudo. O resultado do desempenho geral dos frameworks pode ser visto na Figura 5. 2,5,99,544 0,5 0 Figura 5: Desempenho geral dos frameworks. 4. Conclusões e Trabalhos Futuros Este artigo apresentou uma análise de desempenho baseada em benchmark por meio de uma série de operações de persistência com o intuito de fornecer evidências iniciais podendo guiar analistas e gerentes na escolha do framework de persistência mais adequado para os seus projetos. Com base nos resultados obtidos pode-se observar uma ligeira vantagem na utilização do com relação ao Spring Data para o conjunto de operações definidas pelo benchmark utilizado. Como direção a trabalhos que podem ser desenvolvidos futuramente tem-se: (i) a análise do desempenho em um sistema multiusuário; (ii) planejamento e realização de uma análise comparativa utilizando benchmarks com operações de persistência mais complexas; (iii) estudo comparativo dos diferentes tipos de linguagem de queries suportadas pelos frameworks; e (iv) comparação de funcionalidades entre os frameworks. Referências Bibliográficas [] PIETER VAN ZYL, DERRICK G. KOURIE, ANDREW BOAKE Comparing the Performance of Object Databases and ORM Tools. Disponível em: <http://odbms.org/download/027.0 Zyl Comparing the Performance of Object Databases and ORM Tools September 2006.PDF>. Acesso em: 0, set, 203. [2] MIKAEL KOPTEFF The Usage and Performance of Object Databases compared with ORM tools in a Java environment. Disponível em: <http://www.odbms.org/download/045.0

12 Kopteff The Usage and Performance of Object Databases Compared with ORM Tools in a Java Environment March 2008.PDF>. Acesso em: 0, set, 203. [3] MARCIO BALLEM S. Persistencia com Spring Data JPA. Disponível em: <http://www.devmedia.com.br/persistencia-com-spring-data-jpa-revista-java-magazine-03/24390>. Acesso em: 0, set, 203. [4] MYSQL Employees Sample Database Introduction. Disponível em: <http://dev.mysql.com/doc/employee/en/employees-introduction.html>. Acesso em:, set, 203. [5] ORACLE The Java Persistence Query Language. Disponível em: <http://docs.oracle.com/javaee/6/tutorial/doc/bnbtg.html>. Acesso em:, set, 203. [6] PETRI KAINULAINEN Spring Data JPA Tutorial Part Three: Custom Queries with Query Methods. Disponível em: <http://www.petrikainulainen.net/programming/spring-framework/springdata-jpa-tutorial-three-custom-queries-with-query-methods/>. Acesso em: 0, out, 203. [7] DIOGO V. DOS SANTOS, MARCELO DE R. MARTINS Métricas para avaliação das alternativas de persistência de dados num ambiente objeto relacional. São Paulo: IME/USP, [8] SHOAIB MAHMOOD BHATTI, ZAHID HUSSAIN ABRO, FARZANA RAUF ABRO Performance Evaluation of Java Based Object Relational Mapping Tools. Disponível em: <http://publications.muet.edu.pk/research_papers/pdf/pdf755.pdf>. Acesso em: 6, nov, 203. [9] CHRISTIAN BAUER, GAVIN KING Java Persistence with. Manning Publications, Revised edition, p. 4, [0] YULI VASILIEV Beginning Database-Driven Application Development in Java EE: Using GlassFish. Apress, edition, p , [] MIKE AULT, DONALD K. BURLESON, CLAUDIA FERNANDEZ, KEVIN KLEIN, BERT SCALZO - Database Benchmarking: Practical Methods for Oracle & SQL Server. Rampant Techpress, PAP/CDR edition, p. 9, [2] JONATHAN L. BRISBIN, OLIVER GIERKE, THOMAS RISBERG, MARK POLLACK, MICHAEL HUNGER Spring Data. O'Reilly Media, edition, p. 3,

Análise de Desempenho dos Frameworks de Persistência Hibernate e EclipseLink

Análise de Desempenho dos Frameworks de Persistência Hibernate e EclipseLink Análise de Desempenho dos Frameworks de Persistência e EclipseLink Aurélio Vargas Ramos Júnior 1, Edson A. Oliveira Junior 2 Resumo. Nas aplicações de software é comum o armazenamento de dados persistentes.

Leia mais

UNIVERSIDADE ESTADUAL DO CENTRO-OESTE UNICENTRO CURSO DE ESPECIALIZAÇÃO EM MÍDIAS EM EDUCAÇÃO

UNIVERSIDADE ESTADUAL DO CENTRO-OESTE UNICENTRO CURSO DE ESPECIALIZAÇÃO EM MÍDIAS EM EDUCAÇÃO UNIVERSIDADE ESTADUAL DO CENTRO-OESTE UNICENTRO CURSO DE ESPECIALIZAÇÃO EM MÍDIAS EM EDUCAÇÃO Jader dos Santos Teles Cordeiro Orientador Prof. Paulo Guilhermeti PERSISTÊNCIA EM OBJETOS JAVA: UMA ANÁLISE

Leia mais

RESUMO. Palavras-chave: Persistência. Framework ORM. JPA. Benckmark. ABSTRACT

RESUMO. Palavras-chave: Persistência. Framework ORM. JPA. Benckmark. ABSTRACT BENCHMARK DE FRAMEWORK MAPEAMENTO OBJETO-RELACIONAL (ORM) UMA ANÁLISE UTILIZANDO JAVA PERSISTENCE API (JPA) FRAMEWORK S BENCHMARK OBJECT-RELATIONAL MAPPING (ORM) - AN ANALYSIS USING JAVA PERSISTENCE API

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

Aula 5. Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com)

Aula 5. Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com) Persistência com JDBC e JPA Aula 5 Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com) Quem é sábio procura aprender, mas os tolos estão satisfeitos com a sua própria ignorância..

Leia mais

COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA

COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA 73 COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA Daniel José Angotti Analista de Negócio, Repom S/A djangotti@gmail.com Carlos

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

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

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

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

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

SISTEMA GERENCIAL TRATORPLAN

SISTEMA GERENCIAL TRATORPLAN SISTEMA GERENCIAL TRATORPLAN SIGET Fabrício Pereira Santana¹, Jaime William Dias¹, ², Ricardo de Melo Germano¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil fabricioblack@gmail.com germano@unipar.br

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

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

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

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

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

Aula 4. Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com)

Aula 4. Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com) Persistência com JDBC e JPA Aula 4 Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com) A sabedoria não se transmite, é preciso que nós a descubramos fazendo uma caminhada que ninguém

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

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

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

MAPEAMENTO OBJETO-RELACIONAL EM JAVA E PHP

MAPEAMENTO OBJETO-RELACIONAL EM JAVA E PHP 4 MAPEAMENTO OBJETO-RELACIONAL EM JAVA E PHP Josiel Silva Moura 1 Carlos David Rocha de Souza 1 RESUMO Atualmente, é comum o uso de bancos de dados relacionais no meio corporativo e da programação orientada

Leia mais

TECNOLOGIAS E FRAMEWORKS UTILIZADAS NO DESENVOLVIMENTO DE SISTEMAS GERENCIAIS

TECNOLOGIAS E FRAMEWORKS UTILIZADAS NO DESENVOLVIMENTO DE SISTEMAS GERENCIAIS TECNOLOGIAS E FRAMEWORKS UTILIZADAS NO DESENVOLVIMENTO DE SISTEMAS GERENCIAIS Janderson Fernandes Barros ¹, Igor dos Passos Granado¹, Jaime William Dias ¹, ² ¹ Universidade Paranaense (UNIPAR) Paranavaí

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

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

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma

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

Classes de Entidades Persistentes JDB

Classes de Entidades Persistentes JDB Classes de Entidades Persistentes JDB Brasil, Natal-RN, 07 de setembro de 2011 Welbson Siqueira Costa www.jdbframework.com Nota de Retificação: em 11/12/2011 a Listagem 3 desse tutorial sofreu uma pequena

Leia mais

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

Banco de Dados Oracle 10g: Introdução à Linguagem SQL Oracle University Entre em contato: 0800 891 6502 Banco de Dados Oracle 10g: Introdução à Linguagem SQL Duração: 5 Dias Objetivos do Curso Esta classe se aplica aos usuários do Banco de Dados Oracle8i,

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

Frameworks para Desenvolvimento Rápido de Aplicações Web: um Estudo de Caso com CakePHP e Django

Frameworks para Desenvolvimento Rápido de Aplicações Web: um Estudo de Caso com CakePHP e Django Frameworks para Desenvolvimento Rápido de Aplicações Web: um Estudo de Caso com CakePHP e Django Adriano Pereira 1, Vinícius Vielmo Cogo 1, Andrea Schwertner Charão 1 1 Programa de Educação Tutorial (PET)

Leia mais

Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério.

Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério. EDSON GONÇALVES Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério. AGRADECIMENTOS Primeiramente gostaria de agradecer

Leia mais

Sumário 1 0.1 Introdução 1 0.2 Breve História da Linguagem SQL l 0.3 Características da Linguagem SQL 3 0.4 A Composição deste Livro 3

Sumário 1 0.1 Introdução 1 0.2 Breve História da Linguagem SQL l 0.3 Características da Linguagem SQL 3 0.4 A Composição deste Livro 3 ÍNDICE o -INTRODUÇÃO Sumário 1 0.1 Introdução 1 0.2 Breve História da Linguagem SQL l 0.3 Características da Linguagem SQL 3 0.4 A Composição deste Livro 3 0.5 Sistemas Utilizados 6 0.5.1 Access 2003 (Microsoft)

Leia mais

CURSO DE EXTENSÃO ON-LINE EM Oracle 10g Express Edition XE nível básico. Edital de seleção

CURSO DE EXTENSÃO ON-LINE EM Oracle 10g Express Edition XE nível básico. Edital de seleção CURSO DE EXTENSÃO ON-LINE EM Oracle 10g Express Edition XE nível básico Edital de seleção Nome: Oracle 10g Express Edition XE nível básico Coordenador Geral: Profº Mestre Luis Naito Mendes Bezerra Área

Leia mais

Java e Banco de Dados: JDBC, Hibernate e JPA

Java e Banco de Dados: JDBC, Hibernate e JPA Java e Banco de Dados: JDBC, Hibernate e JPA 1 Objetivos Apresentar de forma progressiva as diversas alternativas de persistência de dados que foram evoluindo na tecnologia Java, desde o JDBC, passando

Leia mais

Tese / Thesis Work Análise de desempenho de sistemas distribuídos de grande porte na plataforma Java

Tese / Thesis Work Análise de desempenho de sistemas distribuídos de grande porte na plataforma Java Licenciatura em Engenharia Informática Degree in Computer Science Engineering Análise de desempenho de sistemas distribuídos de grande porte na plataforma Java Performance analysis of large distributed

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2009

CURSO DESENVOLVEDOR JAVA Edição 2009 CURSO DESENVOLVEDOR JAVA Edição 2009 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos e com o uso

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2010

CURSO DESENVOLVEDOR JAVA Edição 2010 CURSO DESENVOLVEDOR JAVA Edição 2010 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos e com o uso

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

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

1/97 PGBR2013. Desenvolvendo Otimizado com PostgreSQL e Programação Orientada a Objetos. Pablo Filetti Moreira pablo.filetti@gmail.

1/97 PGBR2013. Desenvolvendo Otimizado com PostgreSQL e Programação Orientada a Objetos. Pablo Filetti Moreira pablo.filetti@gmail. 1/97 PGBR2013 Desenvolvendo Otimizado com PostgreSQL e Programação Orientada a Objetos Pablo Filetti Moreira pablo.filetti@gmail.com 2/97 Agenda Baixa performance... ORM Mapeamento Objeto/Relacional JPA

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

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

SISTEMA PARA COMPOSIÇÃO E CORREÇÃO DE LISTAS DE QUESTÕES DE MÚLTIPLA ESCOLHA

SISTEMA PARA COMPOSIÇÃO E CORREÇÃO DE LISTAS DE QUESTÕES DE MÚLTIPLA ESCOLHA UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ROBERTO ROSIN SISTEMA PARA COMPOSIÇÃO E CORREÇÃO DE LISTAS DE QUESTÕES DE MÚLTIPLA ESCOLHA

Leia mais

PROJETO PEDAGÓGICO DE CURSOS

PROJETO PEDAGÓGICO DE CURSOS 1 de 6 PROJETO PEDAGÓGICO DE CURSOS BURITREINAMENTOS MANAUS-AM MARÇO / 2015 2 de 6 PACOTES DE TREINAMENTOS BURITECH A Buritech desenvolveu um grupo de pacotes de treinamentos, aqui chamados de BuriPacks,

Leia mais

SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS

SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS Rodrigo das Neves Wagner Luiz Gustavo Galves Mählmann Resumo: O presente artigo trata de um projeto de desenvolvimento de uma aplicação para uma produtora de eventos,

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

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos

Leia mais

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS Edi Carlos Siniciato ¹, William Magalhães¹ ¹ Universidade Paranaense (Unipar) Paranavaí PR Brasil edysiniciato@gmail.com,

Leia mais

PROGRAMA. Aquisição dos conceitos teóricos mais importantes sobre bases de dados contextualizados à luz de exemplos da sua aplicação no mundo real.

PROGRAMA. Aquisição dos conceitos teóricos mais importantes sobre bases de dados contextualizados à luz de exemplos da sua aplicação no mundo real. PROGRAMA ANO LECTIVO: 2005/2006 CURSO: LICENCIATURA BI-ETÁPICA EM INFORMÁTICA ANO: 2.º DISCIPLINA: BASE DE DADOS DOCENTE RESPONSÁVEL PELA REGÊNCIA: Licenciado Lino Oliveira Objectivos Gerais: Aquisição

Leia mais

Fundação Universidade Estadual de Maringá

Fundação Universidade Estadual de Maringá Fundação Universidade Estadual de Maringá PAD/DIRETORIA DE MATERIAL E PATRIMÔNIO AVISO DE LICITAÇÃO EDITAL 485/2007 CONCORRÊNCIA PÚBLICA - PROC.: N 15344/2007 OBJETO: CONTRATAÇÃO DE UMA EMPRESA ESPECIALIZADA

Leia mais

Aplicação do ORM Doctrine para abstração de banco de dados no desenvolvimento de software em PHP na UNA- SUS/UFMA

Aplicação do ORM Doctrine para abstração de banco de dados no desenvolvimento de software em PHP na UNA- SUS/UFMA Aplicação do ORM Doctrine para abstração de banco de dados no desenvolvimento de software em PHP na UNA- SUS/UFMA Lázaro Henrique C. Marques e Dilson José L. R. Júnior Setor de Inovação Tecnológica Universidade

Leia mais

Banco de Dados. Prof. Leonardo Barreto Campos 1

Banco de Dados. Prof. Leonardo Barreto Campos 1 Banco de Dados Prof. Leonardo Barreto Campos 1 Sumário Introdução; Banco de Dados Relacionais; SQL; MySQL; Manipulando Banco de Dados com o JDBC; Bibliografia; Prof. Leonardo Barreto Campos 2/25 Introdução

Leia mais

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

Plano de Trabalho Docente 2015. Ensino Técnico

Plano de Trabalho Docente 2015. Ensino Técnico Plano de Trabalho Docente 2015 Ensino Técnico ETEC MONSENHOR ANTONIO MAGLIANO Código: 088 Município: Garça Eixo Tecnológico: Informação e Comunicação Habilitação Profissional: Técnica de Nível Médio de

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

Desenvolvimento de Framework de Mapeamento Objeto Relacional para a Plataforma Android

Desenvolvimento de Framework de Mapeamento Objeto Relacional para a Plataforma Android 4 Desenvolvimento de Framework de Mapeamento Objeto Relacional para a Plataforma Android Aline Odone Santiago 1, Carlos Eduardo Pacheco Menezes 1, Fábio Koiti Shiomi 1 Instituto Federal de Educação, Ciência

Leia mais

Documento de Projeto de Sistema

Documento de Projeto de Sistema Documento de Projeto de Sistema 1 IFES / Serra Projeto: Gerenciador de Pelada - Oasis Registro de Alterações: Versão Responsável Data Alterações 0.1 Eduardo Rigamonte, Geann Valfré, João Paulo Miranda,

Leia mais

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS Pablo dos Santos Alves Alexander Roberto Valdameri - Orientador Roteiro da apresentação Introdução Objetivos Motivação Revisão bibliográfica

Leia mais

JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS

JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS FOZ DO IGUAÇU 2013 SUMÁRIO 1. PERSISTÊNCIA

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Carga horária: 32 Horas Pré-requisito: Para que os alunos possam aproveitar este treinamento ao máximo, é importante que eles tenham participado dos treinamentos

Leia mais

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS RESUMO Este artigo apresenta a especificação de um sistema gerenciador de workflow, o ExPSEE, de acordo com a abordagem de desenvolvimento baseado

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição

Eduardo Bezerra. Editora Campus/Elsevier. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier 1 Capítulo 12 Mapeamento de objetos para o modelo relacional Na época, Nixon estava normalizando as

Leia mais

Parte II Persistência entre Modelos de Dados

Parte II Persistência entre Modelos de Dados Parte II Persistência entre Modelos de Dados Clodis Boscarioli Agenda: Hibernate Introdução; Configurações; Mapeamento com XML; Exemplos; Associações: 1-n; n-1; n-n; 1-1. Hibernate - Introdução O Hibernate

Leia mais

Banco de Dados. Maurício Edgar Stivanello

Banco de Dados. Maurício Edgar Stivanello Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado

Leia mais

Persistência em Software Orientado a Objetos:

Persistência em Software Orientado a Objetos: Persistência em Software Orientado a Objetos: Abordagens Utilizando Frameworks OpenSource Marcelo Santos Daibert Orientador: Marco Antônio Pereira Araújo Co-Orientadora: Alessandreia Marta de Oliveira

Leia mais

Dados em Java. Introdução

Dados em Java. Introdução Interface Gráfica e Banco de Dados em Java Introdução Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Licença para uso e

Leia mais

PROGRAMA. Objectivos Gerais :

PROGRAMA. Objectivos Gerais : PROGRAMA ANO LECTIVO : 2005/2006 CURSO : ENGENHARIA MULTIMÉDIA ANO: 2.º DISCIPLINA : SISTEMA DE GESTÃO DE BASE DE DADOS DOCENTE RESPONSÁVEL PELA REGÊNCIA : Licenciado Lino Oliveira Objectivos Gerais :

Leia mais

FICHA DE CATALOGAÇÃO DE REVISTAS DE NOTÍCIAS. Coleção

FICHA DE CATALOGAÇÃO DE REVISTAS DE NOTÍCIAS. Coleção Título: SQL Magazine Notas de Título Feita para Desenvolvedores de Software e DBAs. Descrição Geral: Revista focada em banco de dados, análise, projeto e modelagem. Editor(es): Diretor responsável Gladstone

Leia mais

ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS

ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS Este anexo apresenta uma visão geral das seguintes plataformas: 1. Plataforma Microsoft.NET - VB.NET e C#; 2. Plataforma JAVA; 3. Plataforma Android, ios e Windows

Leia mais

FRWTC-235 WORKSHOP ORACLE CERTIFIED JAVA EE 6 JPA DEVELOPER

FRWTC-235 WORKSHOP ORACLE CERTIFIED JAVA EE 6 JPA DEVELOPER FRWTC-235 WORKSHOP ORACLE CERTIFIED JAVA EE 6 JPA DEVELOPER SOBRE A FRAMEWORK A Framework (www.frwtc.com) atua diretamente com profissionais do segmento de tecnologia em busca de capacitação, atualização

Leia mais

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Juarez Bachmann Orientador: Alexander Roberto Valdameri Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

Leia mais

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES Hugo Henrique Rodrigues Correa¹, Jaime Willian Dias 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil hugohrcorrea@gmail.com, jaime@unipar.br Resumo.

Leia mais

MOR: Uma Ferramenta para o Mapeamento Objeto-Relacional em Java

MOR: Uma Ferramenta para o Mapeamento Objeto-Relacional em Java MOR: Uma Ferramenta para o Mapeamento Objeto-Relacional em Java Leonardo Gresta Paulino Murta Gustavo Olanda Veronese Cláudia Maria Lima Werner {murta, veronese, werner}@cos.ufrj.br COPPE/UFRJ Programa

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

Gerenciamento de um Sistema de

Gerenciamento de um Sistema de SBD Gerenciamento de um Sistema de Banco de Dados Prof. Michel Nobre Muza ua michel.muza@ifsc.edu.br Prof. Marcos Antonio Viana Nascimento Por que é importante: Motivação Participar na organização e no

Leia mais

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados LINGUAGEM SQL Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características

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

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

Leia mais

Banco de Dados. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com

Banco de Dados. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Banco de Dados Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Roteiro Mapeamento de objetos para modelo relacional Estratégias de persistência Persistência JDBC Mapeando Objetos para o Modelo Relacional

Leia mais

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados.

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados. PLANIFICAÇÃO DA DISCIPLINA DE SISTEMAS DE INFORMAÇÃO 12.ºH CURSO PROFISSIONAL DE TÉCNICO MULTIMÉDIA ANO LECTIVO 2013/2014 6. LINGUAGENS DE PROGRAMAÇÃO IV Pré-requisitos: - Planificar e estruturar bases

Leia mais

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código Igor Steinmacher 1, Éderson Fernando Amorim 1, Flávio Luiz Schiavoni 1, Elisa Hatsue Moriya Huzita 1 1 Departamento de Informática

Leia mais

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências

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

Figura 1.1 Código de inserção não baseado em Hibernate. Figura 1.2 Código de inserção baseado em Hibernate

Figura 1.1 Código de inserção não baseado em Hibernate. Figura 1.2 Código de inserção baseado em Hibernate Hibernate É um framework para mapeamento objeto/relacional para aplicações em Java. Tem como objetivo mor o mapeamento de classes Java em tabelas do banco de dados e viceversa, possibilitando a realização

Leia mais

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS Emanuel M. Godoy 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil godoymanel@gmail.com,

Leia mais

DESENVOLVENDO APLICAÇÕES UTILIZANDO JAVASERVER FACES E MVC

DESENVOLVENDO APLICAÇÕES UTILIZANDO JAVASERVER FACES E MVC DESENVOLVENDO APLICAÇÕES UTILIZANDO JAVASERVER FACES E MVC Felipe Moreira Decol Claro 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil felipe4258@hotmail.com, kessia@unipar.br

Leia mais

Geração Automática de Código Java a partir do Modelo de Dados

Geração Automática de Código Java a partir do Modelo de Dados Geração Automática de Código Java a partir do Modelo de Dados Jansser Ribeiro, Renato Lima Novais, Thiago Souto Mendes Grupo de Informática Aplicada - Instituto Federal da Bahia Campus Santo Amaro CEP

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25 SUMÁRIO LISTA DE FIGURAS LISTA DE TABELAS LISTA DE SIGLAS E ABREVIATURAS Pág. CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25 2.1 A tecnologia de orientação a objetos 25 2.1.1 Projeto de software

Leia mais

JPA (Java Persistence API) Marcos Kalinowski (kalinowski@ic.uff.br)

JPA (Java Persistence API) Marcos Kalinowski (kalinowski@ic.uff.br) JPA (Java Persistence API) (kalinowski@ic.uff.br) Agenda Conceitos básicos do JPA Mapeamento objeto relacional utilizando JPA Utilizando JPA para a persistência na prática EntityManager JPQL (Java Persistence

Leia mais

UM SISTEMA DE CONTROLE E GESTÃO DE DADOS E INFORMAÇÕES PARA PROFISSIONAIS EM TRANSAÇÕES IMOBILIÁRIAS

UM SISTEMA DE CONTROLE E GESTÃO DE DADOS E INFORMAÇÕES PARA PROFISSIONAIS EM TRANSAÇÕES IMOBILIÁRIAS UM SISTEMA DE CONTROLE E GESTÃO DE DADOS E INFORMAÇÕES PARA PROFISSIONAIS EM TRANSAÇÕES IMOBILIÁRIAS Caio Santos Freitas 1 caiosantosfreitas@hotmail.com Douglas Luís Marcelino Júnior 2 douglas_lmj@hotmail.com

Leia mais

Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes

Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes Edson Alves de Oliveira Junior 1, Itana Maria de Souza Gimenes 1 1 Departamento de

Leia mais

JDB Java Desktop Basis

JDB Java Desktop Basis JDB Java Desktop Basis Por Welbson Siqueira Costa Brasil Natal/RN 2012 ii Copyright 2012, Welbson Siqueira Costa. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. Nenhuma parte deste

Leia mais

Unidade 7: Middleware JDBC e Java DB Prof. Daniel Caetano (Fonte: Tutorial Oficial do NetBeans)

Unidade 7: Middleware JDBC e Java DB Prof. Daniel Caetano (Fonte: Tutorial Oficial do NetBeans) Programação Servidor para Sistemas Web 1 Unidade 7: Middleware JDBC e Java DB Prof. Daniel Caetano (Fonte: Tutorial Oficial do NetBeans) Objetivo: Capacitar o aluno para criar bancos de dados usando Java

Leia mais