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

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

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

Transcrição

1 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 (JPA) Bárbara Ayako Nass Leonardo Henrique Marcon de Biagi Prof. Me Anderson Pazin RESUMO O armazenamento e gerenciamento de dados são atividades fundamentais para os sistemas de informação. Esses sistemas são apoiados, em sua grande maioria, por gerenciadores de banco de dados relacionais. Cada vez mais, tais sistemas são desenvolvidos utilizando-se dos conceitos e as linguagens orientadas a objetos. Nesse contexto há uma grande diferença semântica de funcionamento entre os conceitos de orientação a objetos, destinado ao desenvolvimento dos sistemas, e os conceitos de bases de dados relacionais, onde as aplicações desenvolvidas persistem os seus dados. Uma possível solução seria utilizar frameworks de persistência ORM que fazem o mapeamento entre os objetos e as relações. Este trabalho apresenta um estudo comparativo entre alguns dos principais frameworks ORM desenvolvidos para a linguagem Java tendo como objetivo principal avaliar o desempenho a fim de se obter dados que possam ser utilizados por outros desenvolvedores. Para facilitar tais testes, faz-se o uso da API JPA que permite a fácil migração entre esses frameworks com pequenas alterações em sua configuração. Palavras-chave: Persistência. Framework ORM. JPA. Benckmark. ABSTRACT Storage and data management activities are critical to information systems. These systems are supported mostly by managers relational database. Increasingly, such systems are being developed utilizing the concepts and object-oriented languages. In this context there is a great difference between the functioning of semantic concepts of object orientation, for the development of systems, and the concepts of relational databases, where applications developed persist your data. One possible solution would be to use ORM persistence frameworks that make the mapping between objects and relations (tables). This paper presents a comparative study between some of the major ORM frameworks developed for the Java language with the main objective to evaluate the performance in order to obtain data that can be used by other developers. To facilitate these tests, it is using the JPA API that allows easy migration between these frameworks with small changes to your configuration. Keywords: Persistence. ORM Framework. JPA. Benckmark - Revista Científica do Unisalesiano Lins SP, ano 4., n.8, jan/jun de

2 INTRODUÇÃO A persistência de dados, normalmente refere-se à ação de guardar dados em um banco de dados relacional. Essa abordagem de banco de dados relacionais é bem conhecida e possui gerenciamento flexível de dados. Segundo Bauer e King (2007, p. 6): "Devido ao completo e consistente fundamento teórico do modelo de dados relacional, banco de dados relacionais podem efetivamente garantir e proteger a integridade dos dados, dentre outras características desejáveis". Sistemas de gerenciamento de banco de dados relacionais não são específicos para uma linguagem de programação e nem a uma aplicação em particular. Esse princípio é conhecido como independência de dados, afinal os dados vivem por mais tempo que as aplicações. Segundo Bauer e King (2007) a tecnologia relacional fornece um modo de compartilhar os dados por entre essas diferentes aplicações, sendo então um denominador comum de vários sistemas e tecnologias das plataformas diferentes. O uso de linguagens orientadas a objetos tem se solidificado nos últimos anos. Segundo o site TIOBE Software (2011) esse tipo de linguagem é o que tem maior crescimento de uso nos últimos cinco anos. Existe uma diferença conceitual muito grande entre a programação orientada a objetos e a persistência de dados em bancos relacionais, o que geralmente causa grandes dificuldades durante o processo de desenvolvimento de software que fazem uso das duas abordagens. O Mapeamento de Objeto-Relacional (ORM) é uma abordagem que permite a construção de sistemas utilizando o paradigma orientado a objetos com a persistência, destes objetos, em bancos de dados relacionais. Com a utilização de técnicas e estratégias específicas, é possível mapear classes com seus atributos e associações para o modelo relacional (SILVA et al. apud Carvalho, 2006). Atualmente no mercado existem diversos frameworks ORM, bem como, aplicações de banco de dados, fazendo com que desenvolvedores tenham uma gama enorme de opções. Porem é necessário que essas aplicações promovam confiabilidade e robustez e principalmente consigam mapear os dados de forma correta e integra. O objetivo deste trabalho é analisar o desempenho dos principais frameworks ORM disponíveis para a linguagem Java: Hibernate, EclipseLink e Oracle TopLink, verificando-se a performance em diferentes situações. Para facilitar a migração entre - Revista Científica do Unisalesiano Lins SP, ano 4., n.8, jan/jun de

