SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software...

18
Anhanguera Educacional Ltda. Correspondência/Contato Alameda Maria Tereza, 2000 Valinhos, SP - CEP 13278-181 [email protected] [email protected] Coordenação Instituto de Pesquisas Aplicadas e Desenvolvimento Educacional - IPADE Trabalho realizado com o incentivo e fomento da Anhanguera Educacional Cesar Azambuja Batista Professor Orientador: Esp. Carlos Eduardo Cayres Curso: Tec. em Redes de Computadores CENTRO UNIVERSITÁRIO ANHANGUERA DE CAMPO GRANDE SISTEMA DE SEGURANÇA ELETRÔNICO PARA MONITORAMENTO REMOTO DE AMBIENTES UNIVERSITÁRIOS EM TEMPO REAL ANUÁRIO DA PRODUÇÃO DE INICIAÇÃO CIENTÍFICA DISCENTE Vol. XII, Nº. 15, Ano 2009 RESUMO A informática provocou uma grande revolução tecnológica nos hábitos e costumes da sociedade. A maior parte destas facilidades não teria ocorrido sem um eficiente sistema de comunicação de dados. Hoje, a comunicação é praticamente imprescindível ao ser humano, pois ela economiza tempo, transporte, dinheiro, entre outras coisas. A tendência da sociedade moderna é que utilizemos cada vez mais os meios de comunicação, através da integração dos sistemas. A internet trouxe o mundo para a nossa vida. Para que possamos utilizar todos estes recursos modernos, é necessário que as redes de computadores e as telecomunicações estejam funcionando com eficiência. Dentro deste contexto, o presente artigo apresenta a relevância de um Sistema de Segurança Eletrônico para auxiliar o setor de segurança de ambientes Universitários. Com o resultado o resultado obtido pretende-se que o Sistema permita monitorar remotamente todo o campus, tendo-se uma visão das principais instalações, permitindo gerenciar com mais rapidez problemas adventos de falta de segurança ou até mesmo de apoio à eventos e comemorações. Palavras-Chave: segurança; monitoramento remoto; tempo real. ANUIC_n15_miolo.pdf 339 13/04/2011 09:15:02

Transcript of SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software...

Page 1: SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software propostos por Pressman (2006), Sommerville (2007) e Bezerra (2007). Em princípio, foi

Anhanguera Educacional Ltda. Correspondência/Contato Alameda Maria Tereza, 2000 Valinhos, SP - CEP 13278-181 [email protected] [email protected] Coordenação Instituto de Pesquisas Aplicadas e Desenvolvimento Educacional - IPADE

Trabalho realizado com o incentivo e fomento da Anhanguera Educacional

Cesar Azambuja Batista

Professor Orientador: Esp. Carlos Eduardo Cayres

Curso: Tec. em Redes de Computadores

CENTRO UNIVERSITÁRIO ANHANGUERA DE CAMPO GRANDE

SISTEMA DE SEGURANÇA ELETRÔNICO PARA MONITORAMENTO REMOTO DE AMBIENTES UNIVERSITÁRIOS EM TEMPO REAL

ANUÁRIO DA PRODUÇÃO DE INICIAÇÃO CIENTÍFICA DISCENTE

Vol. XII, Nº. 15, Ano 2009

RESUMO

A informática provocou uma grande revolução tecnológica nos hábitos e costumes da sociedade. A maior parte destas facilidades não teria ocorrido sem um eficiente sistema de comunicação de dados. Hoje, a comunicação é praticamente imprescindível ao ser humano, pois ela economiza tempo, transporte, dinheiro, entre outras coisas. A tendência da sociedade moderna é que utilizemos cada vez mais os meios de comunicação, através da integração dos sistemas. A internet trouxe o mundo para a nossa vida. Para que possamos utilizar todos estes recursos modernos, é necessário que as redes de computadores e as telecomunicações estejam funcionando com eficiência. Dentro deste contexto, o presente artigo apresenta a relevância de um Sistema de Segurança Eletrônico para auxiliar o setor de segurança de ambientes Universitários.�Com o resultado o resultado obtido pretende-se que o Sistema permita monitorar remotamente todo o campus, tendo-se uma visão das principais instalações, permitindo gerenciar com mais rapidez problemas adventos de falta de segurança ou até mesmo de apoio à eventos e comemorações.

Palavras-Chave: segurança; monitoramento remoto; tempo real.

339 Publicação: 3 de fevereiro de 2011

ANUIC_n15_miolo.pdf 339 13/04/2011 09:15:02

Page 2: SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software propostos por Pressman (2006), Sommerville (2007) e Bezerra (2007). Em princípio, foi

340 Sistema de segurança eletrônico para monitoramento remoto de ambientes universitários em tempo real

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 15, Ano 2009 • p. 339-355

1. INTRODUÇÃO

A segurança hoje é sem dúvida um dos itens mais importantes que devemos levar em

consideração tanto em casa como em outros locais, isso se deve em grande parte à

crescente onda de violência que assolam o país, tendo como principais exemplos os cada

vez mais freqüentes seqüestros relâmpagos com os quais as pessoas têm de se preocupar

