P>

capaSQL15.JPG

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

Desenvolvimento de aplicações orientadas a objeto apoiado por tecnologias Java Parte IV – Codificação

por Arilo Cláudio Dias Neto e Rafael Ferreira Barcelos
Leitura Obrigatória: SQL Magazine 12, artigo Desenvolvimento de aplicações orientadas a objeto apoiado por tecnologias Java Parte I.
Leitura Obrigatória: SQL Magazine 13, artigo Desenvolvimento de aplicações orientadas a objeto apoiado por tecnologias Java Parte II - Análise.
Leitura Obrigatória: SQL Magazine 14, artigo Desenvolvimento de aplicações orientadas a objeto apoiado por tecnologias Java Parte III - Projeto.

No primeiro artigo desta série, apresentamos uma visão geral sobre os conceitos e tecnologias que apóiam o desenvolvimento de sistemas orientados a objetos. Definimos também o processo de desenvolvimento que tem sido seguido durante essa série.
No segundo artigo, descrevemos o estudo de caso que estamos utilizando para explicar ao leitor a aplicação dos conceitos de OO e das tecnologias baseadas na plataforma Java. Foi iniciado então um ciclo de desenvolvimento de software para resolver o problema proposto e começamos a lidar com ele realizando a etapa da análise.
No terceiro artigo da série, abordamos a fase de projeto de sistema, onde foi visto detalhadamente o que deve ser feito para se definir as modelagens comportamentais, estruturais e arquiteturais de um sistema. Durante a definição da arquitetura, mostramos como os conceitos de camada de persistência são integrados na arquitetura e no projeto de um sistema.
Ao longo desse artigo será apresentada a fase de codificação do software (Figura 1). Para esta fase, é descrita a configuração da camada de persistência de objetos utilizada pelo estudo de caso apresentado nos artigos anteriores (sistema para uma vídeo locadora) e também a transformação dos modelos de projeto, definidos previamente, em código na linguagem Java.

image002.gif
Figura 1. Etapa do processo abordada neste artigo.

Criação da Camada de Persistência
Como visto no artigo anterior, a fase de projeto é responsável pela especificação dos modelos estruturais, comportamentais e arquiteturais de um software. Em relação ao modelo arquitetural, optamos pela utilização de camada de persistência de objetos como mecanismo para garantir a persistência dos dados da aplicação. Uma vez escolhida esta opção, o primeiro passo a ser realizado na fase de codificação consiste na configuração da camada de persistência e instanciação da base de dados do sistema.
Existem vários produtos no mercado que implementam a API JDO (conjunto de API’s Java para persistência de objetos). Uma descrição mais abrangente sobre os conceitos e vantagens em utilizar essa API foi apresentada no artigo Desenvolvimento de aplicações orientadas a objeto apoiado por tecnologias Java Parte III – Projeto que compõe esta série. Portando, dando seqüência a essa descrição do JDO, iremos mostrar nesse artigo como esses conceitos são aplicados em um projeto real. Para mostrar a aplicação dessa abordagem, uma implementação dessa API deve ser escolhida, no nosso caso escolhemos a implementação chamada JDO Genie devido a sua maturidade e facilidades oferecidas.
Após essa escolha, para que os conceitos de persistência sejam utilizados na codificação, uma série de configurações e inicializações devem ser feitas. Em um primeiro momento, as classes a serem persistidas devem ser selecionadas para que então a estrutura do banco seja montada a partir dessas classes. Uma compilação desses arquivos se faz necessário na qual as classes a serem persistidas serão transformadas em bytecode e onde instruções sobre o funcionamento da persistência serão embutidas (Nota 1).

Nota 1 – Enhancement de classes
Os implementadores da interface JDO utilizam um processo chamado de Enhancement como forma de integrar as informações referentes à camada de persistência nos arquivos do sistema. Esse processo é realizado de forma transparente para o desenvolvedor e envolve os seguintes passos:

image004.gif
Vale lembrar aqui que nem todas abordagens de camada de persistência utilizam esse processo.

Após isso, teoricamente o usuário já poderia começar a implementar os métodos referentes às operações básicas do banco de dados. Para que isso ocorra, alguns cuidados devem ser tomados, como, ter certeza que o arquivo gerado pelo JDO Genie (.jdogenie) tenha sido carregado, visto que nele se encontram principalmente informações relativas ao local onde a persistência será realizada. Os demais elementos que o desenvolvedor deve se atentar nesse momento consistem (1) na inicialização do gerente de dados que disponibiliza os métodos para executar as operações básicas do banco de dados e (2) na execução do método commit da transação corrente para que as alterações no estado dos objetos sejam persistidas no banco.
Devido a grande quantidade de passos a serem feitos, iremos mostrar a seguir uma descrição mais detalhada de cada passo e também como a configuração e as inicializações relativas a essa camada podem ser automatizadas ou apoiadas por ferramentas.
• Configurando a camada de persistência com a ferramenta JDO Genie

1. Configurando o ambiente de desenvolvimento
Antes de começarmos a trabalhar com a camada de persistência, o ambiente que será utilizado para a configuração dessa camada deve ser instalado com os pacotes necessários. No contexto do estudo de caso proposto, os pacotes a serem instalados são principalmente a ferramenta JDO Genie (Nota 2) e o banco de dados MySQL (Nota 3).

Nota 2 – Instalando a JDO Genie
Para instalar a ferramenta JDO Genie, um dos requisitos é ter instalado na máquina o JSDK (Java Software Development Kit). que pode ser encontrado em
http://java.sun.com. O passo seguinte consiste em obter a ferramenta JDO Genie no site www.jdogenie.com. Antes do download da ferramenta, você deverá escolher o tipo de licença que deseja adquirir, no nosso caso a licença trial de 45 dias, e em seguida a licença é enviada por e-mail junto com um roteiro que deve ser seguido para permitir a habilitação da ferramenta. Os passos descritos nesse roteiro consistem principalmente em descompactar o arquivo baixado em um diretório de sua escolha, que iremos chamar ao longo do artigo de ...

Quer ler esse conteúdo completo? Tenha acesso completo