3 os frameworks será utilizado Java Persistence API (JPA) para interfacear os ORMs. Essa pesquisa pode ajudar a desenvolvedores optarem por determinados frameworks dependendo do contexto de suas aplicações. 1 FUNDAMENTOS CONCEITUAIS 1.1 Frameworks Framework é um projeto, que pode ser reutilizável em um sistema ou somente parte dele, representado por classes relacionadas. Segundo Pazin (2004, p. 16): Framework é uma infra-estrutura genérica, baseada em um domínio, que pode ser adaptada para solucionar problemas específicos desse domínio, servindo como um modelo para a construção de aplicações através da especificação das classes e das colaborações entre elas. O principal proposito de um framework é ajudar no processo de desenvolvimento de aplicações, permitindo que elas sejam desenvolvidas mais rapidamente e facilmente, resultando em uma aplicação de qualidade superior. Framework funciona como um molde para construção de aplicações e subsistemas, permite o reuso de código e de projeto, liberando o desenvolvedor de aspectos comuns da aplicação. Todas as aplicações construídas a partir de um mesmo framework apresentam características similares, diferenciando-se em seu comportamento, que varia conforme a necessidade da aplicação. Isso torna as aplicações desenvolvidas, a partir de frameworks mais fáceis de se manter e mais consistentes para os usuários que não precisam aprender diferentes aplicações. (PAZIN, 2004, p.16). 1.2 Persistência de dados em aplicações orientadas a objetos Objeto é a instancia de uma classe, e a persistência de seus dados permite a ele sobreviver ao processo que o criou, em outra palavras, o estado do objeto pode ser armazenado, e um objeto com um mesmo estado pode ser recriado em algum ponto no futuro. Este processo não está limitado a um objeto sozinho, redes inteiras de objetos interconectados podem ser persistentes. De acordo com Bauer e King (2007), a grande maioria dos objetos não é persistente, havendo também o objeto transiente que tem um tempo de vida - Revista Científica do Unisalesiano Lins SP, ano 4., n.8, jan/jun de

4 limitado, sendo delimitado pela vida do processo que o instanciou. Quase todas as aplicações Java possuem objetos persistentes e transientes e devido a isso se faz necessário um subsistema que gerencie esses dados persistentes. A persistência de dados sempre foi um problema entre os desenvolvedores Java, muitos automatizavam funções existentes no sistema e as armazenavam no banco de dados, ou seja, com as mudanças no sistema ou troca do banco de dados acabava-se tornando um transtorno, afinal em muitos casos o banco de dados tem um dialeto próprio. A intenção dos frameworks ORM é tentar construir aplicações que permitam portabilidade total. Segundo Carvalho (2008) o ORM se comporta como uma camada que possui uma gama de métodos que cuidam de tarefa, tais como: create (cria um novo objeto da classe a partir dos dados da tabela), find (busca um determinado registro no banco e o torna um objeto da classe), delete (exclui registros do banco) e update (atualiza registros de uma tabela de acordo com as solicitações). Esses métodos variam de acordo com a linguagem que será utilizada pelo desenvolvedor. Os bancos de dados relacionais modernos fornecem uma representação estruturada dos dados persistentes. Segundo Bauer e King (2007) ele permite a manipulação, classificação, busca e a agregação dos dados e os sistemas de gerenciamento de banco de dados são responsáveis por gerenciar a concorrência e a integridade dos dados e também compartilhar os dados entre os múltiplos usuários e múltiplas aplicações. Para utilizar qualquer uma das aplicações de banco de dados disponíveis no mercado é necessário um entendimento sólido do modelo relacional e de SQL, que é a linguagem para sua manipulação. O banco de dados é somente uma das partes do ORM a outra parte consiste nos objetos da sua aplicação Java que necessitam ser persistidos e carregados no banco de dados utilizando o SQL. Quando se trabalha com um banco de dados SQL em uma aplicação Java, o código Java trata das declarações para o banco de dados via API de Conectividade chamada, Java Database Connectivity (JDBC). Seja o SQL embutido no código Java, escrito a mão, ou mesmo gerado dinamicamente pelo Java, acaba-se utilizando a API JDBC para vincular os argumentos, no intuito de preparar os parâmetros para consulta, executar as consultas, recuperar valores, assim por diante. Essas são tarefas de acesso aos - Revista Científica do Unisalesiano Lins SP, ano 4., n.8, jan/jun de