nas ruas, os assaltos freqüentes às residências tanto quanto aos estabelecimentos

comerciais, o número de assaltos às residências e comércios particularmente têm

aumentado muito como se vê nos telejornais diariamente, indiscriminadamente e

independente de nível social, diversos estabelecimentos comerciais e residências são

arrombados, invadidos e roubados, e o que é pior, muitas vezes, à luz do dia.

É justamente com a intenção de auxiliar no monitoramento de ambientes, que o

presente trabalho teve como proposta desenvolver um sistema que pudesse monitorar

áreas interna e externas do Centro Universitário de Campo Grande – Unaes I1, com o

intuito de auxiliar a prestação de serviço de segurança do campus da IES.

Na verdade, o Sistema de Monitoramento Remoto disponibilizará aos usuários a

possibilidade de acompanharem através da Internet imagens de locais internos e externos

em qualquer local e horário que este usuário esteja, bastando para isso que no local exista

um computador que possibilite acesso a Internet.

Só o fato de o local ser visto com câmeras em suas dependências internas e

externas já possibilita aos usuários responsáveis pela segurança do local uma visão mais

ampla e segura, para que possa fazer uso de recursos extra de segurança e melhorar o

serviço prestado.

Este artigo está organizado em seções. A primeira seção é essa introdução, a

seção 2 apresenta os objetivos da pesquisa. A metodologia utilizada na realização da

pesquisa é apresentada na seção 3. As informações relacionadas ao desenvolvimento da

pesquisa como a revisão de literatura, o problema abordado, a solução proposta e

implementada são mostradas na seção 4. A forma de abordar os experimentos, os

resultados e as discussões são descritos na seção 5. Por fim, as considerações finais estão

são apresentadas na seção 6.

1 Atual Centro Universitário Anhanguera de Campo Grande.

ANUIC_n15_miolo.pdf 340 13/04/2011 09:15:02

Page 3: SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software propostos por Pressman (2006), Sommerville (2007) e Bezerra (2007). Em princípio, foi

Cesar Azambuja Batista 341

2. OBJETIVO

Um dos objetivos do projeto foi realizar o levantamento das necessidades da estrutura

necessária para desenvolver um Sistema de Segurança Eletrônico que possa ser acessado

remotamente que qualquer lugar que tenha um computador ou dispositivo móvel, que

possua conexão com a internet para monitorar em tempo real de um ambiente

Universitário.

Outro objetivo é fornecer segurança aos usuários do Sistema de Monitoramento

Remoto, pois os usuários terão em mãos a chance de fiscalizar “pessoalmente” como se

encontra o espaço físico interno e externo, se está tudo em ordem, se há algum tipo de

anormalidade que deve ser verificada, se há a necessidade de ligar para algum órgão

público para que o mesmo realize uma visita ao local para realizar a verificação da

situação entre outras coisas.

Com a possibilidade de acessar remotamente imagens dos ambientes, o usuário

poderá acessar o serviço do Sistema de Monitoramento Remoto teoricamente de qualquer

local, desde que este lhe possibilite acesso à Internet o usuário terá total autonomia para,

por exemplo, viajar, trabalhar, ou afastar-se destes locais por um período determinado de

tempo sem, entretanto deixar de proteger seus imóveis, pois estará apto a observar e

proteger seu imóvel o tempo todo, verificar como anda o local ou o que se passa nas

proximidades.

3. METODOLOGIA

O presente projeto seguiu a abordagem de desenvolvimento de sistemas de informação,

dentro dos princípios da Engenharia de Software propostos por Pressman (2006),

Sommerville (2007) e Bezerra (2007).

Em princípio, foi necessário um levantamento teórico sobre as principais

características de um sistema de segurança eletrônico e seus princípios de

desenvolvimento proposto por Nakamura (2004).

Uma vez realizada a fundamentação teórica necessária, teve início o processo de

coleta e análise de requisitos para o sistema em questão. Para isso, foram ouvidos os

professores e funcionários administrativos da instituição, com o objetivo de identificar

suas principais necessidades quanto ao apoio do serviço de segurança oferecido pelo

campus.

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 15, Ano 2009 • p. 339-355

ANUIC_n15_miolo.pdf 341 13/04/2011 09:15:02

Page 4: SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software propostos por Pressman (2006), Sommerville (2007) e Bezerra (2007). Em princípio, foi

342 Sistema de segurança eletrônico para monitoramento remoto de ambientes universitários em tempo real

A análise de requisitos permitiu a modelagem de todo o sistema, considerando

seus aspectos funcionais, estruturais e tecnologia necessária para o desenvolvimento

propostos por Tanenbaum (2003), Dimarzio (2005), Kurose (2006), Ross (2003) e Rufino

(2003).

O desenvolvimento do projeto seguiu o paradigma da Prototipação, que permite

uma avaliação aprofundada ainda na fase de análise e projeto do sistema desenvolvido.

4. DESENVOLVIMENTO

4.1. Internet

A Internet é uma rede global de computadores que interliga máquinas do mundo todo

formando uma grande comunidade de usuários que, através dela, se comunicam, trocam

