tcc aplicativo web mobile controle despesas pessoais
DESCRIPTION
Esta pesquisa tem como objetivo desenvolver um aplicativo web / mobile para o gerenciamento das despesas pessoais utilizando a Tecnologia Java, o módulo mobile funciona como uma extensão do módulo completo web, ambos comunicam-se através de um Web Service, permitindo assim que o usuário possa ter acesso as suas informações financeiras ou lançar despesas de modo rápido e simplificado através de dispositivos móveis ou de modo mais detalhado através dos navegadores de internet, centralizando as informações em um Servidor de Banco de Dados Web.Palavras Chave: Java, Aplicativo Controle de Despesas Mobile / Web.This research aims to develop a web / mobile application for managing personal expenses, using Java technology. The mobile module works as an extension of the complete module web, both communicate through a Web Service, enabling the user to access your financial information or launch expenses in a quickly and simplified way through mobile devices or in more detailed way through internet browsers, centralizing the information in a Web Server Database.Keywords: Java, Control Expenses Mobile Application, WebTRANSCRIPT
FACULDADE DO LITORAL SUL PAULISTA – FALS
TARDELLI AGUIAR MOURA
APLICATIVO WEB / MOBILE PARA CONTROLE DE DESPESAS
PESSOAIS
PRAIA GRANDE
2013
TARDELLI AGUIAR MOURA
APLICATIVO WEB / MOBILE PARA CONTROLE DE DESPESAS
PESSOAIS
Monografia apresentada como exigência para
obtenção do grau de Bacharelado em Sistemas
de Informação da FALS – Faculdade do Litoral
Sul Paulista.
Professor orientador pleiteado: Profº Caio Sales
Praia Grande
2013
DEDICATÓRIA
A minha família com muita gratidão pelo seu
incansável apoio ao longo do período de
elaboração deste trabalho.
AGRADECIMENTOS
Primeiramente a Deus, pela oportunidade e chance de realizar um sonho.
A minha família e a minha namorada Débora pelo apoio e motivação nas
horas mais difíceis.
Ao meu professor orientador Caio Sales, por todos os conselhos e ajuda
durante cada fase do projeto.
Aos professores da faculdade que com ética, amor e dedicação nos ensinam
não só uma profissão, nos ensinam também a sermos pessoas melhores.
Aos amigos e colegas de faculdade, pois foram 4 anos compartilhando
histórias, vitórias e algumas derrotas.
A mente que se abre a uma nova ideia
jamais volta ao seu tamanho original.
(Albert Einsten)
RESUMO
Esta pesquisa tem como objetivo desenvolver um aplicativo web / mobile para o
gerenciamento das despesas pessoais utilizando a Tecnologia Java, o módulo
mobile funciona como uma extensão do módulo completo web, ambos comunicam-
se através de um Web Service, permitindo assim que o usuário possa ter acesso as
suas informações financeiras ou lançar despesas de modo rápido e simplificado
através de dispositivos móveis ou de modo mais detalhado através dos navegadores
de internet, centralizando as informações em um Servidor de Banco de Dados Web.
Palavras Chave: Java, Aplicativo Controle de Despesas Mobile / Web.
ABSTRACT
This research aims to develop a web / mobile application for managing personal
expenses, using Java technology. The mobile module works as an extension of the
complete module web, both communicate through a Web Service, enabling the user
to access your financial information or launch expenses in a quickly and simplified
way through mobile devices or in more detailed way through internet browsers,
centralizing the information in a Web Server Database.
Keywords: Java, Control Expenses Mobile Application, Web
LISTA DE FIGURAS
FIGURA 1 – PLATAFORMAS JAVA .......................................................................... 17
FIGURA 2 - JAVA VIRTUAL MACHINE ..................................................................... 18
FIGURA 3 – ARQUITETURA JAVA EE ..................................................................... 19
FIGURA 4 - EXEMPLO DIAGRAMA FLUXO DO CICLO DE VIDA JSF...................... 20
FIGURA 5 - CAMADAS DA ARQUITETURA ANDROID ............................................ 21
FIGURA 6 - DALVIK VM ............................................................................................ 22
FIGURA 7 - ARQUITETURA SIMPLIFICADA DO HIBERNATE ................................. 24
FIGURA 8 - EXEMPLO MOR HIBERNATE ................................................................ 24
FIGURA 9 - EXEMPLO REQUISIÇÃO E RESPOSTA WEBSERVICE ....................... 25
FIGURA 10 - ESTRUTURA DE UMA MENSAGEM SOAP ......................................... 26
FIGURA 11 - CASO DE USO REALIZAR LOGIN ....................................................... 27
FIGURA 12 - CASO DE USO REALIZAR CADASTRO .............................................. 28
FIGURA 13 - CASO DE USO MANTER CONTAS ..................................................... 29
FIGURA 14 - CASO DE USO MANTER CATEGORIAS ............................................. 30
FIGURA 15 - CASO DE USO MANTER LANÇAMENTOS ......................................... 31
FIGURA 16 - CASO DE USO REALIZAR LOGIN MOBILE ........................................ 32
FIGURA 17 - CASO DE USO REALIZAR CADASTRO MOBILE ................................ 33
FIGURA 18 - CASO DE USO LISTAR LANÇAMENTOS MOBILE ............................. 33
FIGURA 19 - CASO DE USO MANTER LANÇAMENTOS MOBILE ........................... 34
FIGURA 20 - CASO DE USO MOSTRAR SALDOS ................................................... 35
FIGURA 21 - DER - DIAGRAMA DE ENTIDADE RELACIONAL ................................ 36
LISTA DE QUADROS
QUADRO 1 - EXEMPLO ENVELOPE SOAP ............................................................. 26
QUADRO 2 - CHAMADA DE MÉTODO DA CAMADA WEB SERVICE ...................... 37
LISTA DE IMAGENS
IMAGEM 1 - CHAMADA CASO USO REALIZAR CADASTRO WEB ......................... 38
IMAGEM 2 - CADASTRO DE USUÁRIO WEB ........................................................... 39
IMAGEM 3 - REALIZAR LOGIN WEB ........................................................................ 39
IMAGEM 4 - PÁGINA PRINCIPAL WEB .................................................................... 40
IMAGEM 5 - PÁGINA CADASTRO DE CONTAS ....................................................... 41
IMAGEM 6 - PÁGINA CATEGORIAS ........................................................................ 42
IMAGEM 7 - PÁGINA PRINCIPAL WEB .................................................................... 43
IMAGEM 8 - LOGIN MOBILE ..................................................................................... 44
IMAGEM 9 - ERRO LOGIN MOBILE .......................................................................... 45
IMAGEM 10 - FORMULÁRIO DE CADASTRO NO NAVEGADOR MOBILE .............. 46
IMAGEM 11 - LISTAR LANÇAMENTOS MOBILE ..................................................... 47
IMAGEM 12 - MENU CONTEXTO ............................................................................. 48
IMAGEM 13 - NOVO LANÇAMENTO MOBILE .......................................................... 49
IMAGEM 14 - POP-UP REMOVER OU EDITAR ........................................................ 49
IMAGEM 15 - EDITAR LANÇAMENTO MOBILE ....................................................... 50
IMAGEM 16 - REMOVER LANÇAMENTO MOBILE .................................................. 51
IMAGEM 17 - MOSTRAR SALDOS MOBILE ............................................................. 52
SUMÁRIO
1. INTRODUÇÃO ................................................................................................... 12
2. CONCEITOS ...................................................................................................... 15
3. FERRAMENTAS E TECNOLOGIAS PARA DESENVOLVIMENTO .................. 16
3.1. JAVA ........................................................................................................... 16
3.1.1. JVM – JAVA VIRTUAL MACHINE ....................................................... 18
3.1.2. JAVA ENTERPRISE EDITION (JAVA EE) .......................................... 18
3.2. JAVA SERVER FACES (JSF) ..................................................................... 19
3.3. PLATAFORMA ANDROID .......................................................................... 21
3.3.1. JAVA PARA ANDROID ........................................................................ 22
3.4. TOMCAT - SERVIDOR DE APLICAÇÃO .................................................... 23
3.5. BANCO DE DADOS MySQL ....................................................................... 23
3.6. HIBERNATE ............................................................................................... 23
3.7. WEB SERVICE ........................................................................................... 25
3.7.1. PROTOCOLO SOAP ........................................................................... 25
4. DESENVOLVIMENTO E METODOLOGIA ........................................................ 27
4.1. ARTEFATOS – CASOS DE USO DO MÓDULO WEB ............................... 27
4.2. ARTEFATOS – CASOS DE USO DO MÓDULO MOBILE .......................... 32
4.3. MODELAGEM DO BANCO DE DADOS RELACIONAL ............................. 36
4.4. INTEGRAÇÃO DOS MÓDULOS WEB / MOBILE ....................................... 37
5. VALIDAÇÃO DO PROJETO PROPOSTO ......................................................... 38
5.1. CADASTRO DE USUÁRIOS - WEB ........................................................... 38
5.2. REALIZAR LOGIN - WEB ........................................................................... 39
5.3. CADASTRO DE CONTAS - WEB ............................................................... 41
5.4. CATEGORIAS - WEB ................................................................................. 42
5.5. LANÇAMENTOS - WEB ............................................................................. 43
5.6. REALIZAR LOGIN – MOBILE ..................................................................... 44
5.7. REALIZAR CADASTRO – MOBILE ............................................................ 45
5.8. LISTAR LANÇAMENTOS – MOBILE .......................................................... 46
5.9. INCLUIR LANÇAMENTO – MOBILE .......................................................... 47
5.10. REMOVER OU EDITAR UM LANÇAMENTO - MOBILE ............................ 49
5.11. MOSTRAR SALDOS - MOBILE .................................................................. 51
5.12. AMBIENTE DE DESENVOLVIMENTO / TESTES ...................................... 52
6. CONCLUSÃO .................................................................................................... 53
7. REFERENCIAS BIBLIOGRÁFICAS ................................................................... 54
12
1. INTRODUÇÃO
O conteúdo desse trabalho apresenta o desenvolvimento de um aplicativo
para gerenciamento das despesas pessoais, um aplicativo simples que possa ser
utilizado por qualquer pessoa em seu computador e/ou dispositivo móvel.
Com um crescente número de usuários de dispositivos móveis (tablets,
smartphones, netbooks), criou-se uma oportunidade para um aplicativo diferenciado
onde o usuário poderá controlar suas despesas diárias diretamente em seu
dispositivo móvel de modo simples e rápido, podendo assim aproveitar
oportunidades imediatas de promoções e planejar gastos, poderá ainda acessar
essas informações detalhadamente em seu computador pessoal podendo gerar
diversos tipos de relatórios.
O aplicativo estará disponível ao público de forma gratuita e seu uso visa
atender usuários comuns, que não precisam de um conhecimento muito amplo das
burocracias e complexidades comumente encontradas em outros sistemas
financeiros.
A partir de casos reais de usuários de ferramentas para controle de despesas
pessoais (exemplo: planilhas, softwares, aplicativos etc.) e pessoas que jamais
utilizaram algum método para gerenciamento dos gastos, identificou-se que seria
interessante uma ferramenta simples onde o usuário pudesse obter informações
atualizadas sobre seus gastos diários, semanais e mensais em seu próprio
dispositivo móvel ou qualquer computador com acesso a Internet e a qualquer
momento, podendo auxiliá-lo na escolha do melhor momento para realizar uma
compra ou até mesmo aproveitar uma promoção a cerca das oportunidades
imediatas comumente encontradas em nosso dia-a-dia.
Surgiu então a ideia do desenvolvimento de um aplicativo para as plataformas
Mobile e Web, compatível com diversos dispositivos móveis e navegadores de
internet com objetivo de gerenciar as despesas diárias do usuário.
O objetivo geral deste trabalho é, utilizando tecnologias de desenvolvimento
de sistemas de informação para navegadores web e dispositivos móveis,
desenvolver um aplicativo web / mobile para gerenciamento de despesas pessoais
compatível com os navegadores web atuais e dispositivos móveis encontrados no
mercado, fazer com que o módulo mobile do aplicativo seja uma extensão do
13
módulo web, possibilitando dessa forma que haja uma centralização dos dados do
usuário em um Servidor, agregando maior precisão e controle das informações
tornando a interação dos módulos mobile, web e usuário mais dinâmica.
Como objetivos específicos, desenvolver um sistema seguro onde o usuário
possa administrar seus gastos diários de maneira simples, fácil e em tempo real,
centralizar as informações do usuário em um servidor e disponibiliza-las de maneira
simples e interativa para o usuário em diferentes plataformas, testar e implementar a
ferramenta afim de avaliar a usabilidade da mesma permitindo ter uma estimativa
dos resultados esperados, detalhar funcionamento do aplicativo através de
instruções.
Este trabalho se justifica na pesquisa de campo (PESQUISA, 2013), foram
entrevistadas mais de 120 pessoas, abaixo os dados mais relevantes da pesquisa:
Dos entrevistados apenas 4% não possuem acesso à internet em suas casas.
Dos entrevistados apenas 9% não possuem acesso à internet em seus
dispositivos móveis.
Grande parte dos entrevistados que tem o costume de gerenciar seus gastos
mensais utilizam planilhas e cerca de 6% utilizam softwares ou aplicativos.
Apenas 23% dos entrevistados que utilizam alguma ferramenta para gerenciar
seus gastos estão completamente satisfeitos.
As questões 6 e 7 fazem referencia ao nosso projeto para gestão financeira, e
ficou comprovado que o projeto é viável e teria boa aceitação entre os
entrevistados.
Os entrevistados foram questionados sobre o que mais levariam em
consideração para começar a utilizar alguma ferramenta de gestão para seus
gastos e 9% optaram pela simplicidade do aplicativo, e 61% optaram pela
mobilidade do aplicativo.
Questionados sobre a ideia de um aplicativo simples e gratuito onde possam
gerenciar suas finanças pessoais de qualquer lugar, 55% respondeu que
seria uma ótima opção para gerenciar os gastos e com certeza iriam utilizar,
outros 42% responderam que seria uma ótima opção e talvez pudessem
utilizar. Apenas 3% responderam que o aplicativo não seria útil.
14
Levando em consideração os resultados gerados pela pesquisa de campo
(RESPOSTAS, 2013) e o aumento significativo da utilização de smartphones e
tablets nos últimos anos (CAMPI, 2013), justifica-se o desenvolvimento do aplicativo
para as plataformas web e mobile com objetivo de auxiliar o usuário no controle e
gestão de seus gastos em um dia-a-dia cada vez mais corrido e de uma geração que
necessita consumir informações em tempo real, nos capítulos à frente serão
abordados os detalhes do desenvolvimento e funcionamento do Aplicativo Web /
Mobile para Controle de Despesas Pessoais batizado com o nome de “Gasto Seguro
App”.
15
2. CONCEITOS
O Aplicativo Web / Mobile para Controle de Despesas Pessoais Gasto Seguro
App permite que o usuário cadastre-se informando seu e-mail e senha no módulo
Web do Sistema que será disponibilizado em um website ou no próprio aplicativo
mobile, após o cadastro o usuário terá acesso a todas as funcionalidades para
gestão dos seus gastos pessoais como inclusão, alteração, remoção de um
lançamento, impressão e exportação de alguns relatórios referentes à gestão de
seus gastos, o Aplicativo Mobile que é o módulo portátil será totalmente integrado ao
módulo Web através da comunicação feita por um Web Service (que será detalhado
no próximo capítulo), no módulo Mobile o usuário devera informar seu e-mail e
senha já cadastrados ou poderá se cadastrar selecionando a opção “Registrar-se”,
na primeira tela ele irá visualizar um resumo de seus gastos durante o mês e
opções para lançar novos gastos.
Será utilizada no módulo Web a linguagem Java juntamente com Framework
JavaServer Faces (JSF) e Banco de Dados MySQL Server, no módulo Mobile
também será utilizada a linguagem Java para consumir um Web Service SOAP
(ferramentas e tecnologias serão detalhados no próximo capítulo).
16
3. FERRAMENTAS E TECNOLOGIAS PARA DESENVOLVIMENTO
Capítulo dedicado a embasar as Tecnologias de Informação e ferramentas
utilizadas no desenvolvimento do aplicativo.
3.1. JAVA
De acordo com a GlobalCode (2013), a linguagem Java, atualmente na
versão 7 foi desenvolvida na década de 90 por uma equipe de programadores da
Sun Microsystems que tinha James Gosling a frente do projeto, a ideia era uma
linguagem de programação que pudesse ser utilizada em diversas plataformas.
Em resumo Java é uma poderosa linguagem de programação para
computadores orientada a objeto, o que difere o Java das outras linguagens é o
modo como é compilado, para um bytecode e este executado por uma máquina
virtual (“Java Virtual Machine”), aplicando assim os conceitos de Portabilidade, ou
seja, independência de plataforma, escreva uma vez, execute em qualquer lugar
(“write once, run anywhere” – termo difundido entre os programadores e slogan que
a Sun Microsystems usa para o Java). (GlobalCode, 2010)
A plataforma de desenvolvimento Java é composta por:
Linguagem de programação Java.
Ferramentas de desenvolvimento: compiladores, depuradores e outros.
Bibliotecas para desenvolvimento de aplicações desktop, web, dispositivos
móveis, cartões inteligentes, entre outras.
Máquina virtual Java (JVM – Java Virtual Machine) responsável pela
execução de um programa Java em um sistema operacional.
17
Devido à grande amplitude das bibliotecas disponíveis, a plataforma Java foi
subdividida da seguinte forma: (GlobalCode, 2010).
FIGURA 1 – PLATAFORMAS JAVA Fonte: GlobalCode, 2010
Java Standard Edition (JavaSE) – Especificação do Java com as funções
básicas do Java.
Java Micro Edition (JavaME) – Especificação do Java com funcionalidades
para o desenvolvimento de aplicações para pequenos dispositivos como
aparelhos celulares e eletrônicos em geral que possuam uma JVM (Máquina
Virtual Java para pequenos dispositivos).
Java Enterprise Edition (JavaEE) – Especificação do Java com
funcionalidades especificas para o desenvolvimento de aplicações para
servidores tais como, Servelets e JSF (JavaServer Faces).
O Java é a base para praticamente todos os tipos de aplicações em rede e é
o padrão global para o desenvolvimento e distribuição de aplicações móveis,
jogos, conteúdo baseado na Web e softwares corporativos. Com mais de 9
milhões de desenvolvedores em todo o mundo, de forma eficiente, o Java
permite que você desenvolva, implante e use aplicações e serviços
estimulantes. De laptops a datacenters, consoles de games a
supercomputadores científicos, telefones celulares à Internet, o Java está em
todos os lugares! (ORACLE. Acesso em 14 agosto 2013).
18
3.1.1. JVM – JAVA VIRTUAL MACHINE
De acordo com a definição da Oracle / Sun (JAVA, 2013), a Máquina Virtual
Java é um conjunto de programas de software que permite a execução de instruções
geralmente escritas em bytecode Java. Os JVMs estão disponíveis para todas as
plataformas de software e hardware mais comuns.
Em resumo, a Máquina Virtual Java (JVM) converte os bytecodes dos
aplicativos Java em código executável de máquina, através da JVM obtemos a
portabilidade do código Java, ou seja, um arquivo compilado pode ser executado em
qualquer sistema operacional, desde que exista uma JVM para ele.
FIGURA 2 - JAVA VIRTUAL MACHINE Fonte: GlobalCode (2010)
3.1.2. JAVA ENTERPRISE EDITION (JAVA EE)
Será utilizada neste projeto a especificação Java Enterprise Edition, que é a
especificação Java que fornece funcionalidades para implementação de software
distribuído, arquitetura multicamada, mapeamento objeto-relacional e web services
baseados na Web e executados em Servidores de Aplicação.
Com base nos artigos da Caelum (2013), atualmente na versão 7, o Java EE
implementa toda infraestrutura necessária para que os desenvolvedores não se
preocupem com grande parte da codificação que demandaria muito trabalho,
mantendo o foco em simplificar o desenvolvimento através de padrões e API’s.
19
Existem 4 camadas básicas no modelo de aplicação JAVA EE:
FIGURA 3 – ARQUITETURA JAVA EE Fonte: Devmedia
Camada Cliente – Parte do software que roda no computador do usuário.
Camada Web – Parte do software que roda em um servidor de aplicações
web.
Camada de negócios – Parte do software que roda no servidor de aplicações.
Camada de dados – Banco de dados e sistemas externos.
3.2. JAVA SERVER FACES (JSF)
Segundo Luckow (2012), Java Server Faces (JSF) é um Framework MVC
(Model – View - Controller) de interface de usuário (UI) baseado em Java de
componentes para desenvolvimento Web, foi projetado para facilitar e simplificar a
tarefa de escrever sistemas que são executados em um servidor de aplicação Java,
a especificação deste Framework foi definida pelo JCP (Java Community Process),
20
entidade que tem como objetivo especificar a evolução da linguagem Java de acordo
com mercado.
Abaixo veremos a imagem que exemplifica o ciclo de vida do JSF:
FIGURA 4 - EXEMPLO DIAGRAMA FLUXO DO CICLO DE VIDA JSF Fonte: LUCKOW, 2012, p. 101
Atualmente na versão 2.2 o JSF se tornou um padrão de mercado e possui
apoio de grandes empresas no mercado de desenvolvimento de software como IBM,
Apache, Macromedia, Oracle, Hewlett-Packard entre outras.
O JSF tem como implementação padrão Sun Mojarra e diversas bibliotecas
de componentes, as mais populares são:
RichFaces, da JBoss.
ICEFaces, da ICESoft.
PrimeFaces, da PrimeFaces.
Tomahawk, da Apache MyFaces.
Trinidad, da Apache MyFaces.
Tobago, da Apache MyFaces.
“Outra vantagem de o JSF ser um padrão de mercado é a possibilidade de
empresas investirem no desenvolvimento de componentes para o JSF. ” (LUCKOW,
2012, p. 73).
O JSF é considerado atualmente pela Java Community Process (JCP, 2013) o
21
melhor Framework de desenvolvimento para aplicações Web utilizando Java,
resultado da evolução e maturidade adquiridas com o JSP/Servelet, MVC e Struts.
3.3. PLATAFORMA ANDROID
O Sistema Operacional Android é uma plataforma de software que permite
criar aplicativos para dispositivos móveis, como smartphones e tablets. O Android foi
desenvolvido pela Google, e posteriormente pela OHA (Open Handset Alliance),
uma organização que une várias empresas com o objetivo de criar padrões abertos
para dispositivos móveis (K19, 2012).
FIGURA 5 - CAMADAS DA ARQUITETURA ANDROID Fonte: IBM
22
O Android é executado sobre um kernel Linux. Os aplicativos Android são
gravados na linguagem de programação Java e são executados em uma
máquina virtual (VM). É importante observar que a VM não é uma JVM, como
você pode esperar, mas é uma Dalvik Virtual Machine, uma tecnologia de
software livre. Cada aplicativo Android é executado em uma instância da
Dalvik VM, que, por sua vez, reside em um processo gerenciado por kernel
Linux, conforme mostrado abaixo (IBM. Acesso em 14 agosto 2013).
FIGURA 6 - DALVIK VM Fonte: IBM
3.3.1. JAVA PARA ANDROID
No módulo Mobile do aplicativo será utilizada a linguagem Java para
plataforma Android, a plataforma Android oferece diversas vantagens para
desenvolvimento de aplicativos móveis, as principais vantagens são:
Diversas bibliotecas e frameworks gratuitos para desenvolvimento.
Grande comunidade de desenvolvedores pelo mundo e fóruns especializados.
Utiliza linguagem Java e todos os seus conceitos de programação como
Orientação a Objetos e reaproveitamento de código.
Boas IDE’s para desenvolvimento como Eclipse e PhoneGap.
23
3.4. TOMCAT - SERVIDOR DE APLICAÇÃO
O Apache Tomcat é um contêiner Java e um Servidor Web ao mesmo tempo.
Ele suporta a execução das tecnologias Java Servelet e JavaServer Pages (JSP), o
que permite que o Java funcione para um ambiente web. (LUCKOW e MELO, 2012,
p. 33).
Utilizaremos neste projeto o Tomcat 6, em resumo, ele implementa as
especificações Servlet e JSP necessárias para o funcionamento do JavaServer
Faces.
3.5. BANCO DE DADOS MySQL
Para armazenar os lançamentos e dados do usuário será necessário um
Banco de Dados confiável que funcione em um Servidor Web, utilizaremos o
MySQL.
O MySQL é um sistema gerenciador de banco de dados relacional de código
aberto usado na maioria das aplicações gratuitas para gerir suas bases de
dados. O serviço utiliza a linguagem SQL (Structure Query Language –
Linguagem de Consulta Estruturada), que é a linguagem mais popular para
inserir, acessar e gerenciar o conteúdo armazenado num banco de dados.
(PISA. Acesso em 25 agosto 2013).
De acordo com a Oracle (MYSQL, 2013) e Luckow e Melo (LUCKOW, p. 63) o
MySQL é o banco de dados de código-fonte aberto mais popular do mundo e um
dos mais confiáveis.
3.6. HIBERNATE
O Hibernate é um Framework de Mapeamento Objeto Relacional (ou ORM –
Object Relational Mapping), será a camada responsável por gerenciar a persistência
dos dados entre Aplicação e o Banco de Dados, abaixo figura que demonstra a
arquitetura simplificada do Hibernate:
24
Fonte: LUCKOW, 2012, p. 123.
De acordo com a documentação oficial do Hibernate (HIBERNATE, 2013), em
breve resumo, o Hibernate transforma os dados de um objeto em uma linha de uma
tabela de um banco de dados, ou de forma inversa, com a transformação de uma
linha da tabela em um objeto da aplicação, exemplo na imagem abaixo:
Fonte: FERNANDES, 2007, p. 6.
FIGURA 7 - ARQUITETURA SIMPLIFICADA DO HIBERNATE
FIGURA 8 - EXEMPLO MOR HIBERNATE
25
3.7. WEB SERVICE
Web Services, são uma ótima prática para integração de sistemas. Seu uso é
cada vez maior e recorrente, já que atualmente o conceito de SOA (Service Oriented
Architecture) é a palavra da vez no setor de TI. (LUCKOW, 2012, p. 543).
Neste projeto será utilizado um Web Service para que os módulos Web e
Mobile sejam integrados e possam trocar informações, o Web Service utiliza para
troca de informações o formato eXtendable Markup Language, mais conhecido como
XML, segundo Reverbel (2006), é uma linguagem para representação de dados que
é extensível e naturalmente independente de plataforma.
A linguagem XML é amplamente difundida e utilizada na indústria de Software
tornando assim o uso de Web Services um padrão de mercado para integração de
sistemas.
Abaixo um exemplo de troca de informações através de um Web Service:
Fonte: DECOM
3.7.1. PROTOCOLO SOAP
Segundo Haddad (2013), Simple Object Access Protocol, mais conhecido
como SOAP é um protocolo padrão de comunicação baseado em XML utilizado em
Web Services, criado pela Microsoft, Ariba e IBM para padronizar a transferência de
dados em diversas aplicações.
FIGURA 9 - EXEMPLO REQUISIÇÃO E RESPOSTA WEBSERVICE
26
A seguir um exemplo da estrutura de uma mensagem SOAP:
FIGURA 10 - ESTRUTURA DE UMA MENSAGEM SOAP Fonte: OFICINA DA NET
Envelope – Toda mensagem deve contê-lo, é o elemento raiz do XML.
Header – Cabeçalho opcional, carrega informações adicionais do XML.
Body – Elemento obrigatório, contém a informação a ser transportada para o
destino (Payload), pode conter um elemento opcional denominado Fault ou
Falha, usado para carregar erros retornados pelos Web Services ao
processarem a mensagem XML.
QUADRO 1 - EXEMPLO ENVELOPE SOAP
27
4. DESENVOLVIMENTO E METODOLOGIA
Capítulo dedicado ao detalhamento referente à construção do aplicativo
proposto, destacando casos de uso dos módulos Web e Mobile, metodologias e
técnicas de desenvolvimento, modelagem do banco de dados do aplicativo e a
integração dos módulos utilizando Web Services.
4.1. ARTEFATOS – CASOS DE USO DO MÓDULO WEB
O módulo Web do aplicativo implementa os seguintes casos de uso:
Realizar Login: Recebe os dados do usuário (e-mail e senha) e efetua a
validação, liberando ou não acesso ao aplicativo.
Abaixo, diagrama de caso de uso demonstrando a realização do login:
FIGURA 11 - CASO DE USO REALIZAR LOGIN
CONTRATO:
Nome: Realizar login.
Ator Principal: Usuário.
Pré Condições: Possuir usuário e senha cadastrados e estar conectado à
internet.
Pós Condições: Login efetuado.
28
Realizar Cadastro: Disponibiliza uma interface com o formulário para que o
novo usuário possa se cadastrar informando seus dados pessoais, login,
senha e uma conta inicial.
Abaixo, diagrama de caso de uso demonstrando a realização do cadastro:
FIGURA 12 - CASO DE USO REALIZAR CADASTRO
CONTRATO:
Nome: Realizar cadastro.
Ator Principal: Usuário.
Pré Condições: Estar conectado à internet e não possuir e-mail já cadastrado
no sistema.
Pós Condições: Cadastro Realizado.
Manter Contas: Gerenciar e manter as contas cadastradas pelo usuário,
segue detalhes do caso de uso:
Listar Contas: Exibe uma lista com as contas que já foram
cadastradas pelo usuário.
Incluir Contas: Disponibiliza uma interface com o formulário para que
o usuário possa realizar a inclusão de uma nova conta.
Editar Contas: Disponibiliza os dados para edição de acordo com a
conta selecionada pelo usuário.
Remover Contas: Efetua a remoção de uma conta selecionada na lista
pelo usuário.
Emitir Relação de Contas: Efetua a emissão de documento com a
lista de contas cadastradas pelo usuário.
29
Abaixo, diagrama de caso de uso manter contas:
FIGURA 13 - CASO DE USO MANTER CONTAS
CONTRATO:
Nome: Manter Contas.
Ator Principal: Usuário.
Pré Condições: Estar conectado à internet, possuir usuário e senha
cadastrados e estar autenticado no aplicativo.
Pós Condições: Mostrar posição atualizada das contas.
Manter Categorias: Gerenciar e manter as categorias cadastradas pelo
usuário, segue detalhes do caso de uso:
Listar Categorias: Exibe as categorias de Despesas e Receitas
cadastradas pelo usuário.
Incluir Categoria: Disponibiliza uma interface com o formulário para
que o usuário possa realizar a inclusão de uma nova categoria.
Editar Categoria: Disponibiliza os dados para edição de acordo com a
categoria selecionada pelo usuário.
Remover Categoria: Efetua a remoção de uma categoria selecionada
pelo usuário.
30
Abaixo, diagrama de caso de uso manter categorias:
FIGURA 14 - CASO DE USO MANTER CATEGORIAS
CONTRATO:
Nome: Manter Categorias.
Ator Principal: Usuário.
Pré Condições: Estar conectado à internet, possuir usuário e senha
cadastrados e estar autenticado no aplicativo.
Pós Condições: Mostrar posição atualizada das categorias.
Manter Lançamentos: Gerenciar e manter os lançamentos efetuados pelo
usuário, segue detalhes do caso de uso:
Exibir Lançamentos: Exibe uma lista com os lançamentos efetuados
pelo usuário de acordo com a conta selecionada.
Incluir Lançamento: Disponibiliza uma interface com o formulário para
que o usuário possa realizar a inclusão de um novo lançamento.
Editar Lançamento: Disponibiliza os dados para edição de acordo
com o lançamento selecionado pelo usuário.
Remover Lançamento: Efetua a remoção de um lançamento
selecionado pelo usuário.
31
Emitir Relação de Lançamentos: Efetua a emissão de documento
com a lista de lançamentos efetuados pelo usuário.
Abaixo, diagrama de caso de uso manter lançamentos:
FIGURA 15 - CASO DE USO MANTER LANÇAMENTOS
CONTRATO:
Nome: Manter Lançamentos.
Ator Principal: Usuário.
Pré Condições: Estar conectado à internet, possuir usuário e senha
cadastrados e estar autenticado no aplicativo.
Pós Condições: Mostrar posição atualizada dos lançamentos.
32
4.2. ARTEFATOS – CASOS DE USO DO MÓDULO MOBILE
O módulo Mobile do aplicativo implementa os seguintes casos de uso:
Realizar Login: Recebe os dados do usuário (e-mail e senha) e efetua a
validação, liberando ou não acesso ao aplicativo.
Abaixo, diagrama de caso de uso demonstrando a realização do login:
FIGURA 16 - CASO DE USO REALIZAR LOGIN MOBILE
CONTRATO:
Nome: Realizar login.
Ator Principal: Usuário.
Ator de Suporte: WebService.
Pré Condições: Possuir usuário e senha cadastrados e estar conectado à
internet.
Pós Condições: Login efetuado.
Realizar Cadastro: Disponibiliza acesso ao formulário de cadastro através do
Browser do dispositivo móvel para que o novo usuário possa se cadastrar
informando seus dados pessoais, login, senha e uma conta inicial.
Abaixo, diagrama de caso de uso demonstrando a realização do cadastro:
33
FIGURA 17 - CASO DE USO REALIZAR CADASTRO MOBILE
CONTRATO:
Nome: Realizar cadastro.
Ator Principal: Usuário.
Ator de Suporte: Módulo Web.
Pré Condições: Estar conectado à internet, possuir um Browser instalado no
dispositivo móvel e não possuir e-mail já cadastrado no sistema.
Pós Condições: Realizar Login Mobile.
Listar Lançamentos: Efetua a consulta dos lançamentos tomando como
base o período do mês atual ou do mês indicado pelo usuário.
Abaixo, diagrama de caso de uso listar lançamentos:
FIGURA 18 - CASO DE USO LISTAR LANÇAMENTOS MOBILE
34
CONTRATO:
Nome: Listar lançamentos.
Ator Principal: Usuário.
Ator de Suporte: WebService.
Pré Condições: Estar conectado à internet e autenticado no aplicativo.
Pós Condições: Mostrar posição atualizada dos lançamentos.
Manter Lançamentos Mobile: Gerenciar e manter os lançamentos efetuados
pelo usuário no dispositivo móvel integrando com o módulo web.
Incluir Lançamento: Disponibiliza uma interface com o formulário para
que o usuário possa realizar a inclusão de um novo lançamento.
Editar Lançamento: Disponibiliza os dados para edição de acordo
com o lançamento selecionado pelo usuário.
Remover Lançamento: Efetua a remoção de um lançamento
selecionado pelo usuário.
Abaixo, diagrama de caso de uso manter lançamentos mobile:
FIGURA 19 - CASO DE USO MANTER LANÇAMENTOS MOBILE
CONTRATO:
Nome: Manter lançamentos mobile.
Ator Principal: Usuário.
Ator de Suporte: WebService.
Pré Condições: Estar conectado à internet e autenticado no aplicativo.
Pós Condições: Mostrar posição atualizada dos lançamentos.
35
Mostrar Saldos: Efetuar consulta de saldo através do WebService de acordo
com o período selecionado pelo usuário.
Abaixo, diagrama de caso de uso mostrar saldos:
FIGURA 20 - CASO DE USO MOSTRAR SALDOS
CONTRATO:
Nome: Mostrar Saldos.
Ator Principal: Usuário.
Ator de Suporte: WebService.
Pré Condições: Estar conectado à internet e autenticado no aplicativo.
Pós Condições: Mostrar posição atualizada dos lançamentos.
Realizar Operação WebService: Este é o caso de uso utilizado pelos demais
casos do módulo Mobile, este recebe os parâmetros informados pelos
métodos que utilizam este serviço e invoca os métodos correspondentes do
Web Service, trata o retorno e devolve um XML como resultado.
36
4.3. MODELAGEM DO BANCO DE DADOS RELACIONAL
O Diagrama de Entidade Relacional (ou DER) abaixo demonstra o desenho
conceitual do esquema de Banco de Dados que será utilizado no aplicativo e os
relacionamentos entre as tabelas:
Este modelo implementa todas as especificações JPA necessárias para
integração com a camada de persistência Hibernate e o servidor de Banco de Dados
MySQL.
FIGURA 21 - DER - DIAGRAMA DE ENTIDADE RELACIONAL
37
4.4. INTEGRAÇÃO DOS MÓDULOS WEB / MOBILE
Um dos pontos principais do aplicativo proposto é a integração dos módulos
Web e Mobile que neste caso serão executados em plataformas diferentes, esta
integração é realizada através de uma camada de acesso ao Web Service, esta
camada é responsável por enviar a requisição do serviço e os parâmetros
necessários ao Web Service e devolver o retorno obtido à função que originou esta
requisição.
A camada de acesso ao Web Service é composta por uma classe Java
chamada WebServiceCamada, responsável pela conexão com o serviço, envio de
chamadas de métodos e parâmetros e da devolução do XML que foi retornado do
Web Service.
Abaixo quadro com trecho do código para exemplificar uma chamada do
método execMetodo() da classe WebServiceCamada:
QUADRO 2 - CHAMADA DE MÉTODO DA CAMADA WEB SERVICE
O trecho de código contido na imagem acima demonstra como é feito para
invocar o método “getListaLancamentos” da classe WebServiceCamada, são
passados os parâmetros necessários e o nome do método, a classe
WebServiceCamada se encarrega de conectar no Web Service, passar os
parâmetros e o nome do método em um arquivo XML, receber uma resposta do Web
Service também em XML e devolver o resultado ao método da classe que solicitou
os dados.
38
5. VALIDAÇÃO DO PROJETO PROPOSTO
Capítulo dedicado a demonstrar a utilização do aplicativo proposto, onde o
usuário atua na realização dos casos de uso.
5.1. CADASTRO DE USUÁRIOS - WEB
Para realizar o login e ter acesso as ferramentas do aplicativo o usuário
precisa antes fazer o seu cadastro, como podemos ver na imagem 1, na página
inicial do aplicativo existe o botão “Registre-se”:
Ao clicar no botão “Registre-se” o navegador é redirecionado para a página
de registro onde o usuário informa seus dados pessoais, informações de conta, login
único que deseja utilizar e sua senha que deverá ser composta por caracteres
alfanuméricos, conforme especificado no caso de uso realizar cadastro e
demonstrado na imagem 2 .
IMAGEM 1 - CHAMADA CASO USO REALIZAR CADASTRO WEB
39
IMAGEM 2 - CADASTRO DE USUÁRIO WEB
5.2. REALIZAR LOGIN - WEB
Para realizar o login o usuário necessita estar previamente cadastrado, na
página inicial o usuário informa seu login e sua senha conforme especificado no
caso de uso realizar login e demonstrado na imagem 3.
IMAGEM 3 - REALIZAR LOGIN WEB
40
Caso ambos estejam corretos (login e senha), o aplicativo será redirecionado
para a página principal contendo um resumo dos lançamentos do usuário conforme
imagem 4.
IMAGEM 4 - PÁGINA PRINCIPAL WEB
Serão exibidos os lançamentos da conta cadastrada como principal, no caso
da imagem 4, por exemplo, estão sendo exibidos os lançamentos da conta principal
“Bradesco”, nesta página também é possível que o usuário efetue a chamada de
outros casos de uso do aplicativo como:
Manter contas
Manter categorias
Manter lançamentos
41
5.3. CADASTRO DE CONTAS - WEB
A página de Cadastro de Contas é onde o usuário realiza a gestão de suas
Contas para debitar os gastos, conforme caso de uso manter contas e demonstrado
abaixo na imagem 5, o usuário tem as opções de exibir contas cadastradas, incluir
conta, editar conta, remover conta, indicar conta como principal e emitir relatórios.
IMAGEM 5 - PÁGINA CADASTRO DE CONTAS
Nesta página também é possível que o usuário efetue a chamada de outros
casos de uso do aplicativo como:
Manter categorias
Manter lançamentos
42
5.4. CATEGORIAS - WEB
A página de Categorias é onde o usuário realiza a gestão das Categorias que
serão utilizadas nos lançamentos, conforme caso de uso manter categorias e
demonstrado abaixo na imagem 6, o usuário tem as opções de incluir, editar ou
remover categorias e subcategorias.
IMAGEM 6 - PÁGINA CATEGORIAS
Nesta página também é possível que o usuário efetue a chamada de outros
casos de uso do aplicativo como:
Manter contas
Manter lançamentos
43
5.5. LANÇAMENTOS - WEB
A página de Lançamentos é a principal do aplicativo proposto, ela implementa
o caso de uso manter lançamentos, como podemos ver abaixo na imagem 7, é onde
o usuário utilizando os parâmetros e as informações já lançadas em outras páginas
do aplicativo realiza diversas operações como inclusão de lançamentos, alteração de
lançamentos, remoção de lançamentos e exibição de lançamentos.
IMAGEM 7 - PÁGINA PRINCIPAL WEB
É possível também emitir relatórios em .PDF de acordo com o intervalo de
data informado pelo usuário, nesta página também é possível que o usuário efetue a
chamada de outros casos de uso do aplicativo como:
Manter contas
Manter categorias
44
5.6. REALIZAR LOGIN – MOBILE
Para realizar o login o usuário necessita estar previamente cadastrado, na
tela inicial do aplicativo o usuário informa seu login e sua senha conforme
especificado no caso de uso do módulo mobile realizar login e demonstrado abaixo
na imagem 8.
IMAGEM 8 - LOGIN MOBILE
Neste processo de autenticação, assim como todas as implementações dos
casos de uso móbile, os dados informados pelo usuário sempre serão validados
conforme regras de negócio definidas. Abaixo na imagem 9 é demonstrada a
situação em que o usuário informa dados inválidos para realização da autenticação.
45
IMAGEM 9 - ERRO LOGIN MOBILE
O Web Service é o responsável pelo processo de validação de dados e regras
de negócio, devolvendo ao aplicativo móbile o resultado da execução que por sua
vez encaminha o fluxo de execução do aplicativo para o próximo passo do caso de
uso.
5.7. REALIZAR CADASTRO – MOBILE
Na tela inicial do aplicativo também é possível efetuar uma chamada ao caso
de uso do módulo mobile realizar cadastro, clicando no botão Registrar-se é
disponibilizado o acesso ao formulário de cadastro do módulo web através do
Browser (Navegador de Internet) do próprio dispositivo móvel para que o novo
usuário informe seus dados, ao término do cadastro o Browser é fechado e a tela de
login do aplicativo é disponibilizada novamente. A seguir na imagem 10 é possível
visualizar o formulário do módulo web sendo acessado diretamente no Browser do
dispositivo.
46
IMAGEM 10 - FORMULÁRIO DE CADASTRO NO NAVEGADOR MOBILE
5.8. LISTAR LANÇAMENTOS – MOBILE
Após realizar o login o usuário terá acesso por padrão à listagem de Receitas
de acordo com o mês corrente no momento do acesso e a conta cadastrada como
principal, será disponibilizado também um menu em forma de abas com outras duas
opções de listagem que são as Despesas e os Saldos além de opções para alternar
entre contas cadastradas e alterar mês de visualização dos lançamentos, conforme
demonstra a imagem 11.
47
IMAGEM 11 - LISTAR LANÇAMENTOS MOBILE
5.9. INCLUIR LANÇAMENTO – MOBILE
A tela de Lançamentos é a principal do aplicativo proposto, ela implementa o
caso de uso do módulo mobile manter lançamentos que consiste em permitir que o
usuário possa realizar a inclusão de lançamentos de forma rápida e prática
atualizando instantaneamente os registros do banco de dados web.
Para incluir um lançamento o usuário através do menu de contexto do
aplicativo deve selecionar a opção “Adicionar Lançamento” conforme demonstrado a
seguir na imagem 12.
48
IMAGEM 12 - MENU CONTEXTO
Ao selecionar a opção “Adicionar Lançamento” no menu de contexto do
aplicativo, será realizada uma chamada ao Web Service afim de obter as contas e as
categorias cadastradas pelo usuário no módulo web para que seja montada a tela
onde o usuário informará os dados que irão compor o registro de lançamento,
indicando:
Data do lançamento (traz como padrão a data atual).
Conta para lançamento (traz como padrão a conta principal).
Lista de categorias de despesas e receitas.
Descrição do lançamento.
Valor do lançamento.
Na imagem a seguir (imagem 13), podemos visualizar a tela para adicionar
um novo lançamento.
49
IMAGEM 13 - NOVO LANÇAMENTO MOBILE
5.10. REMOVER OU EDITAR UM LANÇAMENTO - MOBILE
Para editar ou remover um lançamento, na lista de receitas ou despesas o
usuário deve manter pressionado o registro que deseja editar ou excluir até que
apareça uma janela pop-up conforme demonstrado na imagem 14.
IMAGEM 14 - POP-UP REMOVER OU EDITAR
50
Caso o usuário selecione a opção “Editar Lançamento” na janela pop-up
serão mostrados na tela os dados referentes ao registro selecionado para que o
usuário realize as alterações necessárias conforme demonstrado abaixo na imagem
15.
IMAGEM 15 - EDITAR LANÇAMENTO MOBILE
Após alterações o aplicativo retorna para a lista e mostra a posição atualizada
dos lançamentos.
Caso o usuário selecione na pop-up a opção de “Remover Lançamento” o
aplicativo solicita uma confirmação para que o registro selecionado seja removido, a
seguir podemos ver a imagem 16 que demonstra a tela de confirmação.
51
IMAGEM 16 - REMOVER LANÇAMENTO MOBILE
Após a remoção o aplicativo retorna para a lista e mostra a posição atualizada
dos lançamentos.
5.11. MOSTRAR SALDOS - MOBILE
Esta é a aba do aplicativo onde o usuário identifica se sua situação financeira
é favorável ou não com o intuito de informar se é um bom período para realizar uma
compra, são exibidas as informações de saldos totalizando as Receitas e as
Despesas do mês atual e do mês anterior ao atual, é possível também especificar
outro mês para visualizar os totalizadores. A seguir podemos ver a imagem 17 que
demonstra a tela de saldos.
52
IMAGEM 17 - MOSTRAR SALDOS MOBILE
5.12. AMBIENTE DE DESENVOLVIMENTO / TESTES
O aplicativo proposto foi desenvolvido em uma estação de trabalho Pentium
Dual Core com 1.90GHz e 4GB de memória RAM, para o desenvolvimento foram
utilizados as seguintes IDE’S e Ferramentas:
Eclipse Java EE IDE for Web Developers. Version: Indigo Service Release 1
Build id: 20110916-0149.
NetBeans IDE 7.2.1 (Build 201210100934).
PhoneGap 2.9.0 – Release 26 jun 2013.
MySQL Workbench 6.0.
Astah Professional 6.1 (Model Version: 32).
Adobe Fireworks CS3 Version 9.0.
Oracle VM Virtual Box Version 4.1.6.
53
Os testes do módulo Web do aplicativo foram realizados com o navegador
Google Chrome Versão 29.0.1547.66m e os testes do módulo Mobile foram
realizados com o celular LG E960 Google Nexus 4 com Android 4.3 Jelly Bean.
6. CONCLUSÃO
O aplicativo desenvolvido ao longo deste trabalho irá auxiliar o usuário no
controle e gestão de seus gastos, facilitando a administração de suas finanças
pessoais.
Através das tecnologias de sistemas de informação, foi possível desenvolver
este aplicativo, que de um modo dinâmico disponibiliza as informações referentes às
finanças do usuário.
A maior dificuldade na implementação deste projeto foi realizar a integração
entre os módulos web e mobile, se fazendo necessária a utilização de diversos
frameworks e metodologias SOA (Service Oriented Architecture).
De um modo geral, os resultados foram alcançados levando em consideração
que os dois módulos conversam entre si e disponibilizam as informações ao usuário
em tempo real, mantendo a integridade e confiabilidade da base de dados.
Para o futuro, a ideia é evoluir o módulo mobile migrando da linguagem de
programação Java para HTML 5, tornando o módulo portátil para outras plataformas
como IOS e Windows Phone, implementar um mini banco de dados no próprio
dispositivo móvel para que o aplicativo não seja dependente da internet a todo
momento ou seja, se o dispositivo móvel estiver sem internet durante o lançamento
os dados serão salvos no próprio dispositivo até que ele possua conexão com a
internet novamente para sincronizar com o banco de dados web, disponibilizar um
servidor de aplicação web robusto em nuvem e liberar o aplicativo na Apple Store e
Google Play para download, bem como buscar patrocinadores para o sistema.
54
7. REFERENCIAS BIBLIOGRÁFICAS
CAMPI, Mônica de. Uso de Smartphones dobra no Brasil, diz pesquisa.
Disponível em: < http://info.abril.com.br/noticias/mercado/uso-de-smartphone-dobra-
no-brasil-diz-pesquisa-23042013-5.shl >. Acesso em: 23 julho 2013.
ORACLE. Obtenha Informações sobre a Tecnologia Java. Disponível em:
< http://www.java.com/pt_BR/download/faq/helpful_concepts.xml >. Acesso em: 18
agosto 2013.
JAVA. Glossário de Conceitos e Definições Úteis Java. Disponível em: <
http://java.com/pt_BR/about/ >. Acesso em: 14 agosto 2013.
PESQUISA. Pesquisa Gerenciamento Financeiro Pessoal. Questionário
disponível em:
<https://docs.google.com/forms/d/1Q5Qo5x3fxPQCDrAf7ROrdpFBXZSf5XEg-
5vQfMi4Mms/viewform >. Disponibilizada em 21 abril de 2013:
RESPOSTAS. Respostas da Pesquisa Gerenciamento Financeiro Pessoal.
Disponível em:
<https://docs.google.com/forms/d/1Q5Qo5x3fxPQCDrAf7ROrdpFBXZSf5XEg-
5vQfMi4Mms/viewanalytics >. Acesso em: 18 agosto 2013.
LUCKOW. LUCKOW, Décio; MELO, Alexandre de; (2012). Programação JAVA
para web: Novatec Editora Ltda, 2012.
GLOBALCODE (2010). Apostila Academia Java Oracle: GlobalCode
Treinamentos.
DEVMEDIA. Camadas na arquitetura de referência Java EE. Disponível em:
<http://www.devmedia.com.br/camadas-na-arquitetura-de-referencia-javaee/6037>.
Acesso em: 24 agosto 2013.
55
CAELUM. Java para Desenvolvimento Web. Disponível em:
<http://www.caelum.com.br/apostila-java-web/>. Acesso em: 24 agosto 2013.
JCP. Community Development of Java Technology Specifications. Disponível
em: <http://www.jcp.org/en/jsr/detail?id=245>. Acesso em 25 agosto 2013.
MYSQL. O Banco de Dados de Código Aberto Mais Popular do Mundo. Disponível
em: < http://www.oracle.com/br/products/mysql/overview/index.html >. Acesso em 25
agosto 2013.
PISA, Pedro (2012). O que é e como usar o MySQL?. Disponível em: <
http://www.techtudo.com.br/artigos/noticia/2012/04/o-que-e-e-como-usar-o-
mysql.html>. Acesso em 25 agosto 2013.
FERNANDES. FERNANDES, Raphaela Galhardo; LIMA, Gleydson de A Ferreira.;
(2007). Hibernate com Anotações. Disponível em: <
http://www.futurepages.org/wiki/lib/exe/fetch.php?media=quickstart:hibernate_anotac
oes.pdf >. Acesso em 25 agosto 2013.
HIBERNATE. Hibernate Reference Documentation. Disponível em: <
http://www.hibernate.org/docs >. Acesso em 25 agosto 2013.
IBM. Ableson Frank (2009). Introdução ao Desenvolvimento Android. Disponível em:
< http://www.ibm.com/developerworks/br/library/os-android-devel/>. Acesso em 25
agosto 2013.
K19.; (2012). Apostila Desenvolvimento Mobile com Android. Disponível em:
<http://www.k19.com.br/downloads/apostilas/java/k19-k41-desenvolvimento-mobile-
com-android>. Acesso em 26 agosto 2013.
REVERBEL, Francisco. O que são Web Services. USP, São Paulo, maio 2006.
Disponível em: <http://www.ime.usp.br/~reverbel/SOD-06/trabalhos/fachadaws/
node2.html>. Acessado em: 25 agosto 2013.
56
DECOM. Análise De Desempenho E Bateria Em Aplicações Android: Estruturas
Em Web Service X Objetos Distribuídos. UFOP, Departamento de Computação,
agosto de 2012. Disponível em:< http://www.decom.ufop.br/imobilis/?p=1220>.
Acessado em 25 agosto 2013.
HADDAD, Renato. WEB SERVICES. Microsoft MSDN. Disponível em:<
http://msdn.microsoft.com/pt-br/library/cc564893.aspx>. Acessado em 25 agosto
2013.