5 dados de baixo nível. O que se busca é escrever um código que salve e recupere os objetos - instancias das classes- no banco de dados sem esse penoso trabalho de baixo nível. 1.3 Frameworks de Mapeamento Objeto-Relacional (ORM) Hibernate O Hibernate é um framework que se relaciona com o banco de dados relacional garantindo ao desenvolvedor a transparência no mapeamento objeto/relacional. Para isso, o deve-se seguir algumas regras para desenvolvimento, e o restante da comunicação com o banco de dados fica com sobre a responsabilidade do framework O Hibernate é uma ferramenta que faz o mapeamento objeto/relacional no ambiente Java. O termo de mapeamento de objeto/relacional se refere à técnica de mapear uma representação de dados de um modelo de objeto para dados de modelo relacional com o esquema baseado em SQL. (HIBERNATE, s.d) O Hibernate automatiza muitas tarefas de códigos repetitivas, mas não cuida somente do mapeamento de classes Java para tabelas de banco de dados (e de tipos de dados em Java para tipos de dados em SQL), fornece também facilidade de consultas e recuperação de dados, podendo reduzir significantemente o tempo de desenvolvimento gasto com a manipulação manual de dados no SQL e JDBC. Graças ao Hibernate, o esquema de banco de dados pode ser facilmente melhorado e manipulado, permitindo criar uma implementação apropriada do modelo de domínio mais tarde. (HIBERNATE, s.d) EclipseLink O Eclipse Persistence Services Project, mais conhecido como EclipseLink, é uma solução abrangente de persistência open source. Seu projeto foi iniciado por uma doação do código-fonte completo e suítes de teste de produtos da Oracle TopLink. Este projeto traz a experiência de mais de 12 anos de uso comercial e de desenvolvimento.(clarke, 2008). Similar ao Hibernate, a intenção do projeto é oferecer uma solução baseada em padrões centrados no JPA, mas com a capacidade de usar recursos avançados - Revista Científica do Unisalesiano Lins SP, ano 4., n.8, jan/jun de

6 para aquelas aplicações onde são necessários. Segundo Clarke (2008), o serviço de persistência mais popular do EclipseLink é lidar com bancos de dados relacionais através de JPA. Segundo Clarke (2008): Este apoio de mapeamento tem evoluído ao longo de muitos anos de uso comercial lidando com muitos modelos de domínio e esquemas relacionais. O apoio resultante é suportado através de JPA sempre que possível e configurável com mapeamentos. O EclipseLink apresenta uma solução poderosa e original de cache, enquanto outras soluções de persistência armazenam em cache as linhas de dados e reconstroem objetos quando ocorre um cache hit, EclipseLink mantém em cache as entidades com todas as conversões de dados definidos. (Clarke, 2008) Oracle TopLink O TopLink permite mapear um modelo de objeto Java e Java Beans para um banco de dados relacional e as fontes de dados não-relacionais. Ele faz a ponte entre objetos e as relações que existem entre eles e os bancos de dados relacionais. Com TopLink o usuário pode reduzir o tempo e o custo de desenvolvimento pois ele proporciona a utilização de um comprovado padrão da indústria de frameworks de persistência. (MANUAL, 2002). TopLink permite desenvolver aplicações de alto desempenho e escalábilidade usando um rico conjunto de comprovado desempenho. (MANUAL, 2002). De acordo com o Manual (2002) o TopLink fornece recursos como: a) Manter a independência de plataforma através da utilização de um produto Java 100 por cento puro que podem ser executados em qualquer ambiente Java ou servidor de aplicativos Java. b) Manter a independência de dados através da utilização do TopLink no nível do objeto e API nível de objeto de consulta. c) Acessar qualquer banco de dados através de um driver JDBC compatível e acesso não-relacional a fontes de dados através de TopLink SDK para Sistemas de Informação Empresariais. d) Integra-se com tecnologia de ponta - Revista Científica do Unisalesiano Lins SP, ano 4., n.8, jan/jun de

