CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA
PAULA SOUZA
FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA
CURSO SUPERIOR DE TECNOLOGIA EM BANCO DE DADOS
DIEGO RAFAEL PERIN HONORIO
ELCIO MANOEL DE SOUZA JUNIOR
DESENVOLVIMENTO DE UM PROTÓTIPO DE DISCO VIRTUAL
LINS/SP
1º SEMESTRE/2012
CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA
PAULA SOUZA
FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA
CURSO SUPERIOR DE TECNOLOGIA EM BANCO DE DADOS
DIEGO RAFAEL PERIN HONORIO
ELCIO MANOEL DE SOUZA JUNIOR
DESENVOLVIMENTO DE UM PROTÓTIPO DE DISCO VIRTUAL
Trabalho de Conclusão de Curso apresentado à
Faculdade de Tecnologia de Lins para obtenção
do Título de Tecnólogo em Banco de Dados.
Orientador: Prof. Me. Anderson Pazin
LINS/SP
1º SEMESTRE/2012
DEDICATÓRIA (Diego)
A minha mãe Cintia Raquel Perin e ao meu
padrastro
Marcos
Rogério
Bruno
por
sempre
acreditarem em minha capacidade. A todos que
passaram
pela
minha
vida
e
me
forneceram
experiência e principalmente aos meus amigos, Elcio
Manoel De Souza Junior e Antonio Perini Neto, por
sempre estarem presentes.
DEDICATÓRIA (Elcio)
A minha mãe Vânia Heloisa de Mello e a
minha avó Aurelina Santanna de Mello pelo incentivo
e por investirem em mim de maneira incondicional. Ao
meu pai Elcio Manoel de Souza e irmão Eric Samuel
Mello de Souza por me apoiarem.
AGRADECIMENTO
Nesta oportunidade em que é alcançada uma meta importante em nossas
vidas profissionais, queremos expressar os nossos sinceros agradecimentos ao
Professor Me. Anderson Pazin e Professor e Me. Mário Henrique de Souza Pardo
pelo apoio e ajuda tão necessária ao desenvolvimento e realização desse trabalho.
Queremos agradecer também ao Professor Me. Julio Fernando Lieira pelas
oportunidades e desafios que nos engrandeceram ao longo do período escolar na
faculdade e ao saudoso Professor Ygor Gonzaga de Oliveira pela amizade que nos
fortaleceu para chegarmos até aqui.
Aos nossos amigos professores que muito nos incentivaram.
“O único homem que nunca comete erros é aquele
que nunca faz coisa alguma. Não tenha medo de
errar, pois você aprenderá a não cometer duas
vezes o mesmo erro.”
Theodore Roosevelt
“Suba o primeiro degrau com fé. Não é necessário
que você veja toda a escada. Apenas dê o
primeiro passo.”
Martin Luther King
RESUMO
O presente trabalho inicia-se com considerações sobre a evolução da Internet nos
últimos tempos, fato que viabilizou a expansão da computação em nuvem (Cloud
Computing). Entre os vários serviços de Cloud Computing está o disco virtual ou
Cloud Storage, serviço cuja premissa é o armazenamento de arquivos na nuvem. O
objetivo deste trabalho é focar no desenvolvimento de um protótipo de disco virtual
para Faculdade de Tecnologia de Lins (FATEC), simulando um serviço de Cloud
Storage. Tal desenvolvimento justifica-se no fato de que a implementação de um
sistema próprio de disco virtual contribuiria para um possível aumento de
desempenho escolar dos discentes da Fatec de Lins. Para fundamentar o
conhecimento sobre esse tipo de serviço, realizou-se uma pesquisa de serviços
similares existentes, a fim de verificar funcionalidades e compará-las para
implantação no protótipo das que forem consideradas mais relevantes. Portanto, o
protótipo possui as funcionalidades mais interessantes, de acordo com os requisitos
necessários e coletados durante esse estudo. Os requisitos estão registrados no
trabalho, assim como os diagramas, constituindo a parte documental do protótipo. O
protótipo pronto é ilustrado e abordado ao final do trabalho, expondo as
funcionalidades desenvolvidas. Por fim, são descritas as conclusões que ilustram as
dificuldades de desenvolver um serviço web completo, e também, apresentam
possíveis ampliações, atualizações e idéias para fazer do protótipo criado, um
sistema completo. Isso tornaria viável a implantação e, consequentemente, o uso do
disco virtual em um ambiente real.
Palavras-chave: Disco virtual e Protótipo.
ABSTRACT
This work begins with considerations about the evolution of the Internet in recent
times, a fact that enabled the expansion of the Cloud Computing. Among the various
cloud computing services is the Virtual Disk or Cloud Storage service, whose premise
is the storage of files in the cloud. The objective of this study is to focus on
developing a prototype for Virtual Disk Lins College of Technology (FATEC),
simulating a Cloud Storage service. This development is justified by the fact that the
implementation of a proper system of Virtual Disk can contribute to an increase in
academic performance of students Fatec Lins. In support of knowledge about this
type of service, there was a survey of similar existing services in order to check
features and compare them to implement the prototype of which are considered most
relevant. Therefore, the prototype has the most interesting features according to the
requirements and collected during the trial. The requirements are stated in the
workplace, as well as diagrams, documents forming part of the prototype. The
prototype is ready illustrated and discussed at the end of work, showing the features
developed. Finally, the conclusions are described that illustrate the difficulties of
developing a complete web service and also have possible enhancements, updates
and ideas to create the prototype, a complete system. That would make feasible the
implementation and therefore the use of Virtual Disk in a real environment.
Keywords: Virtual Disk and prototype..
LISTA DE ILUSTRAÇÕES
Figura 1.1 - Usuários de Internet no Brasil ................................................................ 21
Figura 1.2 – Ativações de novas conexões ............................................................... 22
Figura 1.3 - Serviços de Cloud Storage .................................................................... 23
Figura 1.4- Classe Java ............................................................................................ 28
Figura 1.5 - Classe/Entidade Java ............................................................................ 29
Figura 1.6 - Exemplo de um Persistence.xml ............................................................ 30
Figura 1.7 - Site com certificado SSL ........................................................................ 32
Figura 1.8 - Site sem certificado SSL ........................................................................ 32
Figura 1.9 - Conexão SSL ......................................................................................... 33
Figura 1.10 - Modelo de Camadas com o SSL/TLS .................................................. 34
Figura 2.1 - Disco Virtual UOL................................................................................... 35
Figura 2.2 - Backup UOL ........................................................................................... 36
Figura 2.3 - Planos Backup UOL ............................................................................... 36
Figura 2.4 - Disco Virtual Terra ................................................................................. 37
Figura 2.5 - SkyDrive ................................................................................................. 38
Figura 2.6 - DropBox ................................................................................................. 39
Figura 2.7 - Arquivamento DropBox .......................................................................... 40
Figura 2.8 - Planos Ubuntu One ................................................................................ 41
Figura 2.9 - Aplicativo de Sincronização Ubuntu One ............................................... 41
Figura 2.10 - Aplicativo de Sincronização Mozy (Backup) ........................................ 43
Figura 2.11 - Backup Agendado ou Automático Mozy .............................................. 43
Figura 2.12 - Planos de serviço MozyHome .............................................................. 44
Figura 3.1 – Diagrama de Caso de Uso .................................................................... 50
Figura 3.2 - Diagrama de Classe............................................................................... 51
Figura 3.3 – Mapeamento para Modelo Relacional ................................................... 52
Figura 3.4 - Diagrama de Atividades - Efetuar Logon ............................................... 53
Figura 3.5 - MVC - Efetuar Logon ............................................................................. 53
Figura 3.6 - Diagrama de Sequência - Efetuar Logon (Administrador) ..................... 54
Figura 3.7 - Diagrama de Sequência - Efetuar Logon (Usuário) .............................. 54
Figura 3.8 - Diagrama de Atividades - Cadastrar Usuário ......................................... 55
Figura 3.9 - MVC - Cadastrar Usuário ....................................................................... 56
Figura 3.10 - Diagrama de Sequência - Cadastrar Usuário (Administrador) ............ 56
Figura 3.11 - Diagrama de Atividades - Excluir Usuário ............................................ 57
Figura 3.12 - MVC - Excluir Usuário .......................................................................... 57
Figura 3.13 - Diagrama de Sequência - Excluir Usuário .......................................... 58
Figura 3.14 - Diagrama de Atividades - Listar Usuários ............................................ 58
Figura 3.15 - MVC - Listar Usuários .......................................................................... 59
Figura 3.16 - Diagrama de Sequência - Listar Usuários ........................................... 59
Figura 3.17 - Diagrama de Atividades - Ativa Usuário(s) .......................................... 60
Figura 3.18 - MVC - Ativar Usuário ........................................................................... 61
Figura 3.19 - Diagrama de Sequência - Listar Usuários (Inativos) ........................... 61
Figura 3.20 - Diagrama de Atividades - Desativar Usuário(s) ................................... 62
Figura 3.21 - MVC - Desativar Usuário ..................................................................... 62
Figura 3.22 - Diagrama de Sequência - Listar Usuários (Ativos).............................. 63
Figura 3.23 - Diagramas de Atividades - Upload ....................................................... 64
Figura 3.24 - MVC - Upload....................................................................................... 64
Figura 3.25 - Diagrama de Sequência - Upload ....................................................... 65
Figura 3.26 - Diagramas de Atividades - Listar Arquivos .......................................... 65
Figura 3.27 - MVC - Listar Arquivos .......................................................................... 66
Figura 3.28 - Diagrama de Sequência - Listar Arquivos ........................................... 66
Figura 3.29 - Diagramas de Atividades - Download .................................................. 67
Figura 3.30 - MVC - Download .................................................................................. 67
Figura 3.31 - Diagrama de Sequência - Download................................................... 68
Figura 3.32 - Diagramas de Atividades - Excluir Arquivo .......................................... 68
Figura 3.33 - MVC - Excluir Arquivo .......................................................................... 69
Figura 3.34 - Diagrama de Sequência - Excluir Arquivo ........................................... 69
Figura 3.35 - Diagramas de Atividades - Cadastrar Curso ........................................ 70
Figura 3.36 - MVC - Cadastrar Curso ........................................................................ 71
Figura 3.37 - Diagrama de Sequência - Cadastrar Curso ........................................ 71
Figura 3.38 - Diagramas de Atividades - Excluir Curso ............................................. 72
Figura 3.39 - MVC - Excluir Cursos ........................................................................... 72
Figura 3.40 – Diagrama de Atividades – Excluir Curso ............................................. 73
Figura 3.41 - Diagramas de Atividades - Listar Curso ............................................... 74
Figura 3.42 - MVC - Listar Cursos ............................................................................. 74
Figura 3.43 – Diagrama de Atividades – Listar Cursos ............................................. 75
Figura 3.44 - Diagramas de Atividades - Alterar Senha ............................................ 75
Figura 3.45 - MVC - Alterar Senha ............................................................................ 76
Figura 3.46 - Diagrama de Sequência - Alterar Senha............................................. 76
Figura 4.1 - Home Page do Protótipo ........................................................................ 77
Figura 4.2 - Visão Cadastro Conta ............................................................................ 78
Figura 4.3 - Home Page do Administrador ................................................................ 79
Figura 4.4 - Visão Alterar Senha ............................................................................... 80
Figura 4.5 - Visão Cadastrar Curso ........................................................................... 81
Figura 4.6 - Visão Excluir Curso ................................................................................ 82
Figura 4.7 - Visão Excluir Conta ................................................................................ 83
Figura 4.8 - Visão Ativar Conta ................................................................................. 84
Figura 4.9 - Visão Desativar Conta ........................................................................... 85
Figura 4.10 - Visão Cadastro Conta Administrador ................................................... 86
Figura 4.11 - Home Page do Usuário ........................................................................ 87
Figura 4.12 - Visão Upload ........................................................................................ 88
Figura 4.13 - Visão Download ................................................................................... 89
LISTA DE QUADROS
Quadro 2.1 - Comparação entre as funcionalidades presentes nos Discos Virtuais
verificados ................................................................................................................. 44
Quadro 3.1 - Resumo dos envolvidos ....................................................................... 47
LISTA DE ABREVIAÇÕES E SIGLAS
AJAX - Asynchronous Javascript and XML
API - Aplication Programing Interface
BD - Banco de Dados
EUA - Estados Unidos da America
HD – HardDisk
HTML - HyperText Markup Language
HTTP - Hyper Text Transfer Protocol
HTTPS - Hyper Text Transfer Protocol Secure
IaaS - Infra-estrutura como serviço
IP - Internet Protocol
JDBC - Java Database Connectivity
JDK - Java Development Kit
JEE - Java Enterprise Edition
JME - Java Mobile Edition
JPA - Java Persistence API
JRE - Java Runtime Edition
JSE - Java Standard Edition
JSP - Java Server Pages
JVM - Java Virtual Machine
LDAP - Lightweight Directory Access Protocol
MB - Mega Byte
Mbps – Mega bits por segundo
ORM - Object Relational Mapping
SDK - Standard Development Kit
SO - Sistema Operacional
SQL - Structed Query Language
SSL - Secure Socket Layer
TB - Tera Byte
TCP - Transmission Control Protocol
TI – Tecnologia da Informação
TLS - Transport Layer Security
W3O - World Wide Web Organization
SUMÁRIO
1 CONCEITO DE DISCO VIRTUAL E TECNOLOGIAS ENVOLVIDAS
NO SEU DESENVOLVIMENTO ........................................................... 21
1.1 CLOUD STORAGE ........................................................................................... 22
1.2 DISCO VIRTUAL ............................................................................................... 23
1.3 TECNOLOGIAS................................................................................................. 24
1.3.1 Java ............................................................................................................... 24
1.3.2 Servlet ............................................................................................................ 25
1.3.3 Servlet container ............................................................................................ 26
1.3.4 JSP ................................................................................................................ 26
1.3.5 Jquery ............................................................................................................ 27
1.3.6 JPA ................................................................................................................ 27
1.3.7 HTTPS ........................................................................................................... 30
2 ANÁLISE DE MERCADO ................................................................ 35
2.1 DISCO VIRTUAL UOL ....................................................................................... 35
2.2 BACKUP UOL ................................................................................................... 36
2.3 DISCO VIRTUAL TERRA .................................................................................. 37
2.4 SKYDRIVE ........................................................................................................ 38
2.5 DROPBOX......................................................................................................... 39
2.6 UBUNTU ONE ................................................................................................... 40
2.7 MOZY ................................................................................................................ 42
3 ANÁLISE E PROJETO DO SISTEMA ARMAZÉM VIRTUAL ........... 46
3.1 INSTRUÇÃO DO PROBLEMA .......................................................................... 46
3.2 ANÁLISE DE MERCADO .................................................................................. 46
3.3 ATORES ENVOLVIDOS NO PROCESSO ........................................................ 47
3.4 DESCRIÇÃO DO AMBIENTE ATUAL ............................................................... 47
3.5 PERSPECTIVA DO PRODUTO (ANÁLISE DE MERCADO) ............................ 48
3.6 PREMISSAS E DEPENDÊNCIAS ..................................................................... 48
3.7 CARACTERÍSTICAS ......................................................................................... 48
3.7.1 Outros Requisitos do Produto ........................................................................ 49
3.8 ANÁLISE DE REQUISITOS FUNCIONAS ........................................................ 49
3.9 DIAGRAMA DE CASO DE USO........................................................................ 50
3.10 ESPECIFICAÇÕES DE HISTÓRIAS E DIAGRAMAS ....................................... 51
3.10.1 Diagrama de Classe ....................................................................................... 51
3.10.2 Mapeamento para Modelo Relacional e Projeto Físico .................................. 52
3.10.3 Efetuar Logon................................................................................................. 52
3.10.4 Manter Usuário............................................................................................... 54
3.10.5 Listar Usuários ............................................................................................... 58
3.10.6 Ativar Usuário................................................................................................. 60
3.10.7 Desativar Usuário........................................................................................... 61
3.10.8 Upload ............................................................................................................ 63
3.10.9 Listar Arquivos ............................................................................................... 65
3.10.10 Download ................................................................................................... 66
3.10.11 Excluir Arquivo ........................................................................................... 68
3.10.12 Manter Curso ............................................................................................. 70
3.10.13 Listar Cursos .............................................................................................. 73
3.10.14 Alterar Senha ............................................................................................. 75
3.10.15 Análise de Requisitos Não Funcionais ....................................................... 76
4 IMPLEMENTAÇÃO.......................................................................... 77
4.1 LAYOUTS DE TELAS ....................................................................................... 77
4.1.1 Home ............................................................................................................. 77
4.1.2 Interface de Cadastro de Conta ..................................................................... 77
4.1.3 Home Page do Administrador ........................................................................ 78
4.1.4 Interface de Alterar Senha ............................................................................. 79
4.1.5 Interface de Cadastrar Curso ......................................................................... 80
4.1.6 Interface de Exclusão de Curso ..................................................................... 81
4.1.7 Interface de Exclusão de Conta ..................................................................... 82
4.1.8 Interface de Ativar Contas .............................................................................. 83
4.1.9 Interface de Desativar Conta.......................................................................... 84
4.1.10 Interface de Cadastro de Conta do Administrador ......................................... 85
4.1.11 Home Page do Usuário .................................................................................. 86
4.1.12 Interface de Upload ........................................................................................ 87
4.1.13 Interface de Download ................................................................................... 88
CONCLUSÃO ....................................................................................... 90
REFERÊNCIAS BIBLIOGRÁFICAS ..................................................... 92
19
INTRODUÇÃO
Segundo Borges (2011), desde o seu surgimento, a Internet vem sendo
percussora de novos hábitos. À medida que sua evolução ocorre novos horizontes
são explorados. Uma das possibilidades viabilizadas é a armazenagem de arquivos
na nuvem (Internet). Este conceito é conhecido como Cloud Storage.
O Cloud Storage abrange qualquer serviço que, entre suas funções,
armazena arquivos na nuvem. Como por exemplo, o Youtube, que armazena e
reproduz vídeos, ou mesmo as redes sociais que permitem armazenar fotos, vídeos
e mensagens. (SHELLY; VERMAAT, 2010)
Todavia, um dos tipos de Cloud Storage mais difundidos é o disco virtual (ou
HD Virtual). Segundo Lima (2010), o disco virtual pode ser considerado um serviço
de armazenagem em disco via Internet, com ele uma empresa ou pessoa pode
armazenar todo o tipo de arquivos digitais.
A arquitetura da conexão com o disco virtual difere de acordo com a maneira
como é implementada, contudo, em geral conta com o cliente e o servidor. O cliente
é o computador que acessa o disco virtual e o servidor é o local, ou locais, onde são
armazenados os arquivos. A localização do cliente e do servidor é, absolutamente,
desprezível já que a conexão e comunicação dependem exclusivamente da Internet
(ou intranet). (EMC, 2009)
Segundo Lima (2010), sendo um tipo de Cloud Storage, o disco virtual se
encaixa no conceito de infra-estrutura como serviço (IaaS), um dos conceitos
utilizados na computação em nuvem que serviu de solavanco no surgimento de
empresas e novos negócios na Internet.
As características do disco virtual são: (MILLER, 2008)
Acessibilidade: Os arquivos podem ser acessados ou enviados de
qualquer computador com acesso a Internet.
Praticidade e alternativa de Backup: Os arquivos enviados para o disco
virtual não tem relação com determinado computador, assim, mesmo que
um disco rígido físico tenha algum problema de funcionamento, os
arquivos presentes no disco virtual permanecerão intactos.
Escalabilidade: O espaço disponível para armazenamento pode ser
estendido.
20
Este trabalho tem como premissa o desenvolvimento de um protótipo de disco
virtual cuja proposta é dar início a um futuro serviço (disco virtual) que será
disponibilizado aos alunos da Faculdade de Tecnologia (FATEC) de Lins.
O objetivo é estruturar um protótipo que, futuramente, se tornará um serviço
viável se comparado aos outros existentes. Para isso, são analisadas funções de
ferramentas já existentes, são desenvolvidas funcionalidades que moldam a
ferramenta de acordo com a proposta de uso e por fim o ambiente desenvolvido é
testado.
A justificativa deste trabalho se concentra na relevância da criação de um
disco virtual para FATEC de Lins desenvolvido e implantado por alunos e
professores da própria faculdade, o que facilita alterações ou mesmo, possíveis
manutenções.
O serviço facilita o manuseio de arquivos dos alunos, por permitir o acesso
mais prático a arquivos como trabalhos escolares, materiais para estudos entre
outros.
Todo o trabalho é subdividido em quatro capítulos, os quais formam a
estrutura do projeto e explanam a metodologia utilizada.
O capítulo um apresenta uma rápida contextualização do tema (disco virtual),
cujo foco está na razão do serviço estar em evidência, além de seus objetivos e
serviços semelhantes.
Além disso, são abordadas todas as tecnologias envolvidas na confecção do
protótipo. Há uma descrição de cada tecnologia, explicando qual a sua função.
O segundo capitulo descreve um estudo de mercado ou análise de mercado
acerca do tema proposto. Nesse momento, é detalhada a proposta de uso de vários
serviços, de disco virtual, existentes.
Na sequência, o terceiro apresenta os requisitos, informações e diagramas
que serviram de base para o desenvolvimento do protótipo proposto.
Ao final, o quarto aborda o protótipo pronto. Para exemplificar o
funcionamento, cada funcionalidade é ilustrada por meio de imagens com textos
explicando cada uma delas.
21
1 CONCEITO DE DISCO VIRTUAL E TECNOLOGIAS ENVOLVIDAS
NO SEU DESENVOLVIMENTO
Desde o seu surgimento, a Internet vem sendo percussora de novos hábitos.
É absolutamente evidente seu crescimento ao longo dos anos. O número de
usuários que acessam Internet (banda larga) em qualquer ambiente (domicílio, lan
house, trabalho, etc) também subiu. Segundo o Ibope (2011), só no Brasil mais de
73 milhões de pessoas têm acesso à rede mundial de computadores.
Figura 1.1 - Usuários de Internet no Brasil
Fonte: Personal, 09/08/2011
Desse total, segundo a TeleBrasil (2011), mais de 53 milhões correspondem a
acessos domiciliares, sendo 37,6 milhões em banda larga móvel e 16,3 milhões via
banda larga fixa.
“O ritmo de ativação de banda larga (domiciliar no Brasil) já é de mais de um
novo acesso por segundo”. (TELEBRASIL, 2011)
A figura 1.2 ilustra o ritmo mensal de ativação de novas conexões ao longo do
ano de 2011.
A velocidade de conexão a Internet também alcançou números bastante altos.
Segundo a Info (2011), em São Paulo é possível encontrar domicílios com planos de
banda larga de 20Mbps. No mundo a margem é muito maior. (LEAL; CRUZ, 2011)
Em 2010 a Coréia do Sul, país com maior velocidade média de conexão,
registrava 34,14Mbps em média de velocidade. (JORDÃO, 2010)
22
Figura 1.2 – Ativações de novas conexões
Fonte: TeleBrasil, 21/11/2011
Todas essas características e evoluções viabilizaram vários novos negócios e
serviços via Internet. Um desses serviços viabilizados, já há algum tempo e que
continua ganhando força, é o serviço de Cloud Storage.
1.1
CLOUD STORAGE
Armazenar arquivos é um dos conceitos básicos do computador. Ter um disco
rígido com bastante espaço para armazenar fotos, músicas e documentos sempre
foi um diferencial em um computador.
Entretanto, esta ideia está mudando um pouco de foco. A armazenagem física
(disco rígido) está cedendo espaço para a armazenagem virtual. Esta armazenagem
virtual também é conhecida como Cloud Storage (armazenagem na nuvem).
Cloud Storage se encaixa no conceito de Infra-Estrutura Como Serviço (IaaS),
que ganhou bastante força com o advento de um conceito mais amplo chamado
Cloud Computing (computação em nuvem). Cloud Computing é um conceito em que
todos os aplicativos e arquivos são armazenados em uma “nuvem”, que consiste em
milhares de computadores e servidores, todos interconectados e acessíveis via
Internet. (MILLER, 2008) O Cloud Storage, então, é um tipo de Cloud Computing.
O conceito Cloud Storage, abrange qualquer serviço que, entre suas funções,
armazena arquivos na nuvem. Como por exemplo, o Youtube que armazena e
23
reproduz vídeos ou mesmo as redes sociais que permitem armazenar fotos, vídeos
e mensagens. (SHELLY; VERMAAT, 2010)
Baseado nessa idéia é possível destacar os serviços de Cloud Storage.
Segundo Shelly; Vemaat (2010), alguns serviços fornecem armazenagem para tipos
específicos de arquivos como fotos (flickr), vídeos (youtube) e músicas. Entretanto
existe outro tipo de serviço bastante difundido cujo intuito é armazenar grandes ou
pequenas quantidades de arquivos sem se preocupar com o tipo, cuja premissa é o
armazenamento e às vezes, compartilhamento. Estes são conhecidos como Discos
Virtuais.
Figura 1.3 - Serviços de Cloud Storage
Fonte: Elaborado pelos autores
1.2
DISCO VIRTUAL
O disco virtual segue a mesma definição de Cloud Storage, ou seja, é um
serviço que armazena arquivos na nuvem. (SHELLY; VERMAAT, 2010)
As características do disco virtual são (MILLER, 2008):
Acessibilidade: Os arquivos podem ser acessados ou enviados de
qualquer computador com acesso a Internet.
Praticidade e alternativa de Backup: Os arquivos enviados para o disco
virtual não tem relação com determinado computador, assim, mesmo que
um disco rígido físico tenha algum problema de funcionamento, os
arquivos presentes no disco virtual permanecerão intactos.
24
Escalabilidade: O espaço disponível para armazenamento pode ser
estendido.
Portanto, o serviço permite a gravação de arquivos na nuvem.
Por exemplo, supondo que um determinado usuário deseje armazenar
arquivos para que possam ser acessados em outro computador, para ter uma cópia
de segurança ou para compartilhá-lo com outrem, o usuário tem a opção de gravar,
via Internet, o arquivo em um disco virtual. Este serviço será um intermediário
(interface) entre o computador do usuário (cliente) e os servidores (nuvem) pra onde
será enviado o arquivo. Então, usando um computador com acesso a Internet, o
arquivo poderá ser acessado de qualquer lugar.
1.3
TECNOLOGIAS
Para construção de um disco virtual, diferentes tecnologias podem ser
utilizadas. Este trabalho é desenvolvido em tecnologias baseadas fundamentalmente
em Java.
1.3.1 Java
A tecnologia Java começou a ser criada em 1991 com o nome de Green
Project. Ela passou por grandes evoluções e nomenclaturas até que em 1995 a
tecnologia é finalmente e oficialmente lançada. Várias empresas apóiam o
desenvolvimento do Java o que permite, entre outras coisas, que esta seja
completamente gratuita ao usuário, desenvolvedor e afins. (PAMPLONA, 2009)
A Java possui muitas edições, sendo as principais (PAMPLONA, 2009):
Java Standard Edition (JSE): É a tecnologia Java para computadores
pessoais, notebooks e arquiteturas com poder de processamento e
memória consideráveis. O Java Development Kit (JDK) ou Standard
Development Kit (SDK) é um conjunto para desenvolvimento em Java e
deveria
ser
instalado
apenas
pelos
desenvolvedores
por
possuir
25
ferramentas para tal tarefa. O Java Runtime Edition (JRE) é uma versão
mais leve da JDK, pois é preparada para o ambiente de execução, ou seja,
é esta versão que executará os sistemas construídos com a SDK.
Java Mobile Edition (JME): É a tecnologia Java para dispositivos móveis
com limitações de memória ou processamento. Possui Aplication
Programing Interfaces (APIs) bem simples e leves para economizar
espaço, memória e processamento. São utilizadas para sistemas em
celulares, palm tops, pocket pcs, smartphones, javacards e demais
dispositivos.
Java Enterprise Edition (JEE): É a tecnologia Java para aplicações
corporativas que podem estar na Internet ou não. Possui um grande
número de APIs onde a segurança é a principal preocupação. É ideal para
a construção de servidores de aplicação, integração de sistemas ou
distribuição de serviços para terceiros.
A Java é multiplataforma. Quando um programa Java é compilado um código
intermediário é gerado, chamado de bytecode. Este bytecode é interpretado pelas
Máquinas Virtuais Java (JVMs) para a maioria dos sistemas operacionais. A
máquina virtual é a responsável por criar um ambiente multiplataforma, ou seja, se
alguém construir um sistema operacional novo, basta criar uma máquina virtual Java
que traduza os bytecodes para código nativo. (PAMPLONA, 2009)
A linguagem de programação Java é utilizada na construção deste protótipo
de disco virtual, sendo ele acessado via browser. As tecnologias baseadas em Java
voltadas para web também. Tecnologias estas listadas a seguir: Servlet, JSP,
JQuery e JPA. E também, mas não menos importante, o protocolo HTTPS para
comunicação entre aplicações.
1.3.2 Servlet
Segundo Harbourne-Thomas (2004), “Servlets são classes JAVA que
processam dinamicamente as requisições e constroem respostas”. Nesse caso as
requisições partem geralmente de uma aplicação web (cliente) via protocolo Hyper
26
Text Transport Protocol (HTTP) caso o servlet também use o HTTP como protocolo
de comunicação).
Um Servlet possui um ciclo de vida, ou seja, um período marcado pela sua
inicialização cujo responsável é o Servlet container, processamento de requisições
enviadas pelo cliente, resposta ao cliente e finalmente sua destruição pelo Servlet
container. (Harbourne-Thomas, 2004).
1.3.3 Servlet container
O Servlet container é o responsável por fazer com que a página chegue até o
Servlet. É uma ferramenta responsável por gerenciar as requisições do cliente e o
ciclo de vida de um servlet, comunicação com o servlet e entregar a resposta ao
processo requisitante (cliente).
O Servlet container pode ser definido como um servidor onde são instalados
Servlets para tratar as requisições, ou seja, um container de servlets. (COUTINHO,
2002)
São exemplos de servlet container: o Apache Tomcat, JBOSS e Glassfish.
1.3.4 JSP
O Java Server Pages ou JSP tem por objetivo o desenvolvimento de páginas
web dinâmicas de forma mais prática. Com essa ferramenta é possível misturar o
código Java junto ao documento HTML, dinamizando a programação.
Na teoria não existe diferenças entre o JSP e o Servlet, mas na prática
algumas podem observadas: JSP facilita a manutenção, JSP dá acesso completo às
servlets e à tecnologia Java para a parte dinâmica, em vez de solicitar o uso de
outra linguagem de programação e JSP é amplamente suportado, portanto, não é
ligado a nenhum sistema operacional em particular ou a um servidor Web, isto
porque existe uma API padrão para JSP e pelo fato deste gerar um bytecode que
pode ser compilado em qualquer plataforma que aceite uma máquina virtual Java.
(PITTELA, 2009)
27
1.3.5 Jquery
As tecnologias citadas até agora são todas embasadas no servidor, este é o
principal responsável pelo funcionamento das mesmas.
No lado do cliente também é possível criar instruções para estilizar e
dinamizar a página web. Para isso, pode-se utilizar varias tecnologias entre elas o
JavaScript, uma linguagem que nos provê dinamismo na implementação de paginas
web. (ALVAREZ, 2004)
Contudo, uma nova biblioteca embasada no JavaScript foi desenvolvida, o
JQuery. Esta biblioteca abstrai muito da linguagem Java Script tornando-a mais
prática e fácil de implementar. (CARVALHO, 2010)
É importante observar que tanto o JQuery quanto o Java Script, por serem
executados no lado do cliente, dependem da capacidade de processamento do
navegador e computador, mas só o JQuery é indiferente quanto à capacidade de
renderização do mesmo, sendo assim, compatível com qualquer navegador em suas
versões mais recentes.
1.3.6 JPA
Para explicar o que é Java Persistence API (JPA) se faz necessário uma rápida
avaliação de seu antecessor, o JDBC.
Java Database Connectivity ou JDBC é um conjunto de classes ou uma
Interface de Programação de Aplicação (API) escritas em Java que realiza o envio
de instruções SQL para qualquer banco de dados relacional. A tecnologia é
fortemente dependente de SQL, oferecendo aos desenvolvedores a chance de
escrever consultas e instruções de manipulação de dados na linguagem do banco
de dados, mas executados e processados por meio de um modelo de programação
Java. (KEITH; SCHINCARIOL, 2009)
No entanto, os desenvolvedores, de modo geral, pensavam que poderia haver
28
uma maneira automática de converter tabelas de um banco de dados relacional em
uma
classe,
já
que
visivelmente,
ambas
eram
bastante
parecidas.
O
amadurecimento dessa ideia,e de outras tecnologias, proporcionou o advento do
JPA. (KEITH; SCHINCARIOL, 2009)
O JPA é um framework de persistência de dados derivado do JDBC, baseado
no conceito de mapeamento objeto-relacional para objetos Java. (KEITH;
SCHINCARIOL, 2009)
Segundo Keith; Schincariol (2009), Mapeamento Objeto-Relacional (ORM) é a
técnica de fazer a ponte entre o modelo de objeto (do JAVA) e o modelo relacional
do banco de dados. A técnica engloba desde o mapeamento entre campos da tabela
no banco de dados e os atributos de um objeto, até uma consulta através dos
objetos (sem usar instruções SQL na programação em si, somente programação
orientada a objetos).
Na prática para implementar o JPA, as aplicações devem ser escritas com o
uso de classes Java, como na figura 1.4. A classe terá o mesmo nome de uma
tabela presente no banco de dados relacional. No fim, a classe criada se assemelha
a uma classe Java Beans, com atributos e métodos de get e set. (KEITH;
SCHINCARIOL, 2009)
Figura 1.4- Classe Java
Fonte: Elaborado pelos autores
29
Para conectar esta classe a uma tabela do banco de dados é preciso inserir a
marcação @Entity, isto indica que a classe é uma entidade (tabela) do banco de
dados. É necessário também inserir um @id. Esta marcação estabelece a relação
entre o atributo id da classe e a chave primária do banco de dados. (KEITH;
SCHINCARIOL, 2009)
O resultado pode ser visto na figura 1.5.
Figura 1.5 - Classe/Entidade Java
Fonte: Elaborado pelos autores
A lógica de conexão com o banco de dados e outros parâmetros importantes
de implementação do JPA estão presentes no arquivo Persistence.xml. A figura 1.6
demonstra
uma
estrutura
simples
do
arquivo
Persistence.xml.
(KEITH;
SCHINCARIOL, 2009)
Na estrutura do Persistence.xml estão presentes, na tag <properties>, o
driver, url, usuário e senha do banco de dados. Além do caminho até a classeentidade na tag <class>.
É importante citar que os métodos responsáveis por todos os processos de
persistência no banco de dados, além da conexão com o mesmo, provém da classe
EntityManager, responsável por gerenciar a conexão e persistência.
Neste trabalho a tecnologia JPA será utilizado no processo de criação das
classes modelo do protótipo. Isso porque o modelo relacional elaborado no BD será
importado na forma de classe Java.
30
Figura 1.6 - Exemplo de um Persistence.xml
Fonte: Pro JPA 2: mastering the Java™ Persistence API, p. 31
1.3.7 HTTPS
Em comunicações entre cliente e servidor é costumeiramente usado o
protocolo Hyper Text Transport Protocol (HTTP). Este especifica como browsers e
servidores web gerenciam a enxurrada de pedidos e respostas que ocorrem
enquanto um usuário da web está navegando na Internet. (HEATON, 2007)
Entretanto o HTTP não é um protocolo seguro, já que o mesmo não
criptografa os dados transmitidos. Para serviços web comuns esta situação é
aceitável. No entanto, quando se trata de dados sigilosos, esta se torna uma
condição insegura, já que, caso as informações ou pacotes sejam interceptadas
durante o tráfego, as mesmas estarão visíveis, como por exemplo, senhas de
usuários de um banco. (HEATON, 2007)
31
Para sanar este problema, um novo protocolo foi colocado em uso para
gerenciar solicitações e repostas entre servidor e cliente, o protocolo Hypertext
Transfer Protocol Secure (HTTPS).
O HTTPS, assim como o HTTP, utiliza soquetes para estabelecer
comunicação entre aplicações cliente/servidor. No entanto, ele usa um tipo especial
de soquete chamado soquete seguro. Os soquetes seguros são implementados
usando o protocolo Secure Socket Layer (SSL), que com o tempo evoluiu para
Transport Layer Security (TLS). O protocolo SSL/TLS será abordado no tópico
1.3.7.1.
Com isso, o HTTPS proporciona maior segurança e um exemplo disso é que
as informações trafegadas entre cliente e servidor estão todas criptografadas. Ao
digitar um número de cartão de crédito em um site, a intenção é que apenas o site
tenha acesso a essa informação. Contudo, esses dados podem viajar através de um
número de hosts diferentes antes de finalmente chegar ao servidor web de destino o
que pode ocasionar possíveis ataques de hackers buscando capturar pacotes.
Ao criptografar os pacotes que estão sendo trocados entre o cliente e o
servidor web, o problema de pacotes sendo interceptados diminui. Se alguém
interceptar o pacote, será criptografado. (HEATON, 2007)
Outro exemplo de recursos proporcionados pelo HTTPS é a verificação do
servidor através do certificado SSL. Sites construídos sobre o protocolo SSL, no qual
HTTPS se baseia, precisam ter um certificado SSL emitido por sites responsáveis
por esse serviço (exemplo, www.verisign.com). Quando o certificado é enviado para
o servidor, a empresa ,que emitiu, verifica o IP do dominio do site HTTPS e associa
um ao outro (IP e domínio). (HEATON, 2007)
Assim sendo, ao acessar o site HTTPS, o navegador verificará junto a
empresa que emitiu o certificado se o dominio corresponde ao IP. Caso esteja tudo
correto, a conexão com o site é permitida.
Esta prática evita que o cliente seja enviado para sites maliciosos ao tentar
acessar um dominio que foi direcionado para um IP que não corresponde ao que
está no certificado. Tal prerrogativa converge, geralmente, a sites hackeados.
(HEATON, 2007)
É importante frisar que o protocolo SSL/TLS é o responsável por essa rotina
de verificações. As figuras 1.7 e 1.8 mostram, respectivamente, um exemplo de site
que possui o certificado SSL e outro que não possui.
32
Figura 1.7 - Site com certificado SSL
Fonte: Santander Net, Acesso em: 24 mar. 2012
Figura 1.8 - Site sem certificado SSL
Fonte: Verisign, Acesso em: 24 mar. 2012
1.3.7.1 SSL/TLS
Desenvolvida pela World Wide Web Organization (W3O) o Secure Socket
Layer (SSL) e sua evolução o Transport Layer Security (TLS) tem como objetivo a
segurança por meio de criptografia, a interoperabilidade, a extensabilidade e a
eficiência. (COSTA; COSTA; DUARTE, 2010)
33
Isso quer dizer que este protocolo é capaz de estabelecer uma conexão
segura entre dois hosts, um canal de comunicação criptografada. (COSTA; COSTA;
DUARTE, 2010)
Esta conexão acontece após a troca de informação em que ambos, cliente e
servidor, definem a versão do protocolo, o identificador da sessão, o conjunto de
códigos para encriptação e o método de compressão. A figura 1.9 demonstra os
passos para uma conexão SSL/TLS.
Figura 1.9 - Conexão SSL
Fonte: SSL and TLS Essentials, 2000, pág. 51
O protocolo SSL/TLS se situa entre as camadas de Aplicação e Transporte,
(conforme figura 1.10). Ele encapsula os protocolos de aplicação como o HTTP, e
trabalha em cima de um protocolo de Transporte como o Transmission Control
Protocol (TCP). (COSTA; COSTA; DUARTE, 2010)
É interessante citar que, ao usar HTTPS, nada é alterado no HTTP, o que
ocorre é que uma nova camada, (o SSL/TLS) responsável pela segurança da
comunicação, é inserida entre as camadas de aplicação e de Transporte.
34
Figura 1.10 - Modelo de Camadas com o SSL/TLS
Fonte: GTA/UFRJ, Acesso em: 24 mar. 2012
35
2 ANÁLISE DE MERCADO
Atualmente, são vários os exemplos de Discos Virtuais a disposição na
Internet. Entre eles, para efeitos de comparação, vale citar: disco virtual UOL, disco
virtual Terra, Skydrive da Microsoft, Dropbox, Ubuntu One da Canonical e Mozy da
VMWare.
2.1
DISCO VIRTUAL UOL
O UOL fornece para seus assinantes um serviço de armazenagem online que
já foi bastante utilizado há algum tempo atrás. Isso porque seu serviço atualmente é
inviável devido ao seu espaço de armazenamento e valores se comparado a outras
ferramentas atuais. Para utilizá-lo é necessário ser assinante, o que tem um custo
mínimo de R$9,90 (para não assinantes se tornarem assinantes), e são liberados no
máximo 150 MB de espaço online para arquivos. O serviço conta com todas as
ferramentas básicas de um disco virtual.
A Figura 2.1 ilustra o disco virtual UOL.
Figura 2.1 - Disco Virtual UOL
Fonte: UOL Disco Virtual, Acesso em: 14/11/2011
36
2.2
BACKUP UOL
O UOL desenvolveu uma nova ferramenta de armazenagem online, o UOL
Backup. Ao comparar o layout do disco virtual UOL com a Backup UOL pode-se
notar um avanço bastante grande, mas não fica só na estética a diferença.
A Figura 2.2 ilustra o Backup UOL.
Figura 2.2 - Backup UOL
Fonte: UOL Backup, Acesso em: 14/11/2011
O serviço disponibiliza planos de um GB (R$ 19,90) a 100 GB (R$ 129,90) de
espaço para armazenamento todos (planos) possuem mensalidades, conforme
figura 2.3.
Figura 2.3 - Planos Backup UOL
Fonte: Backup UOL, Acesso em: 02/06/2012
37
Seu maior diferencial é permitir que os arquivos sejam salvos de maneira
agendada. O usuário define quais as pastas que ele deseja armazenar, então, define
os períodos de tempo para armazenar as pastas do computador no servidor online,
e então, sempre que esse período se passar, as pastas escolhidas são enviadas aos
servidores. É importante ressaltar que para esta função funcionar é necessário que o
computador esteja conectado a Internet.
A Ferramenta Backup UOL realiza todas as tarefas costumeiras de um disco
virtual, portanto, é possível, realizar upload, download, compartilhar pastas entre
usuários, além de permitir editar imagens e possuir um layout prático e funcional.
2.3
DISCO VIRTUAL TERRA
Outra Ferramenta que já está no mercado há algum tempo é o disco virtual
Terra. Neste serviço, assim como o serviço do UOL, o usuário tem de fazer
pagamentos mensais (R$ 5,90 de acordo com o teste praticado pelos autores deste
trabalho) para usufruir de dois GB de espaço. As funcionalidades são as padrões
dentro do conceito de um disco virtual (upload, download, criar, renomear, deletar e
compartilhar pastas).
A Figura 2.4 ilustra o disco virtual Terra.
Figura 2.4 - Disco Virtual Terra
Fonte: TERRA, Acesso em: 14/11/2011
38
2.4
SKYDRIVE
O SkyDrive da Microsoft faz parte de uma nova geração de Discos Virtuais. O
serviço é gratuito sendo somente necessário uma conta Hotmail (que também é
gratuita) e são disponibilizados 7 GB de espaço online, que pode ser ampliado para
25GB por tempo limitado. Além de possuir todas as funcionalidades padrão de um
disco virtual, o SkyDrive permite sincronizar uma pasta do computador, para que
esta possa ser vista de qualquer outro computador com acesso a Internet via
SkyDrive. O serviço também conta com algumas ferramentas do pacote Office da
Microsoft.
A Figura 2.5 ilustra o SkyDrive.
Figura 2.5 - SkyDrive
Fonte: HOTMAIL, Acesso em: 14/11/2011
O serviço possui ferramenta própria que cria slides com fotos armazenadas e
permite o envio de arquivos com no máximo 100 MB. Possui também planos de
ampliação de 20GB (R$19,00 por ano), 50GB (R$46,00 por ano) e 100GB (R$93,00
por ano), e ao contratar um dos planos, o espaço adquirido é somado aos 7GB da
versão gratuita. Por exemplo, na compra do plano de 20GB, o espaço total seria de
27GB.
Trata-se de uma ferramenta amplamente difundida nos setores da Educação
sendo usada pelos alunos do Centro Paula Souza e também, repassadas por órgãos
39
da educação para responsáveis em Diretorias de Ensino a fim de ser colocado em
uso no dia-a-dia. Entretanto, existem vários relatos, em fóruns, de usuários que
perderam arquivos que estavam salvos no Skydrive, além do layout do mesmo ser
similar ao o ambiente do Windows Live, já que o Skydrive é um componente do Live.
2.5
DROPBOX
O DropBox é um serviço desenvolvido em Python, Linguagem de
Programação Orientada a Objetos usada principalmente no desenvolvimento de
softwares e aplicativos web. O serviço tem seu gerenciamento todo na Internet via
browser, e é em inglês. Para usar de todos seus recursos é preciso baixar um
aplicativo que permite sincronizar uma pasta com o serviço online para realizar
backups.
A Figura 2.6 ilustra uma das telas do DropBox.
Figura 2.6 - DropBox
Fonte: DROPBOX, Acesso em: 14/11/2011
O serviço é gratuito em seu plano de dois GB (client), mas pode ser estendido
até um TB em um plano team (mínimo de US$ 795,00 para cinco usuários), ou 100
GB (US$ 19,99) no plano client mediante pagamento de mensalidade. Possui um
sistema de aumento de espaço por indicação amigos, o qual disponibiliza mais
espaço para armazenamento a cada amigo indicado que passa a usar o serviço. O
40
Dropbox guarda versões do mesmo arquivo por até 30 dias, assim, caso o usuário,
por acidente, apague um arquivo online, existe a possibilidade de recuperação.
Apesar de não possuir uma versão em português, o DropBox é bastante
citado em revistas e sites brasileiros pela sua compatibilidade com vários Sistemas
Operacionais, inclusive dispositivos móveis e pela sua flexibilidade.
A Figura 2.7 ilustra o Arquivamento DropBox.
Figura 2.7 - Arquivamento DropBox
Fonte: DROPBOX, Acesso em: 02/06/2012
2.6
UBUNTU ONE
Se nos dias de hoje, o usuário busca um disco virtual com o máximo espaço
de armazenamento e com o menor preço, o Ubuntu One pode ser uma alternativa. O
serviço em sua versão gratuita libera cinco GB de espaço. Mediante o pagamento de
US$ 3,99 (dólares) ao mês, são liberados 20 GB de espaço, além da possibilidade
de ouvir musicas no próprio Ubuntu One via streaming, ou seja, o usuário faz o
upload das músicas e depois o mesmo pode ouvir online em qualquer computador
que suporte o Ubuntu One (inclusive dispositivos móveis). Também é possível
estender em blocos de 20 GB com adicionais de US$2,99 para cada bloco.
A Figura 2.8 ilustra os planos e preços do Ubuntu One.
41
Figura 2.8 - Planos Ubuntu One
Fonte: UBUNTU ONE, Acesso em: 14/11/2011
O serviço possui todas as ferramentas padrões de disco virtual, e seu
gerenciamento é via browser, mas para usar a ferramenta de sincronização de
pastas do computador é preciso baixar o aplicativo que está disponível para
Windows, MAC (MacOS), Linux Ubuntu (neste vem pré instalado desde a versão
9.04), Android, Iphone (iOS) e Ipad (iOS). Com essa ferramenta é possível
sincronizar uma ou mais pastas do computador com o serviço, de modo que todo
arquivo gravado nesta pasta (seja via browser em qualquer computador ou na pasta
do computador de origem) passa a ser sincronizada, criando uma versão do arquivo
no Ubuntu One e na pasta de origem.
A Figura 2.9 ilustra o aplicativo de sincronização Ubuntu One.
Figura 2.9 - Aplicativo de Sincronização Ubuntu One
Fonte: UBUNTU ONE, Acesso em: 14/11/2011
42
Ao comparar o Ubuntu One, com um serviço brasileiro, o Backup UOL, o
custo é visivelmente diferente. Ao passo que o Backup UOL tem um custo de R$
14,90 mensais no plano de um GB o Ubuntu One custa US$ 3,99, algo em torno de
R$ 8,00 (cotação do dólar comercial no período de conclusão deste trabalho), em
seu plano de 20 GB. Isso acontece em função da tecnologia estar mais avançada
nos EUA e também em função do Ubuntu One ter sido desenvolvido pela Canonical,
grupo sul africano que é responsável pelo desenvolvimento de um sistema
operacional Linux, o Ubuntu, e portanto, um grupo que não visa o lucro. Tudo o que
o Ubuntu One gera de receita é revertido para o desenvolvimento ou do Ubuntu One
ou do sistema operacional Ubuntu.
Assim como o DropBox, o Ubuntu One foi construído usando o Python e já
ultrapassou a marca de um milhão de usuários. Pode ser considerado um dos
maiores (em termos de número de usuários) serviços de disco virtual da atualidade.
2.7
MOZY
Se comparado aos concorrentes citados neste trabalho, o Mozy não é tão
divulgado no Brasil por veículos de comunicação, entretanto, na Internet, muitos
usuários relatam em blogs e sites que usam o serviço. O mesmo tem algumas
ferramentas diferentes dos concorrentes. O upload e download, por exemplo, não
estão evidentes, mas podem ser substituídos por backup e restaurar arquivos,
respectivamente. A Figura 2.10 ilustra o aplicativo de sincronização Mozy.
O gerenciamento é realizado via browser (em inglês), e assim como seus
concorrentes de mercado pode ser integrado ao sistema operacional a partir do
momento que o usuário instala seu aplicativo, com o qual o mesmo escolhe quais
pastas serão armazenadas e também, opera como gerenciador do disco virtual (em
português). Contudo, o usuário define quando os arquivos vão ser salvos
(agendamento ou ao desligar ou ligar o computador), conforme figura 2.11, função
também encontrada no Backup UOL. Os arquivos copiados (backup) são
criptografados e enviados a servidores localizados em salas cofres nos EUA. O
serviço também permite fazer backup dos arquivos do computador para uma
unidade física (HD).
43
Figura 2.10 - Aplicativo de Sincronização Mozy (Backup)
Fonte: MOZY, Acesso em: 14/11/2011
O serviço funciona em background (o usuário não o vê funcionando;
funcionamento em segundo plano). O Mozy possibilita o gerenciamento da banda de
Internet e de processamento utilizado por ele mesmo. A Figura 2.11 ilustra o Backup
agendado ou automático Mozy.
Figura 2.11 - Backup Agendado ou Automático Mozy
Fonte: MOZY, Acesso em: 14/11/2011
O serviço traz várias opções pré configuráveis, tais como: backup dos emails,
navegadores, arquivos do sistema, área de trabalho, documentos, pastas, entre
outros.
Apoiado pela VMWARE - conhecida principalmente por desenvolver
máquinas virtuais, software que permite a instalação de um ou mais sistemas
operacionais dentro de outro já existente no computador - e EMC² - grande expoente
em computação em nuvem e segurança de TI -, o Mozy em seu plano gratuito
44
(MozyHome) disponibiliza dois GB de espaço online, podendo ser estendido para 50
GB (US$ 5,99/mês para um computador) ou 125 GB (US$ 9,99/mês para três
computadores) e para adicionar um computador ou liberar mais 20 GB de espaço de
armazenamento, basta somar mais US$ 2,00 para cada um dos casos. A Figura
2.12 mostra os planos MozyHome.
Figura 2.12 - Planos de serviço MozyHome
Fonte: MOZY, Acesso em: 14/11/2011
Algo relevante de ser citado é que o serviço da Mozy é compatível apenas
com Microsoft Windows e Mac, diferente de muitos de seus concorrentes no Brasil,
que oferecem integração com ambos os sistemas operacionais e também, Android e
iOS (dispositivos móveis). Tal fato pode ser relacionado com a proposta de uso do
serviço que além de disponibilizar a versão MozyHome, tem opções empresariais
(MozyPro) tanto para estações de trabalho, quanto para servidores, o que quer dizer
que o Mozy atinge um nicho de mercado empresarial, além do doméstico.
Quadro 2.1 - Comparação entre as funcionalidades presentes nos Discos Virtuais
verificados
BACKUP
UOL
UPLOAD
DOWNLOAD
sim
Sim
TERRA
sim
Sim
SKYDRIVE
sim
Sim
DROPBOX
sim
Sim
UBUNTU
ONE
MOZY
sim
Não. Botão
de backup
com função
compatível
sim
Não. Botão
recuperar
arquivos com
função
compatível
45
BACKUP
PROGRAMADO
AUTOMÁTICO
Sim
Não
Não
Não
Só Automático
Sim
Não
Não.
Necessário
ser
assinante
Terra
Sim
Sim
Sim
Sim
Dois a cinco
GB (podendo
ser estendido)
Entre dois
GB e 125
GB
(podendo
ser
estendido)
ou
AGENDADO
VERSÃO
GRATUITA
ESPAÇO
DISPONÍVEL
Entre um GB
e 100 GB
dois GB
25 GB
dois Gb e
100 Gb
(pacote
individual)
LIXEIRA
Sim
Não
Sim
Sim
Sim
sim
Sim
Não
Não
Sim
Sim
Sim
Sim
Não
Não
Sim
Sim
Sim
Via Browser
e aplicativo
Via Browser
Via Browser
Via Browser
Via Browser e
aplicativo
Via
Browser e
aplicativo
Parcialmente
em português
Site em
inglês.
Aplicativo
em
português
FUNCIONAMENTO
EM
BACKGROUND
PASTA DO
COMPUTADOR
SINCRONIZADA
COM O
SERVIÇO
ONLINE
GERENCIADOR
IDIOMA
Português
Fonte: Elaborado pelos autores
Português
Português
Inglês
46
3 ANÁLISE E PROJETO DO SISTEMA ARMAZÉM VIRTUAL
Este capítulo apresenta a parte documental do sistema, sua estruturação e
requisitos coletados.
3.1
INSTRUÇÃO DO PROBLEMA
A faculdade, atualmente, encontra-se dependente de mídias e serviços web
de terceiros no que diz respeito a armazenamento de arquivos (trabalhos, atividades
escolares, etc) por parte dos alunos e professores na FATEC de Lins.
Fato este que afeta todo o corpo docente e discente da FATEC, tornando
trabalhosa a movimentação de arquivos em geral, o impacto do qual é:
Lentidão no processo de acesso de arquivos na faculdade;
Dependência de sistemas de terceiros que realizam o mesmo serviço;
Dificuldade de adequação do sistema (de terceiros) a necessidade da
Faculdade.
Uma solução bem-sucedida seria a criação de um sistema (Ad hoc) visando
sanar todos os problemas acima listados, otimizando o processo de acesso aos
arquivos através da rede local da faculdade.
3.2
ANÁLISE DE MERCADO
O protótipo desenvolvido é para FATEC Lins, que precisa de um sistema que
permita gerenciar a inserção de usuários e que permita administrar os processos de
transferência de arquivos (Upload e Download), como documentos, materiais do
corpo docente e dos próprios alunos, bem como facilitar a manutenção e adaptação
do sistema a necessidades que surgirem.
47
O Armazém Virtual – Sistema de Armazenamento de Arquivos Virtuais, busca
suprir tais necessidades, além de proporcionar um ambiente amigável e interativo
para manutenção de arquivos e gerenciamento de usuários deste ambiente.
3.3
ATORES ENVOLVIDOS NO PROCESSO
Quadro 3.1 - Resumo dos envolvidos
Nome
Descrição
Responsabilidades
Administrador
Pessoa que acessará
o
ambiente
para
administrar o sistema,
bem
como
seus
usuários.
O administrador será um usuário
com funções de gerente do sistema,
responsável por cadastrar, atualizar,
excluir, habilitar ou cancelar o
acesso de determinado usuário ao
sistema. Além de cadastrar e excluir
cursos (existentes na FATEC) no
sistema.
O usuário será o usuário que
movimentará arquivos no sistema. É
ele quem envia arquivos, os exclui e
realiza downloads.
Usuário
Professor)
(Aluno, Pessoa que acessará
o
ambiente
para
downloads, uploads e
manutenção
de
arquivos.
Fonte: Elaborado pelos autores
3.4
DESCRIÇÃO DO AMBIENTE ATUAL
Os usuários usam de meios físicos, tais como pen-drives, CDs e outras
mídias, além de sites de armazenamento disponíveis na Internet e/ou email para
transportar seus arquivos. No caso de querer apenas guardar um projeto utilizado
em aula para uso na própria faculdade (FATEC) em outro dia, por exemplo, é
necessário armazená-lo em um dos ambientes citados anteriormente (mídias, sites e
emails).
A Internet é outra determinante importante. O aluno depende diretamente da
velocidade da mesma para realizar download de arquivos para uso na faculdade.
48
A Faculdade no momento conta com um ambiente para compartilhamento de
arquivos com professores, no qual se pode enviar trabalhos em áreas prédeterminadas
pelos
docentes,
voltadas
para
avaliações em
determinadas
disciplinas. O aluno não consegue armazenar seus arquivos pessoais neste
ambiente.
Atualmente, a FATEC Lins, ambiente alvo do sistema, não conta com um
ambiente semelhante ao desenvolvido neste projeto.
3.5
PERSPECTIVA DO PRODUTO (ANÁLISE DE MERCADO)
A intenção do produto é solucionar o problema de armazenamento de
arquivos, auxiliando os alunos e professores no processo de gerenciamento de seus
arquivos escolares. Isso, provavelmente, resultará no aumento do desempenho
discente.
Além disso, este produto proverá um meio para administrar todos os usuários,
permitindo controlar quem terá acesso ao sistema, que, de acordo com a regra de
negócio previamente determinada, são apenas alunos e professores devidamente
vinculados a FATEC Lins.
3.6
PREMISSAS E DEPENDÊNCIAS
O produto, por ser implementado em Java, independe do Sistema
Operacional (S.O.) instalado no Servidor.
Dentro da faculdade pode ser acessado por qualquer computador via
browser. Não são necessários maiores investimentos.
3.7
CARACTERÍSTICAS
A seguir serão listadas as funcionalidades do sistema:
49
Acesso ao sistema (login) por parte dos usuários e administrador.
Upload de arquivos por parte dos usuários.
Visualização de arquivos por parte dos usuários.
Download de arquivos por parte dos usuários.
Exclusão de arquivos por parte dos usuários
Cadastro de usuário. Rotina realizada tanto pelo administrador do sistema
quanto pelo próprio usuário.
Ativação de usuário. Rotina realizada pelo administrador, a qual permite a um
usuário acessar o sistema.
Desativação de usuários. Rotina realizada pelo administrador, a qual retira de
um usuário a permissão de acessar ao sistema (desativa-o).
Exclusão usuário. Rotina realizada pelo administrador do sistema, a qual
exclui um usuário e todos seus respectivos arquivos.
Alteração de Senha. Rotina realizada tanto pelo usuário(aluno, professor) ou
pelo administrador, o qual faz a alteração da senha de acesso ao sistema do
mesmo.
Cadastrar Curso. Rotina realizada pelo administrador do sistema, a qual
insere um novo curso (existente na FATEC) no sistema.
Excluir Curso. Rotina realizada pelo administrador do sistema, a qual exclui
um curso (existente na FATEC) presente no sistema.
Listar Cursos. Rotina realizada tanto pelo usuário (no ambiente de cadastro)
quanto pelo administrador do sistema (no ambiente de cadastro e no
ambiente de exclusão de cursos).
3.7.1 Outros Requisitos do Produto
Uso de um gerenciador de banco de dados confiável e de fácil manutenção.
3.8
ANÁLISE DE REQUISITOS FUNCIONAS
50
O sistema deverá prover:
O login dos usuários e administrador;
O cadastro de usuários;
A listagem de usuários;
A ativação e desativação de usuários;
A exclusão de usuários;
O cadastro de cursos;
A exclusão de cursos;
O upload e download de arquivos de maneira dinâmica;
A listagem de arquivos;
A exclusão de arquivos;
A alteração de senha dos usuários e administrador.
3.9
DIAGRAMA DE CASO DE USO
Figura 3.1 – Diagrama de Caso de Uso
Fonte: Elaborado pelos autores
51
3.10 ESPECIFICAÇÕES DE HISTÓRIAS E DIAGRAMAS
3.10.1 Diagrama de Classe
Figura 3.2 - Diagrama de Classe
Fonte: Elaborado pelos autores
52
3.10.2 Mapeamento para Modelo Relacional e Projeto Físico
Figura 3.3 – Mapeamento para Modelo Relacional
Fonte: Elaborado pelos autores
3.10.3 Efetuar Logon
Para acessar o sistema, e todos seus recursos, o usuário e administrador
precisam se conectar ao sistema fazendo uso de uma conta com login e senha
válidos, pré-cadastrados no sistema. Outra regra é que a conta precisa estar ativa.
Atendendo a essas prerrogativas, o acesso ao sistema é realizado
normalmente via browser (navegador).
53
Figura 3.4 - Diagrama de Atividades - Efetuar Logon
Fonte: Elaborado pelos autores
Figura 3.5 - MVC - Efetuar Logon
Fonte: Elaborado pelos autores
54
Figura 3.6 - Diagrama de Sequência - Efetuar Logon (Administrador)
Fonte: Elaborado pelos autores
Figura 3.7 - Diagrama de Sequência - Efetuar Logon (Usuário)
Fonte: Elaborado pelos autores
3.10.4 Manter Usuário
Tanto o administrador quanto um futuro usuário podem realizar o cadastro de
usuário.
No caso de um futuro usuário, o mesmo realiza o cadastro da conta
preenchendo o formulário e enviando-o para autorização do administrador (isso, sem
a necessidade de acessar o ambiente do sistema). Posteriormente, o administrador
55
precisará “ativar” a respectiva conta. Enquanto a conta não for ativada, o usuário
não poderá acessar o sistema.
No caso do Administrador, o mesmo cadastra a conta de maneira
semelhante, porém, com a conta já autorizada.
Então, após a conta ter sido devidamente criada e ativada, o usuário poderá
acessá-la através de uma interface web, para isso será necessário que o mesmo
faça uso de login e senha válidos.
O usuário, sendo ele professor ou aluno, acessará seu respectivo ambiente
no qual poderá: realizar envios e recuperação (upload e download) de arquivos,
visualizar e excluir arquivos.
Figura 3.8 - Diagrama de Atividades - Cadastrar Usuário
Fonte: Elaborado pelos autores
56
Figura 3.9 - MVC - Cadastrar Usuário
Fonte: Elaborado pelos autores
Figura 3.10 - Diagrama de Sequência - Cadastrar Usuário (Administrador)
Fonte: Elaborado pelos autores
57
Figura 3.11 - Diagrama de Atividades - Excluir Usuário
Fonte: Elaborado pelos autores
Figura 3.12 - MVC - Excluir Usuário
Fonte: Elaborado pelos autores
58
Figura 3.13 - Diagrama de Sequência - Excluir Usuário
Fonte: Elaborado pelos autores
3.10.5 Listar Usuários
A fim de prover um melhor gerenciamento dos usuários, as contas são todas
listadas. Este processo de listagem está implícito nas rotinas de ativação,
desativação e exclusão de usuários.
Figura 3.14 - Diagrama de Atividades - Listar Usuários
Fonte: Elaborado pelos autores
59
Figura 3.15 - MVC - Listar Usuários
Fonte: Elaborado pelos autores
Figura 3.16 - Diagrama de Sequência - Listar Usuários
Fonte: Elaborado pelos autores
60
3.10.6 Ativar Usuário
Como citado no tópico anterior o usuário não poderá acessar o sistema
enquanto sua conta não for ativada.
Este processo é realizado pelo administrador em seu ambiente, com isso há
um controle sobre os usuários ativos no sistema.
Em primeiro lugar, o administrador em seu ambiente, lista todas as contas
que estão desativadas. Na sequência, ele seleciona todas (contas) que serão
ativadas. Por fim, ele clica no botão que dispara esta ação.
A ação é encerrada no banco de dados quando a(s) tabela(s) do(s) usuário(s)
é(são) atualizada(s) - o campo “ativo” é atualizado - e o mesmo passa a ter acesso
ao sistema.
Além disso, o administrador pode excluir usuários. Quando um aluno conclui,
tranca ou deixa a faculdade ou quando um professor deixa o quadro docente, o
mesmo deve ser excluído do sistema. Com isso seus arquivos também devem ser
apagados.Essa rotina coopera para segurança do sistema e estabilidade do espaço
disponível para armazenamento no Disco Rígido do Servidor.
Figura 3.17 - Diagrama de Atividades - Ativa Usuário(s)
Fonte: Elaborado pelos autores
61
Figura 3.18 - MVC - Ativar Usuário
Fonte: Elaborado pelos autores
Figura 3.19 - Diagrama de Sequência - Listar Usuários (Inativos)
Fonte: Elaborado pelos autores
3.10.7 Desativar Usuário
O administrador, em seu ambiente, possui também a opção de desativar uma
conta. Nesta rotina, o usuário dono da conta desativada perde o privilégio de
62
acessar o sistema. Sendo assim, esta conta não é válida para o sistema em termos
de logon.
O processo é semelhante à ativação, a diferença está no fato de que a
atualização resultante do processo desativará a conta.
Figura 3.20 - Diagrama de Atividades - Desativar Usuário(s)
Fonte: Elaborado pelos autores
Figura 3.21 - MVC - Desativar Usuário
Fonte: Elaborado pelos autores
63
Figura 3.22 - Diagrama de Sequência - Listar Usuários (Ativos)
Fonte: Elaborado pelos autores
3.10.8 Upload
Os alunos e/ou professores da faculdade, ao acessar o ambiente do sistema,
podem enviar arquivos do computador que está usando para o seu espaço no
serviço de armazenamento (Armazém Virtual). Basta que os arquivos sejam
selecionados e enviados para o ambiente do serviço. Cada usuário tem um limite de
envio, quando esse limite é atingido, o sistema bloqueia o upload. Este limite será
gerenciado no banco de dados.
Assim que o usuário realiza um upload, o sistema captura o tamanho do
arquivo em questão. Este tamanho é acrescentado em um campo (espaço_usado)
da tabela referente ao usuário no banco de dados. Há outro campo desta mesma
tabela indicando o espaço máximo (espaço_livre) fornecido para o usuário. A
diferença entre o espaço-usado e o espaço_livre define o espaço disponível para o
usuário. Se o espaço disponível não for suficiente, o envio é bloqueado.
Para fins de segurança e integridade do sistema, o upload de alguns tipos de
arquivos é impedido.
64
Figura 3.23 - Diagramas de Atividades - Upload
Fonte: Elaborado pelos autores
Figura 3.24 - MVC - Upload
Fonte: Elaborado pelos autores
65
Figura 3.25 - Diagrama de Sequência - Upload
Fonte: Elaborado pelos autores
3.10.9 Listar Arquivos
A fim de prover uma melhor visualização dos arquivos aos usuários, seus
arquivos são todos listados. Este processo de listagem está implícito nas rotinas de
download (baixar) arquivos e exclusão de arquivos.
Figura 3.26 - Diagramas de Atividades - Listar Arquivos
Fonte: Elaborado pelos autores
66
Figura 3.27 - MVC - Listar Arquivos
Fonte: Elaborado pelos autores
Figura 3.28 - Diagrama de Sequência - Listar Arquivos
Fonte: Elaborado pelos autores
3.10.10 Download
Os alunos e professores, em seu ambiente no sistema podem realizar o
download (baixar) de seus arquivos. Para isso, os usuários selecionam os arquivos
presentes no sistema e os copia para o computador. O arquivo permanecerá no
sistema, uma cópia do mesmo é que será baixado.
67
Figura 3.29 - Diagramas de Atividades - Download
Fonte: Elaborado pelos autores
Figura 3.30 - MVC - Download
Fonte: Elaborado pelos autores
68
Figura 3.31 - Diagrama de Sequência - Download
Fonte: Elaborado pelos autores
3.10.11 Excluir Arquivo
Os usuários têm a opção de excluir seus respectivos arquivos no sistema.
Após o uso desse recurso o arquivo não pode mais ser recuperado.
Figura 3.32 - Diagramas de Atividades - Excluir Arquivo
Fonte: Elaborado pelos autores
69
Figura 3.33 - MVC - Excluir Arquivo
Fonte: Elaborado pelos autores
Figura 3.34 - Diagrama de Sequência - Excluir Arquivo
Fonte: Elaborado pelos autores
70
3.10.12 Manter Curso
No momento do cadastro de uma nova conta, é solicitado ao usuário, entre
outras informações, o curso em que está matriculado na FATEC. O usuário pode
digitar um curso inexistente e possíveis duplicações de um mesmo nome de curso
(por exemplo, banco de dados, BD, informática, etc.) o que causaria inconsistências
no banco de dados. Para evitar tais transtornos, o administrador previamente
cadastra os cursos existentes, garantido ao usuário a escolha de um curso dentre
uma lista de cursos disponíveis no momento do cadastro.
Caso um curso deixe de fazer parte da grade da FATEC, o administrador
pode excluí-lo, contanto que não haja usuários matriculados neste curso.
Figura 3.35 - Diagramas de Atividades - Cadastrar Curso
Fonte: Elaborado pelos autores
71
Figura 3.36 - MVC - Cadastrar Curso
Fonte: Elaborado pelos autores
Figura 3.37 - Diagrama de Sequência - Cadastrar Curso
Fonte: Elaborado pelos autores
72
Figura 3.38 - Diagramas de Atividades - Excluir Curso
Fonte: Elaborado pelos autores
Figura 3.39 - MVC - Excluir Cursos
Fonte: Elaborado pelos autores
73
Figura 3.40 – Diagrama de Atividades – Excluir Curso
Fonte: Elaborado pelos autores
3.10.13 Listar Cursos
A rotina de listagem de cursos está disponível tanto para administrador
quanto para o usuário.
No caso do usuário, tal rotina é utilizada no formulário de cadastro. O
formulário é carregado com todos os cursos disponíveis na faculdade, para seleção
de um deles.
Contudo, no caso do administrador, além do cadastro, a rotina de listagem
está implícita também no ambiente de exclusão de cursos. Neste ambiente, todos os
cursos são listados para que o administrador, caso queira, exclua-os.
74
Figura 3.41 - Diagramas de Atividades - Listar Curso
Fonte: Elaborado pelos autores
Figura 3.42 - MVC - Listar Cursos
Fonte: Elaborado pelos autores
75
Figura 3.43 – Diagrama de Atividades – Listar Cursos
Fonte: Elaborado pelos autores
3.10.14 Alterar Senha
A alteração de senha é uma rotina disponível tanto para o administrador
quanto para usuário. O processo ocorre após o preenchimento de um formulário no
qual se insere a senha antiga e uma nova senha.
Se a senha antiga estiver correta, esta é trocada pela nova, e a atualização
ocorre.
Figura 3.44 - Diagramas de Atividades - Alterar Senha
Fonte: Elaborado pelos autores
76
Figura 3.45 - MVC - Alterar Senha
Fonte: Elaborado pelos autores
Figura 3.46 - Diagrama de Sequência - Alterar Senha
Fonte: Elaborado pelos autores
3.10.15 Análise de Requisitos Não Funcionais
A seguir serão listados os requisitos não funcionais do sistema:
A permissão ou bloqueio de acesso ao sistema;
Deverá ter limite de espaço físico de armazenamento;
Deverá limitar o upload de determinados arquivos;
O administrador, antes de inserir usuários, necessita verificar o espaço físico
disponível.
77
4 IMPLEMENTAÇÃO
4.1
LAYOUTS DE TELAS
4.1.1 Home
Na Figura 4.1 é apresentada a tela de login. Ela é composta pela imagem do
logotipo do protótipo e o formulário para acesso ao sistema, junto a um link para não
usuários realizarem seu cadastro, que fazendo uso de JQuery carrega o formulário
onde está a imagem do Armazém Virtual .
Figura 4.1 - Home Page do Protótipo
Fonte: Elaborado pelos autores, 2012
4.1.2 Interface de Cadastro de Conta
78
Na Figura 4.2 é apresentado a tela na qual é possível que um futuro usuário
realize seu cadastro, após a realização do cadastro a imagem do Armazém Virtual é
recolocada no lugar do formulário, utilizando o conceito de AJAX com um método da
biblioteca JQuery, então o usuário devera esperar a ativação de sua conta pelo
administrador, para fazer uso dos recursos do protótipo.
Figura 4.2 - Visão Cadastro Conta
Fonte: Elaborado pelos autores, 2012
4.1.3 Home Page do Administrador
Na figura 4.3 é apresentada a Home Page do Administrador, ela é composta
por cabeçalho, corpo e rodapé, sendo que a única parte da estrutura que sofrerá
alterações será o corpo, onde são carregadas as paginas que forem requisitas
através dos links selecionados. Nesse processo é usado o conceito de AJAX através
da tecnologia JQuery.
Por meio dessa tela é possível ter acesso a todos os links da área do
administrador, permitindo que o administrador acesse suas funcionalidades para
manutenção do protótipo.
79
Figura 4.3 - Home Page do Administrador
Fonte: Elaborado pelos autores, 2012
4.1.4 Interface de Alterar Senha
Na Figura 4.4 é apresentada a tela que permite a alteração da senha tanto
para o usuário quanto para o administrador, o usuário/administrador preenche as
informações necessárias e seleciona o botão “Enviar”, então o protótipo retorna uma
mensagem para informar o sucesso na alteração da senha ou uma mensagem de
alerta.
80
Figura 4.4 - Visão Alterar Senha
Fonte: Elaborado pelos autores, 2012
4.1.5 Interface de Cadastrar Curso
Como se pode ver na figura 4.5, é apresentada a tela de cadastro de cursos,
o administrador preenche o nome do curso a ser inserido e clica no botão “Enviar”,
então ele receberá uma mensagem informando o sucesso na inclusão do curso ou
uma mensagem de alerta.
81
Figura 4.5 - Visão Cadastrar Curso
Fonte: Elaborado pelos autores, 2012
4.1.6 Interface de Exclusão de Curso
Na Figura 4.6 é apresentada a tela para exclusão de curso, o administrador
deve selecionar o(s) curso(s) que deseja excluir e selecionar o botão “Excluir Cursos
Selecionados”. Então, após realizar a exclusão do(s) curso(s) selecionado(s), a
visão é atualizada.
82
Figura 4.6 - Visão Excluir Curso
Fonte: Elaborado pelos autores, 2012
4.1.7 Interface de Exclusão de Conta
Na Figura 4.7 é apresentada a tela para exclusão de conta, o administrador
deve selecionar a(s) conta(s) que deseja excluir e selecionar o botão “Excluir Cursos
Selecionados”, ou apenas clicar no botão “Excluir” referente à conta que deseja
excluir. Então, após realizar a exclusão, a visão é atualizada.
83
Figura 4.7 - Visão Excluir Conta
Fonte: Elaborado pelos autores, 2012
4.1.8 Interface de Ativar Contas
Na Figura 4.8 é apresentada a tela para ativação de contas, o administrador
deve selecionar a(s) conta(s) que deseja ativar, selecionar o botão “Ativar Contas
Selecionadas”. Logo após realizar a ativação das contas a visão é atualizada.
84
Figura 4.8 - Visão Ativar Conta
Fonte: Elaborado pelos autores, 2012
4.1.9 Interface de Desativar Conta
Na Figura 4.9 é apresentada a tela para desativação de contas, o
administrador deve selecionar a(s) conta(s) que deseja ativar, selecionar o botão
“Desativar Contas Selecionadas”. Logo após realizar a desativação das contas a
visão é atualizada.
85
Figura 4.9 - Visão Desativar Conta
Fonte: Elaborado pelos autores, 2012
4.1.10 Interface de Cadastro de Conta do Administrador
Na figura 4.10 é apresentada a tela de cadastro já citada anteriormente,
porém, agora ela esta na área do administrador, o administrador preenche os dados
e clica no botão “Enviar”, o protótipo faz o cadastro da conta, entretanto nesse caso
já com ela ativada. Então retorna uma mensagem para a visão informando o
sucesso na inclusão ou uma mensagem de alerta.
86
Figura 4.10 - Visão Cadastro Conta Administrador
Fonte: Elaborado pelos autores, 2012
4.1.11 Home Page do Usuário
Na figura 4.11 é apresentada a Home Page do Usuário, ela é composta pela
mesma estrutura do Home Page do administrador e funciona de forma semelhante,
apenas alterando o conteúdo do corpo da página quando o usuário selecionar algum
link de sua área. Nesse processo é utilizado do conceito de AJAX através da
tecnologia JQuery.
Através dessa tela é possível ter acesso a todos os links da área do usuário,
permitindo ao usuário usar de suas funcionalidades.
87
Figura 4.11 - Home Page do Usuário
Fonte: Elaborado pelos autores, 2012
4.1.12 Interface de Upload
Na Figura 4.12 é apresentada a tela de envio de arquivos (Upload), o usuário
deve clicar no botão selecionar arquivo para ser aberta uma janela para procurar a
localização do arquivo, e então clicar no botão “Enviar” para realizar o envio do(s)
arquivos selecionado(s) o protótipo realiza a inclusão da localização lógica no banco
e a inclusão do arquivo físico dentro do projeto e retorna uma mensagem informando
o sucesso na transferência ou um alerta.
88
Figura 4.12 - Visão Upload
Fonte: Elaborado pelos autores, 2012
4.1.13 Interface de Download
Na Figura 4.13 é apresentada a tela de download do usuário, onde são
carregados links com referencias aos arquivos do mesmo. Quando o usuário
seleciona o link com o nome do arquivo é realizado o download do arquivo, nesta
tela também é possível fazer a exclusão dos arquivos que o usuário possui clicando
no botão “Excluir” referente ao arquivo, após o clique a visão é atualizada.
89
Figura 4.13 - Visão Download
Fonte: Elaborado pelos autores, 2012
90
CONCLUSÃO
Nos dias atuais, a ideia de armazenamento na nuvem (Cloud Storage) está
amplamente desenvolvida e explorada. Ao analisar os diversos serviços que
usufruem dessa idéia é fácil notar que se trata de um ramo da tecnologia com uma
alta variedade de uso.
Ademais, devido o aumento do número de usuários e da velocidade de
Internet no Brasil (e no mundo) há uma tendência de que tecnologias baseadas em
Cloud Computing e Cloud Storage se alastrem e se fortaleçam cada vez mais. Com
os serviços de disco virtual, tema deste trabalho, não é diferente.
Há na Internet, hoje, muitos serviços de disco virtual com incontáveis
variações, preços, espaço de armazenamento e pacotes voltados tanto para um
usuário comum guardar seus arquivos quanto para uma grande empresa realizar
backups de seus servidores.
A partir da análise dessa gama de variações e aplicações de uso, buscou-se
atingir o objetivo deste trabalho que era desenvolver um protótipo de disco virtual
para FATEC de Lins. Objetivo esse, conquistado com sucesso.
Com isso conclui-se que o protótipo desenvolvido é satisfatório e tem todas as
condições de amadurecimento para futuramente se tornar um serviço viável de disco
virtual para FATEC de Lins. Conclui-se também que desenvolver um serviço web,
sendo ele qualquer que seja, apresenta dificuldades e exige dedicação e empenho
do desenvolvedor no que diz respeito a diagramas, documentação do sistema,
códigos para programação e implementação de tecnologias.
Devido a essas dificuldades alguns poucos recursos do projeto inicial não
puderam ser implantadas, bem como outros recursos podem ser citados como
complementos ou futuras adições no processo de amadurecimento do protótipo
rumo a um serviço completo para FATEC.
Tais recursos são: a implantação do protocolo HTTPS para segurança do
serviço na web; o uso de criptografia em senhas; o controle do tipo de arquivo que
pode ser enviado (upload) pelo usuário; controle para a escalabilidade do serviço,
podendo assim aumentar e diminuir seu espaço de acordo com a necessidade;
mesclar o serviço com a base Lightweight Directory Access Protocol (LDAP) da
FATEC visando os usuários desta base, os quais serão os mesmos usuários do
91
disco virtual. Esses recursos citados ou trabalhos futuros podem ser considerados
fundamentais na evolução do protótipo.
92
REFERÊNCIAS BIBLIOGRÁFICAS
ALVAREZ, M. A.. O que é Java Script? Criar Web, 27 set. 2004. Disponível em:
<http://www.criarweb.com/artigos/184.php> Acesso em: 11 dez. 2011.
AZEVEDO, C. DropBox, alojamento gratuito de ficheiros. WPTotal, 31 ago. 2010.
Disponível em < http://www.wptotal.com/dropbox-alojamento-gratuito-de-ficheiros/>
Acesso em: 14 nov. 2011.
BORGES, R. HDs virtuais, uma forma de guardar arquivos nas nuvens. Informe
Aberto,
São
Paulo,
07
jan.
2011.
Disponível
em:
<http://pprjbgbo.wordpress.com/2011/01/07/hds-virtuais-uma-forma-de-guardararquivos-nas-nuvens/> Acesso em: 22 set. 2011.
CARVALHO, L.A. O que é JQuery? Webulando, 7 jun. 2010. Disponível em:
<http://www.webulando.com.br/jquery/o-que-e-jquery> Acesso em: 11 dez. 2011.
COSTA, B. M.; COSTA, L. H. M. K.; DUARTE, O. C. M. B. Segurança na Internet Protocolo SSL/TLS. Grupo de teleinformática e Automação da Universidade
Federal do Rio de Janeiro (GTA/UFRJ), 2010. Disponível em:
<http://www.gta.ufrj.br/ensino/eel879/trabalhos_vf_2010_2/bernardo/tls.html>.
Acesso em: 24 mar. 2012.
COUTINHO, F.. Introdução ao Tomcat e Servlet. GUJ, 31 ago. 2002. Disponível em:
<http://www.guj.com.br/articles/9> Acesso em: 11 dez. 2011.
DROPBOX. Gerenciador. 2011. Disponível em: < https://www.dropbox.com/>.
Acesso em: 14 nov. 2011.
EMC. Information and Storage Management: Storing, Managing, and Protecting
Digital Information. Estados Unidos: John Wiley and Sons, 2009.
GARCIA, R. Skydrive, o disco virtual da Microsoft. Rogério Garcia
Desenvolvimento
e
Tecnologia,
17
jul.
2009.
Disponível
em:
<http://www.rogeriogarcia.com/2009/tendencias/skydrive-o-disco-virtual-damicrosoft.html> Acesso em: 14 nov. 2011.
HALPERT, B, M. Auditing Cloud Computing: A Security and Privacy Guide.
Estados Unidos: John Wiley and Sons, 2011.
HARBOURNE-THOMAS, A. Professional Java Servlets 2.3. Estados Unidos:
APress, LLC, 2004.
HEATON, J. HTTP Programming Recipes for Java Bots. Estados Unidos: Heaton
Research, 2007.
93
IBOPE. 73,9 milhões de pessoas têm acesso à Internet no Brasil. Ibope, 18 mar.
2011.
Disponível
em:<http://www.ibope.com.br/calandraWeb/servlet/CalandraRedirect?temp=6&proj=
PortalIBOPE&pub=T&nome=home_materia&db=caldb&docid=EA0526673CE1740D
832578570054B23B#topo> Acesso em: 11 dez. 2011.
JavaFree.org. JDBC. Disponível em: <http://javafree.uol.com.br/wiki/jdbc> Acesso
em 28 abr. 2012
Java
Server
Pages.
GigaFlops.
Disponível
<http://gigaflops.tripod.com/page/lp/jsp/jsp.html> Acesso em: 11 dez. 2011.
em:
JORDÃO, F.. A velocidade da Internet ao redor do mundo em 2010. Tecmundo, 24
set. 2010. Disponível em: <http://www.tecmundo.com.br/5540-a-velocidade-daInternet-ao-redor-do-mundo-em-2010.htm> Acesso em: 11 dez. 2011.
KEITH, M.; SCHINCARIOL, M. Pro JPA 2: mastering the Java™ Persistence API.
Estados Unidos: Apress, 2009.
LEAL, R.; CRUZ, L. Banda (quase) larga. Info. São Paulo, p. 80, jun. 2011.
LIMA, G. Cloud Storage, um serviço que vem crescendo a cada dia. Coruja de TI,
01 nov. 2010. Disponível em: < http://blog.corujadeti.com.br/cloud-storage-umservico-que-vem-crescendo-a-cada-dia/> Acesso em: 22 set. 2011.
MATHEWS, L. VMWare adds Mozy to its cloud and virtualization empire. Busk, abr.
2011. Disponível em: <http://busk.com/news/vmware-adds-Mozy-to-its-cloud-andvirtualization-empire?period=any&q=hoje> Acesso em: 14 nov. 2011.
MILLER, M. Cloud Computing: Web-Based Applications That Change the Way
You Work and Collaborate Online. Estados Unidos: Que Publishing, 2008.
MOZY. Site. 2011. Disponível em: < http://Mozy.com/home/>. Acesso em: 14 nov.
2011.
OSMAR, J. S.. O que é um Java Servlet. Arquivo de Código. Disponível em:
<http://www.arquivodecodigos.net/dicas/java-servlets-o-que-e-um-java-servlet1076.html> Acesso em: 11 dez. 2011.
PAMPLONA, V. F.. O que é Java? JavaFree.org, 10 out. 2009. Disponível em:
<http://javafree.uol.com.br/artigo/871498/> Acesso em: 11 dez. 2011.
PERSONAL. Porque investir em uma loja virtual? Personal, 09 ago. 2011.
Disponível em <http://www.personalpublicidade.com.br/blog/?cat=10> Acesso em 11
dez. 2011.
PITTELA, F.. O que é JSP? JavaFree.org, 17 ago. 2009. Disponível em:
<http://javafree.uol.com.br/artigo/1409/O-que-e-JSP.html> Acesso em: 11 dez. 2011.
94
SAKURAI, R. Exemplo de DAO (CRUD) utilizando JPA. Universidade Java. 21 fev.
2012.
Disponível
em
<http://www.universidadejava.com.br/docs/exemplodedaocrudutilizandojpa> Acesso
em: 29 abr. 2012.
SHELLY, G. B.; VERMAAT, M. E. Discovering Computers 2010: Living a Digital
World. Estados Unidos: Cengage Learning, 2009.
SNEDDON, J. Ubuntu One upgrades free storages to 5GB, hits 1 million users.
OMG! Ubuntu!, 28 jul 2011. Disponível em: <http://www.inforlogia.com/Ubuntu-Onechega-a-1-milhao-usuarios/> Acesso em: 14 Nov 2011.
STEPHEN, T. SSL and TLS Essentials: Securing the Web. Estados Unidos: John
Wiley & Sons, 2000.
TELEBRASIL. Banda Larga: acessos em outubro ultrapassam 53 milhões.
TeleBrasil,
21
nov.
2011.
Disponível
em:
<http://www.telebrasil.org.br/artigos/outros_artigos.asp?m=1182> Acesso em: 11
dez. 2011.
TERRA.
Disco
Virtual.
http://discovirtual.terra.com.br/vdmain.shtml>
Acesso em: 14 nov. 2011.
2011
Disponível
em:
UBUNTU ONE. Site. 2011. Disponível em: < https://One.Ubuntu.com/>. Acesso em:
14 nov. 2011.
UOL.
Disco
Virtual.
2011
Disponível
<http://discovirtual.uol.com.br/discovirtual.html> Acesso em: 14 nov. 2011.
em:
UOL. Backup. 2011 Disponível em: < http://backup.uol.com.br/> Acesso em: 14 nov.
2011.
Download

centro estadual de educação tecnológica paula souza