dados e informações, realizam todo o tipo transações possíveis e disponibilizam seus

dados para que possam ser compartilhados com os demais usuários da rede.

Sua abrangência é tamanha que até mesmo nos mais remotos locais do globo

pode ser acessada por intermédio de inúmeros equipamentos que fazem uso de diversas

tecnologias que tornam isso possível, entretanto, não podemos deixar de citar que tudo

isso só é possível para uma determinada parcela da população, tendo em vista que o custo

de um computador pessoal (PC) por mais simples que seja ainda é bastante elevado, o que

impossibilita as comunidades mais carentes de terem acesso à Internet.

O que mantém a Internet como uma unidade é o protocolo TCP/IP e o

mecanismo público de fixação de suas normas através dos chamados RFC’s (Request for

Comments), cuja aderência rigorosa é forçada pelo desconforto, que se manifestaria em

dificuldade de comunicação com o resto do mundo, de quem queira, por ventura, se

afastar. Em outras palavras, o volume da Internet no momento é tal que se torna

impossível qualquer tentativa de concorrência com ela. É impossível exagerar, com

relação a este aspecto, a importância da adoção do protocolo TCP/IP.

A própria indústria de “hardware” incorporou este protocolo nos seus produtos e,

hoje em dia, a montagem de uma rede computacional fora dos padrões TCP/IP

provavelmente seria proibitiva em função do seu alto custo e baixa probabilidade de

aceitação. Como conseqüência desta situação, as muitas redes que existiam ainda cinco

anos atrás vêm desaparecendo uma a uma, sendo absorvidas pela Internet. Todas as

tecnologias proprietárias encaixam-se nesta descrição.

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 15, Ano 2009 • p. 339-355

ANUIC_n15_miolo.pdf 342 13/04/2011 09:15:02

Page 5: SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software propostos por Pressman (2006), Sommerville (2007) e Bezerra (2007). Em princípio, foi

Cesar Azambuja Batista 343

A Internet será o canal de comunicação utilizado para a utilização do Sistema de

Monitoramento Remoto, uma vez que será através dela que o serviço de monitoramento

será oferecido, e de qualquer lugar onde um dos usuários do sistema estiver e quiser

acessar para utilizar os serviços oferecidos poderão fazê-lo, desde que a Internet possa ser

acessada. Por este motivo, ela foi fundamental para a realização deste trabalho, pois todo

ele se baseia em uma aplicação que tem por base a utilização da Internet como meio de

propagação do serviço, campo de atuação do sistema e meio de comunicação entre

usuário final do sistema e fornecedor dos serviços de acesso remoto.

4.2. Linguagem Java

Trata-se de uma linguagem de programação orientada a objetos OOP (Object Oriented

Programing) que foi desenvolvida pela Sun Microsystems, chamam-se assim os modelos

que facilitam todo o processo de desenvolvimento de um software, o que dá ao

programador uma maior flexibilidade durante o desenvolvimento do programa,

permitindo ao mesmo a reutilização de códigos já utilizados anteriormente no mesmo

programa.

Java tem a aparência de C ou de C++, embora a filosofia da linguagem seja

diferente. O leitor que programa em qualquer uma delas, ou em uma linguagem

orientada a objetos, se sentirá mais à vontade e se tornará um bom programador Java em

menos tempo (DEITEL, 2001).

Java é uma linguagem que resultou da soma de tecnologias conhecidas há muito

tempo, mas que até então não encontrava plataformas boas o suficiente para ser utilizada

com todo o seu potencial.

A linguagem Java também possui características herdadas de muitas outras

linguagens de programação: Objectie C, Smalltalk, Eiffel, Modula 3 etc. Muitas das

características desta linguagem não são totalmente novas. Java é uma feliz união de

tecnologias testadas por vários centros de pesquisa e desenvolvimento de software

(DEITEL, 2001).

O Poder da Combinação Java+Web:

• distribuir aplicações e não apenas informações;

• elimina a necessidade de portar aplicações;

• elimina a necessidade de instalação por parte do usuário final;

• corte de gastos com distribuição de software;

• alcançar milhões de pessoas instantaneamente.

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 15, Ano 2009 • p. 339-355

ANUIC_n15_miolo.pdf 343 13/04/2011 09:15:02

Page 6: SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software propostos por Pressman (2006), Sommerville (2007) e Bezerra (2007). Em princípio, foi

344 Sistema de segurança eletrônico para monitoramento remoto de ambientes universitários em tempo real

Java – As Vantagens de se Programar pela Rede:

• seguro;

• compacto;

• independente de plataformas;

• programas executam localmente;

• capacidade de atualização contínua.

Características da Linguagem Java:

• uma linguagem de programação orientada a objetos;

• independência de plataformas;

• não utiliza ponteiros;

• tem alocação dinâmica de memória em tempo de execução;

• utiliza multithreading;

• mesma sintaxe usada em diferentes tecnologias (Building Dynamic Website with Java Servlets Tecnology, 2000).

Características Avançadas da Linguagem Java:

• Exceções: Java implementa exceções do mesmo estilo do C++, ajudando na construção de “Código Seguro”; quando um erro ocorre este pode ser tratado adequadamente, através da exceção gerada.

• Interface Gráfica: Java implementa vários elementos usados para construir a interface gráfica do usuário, como caixa de entrada de dados, botões, rótulos, listas, campos de textos, barras rolantes e tabelas.

• Frames: Em Java, Frame é a janela básica usada para criar uma interface gráfica com o usuário. No appletviewer da Sun, a classe Frame é a classe básica usada na construção da interface usada pelo applet que está sendo visualizado.

• Threads e Multithreads: A linguagem Java dá suporte à criação de múltiplos threads. Multithread significa que se pode ter várias tarefas em uma aplicação Java executando simultaneamente. Aumenta a performance das aplicações Java.

• Entrada e Saída em Arquivos: Todas as linguagens fornecem alguns mecanismos de interação com sistema de arquivos local; Java não é uma exceção. Segurança é um detalhe que se deve ter sempre em mente. Classes de objetos de manipulação de I/O estão no pacote java.io.

Java e HTML:

• rótulo applet foi adotado como padrão. O rótulo <Applet>....</Applet> extende do HTML;

• é ignorado se for visualizado em um browser que não suporta Java;

• logo estarão aparecendo editores WYSIWYG JAVA/HTML.

Acesso a Banco de Dados:

• JDBC – interface padrão para acesso a base de dados SQL;

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 15, Ano 2009 • p. 339-355

ANUIC_n15_miolo.pdf 344 13/04/2011 09:15:03

Page 7: SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software propostos por Pressman (2006), Sommerville (2007) e Bezerra (2007). Em princípio, foi

Cesar Azambuja Batista 345

• fornece uma interface uniforme para acesso a uma grande variedade de base de dados relacionais;

• permitir que aplicações JDBC executem usando drivers ODBC existentes.

Portabilidade

Criada para ser portável, seu compilador gera durante sua utilização um “byte-code” para

a sua utilização específica que pode ser transportado entre plataformas distintas que

suportam Java (Solaris 2.3, Windows NT, Windows 95, Mac/OS etc).

Não é necessário recompilar um programa para que ele rode numa máquina e

sistema diferente, ao contrário do que acontece, por exemplo, com programas escritos em

C e outras linguagens (DEITEL, 2001).

Esta portabilidade é importante para a criação de aplicações para a heterogênea

Internet. Em Java um inteiro, por exemplo, tem sempre 32 bits independentemente da

arquitetura. O próprio compilador Java é escrito em Java, de modo que ele é portável para

qualquer sistema que possua o interpretador de “byte-codes”. Um exemplo de programa

escrito em Java é o browser hotjava (DEITEL, 2001).

Orientada a Objetos

A portabilidade é uma das características que se inclui nos objetivos almejados por uma

linguagem orientada a objetos. Em Java ela foi obtida de maneira inovadora com relação

ao grupo atual de linguagens orientadas a objetos (DEITEL, 2001).

Java suporta herança, mas não herança múltipla. A ausência de herança múltipla

pode ser compensada pelo uso de herança e interfaces, onde uma classe herda o

comportamento de sua superclasse além de oferecer uma implementação para uma ou

mais interfaces.

Java permite a criação de classes abstratas. Outra característica importante em

linguagens orientadas a objetos é a segurança, dada a sua importância, o tópico foi escrito

à parte (DEITEL, 2001).

Segurança

A presença de coleta automática de lixo, evita erros comuns que os programadores

cometem quando são obrigados a gerenciar diretamente a memória (C, C++, Pascal) a

eliminação do uso de ponteiros, em favor do uso de vetores, objetos e outras estruturas

substitutivas traz benefícios em termos de segurança.

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 15, Ano 2009 • p. 339-355

ANUIC_n15_miolo.pdf 345 13/04/2011 09:15:03

Page 8: SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software propostos por Pressman (2006), Sommerville (2007) e Bezerra (2007). Em princípio, foi

346 Sistema de segurança eletrônico para monitoramento remoto de ambientes universitários em tempo real

O programador é proibido de obter acesso à memória que não pertence ao seu

programa, além de não ter chances de cometer erros comuns tais como “reference aliasing”

e uso indevido de ponteiros. Estas medidas são particularmente úteis quando pensarmos

em aplicações comerciais desenvolvidas para Internet (DEITEL, 2001).

Ser “strongly typed” também é uma vantagem em termos de segurança, que está

aliada a eliminação de conversões implícitas de tipos de C++.

A presença de mecanismos de tratamentos de exceções torna as aplicações mais

robustas, não permitindo que elas abortem, mesmo quando rodando sobre condições

anormais. O tratamento de exceções será útil quando for modelada situações tais como

falhas de transmissão e formatos incompatíveis de arquivos.

Servlets

A Web é uma imensa aplicação distribuída onde existem diversos servidores de conteúdo

e clientes destes servidores que acessam seu conteúdo. Cada par servidor Web–browser

corresponde a um par cliente-servidor. O conteúdo das páginas Web pode ser estático ou

dinâmico.

Quando o conteúdo é estático temos que os documentos HTML residentes no

