Desenvolvimento de Sistema Web utilizando arquitetura em Três Camadas e Applets



Documentos relacionados
Noções de. Microsoft SQL Server. Microsoft SQL Server

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

LINGUAGEM DE BANCO DE DADOS

Sistemas Distribuídos

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Programando em PHP. Conceitos Básicos

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

Escola Superior de Tecnologia de Setúbal. Projecto Final

Programação para Internet II

Programação para Internet II

Curso de Aprendizado Industrial Desenvolvedor WEB

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

SISTEMAS DISTRIBUÍDOS

UFG - Instituto de Informática

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

GERAÇÃO DE RELATÓRIOS

Projuris Enterprise Visão Geral da Arquitetura do Sistema

A INTERNET COMO FERRAMENTA AUXILIAR NO ENSINO DE MECÂNICA COMPUTACIONAL

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

Curso de Aprendizado Industrial Desenvolvedor WEB

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Introdução ao Modelos de Duas Camadas Cliente Servidor

UFG - Instituto de Informática

Automação de Locais Distantes

Um Driver NDIS Para Interceptação de Datagramas IP

World Wide Web e Aplicações

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Fábrica de Software 29/04/2015

Anais do Simpósio Regional de Geoprocessamento e Sensoriamento Remoto - GEONORDESTE 2014 Aracaju, Brasil, novembro 2014

Eduardo Bezerra. Editora Campus/Elsevier

Tecnologia da Informação. Prof. Esp. Lucas Cruz

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Programação para Web Artefato 01. AT5 Conceitos da Internet

Desenvolvendo para WEB

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -ARQUITETURAS DE APLICAÇÃO MÓVEL. Prof. Angelo Augusto Frozza, M.Sc.

Universidade da Beira Interior

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

Android e Bancos de Dados

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

SISTEMA DE MONITORAMENTO DE CONDIÇÕES CLIMÁTICAS

1 INTRODUÇÃO. 1.1 Motivação e Justificativa

5 Mecanismo de seleção de componentes

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Web Design Aula 01: Conceitos Básicos

CAPÍTULO 2. Este capítulo tratará :

DWEB. Design para Web. CSS3 - Fundamentos. Curso Superior de Tecnologia em Design Gráfico

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

MVC e Camadas - Fragmental Bliki

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

2 Geração Dinâmica de Conteúdo e Templates de Composição

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

O que há de novo. Audaces Idea

PARANÁ GOVERNO DO ESTADO

Adriano Reine Bueno Rafael Barros Silva

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo

SISTEMA DE CONTROLE DE DADOS CLIMÁTICOS NA WEB NO AUXILIO À AGRICULTURA RESUMO SYSTEM CONTROL OF CLIMATIC DATA IN THE WEB TO ASSIST THE AGRICULTURE

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

Marco A. M. de Melo e Fernando S. P. Gonçalves MANAGER

Aspectos Sociais de Informática. Simulação Industrial - SIND

Collaboration Map Collaboration Map. Figura 6.1: Arquitetura da aplicação

Arquitetura de Banco de Dados

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

INFORMATIZAÇÃO DE FARMÁCIAS PÚBLICAS UTILIZANDO SOFTWARE

e-stf WebServices Processo Eletrônico Smart Client Documentação

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

UFG - Instituto de Informática

HIBERNATE EM APLICAÇÃO JAVA WEB

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

JSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem

Desenvolvimento Web TCC Turma A-1

Armazenamento em nuvem é feito em serviços que poderão ser acessados de diferentes lugares, a qualquer momento e utilizando diferentes dispositivos,

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

XHTML 1.0 DTDs e Validação

APLICATIVO MOBILE CATÁLOGO DE PÁSSAROS - PLATAFORMA ANDROID/MYSQL/WEBSERVICE

a nova forma de fazer web

Construção Páginas de Internet

A Grande Importância da Mineração de Dados nas Organizações

Criando um script simples

Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta

Introdução a Banco de Dados Aula 03. Prof. Silvestri

Transformando serviços automotivos: o caso de pneus

Transcrição:

Desenvolvimento de Sistema Web utilizando arquitetura em Três Camadas e Applets Kanji Hara Neto 1, Lucas G Nadalete 1, Fabio A. Gennari 1, Antonio A. Carneiro de Freitas 2 1 Coordenação de Informática Centro Federal de Educação Tecnológica do Paraná (CEFET-PR) Caixa Postal 86.300-000 Cornélio Procópio PR Brazil 1 Coordenação de Eletrotécnica Centro Federal de Educação Tecnológica do Paraná (CEFET-PR) Caixa Postal 86.300-000 Cornélio Procópio PR Brazil kanji@cp.cefetpr.br,lookyller2002@yahoo.com.br, fabiogennari@bol.com.br, carneirofreitas@brturbo.com.br Abstract. This article presents a practical application of a developed system using architecture in three layers and using a Web navigational mechanism through Applet. Resumo. Este artigo apresenta uma aplicação prática de um sistema desenvolvido utilizando arquitetura em três camadas e utilizando um mecanismo navegacional através de Applets. 1. INTRODUÇÃO O desenvolvimento de aplicações para web obrigou os desenvolvedores a utilizar uma nova arquitetura de sistemas, abandonando a arquitetura monolítica para se empregar uma arquitetura em camadas. O Objetivo deste artigo é apresentar uma aplicação prática de sistemas desenvolvidos utilizando arquitetura em camadas, com a utilização de applets pa ra gerar e manipular mapas. 2. CAMADAS Nos primórdios da computação, quando um aplicativo era executado em uma única máquina, era comum encontrar sistemas monolíticos contendo todas as funcionalidades do aplicativo em uma única grande camada como demonstra a Figura 1, onde sua manutenção e atualização eram extremamente penosas e complexas.

Lógica de Apresentação Código Monolítico Lógica de Acesso a Dados Banco de Dados Figura 1 Código monolítico. Com o objetivo de se manter diversos aplicativos e uma única base de dados, a arquitetura monolítica evoluiu para uma arquitetura em duas camadas onde a lógica de acesso aos dados estava separada do restante da aplicação, permitindo assim vários programas acessarem a mesma base de dados. Apesar desta evolução na arquitetura os sistemas ainda eram potencialmente monolíticos, pois a lógica de apresentação (a interface homem máquina) e a lógica de negócio (algoritmos do sistema), estavam reunidas em uma única camada [Bond M.,Haywood D. 2003], como representa a Figura 2. Lógica de Apresentação 2 Camadas Físicas Lógica de Acesso a Dados Banco de Dados Figura 2 - Código em 2 camadas. Com o advento da Internet, esta arquitetura teve que ser alterada, pois o tempo necessário para carregar todos os componentes da regra de negócio no cliente em um aplicativo Web é extremamente elevado, tornando assim o sistema inviável. Devido a esses problemas a arquitetura em duas camadas foi substituída por uma arquitetura em três camadas, como está representado na Figura 3.

Lógica de Apresentação 3 Camadas Físicas Lógica de Acesso a Dados Banco de Dados Figura 3 - Código em 3 camadas A arquitetura em 3 camadas, envolve a separação das funcionalidades usando camadas, com o objetivo de separar a lógica de apresentação, a lógica de negocio e a conexão com o banco de dados (lógica de acesso a dados). A separação em três camadas torna o sistema mais flexível, de modo que partes podem ser alteradas independentemente. Com o emprego de arquitetura em três, qualquer alteração em uma determinada camada não influi nas demais, desde que o mecanismo de comunicação entre elas permanece inalterado. Isto permite substituir uma camada inteira por outra, independente de que camada seja, como mostra a Figura 4, ou que um projeto desenvolvido para web, possa abranger também dispositivos móveis ou standalone, a partir da inclusão de uma nova camada de apresentação. Lógica de Apresentação pa ra aplicações WEB Lógica de Apresentação para dispositivo móvel Lógica de Acesso a Dados ao Firebird 1.5 Lógica de Acesso a Dados ao PostgreSQL Banco de Dados Firebird 1.5 Banco de Dados Pos tgresql Figura 4 Substituição de camadas do Sistema