7 1.3.4 Java Persitence API (JPA) O JPA lida com a forma como os dados relacionais são mapeados para objetos Java, a maneira que esses objetos são armazenados em um banco de dados relacional para que eles possam ser acessados em um momento posterior, e a existência continuada de um estado da entidade mesmo após a aplicação que usa ela termina. Além de simplificar o modelo de persistência da entidade, o JPA padroniza mapeamento objeto-relacional. (BISWAS; ORT, 2006). Para Biswas e Ort (2006), Java Persistence API baseia-se em ideias de frameworks de persistência de liderança e APIs como Hibernate, TopLink da Oracle e Java Data Objects. O JPA simplifica o modelo de programação para a persistência de entidade. Abaixo uma lista rápida de recursos segundo Biswas e Ort (2006). a) Requer menos classes e interfaces b) Praticamente elimina os descritores de implementação prolongados através de anotações c) Endereços mais especificações típicas através de padrões de anotação. d) Fornece mais limpo, mais fácil, mapeamento objeto-relacional padronizados. e) Elimina a necessidade de código de pesquisa. f) Adiciona suporte para herança, polimorfismo, e consultas polimórficas. g) Adiciona suporte para named (estático) e consultas dinâmicas. h) Java fornece uma linguagem de consulta Persistência. i) Torna mais fácil para testar entidades fora do container EJB. j) Pode ser usada fora do recipiente k) Pode ser usado com pluggable, terceiros prestadores de persistência 2 PROTÓTIPO DE APLICAÇÃO PARA OS CASOS DE TESTES O objetivo deste trabalho é analisar o desempenho dos principais frameworks ORM disponíveis para a linguagem Java, para isso foram realizados testes utilizando-se um protótipo de sistema simples para a gestão de vendas on-line, onde é possível realizar a venda de determinados produtos a clientes. A Figura 1 ilustra o - Revista Científica do Unisalesiano Lins SP, ano 4., n.8, jan/jun de

8 diagrama de classes desse protótipo. Figura 1. Diagrama de classes Prototipo vendas on-line Fonte: Elaborado pelos autores, Como estratégia para os testes desenvolvidos foi utilizado o banco de dados Oracle como padrão. Os testes foram baseados na utilização dos frameworks: TopLink, EclipseLink e Hibernate, onde todos fazem as mesmas operações no banco de dados. A análise se fundamentou no tempo de execução dessas operações em cada um dos frameworks apresentados. Os testes foram desenvolvidos utilizando-se o ambiente de desenvolvimento intregrado (IDE) NetBeans A operação escolhida para a análise foi a de inserção e os testes foram aplicados nas seguintes classes: - Revista Científica do Unisalesiano Lins SP, ano 4., n.8, jan/jun de

9 a) Unidade Medida: onde não ocorre nenhuma relação de dependência e nem associação entre objetos (tabela sem recebimento de chaves estrangeiras). b) Pessoa Física: que herda da classe Cliente. c) Produto: que possui relacionamento de associação com a classe Unidade Medida (isso gera uma tabela que recebe uma chave estrangeira). d) Venda: possui relação com duas classes, uma associação com a classe Clientes e uma associação com a classe Itens Vendidos, que por sua vez tem agregação com Produtos. e) Todas as classes do sistema. As inserções foram feitas com: 1 objeto, objetos, objetos e objetos, produzindo respectivamente 1 linha, linhas, linhas e linhas nas tabelas do banco de dados. Os testes foram realizados em um computador com as seguintes configurações: a) Processador: Intel Atom N MHz. b) Modelo: Hewlett-Packard HP Mini c) Memória RAM: 2036 MB. d) Interface da unidade de armazenamento: Serial ATA II. e) Sistema Operacional: MS Windows 7 Ultimate Service Pack 1. 3 RESULTADOS DOS TESTES 3.1 Teste 1: Persistência de objetos da classe Unidade de Medida A Figura 2 ilustra o gráfico com os resultados do Teste 1. Percebe-se que não houve variações significativas de tempos de execução nos três tipos de frameworks utilizados, visto que ocorreu apenas uma diferença de 1 segundo nos testes de inserção de linhas. Sendo assim, com inserções de objetos o EclipseLink foi 1 segundo mais rápido que os demais; com inserções de objetos o Hibernate foi um segundo mais rápido que os demais; com inserções de objetos o Oracle TopLink foi 1 segundo mais rápido que os demais. - Revista Científica do Unisalesiano Lins SP, ano 4., n.8, jan/jun de

10 Figura 2: Teste tabela Unidade Medida Fonte: Elaborado pelos autores, Teste 2: Persistência de objetos utilizando Herança Figura 3: Teste tabela Pessoa Física Fonte: Elaborado pelos autores, A Figura 3 ilustra o gráfico como os resultados do Teste 2. Observando-se esse gráfico é possível perceber que nos testes realizados com inserções de objetos houve-se um desenpenho um pouco maior com o TopLink em relação aos demais, sendo ele 8 segundos mais rápido que o Hibernate por exemplo, porém ao aumentar as inserções para objetos o Hibernate mostrou-se mais rápido 10 segundos em relação ao TopLink e 33 segundos que o EclipseLink. - Revista Científica do Unisalesiano Lins SP, ano 4., n.8, jan/jun de

