INTEGRAÇÃO DA METODOLOGIA DE DESENVOLVIMENTO AJAX COM SERVLETS JAVA

Documentos relacionados
AJAX. Prof. Marcos Alexandruk

AJAX (Asynchronous Javascript And XML)

EXERCÍCIOS DE REVISÃO DE CONTEÚDO QUESTÕES DISSERTATIVAS

PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS

PROGRAMAÇÃO PARA INTERNET RICA AJAX

PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS

M V C, J S O N E X M L P R O F. M E. H É L I O E S P E R I D I Ã O

SISTEMA DE GERENCIAMENTO DE CONTEÚDO DE PÁGINAS WEB UTILIZANDO FLEX. Orientador: Prof. Francisco Adell Péricas Aluno: Michel Scoz

5 Arquitetura de implementação

Desenvolvimento Web. Introdução Geral. Prof. Vicente Paulo de Camargo

Informática Parte 23 Prof. Márcio Hunecke

Ajax na Construção de uma Aplicação Web para Monitoramento de Ambientes. Marcus Vinícius Silva Gois Orientador: Paulo César Rodacki Gomes

DESENVOLVIMENTO DE SISTEMAS WEB. Lista de Exercícios AV2-01. Luiz Leão

Curso online de. Formação em Front-End. Plano de Estudo

A composição de uma Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos)

Ajax Asynchronous JavaScript and Xml

AJAX. Aula 01 - Introdução

Curso Online de E-commerce. Plano de Estudo

Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB

Desenvolvimento de Sistemas Corporativos Aula 1.3 Motivação de DSC Visão geral de Arquiteturas. Prof. Bruno Moreno

Desenvolvimento Web. [Versão 5 Maio/2019] Professor Emiliano S. Monteiro

Introdução a Web. Programação para a Internet. Prof. Vilson Heck Junior

EA975 - Laboratório de Engenharia de Software

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)

JavaNoroeste Grupo de Usuários Java do Noroeste Paulista. AJAX e WEB 2.0

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Aula 4 Arquitetura de software na Web atual: AJAX e Ajax. Prof: Dra. Renata Pontin de Mattos Fortes

M V C P R O F. M E. H É L I O E S P E R I D I Ã O

Aula 17 Introdução ao jquery

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO WEB E MOBILE

Ajax Asynchronous JavaScript and Xml

Nesta disciplina aprenderemos. HTML CSS JavaScript Jquery PHP

envolvidos numa comunicação

Introdução ao Desenvolvimento de

TRANSPONDO FIREWALLS EM SISTEMAS DISTRIBUIDOS

Programação para Internet

Sistema de Gestão de Videoteca

INTRODUÇÃO A PROGRAMAÇÃO PARA WEB

Sérgio Koch Van-Dall

14/08/2009. Módulo 4

Programação para Internet I. Fernando F. Costa

Linguagens, Web Services e WEB 2.0

TECNOLOGIA AJAX INICIANDO NA TECNOLOGIA COM JAVA. AJAX Technology Starting with the Java technology

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

Construção de Sites. Introdução ao Universo Web. Prof. Nícolas Trigo

Utilizando o Framework SubMacro no Desenvolvimento de Aplicações Java para Internet. Kleber Taffarel Novembro de 2008

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

Programação para Internet

Protocolo HTTP. Professor Leonardo Larback

Capítulo 7. A camada de aplicação

Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos)

UFCD 0793 Scripts CGI e Folhas de Estilo Formadora: Sónia Rodrigues

EA975 - Laboratório de Engenharia de Software. Objetivo do curso. Turmas K/L Aula 1

ELABORAÇÃO DE WEBSITE COM BASE NA NECESSIDADE DA EMPRESA VISANDO BAIXOS CUSTOS E DESIGN MODERNO

INTRODUÇÃO ÀS APLICAÇÕES PARA WEB

GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP. Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri

Programação para Internet

INTRODUÇÃO À INTERNET E À WORLD WIDE WEB

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.

Administração de Sistemas Operacionais. Prof. Marlon Marcon

O que é um sistema distribuído?

1.2- Ambientes de Middleware

