P>
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.
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:
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 (
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