Desenvolvimento de um sistema web de armazenamento de arquivos com controle de privilégio de envio e geração de relatórios de atividades

De MediaWiki do Campus São José
Revisão de 18h06min de 11 de dezembro de 2012 por Sant.c (discussão | contribs) (Criou página com '= Resumo = Existem hoje inúmeras ferramentas web que podem servir para gerenciar arquivos de usuários como Redmine, Dropbox, Git, etc. Porém elas não foram concebidas para e...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Resumo

Existem hoje inúmeras ferramentas web que podem servir para gerenciar arquivos de usuários como Redmine, Dropbox, Git, etc. Porém elas não foram concebidas para esse fim. Pensando nisso este TCC propõe o desenvolvimento de um software web para download, upload e log de arquivos para uso, inicial, na WeveTech Soluções Tecnológicas, uma empresa da área biomédica que tem seus desenvolvedores descentralizados em outros estados do Brasil, e que tem a necessidade de controlar os arquivos criado por seus funcionários.

No entanto para a criação desse projeto é necessário estudar as tecnologias existentes para o desenvolvimento de aplicativos web, a modelagem de banco de dados, bem como um sistema de gerenciamento de banco de dados (SGDB) e o modelo cliente-servidor. Para a interface e as regras de negócio do sistema um forte candidato é Java uma linguagem de programação criada na década de 90 com a ideia de que um dia os computadores iriam convergir com os equipamentos e eletrodomésticos usado pelas pessoas no seu dia-a-dia e que se adaptou com o estouro da internet no início dessa década. Ela é sem sombra de dúvidas a linguagem mais madura e produtiva para a criação de programas web. Desde sua criação até aqui ela evoluiu muito, sendo que a Sun Microsystems junto com a comunidade de desenvolvedores que mantinham as especificações da linguagem (IBM, Red Hat, SUNY Oswego, entre outros.) e que hoje é liderada pela Oracle criaram diversos padrões, especificações que orientam desenvolvedores de quais são as melhores práticas para desenvolver códigos mais robustos e consistentes. A partir dessas especificações (JSRs - Java Specification Requests) muitas APIs (Interface de Programação de Aplicativos) e Frameworks (um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação) foram criadas para auxiliar no desenvolvimento de software impedindo que o desenvolvedor sempre tenha que “recriar a roda”. Além disso modelar uma base de dados será necessário, já que pode-se perceber pelo próprio título deste TCC que será feito download, upload e log de arquivos de usuários, e uma vez tendo esses elementos no projeto os dados desses arquivos e usuários devem ser persistidos de forma a não ter inconsistência ou, até mesmo, redundância de dados. Após a modelagem um SGDB deve ser adotado para manter esses dados persistidos. Atualmente existem alguns gratuitos disponíveis para desenvolvedores, sendo que algum deles deverão ser estudados, como por exemplo: MySql, PostgreSQL, Firebird, etc. Outro ponto importante para a criação desse projeto é um estudo mais detalhado sobre o modelo-cliente servidor. Ele é um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores (nesse caso a internet). Cada instância de um cliente pode enviar requisições de dado para algum dos servidores conectados e esperar pela resposta. Por sua vez, algum dos servidores disponíveis pode aceitar tais requisições, processá-las e retornar o resultado para o cliente. Apesar do conceito ser aplicado em diversos usos e aplicações, a arquitetura é praticamente a mesma. Muitas vezes os clientes e servidores se comunicam através de uma rede de computador com hardwares separados, mas o cliente e servidor podem residir no mesmo sistema. A máquina servidor é um host que está executando um ou mais programas de servidor que partilham os seus recursos com os clientes. Um cliente não compartilha de seus recursos, mas solicita o conteúdo de um servidor ou função de serviço. Os clientes, portanto, iniciam sessões de comunicação com os servidores que esperam as solicitações de entrada.

Então ao se ter um embasamento teórico dessas tecnologias e modelos o desenvolvimento desse aplicativo será possível, da mesma forma que a criação de uma dissertação que possibilite aos seus leitores a desenvolver outros programas para sistemas baseados no modelo cliente-servidor, que será o futuro dos softwares dos diversos equipamentos que tenham um núcleo computacional para o seu gerenciamento, seja uma geladeira, um tablet, um computador pessoal, entre outros, já que os seus programas estão convergindo, cada vez mais, para a internet.