3. Zoneamento Agroclimatico da Cultura da Soja A imprevisibilidade das variações climáticas confere à ocorrência de adversidades climáticas o principal fator de risco e de insucesso na exploração da cultura da soja. Segundo o relatório sobre seguridade agrícola elaborado pelo Ministério do Planejamento, consta a ocorrência de secas como principal evento sinistrante (71% dos casos), seguida por chuva excessiva (22% dos casos), granizo e geada. Além desses, são mencionadas ainda perdas devido à tromba d'água, vento frio, vento forte, variação excessiva de temperatura e enchente. Não considerando os eventos exclusivamente climáticos, são relatadas ainda as perdas por ocorrência de pragas e de doenças (responsáveis por 0,20% nas safras de verão e por 0,05% nas de inverno). Neste sentido, o Zoneamento Agroclimático da Cultura da Soja tem por objetivo delimitar as áreas com menores riscos de insucesso devido à probabilidade de ocorrência de déficits hídricos durante as fases mais críticas da cultura da soja, fornecendo informações que subsidiem a definição de políticas agrícolas e a tomada de decisões pelo setor produtivo, para a obtenção de maiores rendimentos com menores riscos. A realização deste trabalho envolveu a participação de várias instituições (MAPA, EMBRAPA, ANEEL, INMET, IAPAR), cobrindo os estados do PR, de GO, do TO, do MS, do MT, de MG, do MA e da BA. A primeira etapa do trabalho consistiu na obtenção do banco de dados necessário. As séries pluviométricas foram obtidas junto à ANEEL e analisadas pela Embrapa Cerrados, compreendendo os valores diários de precipitação, observados num período mínimo de 15 anos, abrangendo várias estações (de 45 a 331 estações por estado), localizadas nos diferentes Estados. Para efeito da simulação, as classes de solos foram agrupadas, segundo sua capacidade de armazenamento de água, em três tipos: alta, média e baixa retenção de água. Para representar a maioria das cultivares de soja recomendadas para as diferentes regiões, foram eleitas duas cultivares hipotéticas, consideradas perfeitamente adaptadas às condições termofotoperiódicas dos diferentes locais, com ciclos diferentes, as quais foram denominadas de PRECOCE e TARDIA. De posse dos dados necessários, foram estimados os índices de satisfação das necessidades de água (ISNA), definidos como a relação existente entre evapotranspiração real (ETr) e a evapotranspiração máxima da cultura (ETm), utilizando-se um modelo de simulação do balanço hídrico da cultura (Bipzon). Para definição dos níveis de risco agroclimático, foram estabelecidas três classes, de acordo com a relação ETr/ETm obtida: favorável (ETr/ETm >= 0,65); intermediária (0,65 > ETr/ETm > 0,55) e desfavorável (ETr/ETm <= 0,55). Foram feitas simulações para nove ou doze períodos de semeadura. Para a espacialização dos resultados, foram empregados os ISNA estimados para o período fenológico compreendido entre a floração e o enchimento de grãos (período mais crítico ao déficit hídrico), com freqüência mínima de 80% nos anos utilizados em cada estação pluviométrica. Cada valor de ISNA observado durante esta fase, foi associado a localização geográfica da respectiva estação para posterior espacialização dos mesmos, utilizando-se sistemas de informações geográficas. Foram confeccionados os mapas para cada Estado, definindo-se as áreas de maior ou menor risco de ocorrência de déficit hídrico durante a fase mais crítica da cultura, caracterizadas como favoráveis, intermediárias e desfavoráveis, em função das diferentes épocas de semeadura.

4. Sistema Zoagro Com base nas informações adquiridas no Zoneamento Agroclimatico da Soja, foi iniciado o desenvolvimento do Sistema Zoagro, um trabalho da Empresa Brasileira de Pesquisa Agropecuária (Embrapa) em parceria com o Centro Federal de Educação Tecnológica do Paraná (CEFET-PR) unidade Cornélio Procópio, que visa disponibilizar aos produtores informações sobre o plantio indicado para cada município, as estatísticas de produções e de rendimento dos respectivos, bem como as cultivares indicadas para cada Estado. O plantio indicado do Sistema Zoagro difere do Zoneamento Agroclimatico, por trabalhar apenas com duas classes ao invés das três definidas no estudo. Esta eliminação foi devido à imparcialidade que a classe intermediaria poderia causar ao produtor. O Zoagro é um sistema que inicialmente foi desenvolvido em Delphi com o banco de dados Paradox, mas com o intuito de se atingir um maior numero de produtores, o Zoagro foi migrado para Web e seu banco de dados substituído pelo Firebird 1.5. 5. Arquitetura do Sistema Zoagro O desenvolvimento foi baseado na arquitetura em três camadas, onde os arquivos Html (Hypertext Markup Language), JavaScript, CSS (Cascading Style Sheets), JSP (Java Server Pages) e Applets se encontram na camada de apresentação, os componentes JavaBeans e as Servlets na camada de regra de negócio e as classes responsáveis pela comunicação com o Banco de Dados na camada de acesso a dados, como representa a Figura 5. O servidor utilizado na aplicação é o Apache Tomcat 4.1.27, e o sistema gerenciador de banco de dados utilizado é o FireBird 1.5. Lógica de Apresentação JavaScript Applet Html JSP Css Lógica do Negócio Servlets JavaBeans Lógica de Acesso a Dados ConexaoBD FireBird 1.5 Figura 5 Arquitetura do Zoagro - Web Os arquivos Html são definidos simplesmente como uma aplicação especifica do SGML (Standard Generalized Markup), ajustada para apresentação de documentos textos[ Conallen J., 2003], que juntamente com o CSS foi utilizado para projetar a interface gráfica do Zoagro.