11 3.3 Teste 3: Persistência de objetos que possui relacionamento com uma classe Os resultados, ilustrados no gráfico da Figura 4, apresentam um melhor desempenho no framework EclipseLink com inserções de objetos, sendo 3 segundos mais rapido que o TopLink e 5 segundos mais rapido que o Hibernate, porém, o desempenho do Framework Hibernate e TopLink foram melhor em 20 segundos sobre o EclipseLink nos testes de inserções com objetos. Figura 4: Teste tabela Produto Fonte: Elaborado pelos autores, Teste 4: Persistência de objetos com dois relacionamentos No teste com a classe Venda verifica-se um desempenho consideravelmente bom do framework TopLink em relação aos demais frameworks. Seu desempenho foi melhor em 1.000, e inserções de objetos. Nos testes com inserções de objetos o TopLink teve um desempenho melhor sobre o Hibernate de 4 segundos e sobre o EclipseLink de 10 segundos. Tal situação pode ser verificada na Figura 5 que ilustra tal teste. - Revista Científica do Unisalesiano Lins SP, ano 4., n.8, jan/jun de

12 Figura 5: Teste tabela Venda Fonte: Elaborado pelos autores, Teste 5: Inserção em todas as classes do sistema Figura 6: Inserção em todas as tabelas Fonte: Elaborado pelos autores, Na figura 6, verifica-se um desempenho melhor do Framework TopLink em inserções de objetos, sendo mais rápido que o segundo (Hibernate) em 4 segundos, nas inserções de objetos o toplink manteve seu desempenho melhor em, 8 segundos sobre o EclipseLink e 9 segundos sobre o Hibernate. Nas inserções de objetos o toplink também foi melhor que os demais, sendo 17 - Revista Científica do Unisalesiano Lins SP, ano 4., n.8, jan/jun de

13 segundos mais rápido que o Hibnernate e 21 segundos mais rápido que o EclipseLink. CONCLUSÃO Vem se tornando cada dia mais importante a criação de sistemas computacionais que respondam cada vez mais rápido às grandes demandas de acesso a dados. Devido a isso é necessário, garantir que o acesso aos dados seja feito de modo eficiente, especialmente em aplicações corporativas. Nesse contexto, este trabalho apresentou um estudo comparativo entre três frameworks de persistência Java: EclipseLink, TopLink e Hibernate. Tais frameworks diminuem o tempo necessário de desenvolvimento de aplicações orientadas a objetos que necessitam persistir seus dados em banco de dados relacionais, porém, isso não significa que o acesso aos dados será sempre mais rápido. Quando poucos dados são adicionados, a diferença entre o desempenho dessas implementações não é significativo. Entretanto essa afirmativa não é verdade quando se tratam de grandes volumes de dados. Em outras palavras, inserir, por exemplo, uma ou dez linhas em um banco de dados não mostrará diferenças significativas de desempenho, porém inserir ou linhas apresentam diferenças significativas no desempenho. Considerando que todas as implementações foram usadas com o mínimo de recursos possíveis para o funcionamento destas, o TopLink foi, sem dúvidas, a implementação mais estável de todas, estando entre as mais rápidas na inserção de tabelas simples e sendo a mais rápida nas tabelas mais complexas, como demonstrado nos testes. Em testes feitos anteriormente por Barbon (2011), onde foram testados os Frameworks Hibernate e TopLink, com inserções e seleções no banco de dados MySQL foi verificado um melhor desempenho do Framework Hibernate, com grandes diferenças, onde em sua maioria os resultados foram quase metade do tempo de resposta. Essa divergência de resultados pode ser fundamentada no fato do uso do uso de um banco de dados diferente, nos testes feitos por Barbon (2011) foi utilizado o MySQL como já foi dito, e na proposta deste trabalho foi utilizado o Oracle e isso - Revista Científica do Unisalesiano Lins SP, ano 4., n.8, jan/jun de

