4. Desenvolvimento da Camada de Persistência - Projetos

Propaganda
UNIVERSIDADE FEDERAL DE SANTA CATARINA
CURSO DE SISTEMAS DE INFORMAÇÃO
RASCUNHO DO TRABALHO DE CONCLUSÃO DE CURSO
RONY REINEHR BRAND
FLORIANÓPOLIS, 2005.
Sumário
1.
Introdução .........................................................................................................................................3
1.1.
Tema ............................................................................................................................................3
1.2.
Definição do Problema .....................................................................................................................3
1.3.
Escopo de Estudo............................................................................................................................3
1.4.
Objetivo Geral ................................................................................................................................3
1.5.
Objetivos Específicos .......................................................................................................................3
1.6.
Motivação ......................................................................................................................................4
2.
Contextualização do Ambiente ..............................................................................................................4
2.1.
Estado atual da relação das Organizações com seus Clientes ................................................................4
2.2.
Relacionamento com o Cliente ..........................................................................................................4
2.3.
Ouvidoria .......................................................................................................................................4
2.4.
CRM X Ouvidoria .............................................................................................................................5
2.5.
A Empresa: OMD Soluções para Ouvidorias ........................................................................................5
2.5.1.
2.5.2.
2.6.
3.
A Incubadora: GeNESS ................................................................................................................5
O Produto ..................................................................................................................................5
Outras Soluções Existentes em Ouvidoria...........................................................................................6
Solução: Camada de Persistência em JDO ..............................................................................................7
3.1.
Camada de Persistência ...................................................................................................................7
3.2.
JDO...............................................................................................................................................7
3.2.1.
JDOQL .......................................................................................................................................8
3.2.2.
Enhancer (Enxertador) JDO..........................................................................................................8
3.2.3.
Exemplo Prático..........................................................................................................................8
4.
Desenvolvimento da Camada de Persistência ..........................................................................................9
4.1.
Levantamento dos Requisitos ...........................................................................................................9
4.1.1.
Levantamento dos Requisitos de Persistência .................................................................................9
4.1.2.
Tabela de Serviços X Requisitos de Persistência ..............................................................................9
4.2.
Diagrama de Classes ..................................................................................................................... 10
4.3.
Implementação dos Serviços de Persistência .................................................................................... 11
5.
Comparação das Versões do Software ................................................................................................. 11
5.1.
Desempenho ................................................................................................................................ 11
5.2.
Portabilidade ................................................................................................................................ 11
6.
Conclusão ........................................................................................................................................ 11
7.
Referências Bibliográficas ................................................................................................................... 11
Anexos: ....................................................................................................................................................... 12
1. Introdução
A idéia deste Trabalho de Conclusão de Curso surgiu através de um problema encontrado na Empresa OMD – Soluções
para Ouvidorias, que possuí um Software para Gerenciamento de Ouvidorias. O objetivo do software é ser o mais
flexível possível quanto à infra-estrutura existente na organização onde ele será implantado. Para isto o software
possui três bases de sustentação: independência de navegador (browser), independência de sistema operacional e
independência de banco de dados. As duas primeiras bases já estão resolvidas, uma através de testes entre diferentes
navegadores e outra através do servidor Servlet/JSP TomCat, no entanto a última, a independência de banco de
dados, ainda não foi desenvolvida.
Assim, este trabalho realizará uma ponte entre a Universidade Federal de Santa Catarina e a empresa OMD – Soluções
para Ouvidorias, dando um caráter bastante prático, que terá como produto final o Software para Gerenciamento de
Ouvidorias Independente de Banco de Dados. Isto será possível utilizando a forma de Persistência de Dados JDO (Java
Data Object) para a construção de uma camada de persistência de dados.
1.1. Tema
O tema deste Trabalho é o estudo e aplicação de persistência de dados, utilizando JDO, para obtenção de
independência de banco de dados para o Software para Gerenciamento de Ouvidorias.
1.2. Definição do Problema
O problema a ser resolvido compreende o Software para Gerenciamento de Ouvidorias, fazendo com ele se torne
independente de Banco de Dados.
Para resolver isto será explanado um pouco sobre CRM, no entanto o foco será a Ouvidoria e o Software para
Gerenciamento de Ouvidorias. Através dele, haverá uma diminuição nos custos de implantação, pois o Software
possuirá uma camada de persistência que flexibilizará sua implantação utilizando, na maioria dos casos, a infraestrutura existente na organização. A tecnologia é importante e grande facilitadora, no entanto, se forem agregados
custos de aquisição de Hardware e Software, podem inviabilizar sua implantação principalmente em organizações de
menor porte.
1.3. Escopo de Estudo
Neste trabalho será utilizada a tecnologia de persistência de dados JDO, para implementar uma camada de
persistência ao Software WEB para Gerenciamento de Ouvidorias para que ele se torne Independente de Banco de
Dados, facilitando seu processo de implantação, podendo ser instalado em diferentes Bancos de Dados necessitando
de poucas alterações. Ao final, quando a camada de persistência estiver construída, será realizada uma análise de
desempenho entre a camada atual e a camada construída com JDO.
O framework de persistência de dados JDO, foi escolhido por possuir diversos fornecedores o que não ocorre com
outros frameworks de persistência como é o caso de Hibernate, iBatis. Utilizando sua infra-estrutura padrão é possível
trocar de fornecedor, além disso, vários fornecedores disponibilizam extensões que trazem maiores facilidade para o
mapeamento objeto relacional.
1.4. Objetivo Geral
Estudar JDO como forma de Persistência de Dados e aplicá-la ao Software para Gerenciamento de Ouvidoria,
tornando-o Independente de Banco de Dados.
1.5. Objetivos Específicos