Os arquivos JavaScripts são pequenos programas que tem a finalidade de transferir parte do processamento para os clientes [ Albuquerque F. 2001]. No sistema, JavaScript foi empregado para realizar solicitaç ões a um JSP a partir de uma Applet. Sua utilização tornou-se necessária devido as restrições do método Java showdocument( ), que restringe o carregamento do navegador sem às toolbars. Devido a esta restrição optou-se por utilizar o método open( ) do JavaScript, como representa o código abaixo. Código Applet import netscape.javascript.jsobject; public class JApplet extends javax.swing.japplet { private JSObject window; } public void chamarjavascript( ){ window = JSObject.getWindow(this); String param [] = new String[2]; param[0]= String param[1]= String window.call("func_java_script", param); } Código Html <HTML> <HEAD> <TITLE>Applet HTML Page</TITLE> </HEAD> <SCRIPT language= "JavaScript" > function func_java_script(){ open("http://200.17.97.120:8080/zoagro/jsp/resultpalntioindicado.jsp?nomecidade="+txt2+"&cod="+txt1,"displaywindow","toolbar=no, width=530,directories=no,menubar=no,scrollbars=yes"); } </SCRIPT> <BODY> <H3><HR WIDTH="100%">Applet HTML Page<HR WIDTH="100%"></H3> <P> <APPLET code="japplet.class" width=350 height=200> <PARAM name="scriptable" value="true"> </APPLET> </P> <HR WIDTH="100%"><FONT SIZE=-1><I>Generated by NetBeans IDE</I></FONT> </BODY> </HTML> O código acima demonstra como é feita a chamada a uma função JavaScript de uma Applet. As Applets são pequenos programas Java armazenados normalmente em um computador remoto no qual usuário se conecta a partir do Navegador Web. As Applets são carregadas e executadas no Navegador e descartadas quando se completa a execução [ Deitel H. M, Deitel P. J. 2001]. A aplicação de Applets no Sistema Zoagro será descrita no tópico a seguir, devido a sua importância no sistema.

JSP é uma tecnologia baseada em Java que simplifica o processo de desenvolvimento de sites da web. Com o uso de JSP, os designers da web e programadores podem rapidamente incorporar elementos dinâmicos em páginas da web utilizando Java e algumas tags de marcação simples. Estas tags fornecem ao designer de HTML um meio de acessar dados e lógica de negócios armazenados em objetos Java sem ter que dominar as complexidades do desenvolvimento de aplicações [ Fields D. K., Kolb M. A. 2000 ]. JSP foi empregado em todas as páginas do sistema Zoagro que necessitavam de informações armazenadas no Banco de Dados. Seu funcionamento no sistema ocorre da seguinte forma: O usuário seleciona em uma cidade através da Applet, que realiza uma chamada a uma pagina JSP, a partir de um JavaScript. A comunicação da JSP não ocorre diretamente com o Banco de Dados. A solicitação e a transmissão de informações com o Banco de Dados é intermediada pelos componentes JavaBeans e pela classe de Comunicação com o Banco de Dados. Isso ocorre pelo fato do Zoagro ter sido projetado sobre a arquitetura em três camadas. Apesar de aparentemente estas camadas intermediárias tornarem o sistema mais complexo, o mesmo acaba se tornando, mais flexível com um acoplamento mínimo entre as camadas do sistema, onde partes do mesmo podem ser alteradas independentemente. Os JavaBeans são componentes de softwares escritos em Java, que tem a finalidade de serem reutilizáveis e independentes [Bomfim J. F. T. 2002]. Eles se encontram na camada de lógica de negócio e foram empregados no sistema com o intuito de separar a lógica de programação da interface com o usuário. As Servlets são componentes do lado do servidor que são empregada para escrever aplicativos Web em um servidor. Com freqüência Servlets é empregada para a geração de paginas dinâmicas [Bond M.,Haywood D. 2003], mas no sistema Zoagro ela foi empregada para realizar a comunicação da Applet de Cultivares com a base de dados, através do servidor. A última camada do sistema é a camada de lógica de acesso a dados, onde a sua funcionalidade única e exclusiva é a comunicação com o banco de dados. Ela possui dois métodos além do construtor os métodos alterarbd e consultarbd, que são chamados através dos componentes JavaBeans. A existência desta classe é justificada por uma restrição do desenvolvimento do projeto Zoagro de : Não ser dependente de banco de dados ; isto significa que se o banco utilizado não atender mais as necessidades do Zoagro, ou por alguma razão tiver que ser alterado, isto possa ser feito substituindo exclusivamente esta camada, sem influenciar o restante do sistema. O funcionamento desta classe é bem simples, o método construtor fica responsável por toda parte de conexão com o banco de dados, o método alterarbd tem a finalidade de alterar o banco de dados, recebendo o SQL da alteração como parâmetro e retornando um inteiro como resposta. Já o método consultarbd tem a finalidade de realizar as consultas do sistema aonde ele recebe a consulta SQL como parâmetro e retorna um ResultSet.