14 pode ter auxiliado para que o Framework da Oracle TopLink tenha tido um melhor desempenho. Esse estudo fundamenta-se apenas e operações de inserções, o que limita bastante essa conclusão deste trabalho. Como proposta para trabalhos futuros, sugere-se a criação de um conjunto de teste que simule todas as operações básicas de um banco de dados: INSERT, UPDATE, DELETE e SELECT. Nesses testes pode-se ainda tentar o uso de outras bases de dados como MySQL, PostGres, SQL Server, DB2 entre outras. Aumentar a quantidade de vezes de realização dos testes, para que se possa observar se há mudanças significativas no tempo de realização das ações pode ser uma outra sugestão para aumentar a credibilidade dos resultados apresentados. REFERÊNCIAS BARBON, S. Comparação de desempenho entre Hibernate e TopLink para persistência baseada em JPA com MySQL. Patternizando, 11 jan Disponível em: <http://www.patternizando.com.br/2011/01/comparacao-dedesempenho-entre-hybernate-e-toplink-para-persistencia-baseada-em-jpa-commysql/> Acesso em: 17 mai BAUER, C; KING, G. Java Persistence com Hibernate. Rio de Janeiro: Ciência Moderna, BISWAS, R.; ORT, E. A Java Persistence API - um modelo mais simples de programação para a persistência da entidade. Oracle, mai Disponível em: <http://www.oracle.com/technetwork/articles/javaee/jpa html> Acesso em: 15 nov CARVALHO, L. Object-Relational Mapping(ORM) Mapeamento de Objeto- Relacional. RedRails, 13 abr Disponível em:<www.redrails.com.br/ 2011 /04/object-relational-mappingorm-mapeamento-de-objeto-relacional/> Acesso em: 15 set CLARKE, D. Apresentando EclipseLink. Eclipse Zone, 30 jun Disponível em: <http://eclipse.dzone.com/articles/introducing-eclipselink?page=0,0> Acesso em: 14 nov HIBERNATE. Community Documentation. Hibeernate, [s.d.] Disponível em: <http://docs.jboss.org/hibernate/core/3.6/reference/en-us/html/architecture. html> Acesso em: 14 nov MANUAL. Oracle9iAs TopLink. Oracle, ago Disponível em: <http://download.oracle.com/docs/cd/a /toplink.903/b10061.pdf> Acesso em: - Revista Científica do Unisalesiano Lins SP, ano 4., n.8, jan/jun de

15 14 nov PAZIN, A. GawCRe: Um gerador de aplicações baseadas na web para o domínio de clinicas de reabilitação Dissertação (Mestrado em Ciências da Computação) Universidade Federal de São Carlos, Centro de Ciências Exatas e de Tecnologia, São Carlos. TIOBE Programming Community index de novembro de Tiobe software, [s.d.]. Disponível em: <www.tiobe.com/index.php/content/paperinfo/tpci/index.html> Acesso em: 23 set Revista Científica do Unisalesiano Lins SP, ano 4., n.8, jan/jun de

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

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

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

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

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

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

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

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

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

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

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

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

Persistência. 2004 Fernando Lozano, http://www.lozano.eti.br Persistência Objeto-Relacional com Java Pag. 1

Persistência. 2004 Fernando Lozano, http://www.lozano.eti.br Persistência Objeto-Relacional com Java Pag. 1 Persistência Objeto-Relacional com Java Fernando Lozano http://www.lozano.eti.br Consultor Independente Prof. Faculdades UniABEU Prof. SENAC Editor Adjunto da Revista Java Magazine 2004 Fernando Lozano,

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

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

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

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

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

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

Arquitetura de Banco de Dados

Arquitetura de Banco de Dados Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group

Leia mais

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

Análise de Desempenho dos Frameworks de Persistência Hibernate e Spring Data 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

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

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

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

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

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

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

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

RESUMO. Palavras-chave: AlphaWEB. Gerador de Artefatos. Aplicações. Software. ABSTRACT

RESUMO. Palavras-chave: AlphaWEB. Gerador de Artefatos. Aplicações. Software. ABSTRACT GERADOR DE ARTEFATOS PARA APLICAÇÕES WEB GENERATOR ARTIFACTS FOR WEB APPLICATIONS Juliane Rosário juh_rosario@yahoo.com.br Murillo da Silva Casa Grande murilloscg@yahoo.com.br Prof. M. Sc. Anderson Pazin

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

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

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

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

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

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

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

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

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

Leia mais

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

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

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

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reuso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reutilização de Software Na maioria das áreas de engenharia de software, sistemas são desenvolvidos

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

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

Bem-vindo à apresentação do SAP Business One.

Bem-vindo à apresentação do SAP Business One. Bem-vindo à apresentação do SAP Business One. Neste tópico, responderemos à pergunta: O que é o Business One? Definiremos o SAP Business One e discutiremos as opções e as plataformas disponíveis para executar

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

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

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