servidor que são simplesmente entregues aos clientes mediante uma requisição e

renderizados nos clientes pelos próprios browsers.

Quando o conteúdo é dinâmico temos que ele pode ser criado no próprio cliente,

através do JavaScript, Dynamic HTML,ou applets Java numa situação caracterizada como

client-side ou client-end. O conteúdo dinâmico pode também ser criado do lado servidor

através de programas ou scripts CGI, aplicações server-side e agora servlets.

Servlets são peças de código Java que operam do lado servidor. Num certo

sentido, enquanto as applets operam do lado cliente, as servlets operam de forma

complementar do lado do servidor, mas diferentemente das applets que não tem acesso

aos recursos existentes na máquina do cliente, as servlets tem acesso aos mesmos recursos

disponíveis para as aplicações server-side, isto é, acesso ao sistema de arquivos, bancos de

dados locais ou outras conexões da rede.

As Servlets oferecem vantagens substanciais em termos de performance pois

podem permanecer ativas continuamente eliminado o overhead imposto pela carga dos

programas CGI a cada solicitação de serviços.

Outra vantagem óbvia é a questão da portabilidade, apontando para um largo

uso de servlets num futuro muito próximo.

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 15, Ano 2009 • p. 339-355

ANUIC_n15_miolo.pdf 346 13/04/2011 09:15:03

Page 9: SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software propostos por Pressman (2006), Sommerville (2007) e Bezerra (2007). Em princípio, foi

Cesar Azambuja Batista 347

Geração Dinâmica de Páginas HTML

Os servlets podem ser instalados em servidores Web para processar informações

transmitidas via http a partir, por exemplo de formulários HTML.

As aplicações podem incluir acesso a Banco de Dados ou comunicação com

outros servlets.

Balanceamento de Carga entre Servidores

Para entender como utilizar servlets para fazer balanceamento de carga, considere a infra-

estrutura de um provedor de serviços via Internet composta de cinco servidores, dos

quais, quatro são capazes de executarem as mesmas aplicações. O servidor restante seria

responsável por monitorar a carga dos demais e receber o acesso inicial de cada cliente às

aplicações e em seguida redirecionar os pedidos de acesso para um dos quatro servidores

de aplicação, conforme a ocupação de cada um no momento em que o cliente tenta

estabelecer uma conexão. Assim, o cliente passa a trocar informações somente com o

servidor que foi alvo do redirecionamento.

Modularização do Código

Um servlet pode executar outro servlet, mesmo que remotamente, desta forma é possível

executá-los em corrente. Esta característica possibilita a modularização dos aplicativos,

criando servlets com funções específicas. Suponha que para acessar um conjunto de

aplicativos, o cliente deva ser autenticado. Neste caso, uma configuração possível seria de

criar um servlet responsável apenas pela tarefa de autenticação.

Uma vez autenticado, este servlet redirecionaria o cliente para outro servlet, não

necessariamente instalado no mesmo servidor, que executaria o aplicativo. A vantagem

deste tipo de arquitetura, é que se por alguma razão for necessário modificar o

procedimento de autenticação, por exemplo, pela do banco de dados de usuários, não será

necessário reescrever toda a aplicação, e sim apenas o servlet responsável pela

autenticação.

Java Servlet Developer Kit - JSDK

Trata-se de uma API Java que, quando compilada responde requisições de páginas HTML

e qualquer outra tecnologia Java. Trabalha com servidor por multi-thread, trata cookies com

muita segurança, além de possuir estrutura orientada a objeto, o que aumenta a

modularização do sistema (nedprof.usf.com.br).

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 15, Ano 2009 • p. 339-355

ANUIC_n15_miolo.pdf 347 13/04/2011 09:15:03

Page 10: SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software propostos por Pressman (2006), Sommerville (2007) e Bezerra (2007). Em princípio, foi

348 Sistema de segurança eletrônico para monitoramento remoto de ambientes universitários em tempo real

A função do JSDK é simplificar a tarefa de desenvolver aplicações baseadas no

servidor. O toolkit proporciona melhorias que facilitam o desenvolvimento de aplicações

Java no lado do servidor, os chamados Servlets (nedprof.usf.com.br).

O Java Servlet possui como principal característica rodar em qualquer tipo de

servidor. Esse kit oferece algumas ferramentas necessárias para a criação de Servlets.

Vantagens dos Servlets

Independência de plataforma:

Os Servlets podem rodar em qualquer plataforma sem serem restritos ou até mesmo

compilados novamente. Os Scripts Perl, por serem interpretados, também possuem esta

funcionalidade, mas são muito lentos. As aplicações CGI necessitam de alta performance

são escritas em C.

Performance:

Um novo programa CGI é carregado para cada requisição ao servidor, isto quer dizer que

para dez requisições simultâneas, terá dez programas iguais na memória. Os servlets são

carregados apenas uma vez. E para cada nova requisição gera um novo thread. O método

init() do servlet assim como na applets, ocorre apenas na primeira vez que a classe é

carregada. É normalmente neste método que se estabelece uma conexão com o banco de