Java para WEB com Struts 2 e Hibernate

Algoritmos e Programação

Mônica Oliveira Primo de Lima Edervan Soares Oliveira TRABALHO SOBRE PROTOCOLO HTTP

Geração de eventos para atuação do dispositivo IoT via Node-Red utilizando cloud USP

Internet Explorer 8.0 Navegador (Browser)

JAVA PARA WEB E EJB APLICAÇÕES WEB, SERVIDORES DE APLICAÇÃO, CONTAINERS WEB

Capítulo 2. Camada de aplicação

Curso online de Aplicações. Híbridas. Plano de Estudo

Redes de Computadores I Seminário Novas Tecnologias em Redes HTML5. Jessica da Silva Hahn Letícia Aparecida Coelho

Algoritmos e Programação

ALUNO: RONI FABIO BANASZEWSKI

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

DESENVOLVIMENTO DE APLICAÇÕES COM JAVA 2EE E UML

FREDERICO IANNACCONE SISTEMA DE CONSULTA AO PLANO DE TRABALHO DOCENTE VIA INTERNET

PROGRAMAÇÃO PARA INTERNET. Fonte: Raul Paradeda

Web Presentation Patterns - Controllers

Desenvolvimento Web III. Prof. Felippe Scheidt

Programação para Web

CRIANDO APLICAÇÕES WEB RICAS (RIA) COM APARÊNCIA DE DESKTOP UTILIZANDO O FRAMEWORK AJAX EXT JS RESUMO

Análise e projeto de sistemas

Web I F R N I N S T I T U TO F E D E R A L D E E D U C A Ç Ã O, C I Ê N C I A E T E C N O LO G I A D O R I O G R A N D E D O N R T E.

JavaScript Fundamental e Servlet Fundamental

DESENVOLVIMENTO DE SISTEMAS WEB. Lista de Exercícios AV1-01. Luiz Leão

Processamento distribuído em ambiente peer-to-peer

HMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP

INTRODUÇÃO À TECNOLOGIA SERVLETS

Arquiteturas. capítulo

Estudo de viabilidade para o desenvolvimento de jogos em Java 3D em ambiente web

Módulo II Arquitetura em Camadas

WARGEN: Gerador de Aplicações em Realidade Aumentada na Web

Curso online de Fundamentos em Android. Plano de Estudo

CRIAÇÃO DE UM APLICATIVO DA USESKILL PARA O AMBIENTE MOBILE

Transcrição:

Encontro Internacional de Produção Científica Cesumar 23 a 26 de outubro de 2007 INTEGRAÇÃO DA METODOLOGIA DE DESENVOLVIMENTO AJAX COM SERVLETS JAVA Everton Coimbra de Araújo 1, Juliano Rodrigo Lamb 2, Ricardo Sobjak 3, Jefferson Gustavo Martins 4 RESUMO: A Internet passou por uma grande mudança para chegar ao estágio de interação com o usuário atual. Este artigo tem o propósito de apresentar a metodologia de desenvolvimento AJAX, tornando aplicativos Web com recursos de interação com o usuário, semelhantes aos oferecidos por aplicativos Desktop, para isso fazendo integração com Servlets Java. PALAVRAS-CHAVE: desenvolvimento web, conteúdo dinâmico. 1 INTRODUÇÃO Para aumentar a usabilidade, interatividade e funcionalidade de aplicações Web, surgiu um conceito inovador no modo de pensar e desenvolver, RIA (Rich Internet Application), que une a funcionalidade dos softwares para computadores de mesa aos benefícios oferecidos pela Internet, tornando o uso e a criação de aplicações Web mais intuitivas e eficientes. Os aplicativos de Rich Internet são baseados na tecnologia Rich Client, que fornece um ambiente dinâmico, com capacidade de hospedagem de aplicativos que são compilados no lado do servidor e recebidos no browser, através de requisições HTTP (HyperText Transfer Protocol) (COSTA, 2006). RIA são aplicações que buscam prover uma nova classe de Websites interativos, com a sofisticação de aplicações desktop, mas que não comprometem a facilidade de desenvolvimento, implementação e manuseio dos aplicativos Web. A arquitetura típica para uma RIA é mostrada na Figura 1. Figura 1. Arquitetura típica RIA (O'ROURKE, 2004). 1 Mestre em Ciência da Computação, Professor da Universidade Tecnológica Federal do Paraná (UTFPR) campus de Medianeira, everton@pptinformatica.com.br 2 Mestre em Engenharia Agrícola com concentração em Engenharia de Sistemas Agroindustriais, Professor da Universidade Tecnológica Federal do Paraná (UTFPR) campus de Medianeira, juliano@x87.eti.br 3 Acadêmico do curso de Análise e Desenvolvimento de Sistemas (UTFPR) ricardo_sobjak@hotmail.com 4 Mestre em Engenharia de Produção e Sistemas, Professor da Universidade Tecnológica Federal do Paraná (UTFPR) campus de Medianeira, martins@utfpr.edu.br

A adoção crescente da tecnologia Rich Client não é uma etapa evolutiva de substituição a HTML. Consiste em oferecer aplicações Web com capacidade de navegação mais eficazes e responsivas. A maioria dos aplicativos "Rich" são executados no contexto dos browsers, dentro das páginas, ou seja, junto com o conteúdo HTML (Hypertext Markup Language). Nesse contexto RIA, surge um importante recurso para o desenvolvimento de aplicações Web, o AJAX (Asynchronous Javascript And XML) (COSTA, 2006). Desde o início da Internet, os programadores têm encontrado uma série de dificuldades com relação à performance de seus códigos no lado cliente. Em tempo de produção, com uma situação ideal de pouco tráfego e alta velocidade de rede tudo se torna bom, mas quando as páginas são distribuídas na Web, os problemas com a demora nos reloads das páginas, a cada solicitação ao servidor começam a aparecer (AMSTEL, 2006). Com JSP, isso não é diferente. A proposta é oferecer uma aplicação com conteúdo dinâmico, em que o tempo de processamento reduzido, fazendo o uso da linguagem Java através de páginas JSP e Servlets, integrados com a metodologia de desenvolvimento AJAX. 2 MATERIAL E MÉTODOS O conceito de convergência de diversas tecnologias já existentes para a apresentação de soluções mais eficientes na construção de Websites, faz da implementação de códigos com AJAX uma realidade (Figura 2), a qual não se pode ignorar. Figura 2. Arquitetura do AJAX englobando seus principais componentes Fonte: (CRANE, 2006). Nessa metodologia existem alguns elementos a serem considerados. O objeto XMLHttpRequest fornece duas propriedades que concedem acessa à resposta do servidor: responsetext: fornece a resposta como uma string; responsexml: fornece a resposta como um objeto XML. O uso de responsetext é indicado para respostas simples, como exemplo, para exibição em caixa de alerta ou mensagens informativas de sucesso ou falha. Ao clicar no botão Enviar (GET) ou Enviar (POST), será chamado a função processar, que receberá um parâmetro de entrada GET ou POST. Essa função, começa chamando uma instância do objeto XMLHttpRequest, em seguida é criada a string de

consulta e por fim é feita uma verificação a partir da string de entrada. Se o valor passado for GET, então a função doget será chamada, se o valor passado for POST, então será chamada a função dopost. A Figura 3 representa a Diagrama de Atividades da Aplicação de Exemplo. Figura 3. Diagrama de Atividades A função criarquerystring é responsável por codificar os parâmetros de entrada como uma string de consulta. Ao clicar no botão Enviar (GET) ou Enviar (POST), será chamado a função processar, que receberá um parâmetro de entrada GET ou POST. Essa função, começa chamando uma instância do objeto XMLHttpRequest, em seguida é criada a string de consulta e por fim é feita uma verificação a partir da string de entrada. Se o valor passado for GET, então a função doget será chamada, se o valor passado for POST, então será chamada a função dopost. O método GET passa o valor na forma de pares nome/valor como parte da URL da solicitação. A URL do recurso termina com um ponto de interrogação (?) e depois vem os pares nome/valor. Os pares nome/valor estarão na forma nome=valor e serão separados por um E comercial (&). Exemplo de uma URL de solicitação GET: http://localhost:8080/appexemplo/servletexemplo?timestamp=1159794838187&nome=r icardo&telefone=(45) 0000-0000&cidade=Medianeira. O método POST é quase idêntico ao método GET, pois codifica os parâmetros como pares sendo separados com um E comercial. A principal diferença entre os dois é que o método POST envia a string do parâmetro dentro do corpo da solicitação em vez de acrescentá-la a URL como faz o método GET. 3 RESULTADOS E DISCUSSÕES A Figura 4 mostra um exemplo de página, ilustrando um formulário de entrada simples com componentes HTML, contendo três caixas de texto, para ser informado nome, telefone e a cidade em que a pessoa mora, também possui dois botões. Os dois botões solicitam uma função de JavaScript que enviam os dados para o servidor, um utilizando o método GET e outro utilizando POST.

Figura 4. Layout de uma aplicação Web simples. Ao verificar as técnicas para o uso do método GET e POST, é possível concluir que são muito parecidas, diferenciando-se na maneira de como os parâmetros são enviados para o servidor. Em ambas funções JavaScript, doget e dopost, é configurada a propriedade onreadystatechange do objeto XMLHttpRequest para usar a função callback. Essa propriedade, contém um ponteiro que aponta para uma função de JavaScript, que é acionada a cada mudança de estado através do manipulador de eventos. O método open() do objeto XMLHttpRequest, é implementado de maneira diferente nas funções doget e dopost. Na função doget, o primeiro parâmetro indica que essa é uma requisição do tipo GET e o segundo parâmetro especifica a URL da extremidade de destino, juntamente com os dados a serem enviados. Na função dopost, o primeiro parâmetro é especificado como uma requisição POST e o segundo parâmetro indica a URL apenas do caminho de quem estará processando as informações. O método send(), envia a solicitação para o servidor. Utilizando o método POST, é passado uma string, contendo os dados nome/valor, como parâmetro no método send. Ao usar GET, o método send terá como parâmetro apenas a palavra null. Ao utilizar o método POST, é necessário garantir que o servidor tenha conhecimento que os parâmetros possam ser encontrados dentro do corpo da solicitação, o método setrequestheader é chamado e configurado o valor de Content-Type com application/x-www-form-urlencoded. Na URL mostrada no exemplo, existe um parâmetro chamado timestamp que representa a hora atual. Isso é feito porque alguns navegadores armazenam em cache os resultados de várias solicitações XMLHttpRequest feitas para a mesma URL. Acrescentar o carimbo de hora atual garante a exclusividade da URL, impedindo que os navegadores armazenem os resultados em cache. No método doget, os três campos de entrada são recuperados a partir do objeto de solicitação com o uso do método getparameter. Logo após é configurado o tipo de conteúdo da resposta com text/xml. É feita uma chamada ao método criarxml, que retorna um conteúdo XML, que em seguida é gravada no fluxo de saída da resposta e, para concluir, o fluxo é fechado. 4 CONCLUSÃO Essa metodologia de desenvolvimento vem ganhando espaço no meio dos desenvolvedores de aplicações Web, por apresentar menor uso de banda, resposta mais

rápida, além de oferecer maior interatividade e usabilidade ao usuário, tornando a página mais natural, menos fria, impessoal e melhor apresentável. O desenvolvedor J2EE, não necessita se especializar em uma nova tecnologia, viabilizando o uso da poderosa linguagem Java e a integração dos recursos AJAX. REFERÊNCIAS AMSTEL, F. V. Webdesigner 2.0. Web Insider. Disponível em <http://webinsider.uol.com.br/vernoticia.php/id/2770>. Acesso em 28 de setembro de 2006. COSTA, H. F. D. D. Internet Rica (RIA). Disponível em <http://www.henry.eti.br/pagina.php?idpagina=258>. Acesso em 29 de setembro de 2006. CRANE, D.; PASCARELLO, E.; JAMES, D. Ajax In Action. Manning Publications Co. Greenwich, 2006. O'ROURKE, C. A Look at Rich Internet Applications. Oracle Magazine. Edição Julho/2004.