Disciplina: Tecnologias de Banco de Dados para SI s

Disciplina: Tecnologias de Banco de Dados para SI s Curso de Gestão em SI Disciplina: Tecnologias de Banco de Dados para SI s Rodrigo da Silva Gomes (Extraído do material do prof. Ronaldo Melo - UFSC) Banco de Dados (BD) BD fazem parte do nosso dia-a-dia!

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

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

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS Leandro Guilherme Gouvea 1, João Paulo Rodrigues 1, Wyllian Fressatti 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil leandrog.gouvea@gmail.com,

Leia mais

Struts 2 : Projeto e Programação Editora: Ciência Moderna Autor: Antunes Budi Kurniawan Número de páginas: 600

Struts 2 : Projeto e Programação Editora: Ciência Moderna Autor: Antunes Budi Kurniawan Número de páginas: 600 Objetivo Com enfoque totalmente prático permite que programadores Java possam ampliar seus conhecimentos no mundo Web na criação de sistemas profissionais. Utilizar os modelos de programação com Servlets,

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

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

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini Banco de Dados Conceitos e Arquitetura de Sistemas de Banco de Dados Profa. Flávia Cristina Bernardini Relembrando... Vantagens da Utilização de SGBD Redundância controlada Consistência dos dados armazenados

Leia mais

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira ENTERPRISE JAVABEANS 3 Msc. Daniele Carvalho Oliveira Apostila Servlets e JSP www.argonavis.com.br/cursos/java/j550/index.html INTRODUÇÃO Introdução Enterprise JavaBeans é um padrão de modelo de componentes

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Manual de Procedimentos para Desenvolvimento de Softwares

Manual de Procedimentos para Desenvolvimento de Softwares Manual de Procedimentos para Desenvolvimento de Softwares Secretaria Geral de Informática Sin Universidade Federal de São Carlos - UFSCar Versão 2.1 O(s) critério(s) de escolha pelas tecnologias para desenvolvimento

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

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

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 6 EJB Enterprise Java

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

Aprenda as melhores práticas para construir um completo sistema de teste automatizado

Aprenda as melhores práticas para construir um completo sistema de teste automatizado Aprenda as melhores práticas para construir um completo sistema de teste automatizado Renan Azevedo Engenheiro de Produto de Teste e Medição -Américas Aprenda as melhores práticas para construir um completo

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 5 Servidores de Aplicação

Leia mais

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I Roteiro Conceitos e Arquitetura de Sistemas de Banco de Dados Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

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

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

Unidade IV ADMINISTRAÇÃO DE BANCO DE DADOS. Software livre se refere à liberdade dos usuários com relação ao software, mais precisamente:

Unidade IV ADMINISTRAÇÃO DE BANCO DE DADOS. Software livre se refere à liberdade dos usuários com relação ao software, mais precisamente: ADMINISTRAÇÃO DE BANCO DE DADOS Unidade IV DEFINIR A MELHOR SOLUÇÃO DE BANCO DE DADOS PARA AS NECESSIDADES DA EMPRESA.1 O uso das tecnologias.1.1 O software livre 1 A tecnologia de banco de dados, assim

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

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

SGBD ITB 1.INTRODUÇÃO 1.INTRODUÇÃO. 1.1. Conceito SGBD: Sistema gerenciador de banco de dados. 1.2. Constituição SGBD

SGBD ITB 1.INTRODUÇÃO 1.INTRODUÇÃO. 1.1. Conceito SGBD: Sistema gerenciador de banco de dados. 1.2. Constituição SGBD ITB SGBD Aurélio Candido Jr 1 1.INTRODUÇÃO 1.1. Conceito SGBD: Sistema gerenciador de banco de dados Um SGBD é uma coleção de programas que permitem ao usuário definir, construir e manipular Bases de Dados

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

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

Leia mais

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA Autores: Claudiléia Gaio BANDT; Tiago HEINECK; Patrick KOCHAN; Leila Lisiane ROSSI; Angela Maria Crotti da ROSA Identificação autores: Aluna do Curso

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

Padrões de projeto 1

Padrões de projeto 1 Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois

Leia mais

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs 1 Bancos de Dados - Introdução Melissa Lemos melissa@inf.puc-rio.br Tópicos Evolução dos Sistemas de Informação Esquemas Modelos Conceitual Lógico Características de SGBDs 2 Evolução tempo Programas e

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

