UNIVERSIDADE FEDERAL DE SANTA CATARINA Rodrigo Benincá Machado MODELAGEM E DESENVOLVIMENTO DE UM FRAMEWORK DE PERSISTÊNCIA PARA A PLATAFORMA J2EE Florianópolis, 2004 Rodrigo Benincá Machado MODELAGEM E DESENVOLVIMENTO DE UM FRAMEWORK DE PERSISTÊNCIA PARA A PLATAFORMA J2EE Projeto de pesquisa submetido à Universidade Federal de Santa Catarina como parte dos requisitos para obtenção da nota final da disciplina de Introdução a Projetos. Florianópolis, 2004 Sumário 1 2 3 4 5 6 7 Introdução Tema 2.1 Justificativas 2.2 Objetivos 2.3 Escopo 2.3.1 Exclusões do Escopo Metodologia 3.1 Definição de Atividades Ferramentas Utilizadas Orçamento Cronograma Bibliografia 4 4 4 4 5 5 6 6 6 7 7 7 1 Introdução Um framework de persistência é um conjunto de tipos extensíveis, reutilizáveis e de propósito geral, que provê a funcionalidade para o suporte a objetos persistentes. Um serviço de persistência é geralmente escrito para trabalhar com bancos de dados relacionais, e que nesse caso também é chamado de Serviço de Mapeamento O-R. Tipicamente um serviço de persistência precisa traduzir objetos em registros e armazená-los no banco de dados, como também o inverso, traduzir registros em objetos quando recuperados do banco de dados. [Larman]. 2 Tema 2.1 Justificativas O paradigma orientado a objetos está sendo utilizado na maioria dos novos sistemas em desenvolvimento. Um dos problemas encontrados para a construção de sistemas totalmente orientados a objetos é o armazenamento dos dados, normalmente realizado em bancos de dados relacionais. A opção pela persistência dos dados em bancos de dados relacionais é o mais comum, devido, entre outros fatores, a baixa maturidade dos bancos de dados orientados a objetos e pelo domínio desses bancos pelos projetistas. Por essa razão torna-se necessário um mecanismo de mapeamento entre os objetos e o banco de dados relacional, chamado de mapeamento objeto-relacional. 2.2 Objetivos O objetivo central do trabalho é o projeto e a implementação de um framework de persistência com características multi-usuário, utilizando a modelagem UML proposta por [Larman] e o seu desenvolvimento para plataforma J2EE, e que seu uso seja o mais transparente possível para o desenvolvedor. 2.3 Escopo A construção do framework de persistência tomará como base o framework de persistência implementado na linguagem PHP e em utilização no projeto LAIN. Neste trabalho pretende-se: Fazer a modelagem UML1 do framework de persistência levando-se em consideração as especificações da plataforma J2EE. Traduzir o framework de persistência do projeto LAIN para a plataforma J2EE. Todas as funcionalidades presentes no framework do projeto LAIN devem estar presentes nessa nova versão. Adicionar o suporte a multi-usuários, não presente na versão do projeto LAIN. Desenvolver uma aplicação piloto em JAVA para a utilização e teste do framework de persistência a ser desenvolvido. Documentar o código gerado. Confecção do manual de utilização do framework. 2.3.1 Exclusões do Escopo Não é de responsabilidade desse trabalho de conclusão de curso os seguintes pontos: Complementar a documentação do framework de persistência em uso no projeto LAIN. Ao implementar o framework de persistência na plataforma J2EE adicionar outras funcionalidades que não seja o suporte a multi-usuários. 1 Realizar a modelagem e documentação da aplicação piloto. Inicialmente a modelagem UML terá como artefato apenas o diagrama de classes do projeto. Eventualmente pode-se desenvolver outros artefatos de modelagem UML caso seja necessário para o esclarecimento de alguns pontos. 3 Metodologia 3.1 Definição de Atividades O trabalho de conclusão de curso inicia com uma pesquisa bibliográfica com o intuito de adquirir conhecimento sobre as possibilidades de projeto do framework de persistência, seguindo as definições apresentadas por [Larman]. A pesquisa bibliográfica continua com o estudo das possíveis formas de implementação utilizando a plataforma J2EE, através de consultas aos tutoriais da Sun e livros e revistas especializadas. Em paralelo à pesquisa bibliográfica será realizado o estudo do framework de persistência desenvolvido em linguagem PHP e atualmente em uso pelo projeto LAIN, e que será a base para o desenvolvimento do projeto apresentado nesse trabalho de conclusão de curso. Ao término da pesquisa bibliográfica, inicia-se a modelagem do framework de persistência em conjunto com a escolha das ferramentas gratuitas a serem utilizadas na implementação do projeto. A modelagem inicial será apenas a tradução do framework do projeto LAIN para a plataforma J2EE, sendo posteriormente adicionado o suporte a multiusuário. Com as atividades anteriores finalizadas inicia-se a implementação do projeto utilizando as ferramentas definidas. Durante a implementação do framework será desenvolvida uma aplicação piloto em JAVA para testes e utilização do framework. Com implementação concluída deverá ser confeccionado o manual de utilização e a documentação do framework de persistência, bem como a finalização do relatório final a ser entregue para avaliação. 4 Ferramentas Utilizadas No desenvolvimento desse trabalho de conclusão de curso pretende-se utilizar apenas ferramentas gratuitas. As ferramentas a serem definidas são a IDE de desenvolvimento, a ferramenta de modelagem UML com geração de código para JAVA, o sistema gerenciador de banco de dados e o servidor de aplicações J2EE. Dessas ferramentas apenas o servidor de aplicações J2EE não foi escolhido. As seguintes ferramentas serão utilizadas: Eclipse Platform na versão 2.1, como a IDE de desenvolvimento. Omondo EclipseUML Plugin na versão 1.3.1, como a ferramenta de modelagem UML com geração de código para JAVA. MySQL em versão ainda não definida, como o sistema gerenciador de banco de dados. 5 Orçamento Como no desenvolvimento desse trabalho de conclusão de utilizou-se apenas ferramentas gratuitas não haverá custo de desenvolvimento. Entretanto, possíveis gastos seriam apenas com materiais bibliográficos, especialmente revistas e livros. 6 Cronograma 7 Bibliografia [Larman], Craig, Applying UML and Patterns – An introduction to Object-Oriented Analysis and Desing and the Unified Process, 2ª Ed.: PH PTR NAVATHE, Elmarsri, Sistemas de Banco de Dados – Fundamentos e Aplicações, 3ª. Ed. Rio de Janeiro: LTC Revista Mundo Java, Número 2 , Ano 1 Revista Java Magazine Edição 14, Ano 2