Prévia do material em texto
PROGRAMAÇÃO CLIENTE EM SISTEMAS WEB 02 Aplicações web Atualmente encontramos aplicações Web em toda parte e de todos os tipos, que vão desde blogs, fotologs, sites de vendas de todo e qualquer produto, até aplicativos de maior risco e complexidade como aplicações bancárias, leilões e etc. Essas aplicações geralmente são feitas em JSP (Java Server Pages), que é um tipo de linguagem de criação de script no servidor através de arquivos de textos normalmente com extensão “.jsp”. Essa tecnologia é bastante utilizada por proporcionar vários benefícios, além de facilitar o desenvolvimento de páginas mais dinâmicas, ela também aproveita características da linguagem Java como herança, polimorfismo, encapsulamento e gerenciamento de memória automática, proporcionando um código muito mais flexível e robusto. Componentes do JSP O JSP possui quatro componentes essenciais: - Diretivas: São mensagens para o componente de servidor que executa JSPs permitindo ao programador especificar configurações de página incluindo conteúdo de outros recursos e bibliotecas de tag. - Ações: Encapsulam funcionalidades em tags predefinidas. Freqüentemente são realizadas com base nas informações enviadas para o servidor como parte de uma solicitação particular de um cliente, podendo criar objetos Java para utilização em scriptlets de JSP. - Elementos de Script: Permite aos programadores inserir códigos Java que interajam com componentes em um JSP para realizar o processamento de solicitação. - Bibliotecas de Tags: Permite que os projetistas da página web manipulem conteúdo do JSP sem conhecimento prévio do Java. Conteúdo dinâmico nas páginas web Incorporar conteúdo dinâmico nas páginas web deve envolver algum tipo de programação para descrever como aquele conteúdo é gerado. Porém o código do programa tende a ter um custo elevado tanto para criar, quanto para manter, então, minimizar 1 a necessidade de programação é basicamente o principal objetivo. Existe uma outra tecnologia semelhante a JSPs, a chamada tecnologia CGI (Common Gateway Interfaces). A CGI é um protocolo que permite criar páginas web dinâmicas baseadas nas informações a partir de botões, listas de seleção e outros campos de um formulário HTML. As páginas geradas através de CGI podem conter imagens, sons, textos e tudo o que pode ser transferido pela web, até mesmo referências para outras páginas web. Quando acessamos um endereço na web, o computador executa uma série de tarefas. Primeiro faz contato com o servidor HTTP que mantém a página especificada, depois o servidor verifica se a página solicitada está disponível e o envia de volta para o browser, que interpreta os comandos HTML e exibe a página. Nos programas de scripts CGI, ao invés de mandar de volta o arquivo solicitado pelo cliente, ele é instruído para executar este arquivo, que deve executar um procedimento e criar uma página HTML, onde esta será devolvida para o browser. Resumidamente, scripts CGI são programas que podem gerar e enviar dados de todos os tipos, seguindo alguns procedimentos básicos: - Ler os dados do formulário do usuário. - Executar um procedimento. - Retornar uma página HTML. Quando um script CGI é acionado, diversas variáveis ambientais são configuradas e podem ser acessadas pelo programa. XML XML (eXtensible Markup Language) é uma linguagem de marcação recomendada pela W3C para a criação de documentos com dados organizados hierarquicamente, tais como textos, banco de dados ou desenhos vetoriais. A linguagem XML é classificada como extensível, e, permite definir os elementos de marcação, ou seja, um agregado de códigos que podem ser aplicados a dados ou textos para serem lidos por computadores ou pessoas. O World Wide Web Consortium (W3C) é um consórcio internacional com cerca de 300 membros, entre empresas, órgãos governamentais e 2 organizações independentes, que visam o desenvolvimento de padrões de criação e interpretação de conteúdos na Web. O HTML é uma linguagem de marcação para organizar e formatar um web site, já o XML tem o mesmo conceito, mas para padronizar uma sequência de dados com o objetivo de organizar, separar o conteúdo e integrá-lo com outras linguagens. O XML traz uma sintaxe básica que pode ser utilizada para compartilhar informações entre diferentes computadores e aplicações. Quando combinado com outros padrões, torna-se possível definir o conteúdo de um documento separadamente de seu formato, possibilitando a reutilização do código em outras aplicações para diferentes propósitos. Portanto, uma das suas principais características é sua portabilidade, pois, por exemplo, um banco de dados pode escrever um arquivo XML para que outro banco consiga lê-lo. Segurança da informação Um fato importante que os desenvolvedores de páginas web ou qualquer outro tipo de aplicação deve atentar é para a segurança da informação, pois esta, apesar de muitas vezes envolver um processo simples, algumas empresas não dão o devido valor a esta questão, que se não for feito, ou for executado de maneira errônea pode comprometer toda a estrutura da organização, causando muitas vezes danos irreparáveis. A Segurança da Informação se refere à proteção existente sobre as informações de uma determinada empresa ou pessoa, isto é, aplica-se tanto às informações corporativas quanto às pessoais. Entende-se por informação todo e qualquer conteúdo ou dado que tenha valor para alguma organização ou pessoa. Ela pode estar guardada para uso restrito ou exposta ao público para consulta ou aquisição. No passado a questão da segurança da informação era muito mais simples, pois os arquivos eram físicos (em papel) e podiam ser trancados fisicamente, porém com o avanço da tecnologia da informação e da comunicação esse processo ficou muito mais complexo. 3 Atualmente, qualquer computador que tenha acesso á internet pode enviar e receber arquivos digitais com maior flexibilidade e facilidade de armazenar dados em um dispositivo portátil, tornando assim um atrativo para meliantes à prática de invasão e roubo de informações. Caso a organização portadora dessas informações não possua um dispositivo ou utilize algum método que impeça esse tipo de ação, pode colocar em risco toda a sua estrutura. Uma vez identificados quais os pontos em que as informações estão expostas deve-se imediatamente iniciar um processo de segurança física e lógica, com o intuito de alcançar um nível aceitável de segurança. Atributos básicos Os atributos básicos (segundo os padrões internacionais) são os seguintes: - Confidencialidade: Propriedade que limita o acesso a informação somente à pessoas autorizadas pelo proprietário da informação. - Integridade: Propriedade que garante que a informação manipulada mantenha todas as características originais estabelecidas pelo proprietárioda informação, incluindo controle de mudanças e garantia do seu ciclo de vida (nascimento, manutenção e destruição). - Disponibilidade: Propriedade que garante que a informação esteja sempre disponível para o uso legítimo, ou seja, por aqueles usuários autorizados pelo proprietário da informação. Ferramentas para proteção da informação Atualmente existem inúmeras ferramentas que auxiliam na proteção da informação, seja de forma física ou lógica: - Controles Físicos: São métodos que impedem ou limitam o acesso às informações, ou o local que elas se encontram. São exemplos de controle físico: portas, trancas, cofres e etc. - Controles Lógicos: Impede o acesso à informação que está 4 em ambiente controlado, geralmente eletrônico, por exemplo: a) Criptografia – Permite a transformação da informação de forma reversível para que esta possa tornar-se ininteligível a terceiros. b) Assinatura digital – Um conjunto de dados criptografados, associados a um documento, garantindo a integridade do documento associado, mas não a sua confidencialidade. c) Mecanismos de controle de acesso – São basicamente palavras-chave, sistemas biométricos, firewalls, cartões inteligentes. São bastante úteis quando se tem uma política de segurança aceitável. Existem muitas outras ações que podem ser tomadas para melhorar a segurança da informação, porém percebemos que normalmente as pessoas são o elo mais frágil em se tratando de segurança da informação, as soluções técnicas não contemplam totalmente sua segurança, desta forma torna-se necessário que os conceitos pertinentes a segurança sejam compreendidos e seguidos por todos dentro da organização, inclusive sem distinção de níveis hierárquicos. 5