dados. Cada uma das threads geradas pode usar a mesma conexão aberta no método init(),

este tipo de tratamento aumenta e muito o tempo de performance do servlet, já que a

conexão ao banco de dados é feita apenas uma vez e todas as outras requisições usam esta

conexão.

Extensibilidade:

Com Java pode-se criar aplicações muito mais modulares, tirar todo proveito da

orientação a objetos, e utilizar o grande número de API’s disponíveis pela Sun ou

terceiros.

Acesso Remoto

Um dos principais responsáveis pelo grande crescimento da rede mundial de

computadores é o acesso a banco de dados, facilitando a visualização de informações

disponíveis em rede. Estas informações, em diferentes formatos, podem ser facilmente

acessadas e apresentadas través de interfaces gráficas.

As aplicações originalmente desenvolvidas para Web não acessavam informações

armazenadas em bancos de dados.

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 15, Ano 2009 • p. 339-355

ANUIC_n15_miolo.pdf 348 13/04/2011 09:15:03

Page 11: SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software propostos por Pressman (2006), Sommerville (2007) e Bezerra (2007). Em princípio, foi

Cesar Azambuja Batista 349

Recentemente, a linguagem de programação Java tem adquirido grande

popularidade. Com o objetivo de possibilitar o acesso a banco de dados a partir de

programas desenvolvidos nesta linguagem, foi definida uma interface de programação

denominada JDBC. Ela possibilita a execução de enunciados SQL, sendo composta por

um conjunto de classes através das quais os programadores podem escrever aplicações

que acessem bancos de dados de forma padronizada. A interface apresenta características

independentes do banco de dados, possibilitando que os programas sejam escritos da

mesma forma, independentemente do banco de dados acessado.

Através da interface de programação JDBC, é possível estabelecer uma conexão

com uma base de dados, enviar comandos SQL e processar os resultados. A combinação

de Java com JDBC possibilita o desenvolvimento de aplicações que fazem acesso a bancos

de dados inteiramente em Java e que podem ser executadas em plataformas diversas. A

interface JDBC é, portanto, a escolha natural para programadores Java.

Banco de Dados

Um Banco de Dados pode ser definido como sendo um conjunto de “dados” devidamente

relacionados. Por “dados” podemos compreender como “fatos conhecidos” que podem

ser armazenados e que possuem um significado implícito. Porém, o significado do termo

“banco de dados” é mais restrito que simplesmente a definição dada acima. Um banco de

dados possui as seguintes propriedades:

• é uma coleção lógica de dados com um significado inerente;

• é projetado, construído e populado com dados para um propósito específico, e possui um conjunto pré-definido de usuários e aplicações;

• representa algum aspecto do mundo real (mini-mundo);

• pode ser criado e mantido por um conjunto de aplicações desenvolvidas especialmente para esta tarefa ou por um “Sistema Gerenciador de Banco de Dados” (SGBD).

Um SGBD permite aos usuários criarem e manipularem bancos de dados de

propósito geral. O conjunto formado por um banco de dados mais as aplicações que

manipulam o mesmo é chamado de “Sistema de Banco de Dados”.

Banco de Dados na Web

A rede é um dos maiores meios de comunicação entre as pessoas, e assim sendo, é

também uma grande forma de se trocar informações entre bases de dados.

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 15, Ano 2009 • p. 339-355

ANUIC_n15_miolo.pdf 349 13/04/2011 09:15:03

Page 12: SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software propostos por Pressman (2006), Sommerville (2007) e Bezerra (2007). Em princípio, foi

350 Sistema de segurança eletrônico para monitoramento remoto de ambientes universitários em tempo real

Segurança

Além de todas as questões de segurança que já vem embutidas ao se usar bancos de

dados, ou seja, que são necessárias pelo simples fato de se usar um banco de dados, a

coisa piora ainda mais quando se coloca tudo isso na rede.

Segurança na Web

Segurança na rede e criptografia são tópicos que se confundem. Criptografia é baseada em

algoritmos complexos desenvolvidos para prevenir a sua quebra por pessoas indesejáveis.

Alguns algoritmos importantes são de propriedade (oficialmente secretos) e só estão

disponíveis para aqueles que são licenciados.

Algumas tecnologias de segurança de rede são:

• Firewalls: controla o tráfego em gateways de subredes chaves.

• Virtual Private Networks: assegura links de subredes.

• Vulnerability Scanners: checa todos os hosts para vulnerabilidade de segurança.

• Sniffers/Monitors: observa o tráfego a nível de aplicação em subredes em tempo real.

Para a implementação de um Sistema de Monitoramento Remoto, é importante o

uso de um firewall, tendo em vista que os dados podem ser acessados remotamente pelos

usuários do sistema, o que demanda de um maior número de ferramentas de segurança a

fim de que os dados dos usuários não sejam extraviados e utilizados para fins ilícitos.

5. RESULTADOS

5.1. Sistema de Monitoramento Remoto

Trata-se de um Website dinâmico implementado utilizando-se Servlets e HTML, onde os

usuários terão acesso ao sistema através de um login e senha, fornecidos aos mesmos após