Contextualizar o ambiente do relacionamento com os Clientes, da Ouvidoria e do Software para Gerenciamento de
Ouvidorias;

Estudar a forma de persistência de dados JDO;

Desenvolver a camada de persistência para obtenção da independência de banco de dados.

Realizar uma análise de desempenho: camada atual (JDBC) versus camada de persistência (JDO).
1.6. Motivação
A motivação surgiu através de um problema encontrado pela empresa OMD Soluções para Ouvidorias, que está
incubada no Centro GeNESS (Geração de Novas Empresas de Software e Serviços), desde maio de 2003. O autor
deste trabalho é sócio desta empresa desde janeiro de 2004 em conjunto com o Sr. Mário Nelson Alves Jr. Este último
tem o título de mestre em Administração com ênfase na área de Ouvidorias. A empresa possui um Software Livre para
o Gerenciamento de Ouvidorias, tendo como base três premissas: Independência de Navegador (Browser), conseguida
através de testes nos navegadores mais populares do Mercado; Independência de Plataforma de Sistema Operacional,
conseguida através do Servidor Servlet/JSP - TomCat, que pode ser instalado em diversas plataformas; E por último,
Independência de Banco de Dados, algo necessário ao software para facilitar seu processo de implantação, utilizando a
infra-estrutura disponível na Organização, reduzindo assim custos com aquisição de softwares e equipamentos de
hardware.
2. Contextualização do Ambiente
2.1. Estado atual da relação das Organizações com seus
Clientes
Desde a revolução industrial as organizações vêm passando por diversas mudanças e foco. Atualmente muitas destas
organizações dizem ter em seus clientes seu maior patrimônio, no entanto, existem muitos clientes insatisfeitos pela
forma como são atendidos pelas organizações.
É possível perceber que muitas organizações, principalmente as médias e grandes organizações, atendem seus
clientes de forma, por vezes, mecanizada, massificada e padronizada. É possível observar isto em serviços de call
center com atendentes por vezes mal capacitados, e também em Serviços de Atendimento a Cidadão, que resolvem
problemas muito gerais.
Numa outra esfera existem organizações, principalmente as de pequeno porte, que tratam seus clientes de uma forma
mais personalizada, conhecendo as necessidades dos clientes, ouvindo suas reclamações e sugestões para gerar
melhorias nos produtos e/ou serviços. Nestas organizações geralmente os proprietários fazem este papel. No entanto,
em organizações de médio e grande porte é difícil os proprietários fazerem este papel. Assim surgiu a
Ouvidoria/Ombudsman, e outras tendências para melhorar o relacionamento com seu cidadão-cliente Clientes.
2.2. Relacionamento com o Cliente
Neste item serão descritos alguns tópicos de Relacionamento com o Cliente:

Conceito

Histórico

Problemas Encontrados por Organizações de Médio e Grande Porte

CRM – Gerenciamento do Relacionamento com os Clientes
2.3. Ouvidoria
Devido ao grande volume de serviços prestados, principalmente por organizações de médio e grande porte, alguns
erros acabam passando despercebidos e se perpetuam devido à dificuldade da identificação destes problemas,
causando insatisfação ou até mesmo, fuga de seus clientes-cidadãos1. Mas como corrigir estes erros? É neste
panorama que a Ouvidoria está inserida. Ela visa a aproximação da relação entre a organização e seus clientescidadãos fornecendo um canal de comunicação objetivo, personalizado, a fim de ouvir quais as insatisfações, as
sugestões e até mesmo os elogios apresentados pelos seus clientes. Assim, o Ouvidor, funcionário de origem interna
ou externa que gerencia o funcionamento da Ouvidoria, passa ser a "voz" dos clientes-cidadãos na organização,
sugerindo aos gestores da organização quais problemas estão ocorrendo e também sugestões de melhoria.
Para que isto seja possível uma Ouvidoria recebe manifestações dos clientes-cidadãos da organização. Dessa forma,
uma manifestação é expressão de um sentimento vivido pelo cliente-cidadão que pode revelar tanto um sentimento de
agrado por um bom atendimento ou até denunciar algum ato ilícito praticado por algum funcionário da organização.
Cliente-Cidadão é um termo utilizado para abranger tanto o cliente de uma organização da iniciativa privada, bem como, o cidadão
que usufrui um serviço da administração pública.
1
Assim, segundo Mario Nelson Alves Jr., estas manifestações2 podem ser classificadas da seguinte forma:

Reclamação: são queixas, manifestações de desagrados ou protestos.

Denúncia: é mais grave do que uma reclamação; delatar um fato de caráter ético, ilícito, sigiloso ou de risco
coletivo.

Sugestão: proposta de mudanças, alterações de procedimentos submetidos à apreciação da instituição.

Elogio: reconhecimento ou demonstração de satisfação para com o serviço recebido.

