Agenda
2
Introdução Por que usar Ajax?
Internet Problemas e Benefícios
Web 1.0 Frameworks Ajax
Web 2.0 JavaScript Utils
O que é Ajax? Cases
Ajax é Java? Usando Ajax com Java
Web2.0 e Ajax com Java 31/07/2007
Paulo César M. Jeveaux
3
Javanês desde 2000;
Mantenedor do Portal Java e do ESJUG
http://www.portaljava.com
https://esjug.dev.java.net
Consultor Arquiteto Java EE;
Palestrante nos principais eventos Java do país e
participante de diversos grupos e comunidades de
Java, Linux e Software Livre em geral.
Web2.0 e Ajax com Java 31/07/2007
Introdução
4
Uma velha novidade
Web2.0 e Ajax com Java 31/07/2007
Introdução
5
Desenvolvimento Web
Criação de interfaces (páginas) que dão acesso a
funcionalidades dinâmicas (software) em um servidor
acessível na Internet ou numa Intranet por meio de
interação requisição resposta.
Web2.0 e Ajax com Java 31/07/2007
Introdução
6
Ajax não é nenhuma novidade, já existe há
varios anos e sempre foi uma técnica bastante
conhecida por programadores JavaScript;
Recentemente ganhou muita visibilidade e
então a técnica foi batizada de Ajax;
Sua base é composta por um componente
chamado XMLHttpRequest, que foi criado pela
Microsoft para o seu Outlook Web Access;
Web2.0 e Ajax com Java 31/07/2007
A internet
7
Web2.0 e Ajax com Java 31/07/2007
A internet
8
1993: Lançamento do navegador Mosaic,
implementando suporte ao protocolo HTTP e a
processamento de páginas HTML;
1994: Início das linguagens para criação de conteúdo
dinâmico para Web: Macromedia Coldfusion, PHP;
1995: Microsoft ASP;
1996: Java Servlets;
1999: JavaServer Pages (JSP);
Hoje: Web 2.0 e Ajax;
Web2.0 e Ajax com Java 31/07/2007
Web1.0
9
Web2.0 e Ajax com Java 31/07/2007
Web 1.0
10
Formada basicamente por conteúdo editorial;
Concentração de (poucas) informações relevantes e
(muitas) informações não relevantes;
Publicidade excessiva, não direcionada e
incômoda;
Falta de organização e dificuldade em encontrar o
que realmente se deseja;
Web2.0 e Ajax com Java 31/07/2007
Web 1.0
11
Web2.0 e Ajax com Java 31/07/2007
Web 1.0
12
Web2.0 e Ajax com Java 31/07/2007
Web 2.0
13
Web2.0 e Ajax com Java 31/07/2007
Web 2.0
14
Web 2.0 é
Ajax?
Web2.0 e Ajax com Java 31/07/2007
Web 2.0
15
NÃO
Web 2.0 não
é Ajax
[10]
Web2.0 e Ajax com Java 31/07/2007
Web 2.0
16
Formada por conteúdo editorial + conteúdo do
usuário + conteúdo filtrado + organização;
Foco em informações relevantes;
Publicidade filtrada e direcionada;
Conteúdo criado e organizado pelos usuários (A
Web 2.0 Somos Nozes – Shoes [10]);
Web2.0 e Ajax com Java 31/07/2007
Web 2.0
17
Web 2.0 é conteúdo de todas as fontes de
informações durante o tempo todo e on-
demand;
Web 2.0 é participação ativa do usuário;
Web 2.0 é o SOA aplicado ao extremo;
Web 2.0 é feita por usuários para usuários;
Web2.0 e Ajax com Java 31/07/2007
Web 2.0
18
Web 2.0 é feita [por
– para] usuários;
E quem organiza e
mantém tudo isso?
Vovô viu a uva
Vovô tageou a uva
Web2.0 e Ajax com Java 31/07/2007
Web 2.0
19
Vovó procura
a uva
Vovó acha uva
Web2.0 e Ajax com Java 31/07/2007
O que é Ajax?
20
Web2.0 e Ajax com Java 31/07/2007
O que é Ajax?
21
Apresentação baseada em padrões, usando XHTML
e CSS;
Exposição e interação dinâmica usando o DOM;
Intercâmbio e manipulação de dados usando XML e
XSLT;
Recuperação assíncrona de dados usando o objeto
XMLHttpRequest;
E JavaScript unindo tudo isso em um único conjunto;
Web2.0 e Ajax com Java 31/07/2007
O que é Ajax?
22
Ajax, ou Asynchronous JavaScript and XML
(JavaScript Assíncrono e XML) é um termo que
descreve uma técnica de desenvolvimento
Web para a criação de aplicativos interativos;
Document Object Model (DOM) manipulado
através do JavaSript para mostrar e interagir
dinamicamente com a informação
apresentada;
Web2.0 e Ajax com Java 31/07/2007
O que é Ajax?
23
“O Objeto XMLHttpRequest troca dados
assincronamente com o servidor web,
geralmente utilizando-se XML, HTML, texto
puro e JSON(JavaScript Object Notation)”.[4]
Web2.0 e Ajax com Java 31/07/2007
Ajax é Java?
24
Web2.0 e Ajax com Java 31/07/2007
Ajax é Java?
25
Não!
Ajax não é Java, Ajax é JavaScript, XHTML, DOM
e XML rodando em browsers modernos;
Ajax porém, encaixa-se perfeitamente com Java e
com várias outras linguagens de programação
como PHP, ASP, .Net, Python, Ruby, etc;
Web2.0 e Ajax com Java 31/07/2007
Por que usar Ajax?
26
Web2.0 e Ajax com Java 31/07/2007
Por que usar Ajax?
27
Forte crescimento de aplicações na web;
Necessidade de passar aplicações tipicamente
desktop para a web;
Interface gráfica rica e impressionante;
Atualizar páginas web com novos dados sem o
temível e terrível Refresh;
Browser passa a fornecer uma aplicação, não
mais apenas conteúdo;
Web2.0 e Ajax com Java 31/07/2007
Por que não usávamos JavaScript?
28
Porque era visto apenas com uma linguagem de
validação para formulários HTML Web;
JavaScript Orientado a Objetos era pouco
conhecido;
Frameworks JavaScript eram menos conhecidos
ainda e existiam em menor quantidade;
Trabalhoso, difícil de depurar e sem um ambiente
de desenvolvimento adequado;
Web2.0 e Ajax com Java 31/07/2007
Por que usar JavaScript?
29
Forte apelo visual para aplicações web;
Migrar aplicações desktop para a web;
Muito além de validação de formulários;
Disponibilidade de Editores, bibliotecas e
depuradores de alta qualidade;
Produtividade;
Web2.0 e Ajax com Java 31/07/2007
Uso real de Ajax
30
Validação;
Com Ajax é possível manter as regras de validação apenas em um
lugar (no servidor), evitando assim duplicação de dados e a não
exposição das regras de negócio ao usuário mais curioso;
Interface mais sofisticada;
Páginas feitas para rodar em um browser podem ser bastante
sofisticadas por si próprias, mas perdem boa parte da elegância e
praticidade quando a mesma precisa ser recarregada para buscar
informações no servidor;
Com Ajax, pode-se facilmente tornar a página mais natural, menos fria
e impessoal, utilizando JavaScript para buscar no servidor a porção de
dados que precisam ser modificados, como o texto da próxima página
de um artigo, as informações complementares de um formulário, ou
mesmo o processamento de alguma ação mais importantes, como salvar
informações cadastrais; [4]
Web2.0 e Ajax com Java 31/07/2007
Problemas e Benefícios
31
Web2.0 e Ajax com Java 31/07/2007
Ganhos com o uso de Ajax
32
Resposta mais rápida;
Há muita concorrência na internet, uma resposta rápida
pode ser o diferencial necessário para tornar um
concorrente mais popular que o outro;
Maior interatividade;
Páginas com mais recursos que antes estavam disponíveis
apenas em aplicações desktop, fazem parte das aplicações
com Ajax;
Economia de banda;
É possível fazer chamadas ao servidor carregando apenas
a porção da página que deseja-se atualizar. Poupando
assim a banda do servidor e diminuindo os custos de
hospedagem;
Web2.0 e Ajax com Java 31/07/2007
Problemas em usar Ajax
33
Código fonte desprotegido (protegido apenas por Obfuscators);
Permite que programadores desavisados exponham métodos
importantes por engano (exemplo do uso de * nas configurações
do DWR);
Parte da Lógica de Negócio visível;
Ajax adiciona complexidade na arquitetura da aplicação;
Regras de controle na camada cliente e uso massivo de Facades;
Não faz parte de nenhuma especificação oficial (ainda);
Debug difiícil;
Aplicação se torna frágil e passiva de erros do usuário, por
exemplo: nada funciona se o browser estiver com JavaScript
desabilitado;
Web2.0 e Ajax com Java 31/07/2007
Frameworks Ajax
34
Web2.0 e Ajax com Java 31/07/2007
Frameworks Ajax - Java
35
DWR – Direct Web Remoting - kit de
desenvolvimento Ajax. Um dos mais populares para
Java. Se integra com vários frameworks Java;
Google Web Toolkit - kit de APIs e utilitários Ajax
para o desenvolvimento de aplicações web;
ZK – Framework para aplicações Ajax/XUL;
ThinWire – Framework swing-like para aplicações
Web/Ajax;
OpenLaszlo – Framework para criação de
aplicações RIA (Flash e Ajax);
Web2.0 e Ajax com Java 31/07/2007
Frameworks Ajax
36
JSon
JSon é apenas JavaScript, portanto, o seu código
JavaScript poderá utiliza-lo facilmente. Porém, outras
linguagens como PHP, PERL, Java, etc não conseguirão
entendê-la, para usarmos o Json precisaremos de uma
integração com a linguagem. JSon já integra
facilmente com: ActionScript, C/C++, C#, Delphi,
ColdFusion, Java, JavaScript, Objective CAML, Perl,
PHP, Python, Ruby, e Lua;
Web2.0 e Ajax com Java 31/07/2007
Frameworks Ajax
37
JSon-RPC-Java
JSon-RPC-Java é uma implementação dinâmica do
JSON-RPC em Java. Desta forma é possível executar
códigos Java no servidor através de chamadas via
JavaScript no cliente;
Para usar o JSon-RPC-Java é preciso um servidor de
aplicações Java (Tomcat, Jboss, WebLogic, etc). É
possível executar métodos de um POJO, Actions (Struts,
Webwork, JSF, etc) e métodos de negócio/serviço de
EJBs;
Web2.0 e Ajax com Java 31/07/2007
JavaScript Utils
38
Web2.0 e Ajax com Java 31/07/2007
Bibliotecas JavaScript
39
Scriptaculous;
Miraculous;
Tacos;
Rico;
Prototype;
JST;
Web2.0 e Ajax com Java 31/07/2007
Cases
40
Web2.0 e Ajax com Java 31/07/2007
Cases
41
iGoogle
Web2.0 e Ajax com Java 31/07/2007
Cases
42
Google
Suggest
Web2.0 e Ajax com Java 31/07/2007
Cases
43
Google Maps
Web2.0 e Ajax com Java 31/07/2007
Cases
44
Gmail
Web2.0 e Ajax com Java 31/07/2007
Cases
45
Microsoft Live
Start
Web2.0 e Ajax com Java 31/07/2007
Usando Ajax com Java
46
Web2.0 e Ajax com Java 31/07/2007
Configurando JSon-RPC-Java
47
Baixar o JSon-RPC-Java;
http://oss.metaparadigm.com/jsonrpc/
Ter uma aplicação Web configurada para
funcionar em qualquer servidor de aplicações Java;
Fazer o mapeamento do JSon no web.xml da
aplicação;
Usar =)
Web2.0 e Ajax com Java 31/07/2007
Usando JSon
49
Criar uma classe com alguma operação que se deseja
executar;
package com.jeveaux;
public class JSonExemplo {
public JSonExemplo() {
}
public int soma(int a, int b) {
return a+b;
}
}
Web2.0 e Ajax com Java 31/07/2007
Usando JSon
50
Na página registra-se o objeto que é a ponte de
comunicação do JavaScript com a aplicação Java;
<jsp:useBean id=\"JSONRPCBridge\" scope=\"session\"
class=\"com.metaparadigm.jsonrpc.JSONRPCBridge\" />
Usamos esse objeto para instanciar a classe que
desejamos usar;
<%JSONRPCBridge.registerObject(\"obj\", new
com.jeveaux.JSonExemplo());%>
Web2.0 e Ajax com Java 31/07/2007
Usando JSon
51
E por fim, fazemos a execução de um método na classe
Java registrada no JSon através do JavaScript;
<script type=\"text/javascript\" src=\"js/jsonrpc.js\"></script>
<script type=\"text/javascript\">
jsonrpc = new JSONRpcClient(\"JSON-RPC\");
alert(jsonrpc.obj.soma(3, 5));
</script>
Web2.0 e Ajax com Java 31/07/2007
ESJUG, Participe
52
https://esjug.dev.java.net
Web2.0 e Ajax com Java 31/07/2007
Referências
53
[1] JS templates - http://www.trimpath.com/project/wiki/
[2] Ajax Patterns http://ajaxpatterns.org/wiki/index.php?title=Main_Page
[3] Ajaxian – http://www.ajaxian.com
[4] Revista Mundo Java, Dez 2005 (Rafael Steil)
[5] Portal Java – http://www.portaljava.com
[6] Effective Java - http://www.robsanheim.com/Ajax
[7] Script.aculo.us - http://script.aculo.us
[8] Mir.aculo.us - http://mir.aculo.us/
[9] AJAX e DWR, 2006 (Franklin Samir)
[10] A Web 2.0 Somos Nozes, 2007 (Phillip Calçado “Shoes”)
[11] Wikipedia – http://wikipedia.org
Esta apresentação usa a licensa Creative Commons de: Atribuição-
Uso Não-Comercial-Compatilhamento
Web2.0 e Ajax com Java 31/07/2007
That’s all folks!
54
Muito Obrigado a todos;
Contatos:
Paulo César M. Jeveaux (Jevô)
jeveaux@portaljava.com / paulo@jeveaux.com
www.portaljava.com / www.jeveaux.com
Web2.0 e Ajax com Java 31/07/2007
0 comments
Post a comment