seu cadastro no Banco de Dados do site. Ao acessar a página de login e após concluída a

validação do usuário, os mesmos poderão acessar imagens de locais internos e externos

de qualquer lugar onde possam ter acesso a um computador com conexão com a Internet.

As imagens, após terem sido capturadas por câmeras e gravadas no servidor,

serão disponibilizadas ao usuário do sistema, sendo que o número de câmeras e os locais

onde elas estarão fixadas serão de escolha e conhecimento do usuário que irá determinar

conforme suas necessidades e possibilidades.

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 15, Ano 2009 • p. 339-355

ANUIC_n15_miolo.pdf 350 13/04/2011 09:15:03

Page 13: SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software propostos por Pressman (2006), Sommerville (2007) e Bezerra (2007). Em princípio, foi

Cesar Azambuja Batista 351

A Figura 1 mostra a tela de acesso do sistema, que realiza a validação dos

usuários através da comparação entre as strings nome e senha cadastradas no Banco de

Dados e as capturadas nos respectivos campos login e senha da página inicial do sistema.

Figura 1 – Tela de Acesso ao Sistema.

A Figura 2 mostra a tela de visualização das imagens gravadas no servidor que é

atualizado a cada 30 segundos. As imagens mostram a movimentação de pessoas em

algumas áreas da Unaes I, como; área de convivência em frente à cantina, área interna do

teatro, entrada do teatro e um dos laboratórios.

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 15, Ano 2009 • p. 339-355

ANUIC_n15_miolo.pdf 351 13/04/2011 09:15:03

Page 14: SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software propostos por Pressman (2006), Sommerville (2007) e Bezerra (2007). Em princípio, foi

352 Sistema de segurança eletrônico para monitoramento remoto de ambientes universitários em tempo real

Figura 2 – Imagens visualizadas pela Internet.

5.2. Ferramentas Utilizadas

Na elaboração do Sistema de Monitoramento Remoto foram utilizados os seguintes

softwares para auxiliar na criação dos componentes que irão compor o sistema como um

todo:

• Microsoft FrontPage: utilizado para a criação das páginas HTML, pois o mesmo possui uma interação com o usuário muito amigável e apresenta excelentes resultados finais.

• Internet: Utilizada desde o início da realização deste projeto, esta ferramenta contribuiu na realização de pesquisas sobre todos os conceitos citados anteriormente e também contribuiu com os inúmeros exemplos práticos que servirão de base e exemplo para a criação do site principal deste projeto.

• Java Development Kit (JDK 1.2.1): É uma série de bibliotecas de classes organizadas em pacotes, que oferece um conjunto de ferramentas para a criação de programas em Java.

• Bluette 1.5: É a ferramenta de desenvolvimento java utilizada tanto na implementação das servlets como na construção de applets, embora estes últimos não serão utilizados neste Trabalho Final de Graduação, são igualmente importantes nas aplicações Java e vastamente empregados na Web.

• Java Servlet Development Kit (JSDK 2.1): É também uma série de bibliotecas de classes, mas que possibilita a criação de programas em Java com requisições cliente/servidor (servlets).

• JDBC/ODBC bridge: A ponte JDBC/ODBC (Java Database Connectivy

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 15, Ano 2009 • p. 339-355

ANUIC_n15_miolo.pdf 352 13/04/2011 09:15:03

Page 15: SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software propostos por Pressman (2006), Sommerville (2007) e Bezerra (2007). Em princípio, foi

Cesar Azambuja Batista 353

Open Database Connectivy) será utilizada por ser compatível com uma larga faixa de banco de dados que possuem ODBC. O ODBC permite que aplicativos acessem banco de dados utilizando SQL.

• Microsoft Access: Banco de Dados que será utilizado para guardar as informações mantidas pelo sistema.

5.3. Requisitos do Sistema

Para o correto funcionamento do Sistema de Monitoramento Remoto, faz-se necessário

que algumas exigências sejam preenchidas:

• Uma conexão com a Internet (tanto no lado Cliente como no lado Servidor).

• Suporte ao protocolo TCP/IP (padrão nas aplicações para Web dentre outras).

• Sistema operacional compatível com a tecnologia oferecida pela linguagem Java.

• Suporte a aplicações Java Servlets.

• Um Browser para visualização das páginas do Sistema.

• Banco de dados Microsoft Access 97 ou posterior (somente no lado Servidor).

• Sistema Operacional que ofereça suporte à tecnologia Java.

5.4. Restrições do Projeto

Durante o desenvolvimento deste projeto, não foi levado em consideração a taxa de

transmissão de dados (velocidade da conexão) do usuário, tendo em vista que o mesmo

pode utilizar-se tanto de um modem comum de acesso discado, que atinge teoricamente

um pico máximo de 56 kbps, ou um modem ADSL, acesso via rádio ou ainda outras

tecnologias de comunicação, pois em função desta diferença a aplicação não apresentará o

mesmo comportamento com relação a desempenho para todos os usuários do sistema; ou

ainda problemas oriundos de defeitos físicos, que podem ocorrer nos meios de

comunicação, nas máquinas cliente ou no servidor.