Semântica para Sharepoint. Busca semântica utilizando ontologias

Semântica para Sharepoint. Busca semântica utilizando ontologias Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...

Leia mais

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge. Projeto Demoiselle Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.net Palestrantes: Antônio Carlos Tiboni Luciana Campos Mota 20/07/2009

Leia mais

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE Renan Leme Nazário, Ricardo Rufino Universidade Paranaense (Unipar) Paranavaí PR - Brasil renazariorln@gmail.com, ricardo@unipar.br Resumo. Este artigo

Leia mais

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1 PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB PADRÕES MVC E DAO Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o conceito de Padrões de Projeto Compreender o Padrão MVC Conhecer o princípio de alguns dos

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

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec SQL Curso Prático Celso Henrique Poderoso de Oliveira Novatec 1 Introdução Desde o início da utilização dos computadores, sabemos que um sistema é feito para aceitar entrada de dados, realizar processamentos

Leia mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

Leia mais

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho Banco de Dados de Músicas Andre Lima Rocha Campos Osório Pereira Carvalho Definição Aplicação Web que oferece ao usuário um serviço de busca de músicas e informações relacionadas, como compositor, interprete,

Leia mais

PRD Tecnologia de Gestão Ltda. Julho/2008

PRD Tecnologia de Gestão Ltda. Julho/2008 O Processo de Desenvolvimento Telescope Julho/2008 Página 1 Sumário Introdução...3 O desenvolvimento de software tradicional...3 O problema da produtividade...3 O problema da portabilidade...6 O problema

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

Em direção à portabilidade entre plataformas de Computação em Nuvem usando MDE. Elias Adriano - UFSCar Daniel Lucrédio - UFSCar

Em direção à portabilidade entre plataformas de Computação em Nuvem usando MDE. Elias Adriano - UFSCar Daniel Lucrédio - UFSCar Em direção à portabilidade entre plataformas de Computação em Nuvem usando MDE Elias Adriano - UFSCar Daniel Lucrédio - UFSCar III Workshop Brasileiro de Desenvolvimento de Software Dirigido por Modelos

Leia mais

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum Audrey B. Vasconcelos, Iuri Santos Souza, Ivonei F. da Silva, Keldjan Alves Centro de Informática Universidade

Leia mais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 REVISÃO BANCO DE DADOS I O que é banco de dados? Ou seja afinal o que é um SGBD? REVISÃO BD I REVISÃO DE BD I Um Sistema de Gerenciamento de

Leia mais

SISTEMA DE CONTROLE DE DADOS CLIMÁTICOS NA WEB NO AUXILIO À AGRICULTURA RESUMO SYSTEM CONTROL OF CLIMATIC DATA IN THE WEB TO ASSIST THE AGRICULTURE

SISTEMA DE CONTROLE DE DADOS CLIMÁTICOS NA WEB NO AUXILIO À AGRICULTURA RESUMO SYSTEM CONTROL OF CLIMATIC DATA IN THE WEB TO ASSIST THE AGRICULTURE SISTEMA DE CONTROLE DE DADOS CLIMÁTICOS NA WEB NO AUXILIO À AGRICULTURA CAROLINE VISOTO 1 EDUARDO RUBIN 2 THIAGO X. V. OLIVEIRA 3 WILINGTHON PAVAN 4 JOSÉ MAURÍCIO CUNHA FERNANDES 5 CRISTIANO ROBERTO CERVI

Leia mais

Prof. Omero, pág. 63. Banco de Dados InterBase.

Prof. Omero, pág. 63. Banco de Dados InterBase. Prof. Omero, pág. 63 O que é o InterBase? O InterBase é um SGBDR - Sistema Gerenciador de Banco de Dados Cliente/Servidor Relacional 1 que está baseado no padrão SQL ANSI-9, de alta performance, independente

Leia mais

Sistemas de Banco de Dados

Sistemas de Banco de Dados Sistemas de Banco de Dados Everson Santos Araujo everson@por.com.br Conceitos Dado - Um fato que pode ser armazenado Banco de dados (BD) - Coleção de dados interrelacionados Sistema Gerenciador de Banco

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

Fábrica de Software 29/04/2015

Fábrica de Software 29/04/2015 Fábrica de Software 29/04/2015 Crise do Software Fábrica de Software Analogias costumam ser usadas para tentar entender melhor algo ou alguma coisa. A idéia é simples: compara-se o conceito que não se

Leia mais