Artigo SQL Magazine 22 - Persistência de objetos no Caché

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (2)  (0)

O paradigma de desenvolvimento orientado a objetos está se tornando uma prática comum entre os desenvolvedores de software.

capasql22.jpg

Clique aqui para ler todos os artigos desta edição

Persistência de objetos no Caché

Valdete Maria Gonçalves de Almeida, Alessandreia Marta de Oliveira Julio, Marco Antônio Pereira Araújo

O paradigma de desenvolvimento orientado a objetos está se tornando uma prática comum entre os desenvolvedores de software. No entanto, os mecanismos de persistência de objetos têm se apresentado como uma dificuldade quando se pretende armazenar estes objetos em um banco de dados relacional.

Uma solução seria construir uma camada de mapeamento objeto-relacional entre a aplicação e o banco de dados, entretanto, devido à sua complexidade e custo, essa solução deve ser cuidadosamente avaliada. Outra maneira é armazenar estes objetos em um banco de dados puramente orientado a objetos, mas este tipo de banco ainda não tem sua utilização muito difundida. Uma terceira solução, abordada neste artigo, seria adotar um banco de dados objeto-relacional, como, o Caché da InterSystems.

Intersystems Caché

O Caché utiliza conceitos de orientação a objetos, tais como herança, polimorfismo, encapsulamento e associação entre as classes. Além disso, trabalha com a abordagem relacional e possui uma estrutura de armazenamento chamada de “Globais” que propicia o armazenamento de todos os tipos de dados, incluindo streams binárias e imagens gráficas. O nome Global indica que todos os usuários podem acessar estes dados. Este conceito não é muito comum entre os bancos de dados objeto-relacionais.

O Caché possui linguagens próprias como o COS (Caché Object Script) e o Basic (semelhante ao Visual Basic) que são usadas nas aplicações, por exemplo, para construir métodos e criar classes. Outra linguagem é o CSP (Caché Server Pages) para desenvolver aplicações Web. O Caché permite também a utilização da linguagem SQL ANSI para acessar e manipular dados.

Neste artigo, utilizaremos um exemplo para demonstrar a utilização deste SGBD. Para isto será considerado um modelo de classes, expressado na notação UML (Unified Modeling Language), representando uma pequena parte de um sistema acadêmico. A partir deste modelo é mostrada a interação com as ferramentas e conceitos da orientação a objetos dentro do banco de dados Caché.

Modelo de classes

O diagrama da Figura 1 apresenta um fragmento de um sistema escolar, representando suas classes com atributos, serviços e relacionamentos, não tendo o objetivo de ser um exemplo completo. As classes Aluno, Professor e Curso representam os cadastros básicos. A classe Pessoa evidencia os atributos comuns de Alunos e Professores, incluindo seu Endereço. A classe Titulação representa o grau de escolaridade de um professor (Graduação, Especialização, Mestrado, Doutorado). A classe Avaliacao registra as notas de Alunos em Cursos. Por fim, Alunos e Professores estão associados a Cursos.

 

img1.jpg            

Figura 1. Diagrama de classes.

Criando classes

Para se criar uma classe dentro do Caché é importante entender alguns conceitos que o sistema utiliza para o gerenciamento de classes. O Caché trabalha com a definição de Namespace, que é o ambiente de trabalho, ou estruturas lógicas, onde são criados os projetos. Os projetos contêm as páginas Web, as rotinas e os pacotes onde são armazenadas as classes. Quando se cria uma classe, esta deve ser associada a um pacote (novo ou já existente), onde fica armazenada. Assim, sempre que uma classe é referenciada, tem-se que mencionar o seu pacote.

O Caché possui várias ferramentas com a finalidade de tornar fácil sua manipulação, entre elas o Studio, que é a interface de desenvolvimento do Caché. Nele são criadas as classes com seus métodos, relacionamentos, índices, queries, rotinas e páginas Web. Na criação de uma classe é necessário indicar o tipo a qual pertence, que pode ser:

·         Persistente: é capaz de armazenar seus objetos no banco;

·         Serial: é armazenada apenas quando embutida em outro objeto persistente. Uma classe serial faz parte de outra do tipo persistente, como a classe Endereco em relação à classe Pessoa, exemplificada na "

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?