Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ilhus BA
1 Introduo
A orientao a objetos pressupe uma organizao dos dados em termo de uma coleo de objetos que possuem estados e comportamentos prprios. Esta abordagem tenta trazer mais proximidade entre o mundo real e o mundo virtual, e traz vrias vantagens ao desenvolvimento de softwares. Apesar de certo domnio do paradigma orientado a objetos no desenvolvimento de softwares, vrios projetos ainda utilizam sistemas de banco de dados relacional. Um dos problemas com banco de dados relacionais que os mesmos tornam-se complicados de utilizar quando o sistema modelado muito complexo. Outra situao complicadora quanto ao acesso a dados. No modelo relacional, as relao so tratadas fazendose junes de tabelas. Esta operao pode tornar-se bastante custosa ao sistema caso haja muitas tabelas ou em caso das tabelas serem bastante povoadas. Estes so alguns dos motivos para se considerar a utilizao de SGBD orientado a objetos, pois a modelagem torna-se mais natural e o acesso aos dados pode ser feito sem necessidade de junes. O Objectivity/DB um banco de dados comercial orientado a objetos desenvolvido pela empresa Objectivity Inc. Ele oferece suporte a desenvolvimento em diversas linguagens de programao, dentre elas esto C++, Java, Smalltalk. Alm disto, o sistema oferece tambm suporte a vrios sistemas operacionais como, por exemplo, o Windows, Linux e Solares. O banco de dados Objectivity possui uma arquitetura distribuda, permitindo um grande nmero de usurios e tambm de armazenamento de dados, podendo suportar Exabytes de dados atravs de sua estrutura. Um dos principais destaques do Objectivity a possibilidade de versionamento de classes no processo de evoluo do esquema. Desta forma, os objetos podem ser instncias de antigas ou novas verses. O Objectivity/DB trabalha com o conceito de banco de dados federado. Banco de dados federado so banco de dados centralizados que recebem uma camada de software adicional para cooperar de forma distribuda.
2 Instalao
O Objectivity um banco de dados orientado a objetos proprietrio. Ele pode ser obtido no site da empresa que o desenvolve. Antes, necessrio um cadastro grtis no site para obteno de uma verso demo que permite o uso do banco de dados por 60 dias. O cadastro e download podem ser realizados no endereo https://download.objectivity.com/default.aspx. A pgina de download oferece vrias opes de arquivos para diferentes sistemas operacionais. Neste trabalho abordaremos apenas a instalao nos ambientes Windows e Linux. Para o ambiente Windows oferecida apenas verses 32 bits do banco de dados. Os requisitos so o Framework .Net 2.0 e o TCP/IP instalados. A instalao segue os padres de instalao do Windows, bastando seguir as instrues do assistente de instalao. Para o ambiente Linux, as opes so tanto 32 quanto 64 bits. Para instalao no Linux os requisitos so C++ shared library (que utilizado pelo objectivity/DB Kernel e ferramentas), X Windows System (para ferramentas grficas).
Instalao: 1. Fazer download do arquivo no site https://download.objectivity.com/default.aspx 2. Fazer o login como root 3. Descompactar o arquivo e entrar na pasta criada pelo descompactador 4. Executar o arquivo install.sh 5. Na janela que surgir, selecionar uma das opes: a. Simple Installation b. Full Installation c. Custon Installation 6. Selecionar o diretrio de instalao
Todo sistema objectivity tem um arquivo boot, que usado pela aplicao e ferramentas para referenciar o banco de dados. Cada banco de dados tem um nico identificador, podendo ser o nome do arquivo ou um identificador inteiro. Cada sistema de banco de dados coordena um particular conjunto de recursos que coletivamente gerencia o acesso aos dados em seu banco de dados. Entre esses recursos esto o sistema de arquivos do banco, o boot file, um journal directory e um lock server. Um schema um modelo de dados independente de linguagem que descreve todos os tipos e classes usadas em uma particular base de dados. A descrio de classe em um schema permite o Objectivity/dB armazenar e gerenciar os objetos persistentes do banco de dados. O schema armazenado no sistema de banco de dados. A criao do schema depende da interface de programao. Para schemas em Objectivity/c++, um eschema criado definindo as classes usando Objectivity/C++ Data Definition Language (DDL) e processando elas com o processador DDL. Em Java e Smalltalk o schema criado automaticamente quando os objetos persistentes so criados. Se for utilizado SQL++, o schema criado automaticamente quando as tabelas so criadas. No segundo nvel de armazenamento no Objectivity/dB. Cada banco de dados armazena um dado consistente da aplicao em estruturas chamadas containers, que constitui o terceiro nvel hierrquico de armazenamento. Dentro de um continer, os dados persistentes so armazenados em sua unidade fundamentao chamado objetos bsicos.
Os containers oferecem um mecanismo para organizao bsica dos objetos para suprir as necessidades da aplicao, por exemplo, subdividir grande conjunto de dados para formar querys mais eficientes. Containers oferece tambm como um mecanismo de otimizao para acessar objetos que so utilizados na mesma transao e otimizar a concorrncia de acesso aos objetos que so utilizados independentemente. Cada database tem um sistema chamado default container para organizar qualquer objeto no explicitamente atribudo aplicao para um container. As Autonomous partitions so mecanismos para organizar um os bancos de dados em grupos gerenciados independentemente. Embora os dados residam fisicamente em arquivos de banco de dados, cada partio autnoma controla o acesso ao que pertence a ele. Quando a rede ou mquina falha ao acessar os dados em uma partio, o usurio pode continuar a acessar os dados controlados por outra partio. A imagem abaixo mostra como funciona as parties
O boot file contem informaes utilizadas pela aplicao ou ferramentas para localizar e abrir um banco de dados. Um boot file criado automaticamente quando se cria um novo banco de dados e contm entrada especificando as propriedades do banco de dados. O objectivity/dB armazena objetos persistentes em storage pages. Um storage Page a unindade mnima de crescimento do arquivo e de transferncia de arquivo atravs da rede.
Quando o objetcivity l um objeto persistente do disco, ele coloca o storage Page que contem o objeto dentro de um cach. A cach alocado na memria e manipulada pelo objetcivity para oferecer rpido acesso aos objetos. O cach consiste de buffer pages, que so calculadas para combinar com as pginas que esto sendo acessadas. Se a aplicao for multithread, cada thread ter seu prprio cach.
7 Concluso
O banco de dados Objectivity /DB oferece uma srie de recursos que o torna uma excelente opo para projetos de banco de dados orientado a objetos. Suas interfaces em C++, Java, Smalltalk entre outras, tornam a modelagem mais natural aos desenvolvedores. Alm das interfaces em linguagens orientadas a objetos, o Objectivity tambm oferece suporte ao padro SQL, fazendo com que seja possvel a utilizao no s orientada a objetos, mas tambm relacional. Outro grande ponto sua estrutura de banco de dados federado, permitindo ao sistema uma grande capacidade de armazenamento alm de melhorar o desempenho e a confiabilidade, j que os dados estaro distribudos pela rede. Com base nas caractersticas apresentadas neste documento, podemos concluir que o Objectivity uma tima escolha quando se deseja modelar um banco de dados orientado a objetos onde h um grande volume de dados a ser armazenado e, alm disto, o sistema complexo.
8 Referncia
http://web.unifil.br/docs/revista_eletronica/terra_cultura/n44/terra_44-3.pdf; Acessado em 01/07/2010. http://www.das.ufsc.br/~rabelo/Ensino/DAS5316/MaterialDAS5316/PARTE1/Banco_de _Dados/bd_intro.pdf; Acessado em 01/07/2010 http://www.objectivity.com Documentao do Objectivity