Web2.0 e Ajax

  • 3,596 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,596
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
224
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Web2.0 e Ajax com Java por Paulo César M. Jeveaux
  • 2. 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
  • 3. 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
  • 4. Introdução 4 Uma velha novidade Web2.0 e Ajax com Java 31/07/2007
  • 5. 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
  • 6. 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
  • 7. A internet 7 Web2.0 e Ajax com Java 31/07/2007
  • 8. 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
  • 9. Web1.0 9 Web2.0 e Ajax com Java 31/07/2007
  • 10. 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
  • 11. Web 1.0 11 Web2.0 e Ajax com Java 31/07/2007
  • 12. Web 1.0 12 Web2.0 e Ajax com Java 31/07/2007
  • 13. Web 2.0 13 Web2.0 e Ajax com Java 31/07/2007
  • 14. Web 2.0 14 Web 2.0 é Ajax? Web2.0 e Ajax com Java 31/07/2007
  • 15. Web 2.0 15 NÃO Web 2.0 não é Ajax [10] Web2.0 e Ajax com Java 31/07/2007
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. Web 2.0 19 Vovó procura a uva Vovó acha uva Web2.0 e Ajax com Java 31/07/2007
  • 20. O que é Ajax? 20 Web2.0 e Ajax com Java 31/07/2007
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. Ajax é Java? 24 Web2.0 e Ajax com Java 31/07/2007
  • 25. 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
  • 26. Por que usar Ajax? 26 Web2.0 e Ajax com Java 31/07/2007
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. Problemas e Benefícios 31 Web2.0 e Ajax com Java 31/07/2007
  • 32. 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
  • 33. 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
  • 34. Frameworks Ajax 34 Web2.0 e Ajax com Java 31/07/2007
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. JavaScript Utils 38 Web2.0 e Ajax com Java 31/07/2007
  • 39. Bibliotecas JavaScript 39 Scriptaculous; Miraculous; Tacos; Rico; Prototype; JST; Web2.0 e Ajax com Java 31/07/2007
  • 40. Cases 40 Web2.0 e Ajax com Java 31/07/2007
  • 41. Cases 41 iGoogle Web2.0 e Ajax com Java 31/07/2007
  • 42. Cases 42 Google Suggest Web2.0 e Ajax com Java 31/07/2007
  • 43. Cases 43 Google Maps Web2.0 e Ajax com Java 31/07/2007
  • 44. Cases 44 Gmail Web2.0 e Ajax com Java 31/07/2007
  • 45. Cases 45 Microsoft Live Start Web2.0 e Ajax com Java 31/07/2007
  • 46. Usando Ajax com Java 46 Web2.0 e Ajax com Java 31/07/2007
  • 47. 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
  • 48. Configurando JSon-RPC-Java 48 <!-- Servlet JSON-RPC --> <servlet> <servlet-name>JSONRPCServlet</servlet-name> <servlet-class> com.metaparadigm.jsonrpc.JSONRPCServlet </servlet-class> </servlet> <!-- Servlet Mapping JSON-RPC --> <servlet-mapping> <servlet-name>JSONRPCServlet</servlet-name> <url-pattern>/JSON-RPC</url-pattern> </servlet-mapping> Web2.0 e Ajax com Java 31/07/2007
  • 49. 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
  • 50. 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=quot;JSONRPCBridgequot; scope=quot;sessionquot; class=quot;com.metaparadigm.jsonrpc.JSONRPCBridgequot; /> Usamos esse objeto para instanciar a classe que desejamos usar; <%JSONRPCBridge.registerObject(quot;objquot;, new com.jeveaux.JSonExemplo());%> Web2.0 e Ajax com Java 31/07/2007
  • 51. 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=quot;text/javascriptquot; src=quot;js/jsonrpc.jsquot;></script> <script type=quot;text/javascriptquot;> jsonrpc = new JSONRpcClient(quot;JSON-RPCquot;); alert(jsonrpc.obj.soma(3, 5)); </script> Web2.0 e Ajax com Java 31/07/2007
  • 52. ESJUG, Participe 52 https://esjug.dev.java.net Web2.0 e Ajax com Java 31/07/2007
  • 53. 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
  • 54. 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
  • 55. Web2.0 e Ajax com Java por Paulo César M. Jeveaux