Tuesday, April 2, 2019
Conjunto com bancos de dados relacionais
Conjunto com bancos de dados relacionaisResumo. A programao orientada a objetos utilizada h muito tempo em conjunto com bancos de dados relacionais, que considerado o padro adotado pelo mercado h anos. Entretanto, a passagem de dados de um objeto scorea genus Uma tabela de um banco de dados relacional, do ponto de vista conceitual, costgenus Uma ser incompatvel devido as adaptaes realiza coney no modelo relacional scorea implementar integridades referenciais, facilitar consultas, etc. Por isso, outras tecnologias foram desenvolvidas scoreitytrooper tornar a take to the woodsncia de objetos em bancos de dados relacional mais natural. Neste trabalho, so apresentadas duas tecnologias com este objetivo DB4O, que utiliza um banco de dados orientado a objetos, armazenando diretamente a instncia da classe no banco de dados e o mannequin JPA, que mapeia os objetos e seus atributos parity bit suas respectivas tabelas no banco de dados relacional. A ferramenta Eclipse e o banco de dados MySQL foram utilizados para a implementao das aplicaes neste trabalho.Palavras-chave JPA, DB4O, Banco de Dados no convencional, Mapeamento Objeto-Relacional, Banco de Dados Orientado a Objeto, MySQL.1 Introduo1.1 MotivaoO crescente avano do paradigma de programao orientado a objetos tornou necessrio o estudo acerca de novas formas de carryir os dados de um sistema, pois o modelo relacional no diretamente compatvel com o paradigma, visto que no foi feito pensando para orientao a objetos.Existem duas abordagens que so o objeto de estudo deste trabalho para tratar persistncia de dados bancos de dados orientados a objetos e mapeamento objeto-relacional.Bancos de dados orientados a objetos suportam o armazenamento de objetos complexos, mantendo sua estrutura, ao contrrio dos bancos relacionais que desconhecem o conceito de objeto. Objetos so abstraes do mundo real e a manipulao destes mais simples de entender quando comparado s abstraes de um banco de dados relacional. Embora n o seja muito utilizado comercialmente, bancos de dados orientados a objeto vm evoluindo bastante, permitindo aplicaes cada vez mais robustas e atuando principalmente nas reas de manipulao de objetos complexos como espaciais, som e vdeo.O mapeamento objeto-relacional justamente serve para mapear os objetos em tabelas de um banco de dados relacional, utilizando todas as vantagens desse banco de dados e sendo transparente para o usurio. Isto facilita o trabalho do desenvolvedor e permite genus Uma melhor visualizao da relao entre os objetos e as relaes do banco reacional.Este trabalho resultado da primeira parte da disciplina ministrada pelo professor Sean W. M. Siqueira no primeiro semestre de 2009. A disciplina trata de bancos de dados no convencionais, e faz parte do currculo de Bacharelado em Sistemas de Informao da Unirio (Universidade Federal do Estado do Rio de Janeiro) como disciplina optativa da linha de Banco de Dados.1.2 ObjetivoO objetivo deste trabalho apresentar duas t ecnologias voltadas para o desenvolvimento orientado a objeto (DB4O e JPA) e como realizar suas respectivas implementaes que testam a persistncia em um banco de dados orientado a objeto, mais especificamente o DB4O, e a persistncia utilizando o mapeamento objeto-relacional, atravs do framework JPA. Aps a demonstrao destas duas implementaes, foi realizada genus Uma comparao entre as duas abordagens, incluindo a abordagem de desenvolvimento tradicional.1.3 Modelo de classes parity a aplicao, desenvolvemos o seguinte modelo de classes1.4 Estrutura do RelatrioO relatrio est estruturado em elementos pr-textuais, 5 (cinco) upper-case lettertulos, e elementos ps-textuais. Na primeira parte h itens como sumrio e ndices. Em seguida, esto os captulos que esto brevemente descritos a seguir, e, por fim, os elementos ps-textuais.captulo 1 explica a motivao e o objetivo para este trabalho.captulo 2 apresenta o passo-a-passo para a implementao de genus Uma aplicao utilizando a tecnologia DB4O.ca ptulo 4 apresenta o passo-a-passo para desenvolvimento de genus Uma aplicao utilizando o framework JPA.captulo 4 apresenta as concluses do presente trabalho, comparando as tecnologias envolvidas.captulo 5 apresenta as referncias bibliogrficas.2 Etapas do desenvolvimento de aplicao utilizando DB4OEste captulo apresenta o passo-a-passo para desenvolvimento de aplicao utilizando o DB4O.2.1 Softwares utilizadosOs seguintes softwares foram utilizados para a implementao dos servios.EclipseJDK 62.2 Introduo ao DB4Obanco de dados orientado a objetos DB4o um software open source de fcil instalao e baixa necessidade de recurso, uma vez que ele no um SGBD e por isso no possui interface grfica e outras funcionalidades de gerenciamento.DB4o foi feito para poder ser utilizado em plataformas desktop, celulares, servidores, contanto que o ambiente seja orientado a objetos. Alm disso, ele no exige a necessidade de nenhuma programao ou ferramenta para mapear a orientao a objetos para o modelo relac ional, pois ele faz uso da orientao a objetos a seu favor, permitindo que o modelo seja uma representao fiel do banco de dados.DB4o no possui instalao. No desenvolvimento realizado, utilizando o Eclipse, a nica ao necessria para instalar o DB4o foi importar o arquivo .jar como uma biblioteca para o eclipse. Aps isso, os pacotes com os objetos necessrios para persistir os dados no DB4o esto prontos para serem utilizados.Como o DB4o no necessita de mapeamento, tambm no necessita de modelo lgico e fsico, visto que ele totalmente baseado na orientao a objetos, logo, o banco segue o modelo de classes.2.3 Metodologia de desenvolvimento parity bit realizar o desenvolvimento da aplicao, primeiro desex-se as classes POJO (Plain Java Object). Os objetos que sero armazenados no DB4O so pertencentes a essas classes de objetos implementadas no incio do desenvolvimento.Depois, desenvolve-se uma classe que permite insero, consulta, alterao e excluso de objetos do banco. paratrooper isso, neces srio importar diversas bibliotecas externas pertinentes ao desenvolvimento para DB4O e tambm abrir o arquivo onde os objetos sero armazenados, instanciando um objeto da classe ObjectContainer, que representar o banco de dados.Para insero de objetos no DB4O, utilizamos o mtodo entrap da classe ObjectContainer, que armazena um objeto passado como parmetro no DB4O.Para consulta de objetos no DB4O utilizamos o mtodo QueryByExample, que utiliza um objeto passado como parmetro como exemplo e busca o objeto semelhante no DB4O. O resultado armazenado em uma varivel do tipo ObjectSet.Para alterao de objetos no DB4O necessrio consultar o objeto que se deseja alterar e armazen-lo em um objeto da classe desejada. Depois, alterar os dados atravs do mtodo set definido na classe POJO e colocar no DB4O atravs do mtodo store, definido na classe ObjectContainer.Para a deleo de objetos no DB4O necessrio consultar o objeto que se deseja remover e utilizar o mtodo delete, definido na classe ObjectCo ntainer.2.4 Passo a passo para implementao de uma aplicao utilizando o DB4OO DB4O consiste em um arquivo .jar apenas, ento o primeiro passo (aps realizar o download do DB4O) verificar qual .jar utilizar. Nesse caso, utilizamos o DB4o-7.4-java5.jar, pois o indicado para que utiliza o JDK 5 ou 6.3 Etapas do desenvolvimento de aplicao utilizando JPAEste captulo apresenta o passo-a-passo para desenvolvimento de aplicao utilizando o framework JPA.3.1 Softwares utilizadosOs seguintes softwares foram utilizados para a implementao dos servios.Eclipse Ganymede verso 3.4.0 (possui OpenJPA nativo) JDK 1.5 Hibernate MySQL3.2 Introduo ao JPAO Java Persistence API (JPA) um produto implementado pela SUN, especificado para oferecer uma persistncia transparente de objetos Java. O OpenJPA uma implementao disponibilizada como software livre, desenvolvida pela Apache Software Foundation baseada no JPA produzido pela SUN.O JPA define um padro de mapeamento dos objetos do modelo orientado a objetos p ara o modelo relacional, trazendo as vantagens dos dois mundos a programao orientada a objetos, paradigma consagrado de desenvolvimento e os bancos de dados relacionais, igualmente consagrados em termos de utilizao e desempenho. Alm disso, a tecnologia possui amplo suporte pela maioria dos das grandes empresas do mercado Apache, Oracle, BEA, JBoss.As camadas que compe o framework para o mapeamento objeto-relacional utilizando JPA podem ser visualizadas na Figura 14O JPA prov uma API simples e padronizada de persistncia para Java SE e Java EE. Essa padronizao permite a modularizao do provedor JPA que oferecido em diversas verses por vrios desenvolvedores, dando a opo de escolha o usurio final. A padronizao da tecnologia permite o aumento da produtividade e o uso de anotaes (Annotations) simplifica a configurao das entidades. Seus objetos so baseados em classes POJO (Plain Old Java Objects) e sua implementao oferece suporte a herana e polimorfismo.O JPA compatvel com a linguagem de consulta Java Persistence Query Language (JP-QL) que utiliza uma sintaxe prxima a SQL, porm voltada para consulta de entidades e suas propriedades, criando independncia em relao modelagem fsica do banco de dados. A JPQL capaz de realizar consultas estticas (named queries) e consultas dinmicas e permite a construo de consultas complexas.Portanto, o JPA uma soluo completa para mapeamento e persistncia de objetos, sendo composto pelo modo declarativo de descrever mapeamento O/R, linguagem de consulta e recursos para manipulao de entidades.3.3 Metodologia de desenvolvimentoAps a definio do modelo relacional, desenvolvem-se as classes POJO referentes as tabelas no banco de dados. Ento se insere as anotaes (annotations) que declaram que a classe possui uma respectiva tabela no banco de dados. Entretanto, ainda necessrio registrar essas classes no arquivo persistence.xml, que ser utilizado para definir o subconjunto de classes que podero ser gerenciadas. Ao escrever o cdigo, dever ser instanciada um objeto do tipo EntityManagerFactory passando o arquivo persistence.xml como parmetro. A partir deste objeto, criado outro do tipo EntityManager, responsvel por gerenciar o ciclo de vida das entidades que esto registradas.Ao iniciar a manipulao dos objetos, necessrio iniciar uma transao e ento registrar os comandos CRUD para serem executados. Ento, ao final, realiza-se o commit ou rollback destas operaes.A Figura 15 resume o fluxo de mapeamento objeto-relacional seguido pelo JPA.3.4 Passo a passo para implementao de uma aplicao utilizando JPAO primeiro passo para iniciar a implementao de uma aplicao utilizando o framework JPA baixar os arquivos JAR necessrios para realizar as importaes das classes que sero utilizadas no programa.Como ser utilizado como provedor JPA (Figura 2) o framework de persistncia Hibernate, os seguintes pacotes sero necessrios Hibernate Core, Hibernate Annotations e Hibernate Entity Manager, que esto disponveis em http//sourceforge.net/projec ts/hibernate/files/. No desenvolvimento da aplicao foram utilizadas as verses 3.2.0.GA do Hibernate Core, 3.3.0 GA do Hibernate Annotations e 3.3.1.GA do Hibernate Entity Manager. Cabe salientar que pacotes de outras verses do Hibernate podem resultar em falhas e erros inesperados em relao aos procedimentos realizados neste relatrio.O number one wood JDBC para o MySQL tambm necessrio e pode ser baixado no site oficial do MySQL, em http//dev.mysql.com/downloads/connector/j/5.1.html. Para o desenvolvimento da aplicao foi utilizado a verso 5.1.7 do driver JDBC para o MySQL.Em posse dos arquivos necessrios, iniciam-se os passos para o desenvolvimento da aplicao no Eclipse.4 ConclusoConforme apresentado, o desenvolvimento utilizando bancos de dados orientado a objetos apresenta diversas facilidades em relao proposta tradicional de desenvolvimento e proposta de mapeamento objeto-relacional. Essas vantagens so as seguintesModelagem mais real permite que o seu modelo de classes seja o s eu modelo de armazenamento de dados, pois armazena exatamente os objetos como eles foram criados para serem armazenados, sem necessidade de nenhum tipo de transformaoRepresentao de dados com formatos variveis no relacional, as tuplas precisam ser homogneas e os atributos atmicos, enquanto que no OO isso no necessrio. possvel ter dados em formatos variveis.Facilidade de instalao e utilizao mais fcil e rpido instalar o DB4o do que algum banco de dados relacional, pois no necessrio configurar e criar um banco de dados previamente, nem necessrio realizar um modelo relacional, fsico e lgico, pois o prprio modelo de classes a representao dos dados no bancoMas, existem alguns problemas nessa tecnologia. Alguns j foram citados anteriormenteStored procedures No existem stored procedures ou triggers, sendo necessrio programar na aplicao essas funes, o que pode fazer cair o desempenho do sistemaO modelo relacional j est consolidado no mercado, acumulando anos de estudo e aprimoramento, o ferecendo bom desempenho, mecanismos de otimizao, tratamento de concorrncia.5 RefernciasVasiliev, Yuli, 2008, Querying JPA Entities with JPQL and Native SQL Disponvel em http//www.oracle.com/ applied science/pub/articles/vasiliev-jpql.html.Apache Software Fundation, Apache JPA Users Guide Disponvel em http//JPA.apache.org/builds/latest/docs/manual/manual.pdf.OLIVEIRA, H.E.M, 2008, JPA Passo a Passo, TDC The Developers Conference 2008 Disponvel em http//www.thedevelopersconference.com.br/arquivos/TDC2008Floripa-jpa-henrique.pdfDB4Objects, DB4O Tutorial Disponvel em http//developer.db4o.com/files/folders/db4o_74/entry49672.aspxENGIEL, P., 2008, Comparao entre as formas de persistir a programao orientada a objetos
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.