6. Desenvolvendo um mecanismo navegacional através de Applets Um dos grandes problemas na implementação do sistema Zoagro, foi desenvolver o mecanismo em que o usuário pudesse selecionar os Estados e municípios utilizando somente mapas. A razão de se desenvolver tal mecanismo é devido os usuários em potencial do Zoagro (os produtores de Soja),não possuem, na sua grande maioria, um conhecimento básico necessário de informática. O desenvolvimento de um mecanismo navegacional através de mapas foi a melhor solução de navegação encontrada para este nível de usuários, uma vez que mapas fazem parte de suas concepç ões cognitivas. Os mapas foram implementados com a utilização de vetores de polígonos, onde cada polígono representava uma cidade ou Estado, formando assim, o mapa do Brasil e dos seus respectivos Estados, como mostra a Figura 6. Figura 6 Mapa do Sistema Zoagro As cidades só puderam ser identificadas devido à ordem de criação dos polígonos, que obedecem à ordem alfabética das cidades, isto significa que o polígono zero representa a primeira cidade na ordem alfabética do respectivo Estado, como no caso do Paraná é Abatiá. A ordenação na criação dos polígonos foi necessária devido à inexistência de um método que representasse diretamente o polígono selecionado, o único método do objeto polígono, que possibilitou a identificação, foi o método inside(x,y), que verifica se o polígono possui ou não determinada coordenada x,y. Assim ordenando os polígonos e realizando uma rotina de verificação, foi possível identificar em que cidade o mouse esta posicionado. Apesar de não ser a maneira mais elegante de se solucionar o problema, a utilização de polígonos foi à única encontrada. Tendo em vista que o mesmo mecanismo navegacional é facilmente implementado em Visual Basic, utilizando API do Windows.

7. Discussões e Conclusão O desenvolvimento utilizando arquitetura em três camadas não é complexo e pode muito bem ser aplicado em sistemas pequenos. Sua utilização proporciona muitas vantagens, sendo a principal delas a separação entre interface e regra de negócio. Já a utilização de Applet deixou uma enorme dúvida: A aplicação utilizando Java foi a melhor solução possível, tendo em vista que existem outras tecnologias para solucionar o mesmo problema, como por exemplo Flash? Não há duvida em relação à capacidade das Applets, e sim quanto a sua viabilidade em relação aos mecanismos de comunicação existentes. 8. Apoio Centro Federal de Educação Tecnológica do Paraná unidade de Cornélio Procópio (CEFET-PR) e Empresa Brasileira de Pesquisa Agropecuária (Embrapa). 9. Agradecimentos A todos que colaboraram direta ou indiretamente com este projeto, em especial, à coordenação do Curso de Tecnologia em Informática da Unidade de Cornélio Procópio do CEFET-PR, e à Embrapa Londrina-PR. 10. Referências Bond M.,Haywood D., Law D., Longshaw A. And Roxburgh P., (2003) Aprenda J2EE com EJB, JSP, Servlets, JNDI, JDBC e XML editora Makron Books, São Paulo. Conallen J., (2003) Desenvolvendo Aplicações Web com UML, editora Campus, São Paulo, p.15. Albuquerque F., (2001) TCP/IP Internet Programação de Sistemas Distribuídos Html, JavaScript e Java, editora Axcel Books, Rio de Janeiro, p.91-109. Deitel H. M., Deitel P. J., (2001) Java Como Programar 3ed, editora Bookman, Porto Alegre, p.56-82. Fields D. K., Kolb M. A., (2000) Desenvolvendo na Web com Java Server Pages, editora Ciência Moderna, Rio de Janeiro, p. 2-20. Bomfim J. F. T., (2002) JSP A Tecnologia Java na Internet, editora Érica, São Paulo, p. 229 263.