6. CONSIDERAÇÕES FINAIS

Com a popularização da Internet e o barateamento no custo dos serviços de acesso à Web

existe uma forte tendência de que a maioria das pessoas que hoje não podem usufruir dos

benefícios que a Internet oferece, possam, em muito pouco tempo, também fazer parte

desta comunidade de internautas. Isso já está acontecendo, pois as escolas públicas quase

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 15, Ano 2009 • p. 339-355

ANUIC_n15_miolo.pdf 353 13/04/2011 09:15:03

Page 16: SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software propostos por Pressman (2006), Sommerville (2007) e Bezerra (2007). Em princípio, foi

354 Sistema de segurança eletrônico para monitoramento remoto de ambientes universitários em tempo real

que em sua totalidade já contam com laboratórios de informática com acesso à rede para

seus alunos.

O acesso às mais variadas bases de dados remotamente já é uma rotina para a

maioria dos usuários da Web, todavia, serviços na área de segurança física seja ela de

pessoas, móveis ou imóveis é bem mais restrito, eu diria até mesmo que é quase

inexistente, em se tratando especificamente do tipo de sistema tratado na presente

fundamentação teórica.

O que este sistema oferece é a possibilidade de disponibilizar para seu usuário

imagens que podem ser das dependências internas e externas, a qualquer hora do dia ou

da noite (vinte e quatro horas por dia) e em qualquer lugar que o usuário esteja, desde que

neste local haja um computador com acesso à Internet, é a condição que torna possíveis e

viabiliza a prestação deste serviço de monitoramento à distância. Isso mostra que o acesso

é possível mesmo com o usuário em deslocamento, desde que o mesmo possua um

notebook, ou um palmtop com tecnologia que possibilite acesso à rede para que ele possa

usufruir desse sistema.

Para trabalhos futuros pode-se implementar o tratamento das imagens

capturadas diretamente de webcam com atualização instantânea dos frames, ou seja, obter

imagens em tempo real.

O presente trabalho demonstra é que com um pouco de esforço, muita dedicação

e estudo, é possível oferecer um sistema que monitora ambientes utilizando pura e

simplesmente os meios e ferramentas já difundidas na Web, encontradas em praticamente

todos os microcomputadores pessoais.

REFERÊNCIAS

BARNES, David J.; KÖLLING, Michael. Programação orientada a objetos com java: uma introdução prática utilizando o bluej. São Paulo: Pearson Education Brasil, 2006.

BEZERRA, Eduardo. Princípios de análise e projeto de sistemas com UML. 2.ed. Rio de Janeiro: Elsevier, 2007.

DEITEL, P.J. Java: como programar. Porto Alegre: BOOKMAN, 2001.

DIMARZIO, J.F. Projeto e arquitetura de redes: um guia de campo para profissionais de TI. [il]. Rio de Janeiro: Campus, 2005. 370 p. ISBN 85-352-0877-1.

KUROSE, James F.; ROSS, Keith W. Redes de computadores e a Internet: uma abordagem top-down. 3.ed. São Paulo: Pearson Education Brasil, 2006. 634 p. ISBN 85-88639-18-1.

NAKAMURA, Emilio Tissato; GEUS, Paulo Lício de. Segurança de redes em ambientes cooperativos. [il]. 3.ed. São Paulo: Futura, 2004. 472 p. ISBN 85-7413-179-2.

PRESSMAN, Roger S. Engenharia de Software. 6.ed. São Paulo: McGraw-Hill, 2006.

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 15, Ano 2009 • p. 339-355

ANUIC_n15_miolo.pdf 354 13/04/2011 09:15:03

Page 17: SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software propostos por Pressman (2006), Sommerville (2007) e Bezerra (2007). Em princípio, foi

Cesar Azambuja Batista 355

Anuário da Produção de Iniciação Científica Discente • Vol. XII, Nº. 15, Ano 2009 • p. 339-355

ROSS, John. O livro de WI-FI: instale, configure e use redes Wireless (sem-fio): cobertura em Windows, Macintosh, Linux, Unix e PDA’s. Rio de Janeiro: Alta Books, 2003. 246 p. ISBN 85-7608-024-9.

RUFINO, Nelson Murilo de O. Segurança em redes sem fio: aprenda a proteger suas informações em ambientes Wi-Fi e Bluetooth. [il]. São Paulo: Novatec, 2005. 224 p. ISBN 85-7522-070-5.

SOMMERVILLE, Ian. Engenharia de Software. 8.ed. São Paulo: Pearson Education, 2007.

TANENBAUM, Andrew S. Redes de computadores. [il]. Rio de Janeiro: Campus, 2003. 945 p. Tradução da 4.ed. ISBN 85-352-1185-3.

ANUIC_n15_miolo.pdf 355 13/04/2011 09:15:03

Page 18: SISTEMA DE SEGURANÇA ELETRÔNICO PARA … · dentro dos princípios da Engenharia de Software propostos por Pressman (2006), Sommerville (2007) e Bezerra (2007). Em princípio, foi

 

ANUIC_n15_miolo.pdf 356 13/04/2011 09:15:03