Informação: fornecimento de dados sobre um serviço ou prestador de serviço.
Conforme o número destas manifestações cresce, a organização passa a ter um banco de dados muito importante
sobre o seu funcionamento, os problemas vividos pelos seus clientes, sugestões apresentadas, etc. Entretanto, possuir
este banco de dados não é suficiente. Neste sentido entra a importância da Ouvidoria possuir um Sistema de
Informação eficiente com a elaboração de relatórios e gráficos gerenciais e também possuir profissionais bem
capacitados para interpretarem estes relatórios e gráficos transformando-os em informações valiosas sobre o
funcionamento da Organização. Por exemplo, em quais unidades, departamentos, setores da Organização que existe
maior freqüência de reclamações, quais os assuntos mais freqüentes de manifestações, entre outros.
De posse destas informações é compromisso da Ouvidoria repassá-las aos gestores da organização. Por isso a
Ouvidoria deve ser um órgão de apoio, conhecido também pelo termo "staff", questionando, propondo soluções
baseadas nas manifestações recebidas e também que as unidades contribuam para que haja um bom funcionamento
do canal de comunicação entre a organização e seus clientes. Caso não esteja neste nível, pode acontecer dos
colaboradores não darem a relevância necessária e o que deveria ser um benefício pode se tornar algo que denigre a
imagem/credibilidade da Organização.
Desta forma, as organizações que possuem uma Ouvidoria bem implantada poderão ter resultados tais como:
obtenção de um processo contínuo de melhoria organizacional e também da sua imagem, melhoria da satisfação e da
fidelização dos seus clientes-cidadãos, justificando, portanto os custos envolvidos na sua implantação.
2.4. CRM X Ouvidoria
Apesar CRM e Ouvidoria terem conceitos diferentes, eles podem ser complementares melhorando ainda mais seus
resultados. Os dois conceitos incluem a personalização do atendimento, conhecendo as necessidades dos usuários,
suas insatisfações, tentando adaptar os processos aos clientes, para trazer maior retorno a organização. Nas duas
tendências, a organização precisa melhorar seus processos fazendo com que eles atendam da melhor maneira possível
seu cliente-cidadão.
2.5. A Empresa: OMD Soluções para Ouvidorias
A OMD Soluções para Ouvidorias nasceu a partir de uma dissertação de mestrado que demonstrou a contribuição
estratégica das ouvidorias para a melhoria dos serviços prestados pelas organizações. A partir da identificação de uma
oportunidade de mercado nesta área, foi elaborado e apresentado um Plano de Negócios à pré-incubadora de base
tecnológica da Universidade Federal de Santa Catarina - UFSC. O projeto foi então selecionado e, desde abril de 2003,
a OMD Soluções para Ouvidorias está incubada no Centro de Geração de Novos Empreendimentos em Software e
Serviços - GeNESS/UFSC, recebendo capacitação técnica e gerencial para o desenvolvimento de suas atividades.
2.5.1.
A Incubadora: GeNESS
O Centro de Geração de Novos Empreendimentos em Software e Serviços – GeNESS tem como missão incentivar e dar
suporte a criação de empresas de base tecnológica, especialmente as de software e serviços, sendo uma referência de
apoio à criação de empresas qualificadas para alavancar empreendimentos na área de informática, agindo como uma
ponte integradora entre os ambiente acadêmico, cientifico, industrial e de mercado de forma decisiva para a realização
do potencial tecnológico no Estado de Santa Catarina.
2.5.2.
O Produto
O produto é composto pela consultoria para implantação do serviço de Ouvidoria em organizações públicas e privadas,
bem como pela adaptação do sistema informatizado para o gerenciamento da Ouvidoria de acordo com as
necessidades da Organização.
Na Dissertação foi utilizado o termo solicitação, entretanto para as classificações de elogio e sugestão este termo é muito restrito, por
isso este termo foi substituído por manifestação, que abrange todas as classificações.
2
CONSULTORIA PARA IMPLANTAÇÃO E ORGANIZAÇÃO DA OUVIDORIA
A Consultoria e adaptação do sistema informatizado para o gerenciamento das manifestações apresentadas,
compreende as seguintes etapas:
1.
Diagnóstico Organizacional - Levantamento de dados e informações sobre a Organização e os serviços
prestados aos usuários.
2.
Elaboração do Projeto de Implantação da Ouvidoria - Proposição do “modelo conceitual” da Ouvidoria,
incluindo a indicação da infra-estrutura necessária para estruturação do serviço na Organização.
3.
Estabelecimento do workflow da Ouvidoria - Definição dos fluxos, prazos e responsabilidades para
encaminhamento das manifestações apresentadas pelos usuários, consolidados no Manual de Normas e
Procedimentos da Ouvidoria.
4.
Implantação do sistema informatizado para gerenciamento da Ouvidoria - Instalação e configuração do
software para gerenciamento da Ouvidoria, de acordo com as necessidades da Organização.
5.
Endomarketing e Capacitação - Preparação da equipe de Ouvidoria e realização de Seminário de Sensibilização
para os demais envolvidos.
6.
Operacionalização da Ouvidoria - Acompanhamento da implantação das formas de atendimento da Ouvidoria,
aplicável de acordo com o modelo de funcionamento proposto: atendimento pessoal, internet, atendimento
telefônico, carta/fax, caixa de sugestões nas unidades, etc.
SISTEMA INFORMATIZADO PARA GERENCIMENTO DE OUVIDORIAS
O software permite a emissão de gráficos e relatórios gerenciais com informações sobre as manifestações mais
freqüentes, transformando a Ouvidoria numa poderosa ferramenta gerencial para identificar áreas da Organização que
estejam merecendo maior atenção dos gestores, sob a ótica do principal interessado: O CLIENTE-CIDADÃO.
Principais Características:

Distribuído na forma de “software livre”.

Fácil adaptação aos equipamentos e softwares já existentes na Organização.

Pode ser acessado pela Internet de qualquer Sistema Operacional (Windows, Linux) e também de qualquer
Navegador (Internet Explorer, Mozilla, Firefox, Opera).

Emprega a Tecnologia JAVA/WEB (JSP/SERVLET), não sendo necessária a instalação do software para cada
usuário.

Utiliza qualquer Banco de Dados Relacional (SQL).

Registra e controla o recebimento de manifestações originadas por qualquer forma de atendimento: call
center, atendimento pessoal, internet, carta, fax, caixa de sugestões, etc.

Gerencia o encaminhamento das manifestações para as áreas responsáveis pela resposta na Organização,
acompanhando os prazos estabelecidos.

Encaminha respostas para o cidadão, disponibilizando-as para call center, Internet, carta, fax, etc.

Permite a emissão de gráficos e relatórios gerenciais dinâmicos drill-down (recurso que permite ligação entre
relatórios, possibilitando gerar relatórios gerenciais de alto nível, até uma manifestação específica).

Possibilita efetuar diversas configurações no Sistema, mesmo quando está ativo (configuração on-line).
2.6. Outras Soluções Existentes em Ouvidoria
Identificação de soluções existentes no mercado, verificando pontos fortes e fracos e também comparara-las ao
Software para Gerenciamento de Ouvidorias da empresa OMD – Soluções para Ouvidorias.
No mercado onde etá inserida a empresa OMD Soluções para Ouvidorias, a maior parte dos concorrentes têm seu foco
voltado para a “terceirização” do serviço de ouvidoria, ou seja, as organizações interessadas contratam a prestação
deste serviço por um período certo ou indeterminado. Tal situação descaracteriza um dos princípios básicos da
Ouvidoria: o estabelecimento de um canal de comunicação entre o cliente-cidadão e o “proprietário” ou “gestor” da
organização.
A empresa Infoexpert, com sede em Recife-PE, oferece um sistema chamado PROVEDORIA que se propõe a manter a
organização informada das falhas ou acertos dos procedimentos adotados, que foram observados pelo usuário desde o
início do seu atendimento, inclusive durante o período de pós-atendimento. A partir dessas informações, uma equipe
de assessores e especialistas da própria organização, interage com o sistema para corrigir e ajustar os mecanismos e
processos, visando garantir uma maior eficiência dos serviços ofertados. Esta empresa está no mercado desde 1999 e
maior parte de seus clientes localiza-se na região Nordeste. O software é alugado para seus clientes através de
contratos anuais, sendo que seu preço varia entre R$ 250,00 a 900,00/mês por ponto instalado, conforme a
complexidade e número de usuários.
Um concorrente que se aproxima do produto oferecido pela OMD Soluções para Ouvidorias, atua sob o nome
Ombudsman Associados, com sede em São Paulo–SP. Oferece serviço de consultoria voltada para administração
pública, incluindo a implantação do serviço de Ouvidoria / Ombudsman, desde a fase de orientação e convencimento
da organização (estratégia) , diagnóstico / prognóstico, formatação, comunicação, posicionamento, até seu pleno
funcionamento de maneira pro-ativa. Entretanto, com relação ao sistema de informações, não há um produto pronto.
Outro grupo de concorrentes é formado por empresas de software não especializadas no desenvolvimento de soluções
para ouvidorias. Normalmente o sistema para gerenciamento da demanda da ouvidoria é agregado como mais uma
parte do pacote de informatização da organização, como é o caso do produto oferecido pela Cetil Informática, com
sede em Blumenau-SC, Soft Micro, com sede em Araçatuba-SP, Softsul – Sociedade Sul-Riograndense de Apoio ao
Desenvolvimento de Software e Betha Sistemas Ltda., com sede em Criciúma-SC.
Ainda há aqueles que prestam consultoria além do fornecimento do software. É o caso da Ombudsm@n Service,
Target Consultoria, com sede em São Paulo-SP e Ouvidoria IPM - IPM Automação e Consultoria Ltda., com sede em
Porto Alegre-RS.
A própria Associação Brasileira de Ouvidores/Ombudsman – ABO, com sede em São Paulo–SP, presta consultoria para
implantação de ouvidorias e a relazação de cursos na administração pública e privada.
Verifica-se também que algumas empresas de software desenvolvem apenas o sistema informatizado para
gerenciamento da demanda da ouvidoria, normalmente agregando este pacote a um produto maior já instalado na
organização.
Em comparação com essas empresas, a OMD Soluções para Ouvidorias destaca-se pela consultoria prévia realizada
nas dependências da organização, com o objetivo de estabelecer os fluxos, responsabilidades e prazos para
encaminhamento das manifestações. Aliado a este fator, o sistema informatizado permite a emissão de gráficos e
relatórios gerenciais com informações sobre as ocorrências mais freqüentes, transformando a ouvidoria numa
poderosa ferramenta gerencial para identificar áreas da organização que estejam merecendo maior atenção dos
gestores, sob a ótica do principal interessado: O CLIENTE; e assim servir de suporte ao processo de tomada de
decisões.
Outro aspecto importante diz respeito à localização geográfica, tendo em vista que as empresas concorrentes estão
situadas em outros Estados, os custos relativos à implantação de ouvidorias em Santa Catarina (passagens e diárias)
seriam menores que os da concorrência.
Especialmente no Estado de Santa Catarina, onde não há empresas já consolidadas exclusivamente nesta área, a
entrada de uma nova empresa no mercado é mais acessível. Além disso, a empresa pioneira pode torna-se um
referencial para o mercado.
3. Solução: Camada de Persistência em JDO
Este trabalho compreenderá a implementação de uma camada de persistência de dados utilizando JDO, que resolverá
o problema existente no Software para Gerenciamento de Ouvidorias tornando-o Independente de Banco de Dados.
Neste capítulo será desvendada a forma persistência de dados JDO, por isso, serão definidos alguns conceitos que
permeiam a persistência de dados, o JDO, além da construção de um exemplo utilizando JDO, para no quarto capítulo
demonstrar o Desenvolvimento da Camada de Persistência.
3.1. Camada de Persistência
Camada de Persistência é uma aplicação que visa diminuir a complexidade e tornar mais transparente o
armazenamento de dados, principalmente quando existem dois mundos diferentes a exemplo da Orientação a Objetos,
onde cada entidade do mundo real é um objeto, tendo de conviver normalmente com Bancos de Dados Relacionais,
onde cada entidade do mundo real se torna uma linha de uma tabela, além de possuir diversas diferenças no dialetos
de SQL (Structured Query Language), que dificultam bastante a troca de um Banco de Dados Relacional para outro.
Para isto construí-se uma camada de persistência, normalmente baseada em alguma API, Template ou Framework de
Persistência, a exemplo de JDO, Hibernate, SQLMaps, EJB, entre outros. Estas tecnologias auxiliam bastante o
desenvolvedor desta camada de persistência, pois diminui substancialmente a quantidade de código a ser escrito, pois
já existem diversas funcionalidades comuns de armazenamento implementadas e outras funcionalidades são obtidas
através da especificação de meta dados em XML ou em arquivos de texto, não necessitando recompilação de classes.
3.2. JDO
Em 1999, o desenvolvimento da API JDO foi iniciado em 1999 como parte da JCP e teve sua primeira versão lançada
em 2002. Ela é uma API que visa facilitar a construção de uma camada de persistência, fazendo com que a camada
lógica independa se os dados são persistidos em arquivos, bancos de dados relacionais ou mesmo bancos de dados
orientados a objetos.
Sua implementação padrão do JDO é o JPOX (Java Persistence Objects) que o JDO voltou a ganhar força, pois a Sun
estava preste a descontinuá-lo. Já que ela financiava dois projetos “semelhantes” de persistência o EJB e o JDO. Mas
em uma reunião dos fornecedores que compõem o JAVA, viu-se que a duas tecnologias possuíam cada um seu espaço,
o EJB devido a sua complexidade deveria ser utilizado em projetos grandes que são críticos, seja pelo número de
acessos, número de transações, entre outros. Ele também exige que a aplicação esteja em algum servidor de
aplicação, como o JBoss.
Já com JDO não existe tal exigência, ele pode estar em aplicações locais e também em servidores WEB como é caso
do TomCat, que é utilizado pela maioria das aplicações WEB, sem contar que o seu aprendizado é muito mais suave
comparado a EJB. A implementação do JDO é muito mais simples do que os EJBs (Enterprise Java Beans), pois
utilizam POJOs (Plain Old Java Objects), que não nada mais são do que Java Bean, com construtor padrão sem
parâmetros e métodos get e set para acessar suas propriedades. Ele também é uma solução muito mais leve, podendo
utilizá-lo em pequenos e médios projetos.
Depois que o Java Bean é compilado e ele passa pelo Enhancer que modifica o bytecode, para que ela passe a
implementar a interface PersistentCapacle, de acordo com os metadados especificados para o Objeto, permitindo a
persistência dos seus dados.
Dessa forma, o trabalho do desenvolvedor é muito mais facilitado, pois ele continua construindo suas classes da
mesma forma, bastando apenas especificar o metadados do Objeto e construir uma classe que utilize
PersistenceManager que servirá de “Fachada” (Padrão de Projeto Facade) para os Objetos Persistidos.
Outra vantagem da API JDO é o fato de existirem diversos fornecedores que possuem uma implementação e também
uma linguagem de consulta a JDOQL padrão, assim, se utilizarmos a implementação padrão poderemos trocar de
fornecedor sem maiores problemas, algo bastante diferente da linguagem SQL(Structure Query Language) onde cada
fornecedor possui sua implementação da SQL, podendo tornar a troca de fornecedor algo bastante trabalhoso e com
um tempo considerável. Além disso, muitos fornecedores disponibilizam, seja de forma gratuita ou paga, extensões
que adicionam novas funcionalidades ao JDO e também a JDOQL.
3.2.1.
JDOQL
É a linguagem de consulta utilizada por todas as implementações JDO. Ela é bastante parecida com o Java, não
necessitando uso de SQL. Através dela podemos realizar comparações entre objetos, tipos primitivos encontrado no
Java, ela também permite a ordenação e procura por determinados Strings.
Assim, essa linguagem nos permite realizar consultas bastante complexas, sem a necessidade de aprender uma
linguagem como o SQL, mesmo sem a utilização de extensões. Se utilizarmos extensões possuiremos em nossas mãos
uma linguagem ainda mais poderosa, com a ressalva que de nem todos os fornecedores implementam as mesmas
extensões.
Ao obter um objeto persistido é possível definir se deseja obter todo o grafo de relacionamento, ou apenas alguns
relacionamentos ou ainda somente o objeto persistido sem seus relacionamentos. Isto torna o JDO muito flexível e
gerenciar totalmente o volume de dados que serão retornados através de uma consulta.
3.2.2.
Enhancer (Enxertador) JDO
O Enhancer JDO é a ferramenta responsável por implementar a classe PersistenceCapable para todas as classes da
aplicação que serão persistidas, possibilitando assim seu gerenciamento pelo JDO. Está implementação pode ocorrer
tendo como base o código fonte ou o byte-code da classe. Caso está implementação seja feita no código fonte, podese perder as referências de linhas no caso de debug e também não é aconselhável que estas classes sejam colocadas
em um sistema de controle de versão, a exemplo de CVS. Por isso, é aconselhável que está implementação seja feita
utilizando os byte-codes e que está tarefa seja automatizada utilizando tarefas Ant ou Maven, pois será uma tarefa
realizada diversas vezes via linha de comando, torna-se uma tarefa bastante trabalhosa. Entretanto, isto não será
aprofundado porque ultrapassa o escopo desse trabalho. Para mais informações sobre esta automatização consulte a
Documentação que se encontra no site do JPOX.
3.2.3.
Exemplo Prático
Descrever um exemplo prático de utilização de JDO, com sua implementação padrão o JPOX. Possivelmente será
utilizado o exemplo que se encontra no site do JPOX, o JPoxClinic, que integra o JPOX ao Framework Spring,
possibilitando uma melhor integração entre a camada de persistência e a camada lógica além de tornar mais
organizados os diversos meta dados e configurações de um sistema.
4. Desenvolvimento da Camada de Persistência
A partir disto, serão iniciadas as etapas relacionadas ao desenvolvimento da Camada de Persistência
4.1. Levantamento dos Requisitos
Relacionar quais os Requisitos do Sistema Informatizado para Gerenciamento de Ouvidorias.
4.1.1.
Levantamento dos Requisitos de Persistência
A partir dos Requisitos do Software definidos, será realizada uma análise, verificando quais deles demandam
persistência de dados.
4.1.2.
Tabela de Serviços X Requisitos de Persistência
Como base nos Requisitos de Persistência, estes serão reunidos em Serviço de Persistência que serão implementados.
E será definida a ordem em que esses serviços serão implementados.
4.2. Diagrama de Classes
4.3. Implementação dos Serviços de Persistência
Descrever os serviços de persistência que serão desenvolvidos, bem como quais requisitos serão implementados em
cada um dos serviços.
5. Comparação das Versões do Software
Ao final do Desenvolvimento da Camada de Persistência de Dados, será realizada uma análise de desempenho e
portabilidade, comparando a atual camada de Acesso Direto a Banco de Dados utilizando JDBC, com a camada de
persistência de dados construída em JDO.
5.1. Desempenho
Descrever e aplicar critérios de desempenho visando comparar duas camadas.
5.2. Portabilidade
Descrever e aplicar critérios de portabilidade visando comparar duas camadas.
6. Conclusão
Ouvir ao cliente-cidadão é muito importante, pois conhecendo suas necessidades, suas sugestões, suas reclamações e
também seus elogios as organizações terão medidas para sua melhora contínua. É nesta área que a Ouvidoria atua,
buscando a melhoria das organizações e da satisfação de seu cliente-cidadão.
A Tecnologia dá apoio necessário para a tabulação das informações, identificando áreas que precisem de maior
atenção através de relatórios e gráficos gerenciais. É neste contexto que está inserido o Software para Gerenciamento
para Ouvidorias e este Trabalho de Conclusão de Curso onde será construída a camada de persistência que dará
flexibilidade ao software podendo então, ser instalado em qualquer Banco de Dados Relacional.
7. Referências Bibliográficas
Alves Jr., Mário Nelson. A CONTRIBUIÇÃO ESTRATÉGICA DAS OUVIDORIAS PARA A MELHORIA DOS SERVIÇOS
PRESTADOS PELAS ORGANIZAÇÕES: UM ESTUDO DE CASO NA SECRETARIA DE ESTADO DA SAÚDE DE SANTA
CATARINA. Dissertação de Mestrado. UDESC, Florianópolis, 2002. Disponível em <www.omd.com.br/docs.htm>.
Acesso em 05 de Dezembro de 2004.
MARAFON, Tiago Antônio. Camada de Persistência em Java Estudo Comparativo entre EJB, JDO e Hibernate. Trabalho
de Conclusão de Curso. UFSC, Florianópolis, 2005.
OMD Soluções para Ouvidorias. Disponível em <www.omd.com.br>. Acesso em 01 de Junho de 2005.
OMD Soluções para Ouvidorias. Plano de Negócios OMD Soluções para Ouvidorias. Florianópolis. Junho de 2005.
OMD Soluções para Ouvidorias. Apostila do Curso de Capacitação de Ouvidores – Módulo I. Florianópolis. Novembro de
2004.
OMD Soluções para Ouvidorias. Apostila do Curso de Capacitação de Ouvidores – Módulo II. Florianópolis. Julho de
2005.
JPOX Java Persistence Objects. Disponível em: <http://www.jpox.org/>. Acesso em 03 de agosto de 2005.
Anexos:

Telas do Software

Código Fonte
Download