SlideShare une entreprise Scribd logo
1  sur  55
Télécharger pour lire hors ligne
Web2.0 e Ajax com Java
por Paulo César M. Jeveaux
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
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
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=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
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
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
Web2.0 e Ajax com Java
por Paulo César M. Jeveaux

Contenu connexe

Tendances

Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks phpIgor Moura
 
TDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSTDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSLeonardo Zanivan
 
Jsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenJsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenLeandro Costa
 
Dominando Jsf E Facelets Utilizando Spring 2.5, Hibernate E Jpa
Dominando Jsf E Facelets Utilizando Spring 2.5, Hibernate E JpaDominando Jsf E Facelets Utilizando Spring 2.5, Hibernate E Jpa
Dominando Jsf E Facelets Utilizando Spring 2.5, Hibernate E JpaAna Albert
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a InternetLeonardo Soares
 
Java, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJava, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJoão Longo
 
A nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvemA nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvemCloves Moreira Junior
 
HTML 5, CSS 3 e o futuro da Web
HTML 5, CSS 3 e o futuro da WebHTML 5, CSS 3 e o futuro da Web
HTML 5, CSS 3 e o futuro da WebDiego Pessoa
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Rodrigo Branas
 
Drupal 8: desenvolvendo fora da ilha
Drupal 8: desenvolvendo fora da ilhaDrupal 8: desenvolvendo fora da ilha
Drupal 8: desenvolvendo fora da ilhaLuiz Filho
 
Microsoft .Net
Microsoft .NetMicrosoft .Net
Microsoft .Netjaumnc
 
Desenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDesenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDaniel Paz
 
GlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EEGlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EEBruno Borges
 

Tendances (20)

Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks php
 
TDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSTDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJS
 
Jsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenJsf com hibernate, spring security e maven
Jsf com hibernate, spring security e maven
 
Dominando Jsf E Facelets Utilizando Spring 2.5, Hibernate E Jpa
Dominando Jsf E Facelets Utilizando Spring 2.5, Hibernate E JpaDominando Jsf E Facelets Utilizando Spring 2.5, Hibernate E Jpa
Dominando Jsf E Facelets Utilizando Spring 2.5, Hibernate E Jpa
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a Internet
 
Java, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a ObjetosJava, NetBeans e Orientação a Objetos
Java, NetBeans e Orientação a Objetos
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
 
A nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvemA nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvem
 
Front end architecture
Front end architectureFront end architecture
Front end architecture
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
HTML 5, CSS 3 e o futuro da Web
HTML 5, CSS 3 e o futuro da WebHTML 5, CSS 3 e o futuro da Web
HTML 5, CSS 3 e o futuro da Web
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
 
Drupal 8: desenvolvendo fora da ilha
Drupal 8: desenvolvendo fora da ilhaDrupal 8: desenvolvendo fora da ilha
Drupal 8: desenvolvendo fora da ilha
 
ASP.NET MVC 5.x
ASP.NET MVC 5.xASP.NET MVC 5.x
ASP.NET MVC 5.x
 
Microsoft .Net
Microsoft .NetMicrosoft .Net
Microsoft .Net
 
Desenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDesenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi Builder
 
Apostila MVC
Apostila MVCApostila MVC
Apostila MVC
 
GlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EEGlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EE
 

En vedette

(A06) LabMM3 - JavaScript
(A06) LabMM3 - JavaScript(A06) LabMM3 - JavaScript
(A06) LabMM3 - JavaScriptCarlos Santos
 
5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptAgrupamento de Escolas da Batalha
 
Módulo 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo 5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptMódulo 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo 5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptAgrupamento de Escolas da Batalha
 
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptMódulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptAgrupamento de Escolas da Batalha
 
Criação de formulários e tabelas com HTML
Criação de formulários e tabelas com HTMLCriação de formulários e tabelas com HTML
Criação de formulários e tabelas com HTMLLeonardo Soares
 
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introduçãoAgrupamento de Escolas da Batalha
 
Apostila Java Web (Servlets e JSPs)
Apostila Java Web (Servlets e JSPs)Apostila Java Web (Servlets e JSPs)
Apostila Java Web (Servlets e JSPs)Ricardo Terra
 
HTML5, JAVASCRIPT E JQUERY
HTML5, JAVASCRIPT E JQUERYHTML5, JAVASCRIPT E JQUERY
HTML5, JAVASCRIPT E JQUERYRenato Melo
 
Aula 23 e 24 formulário controles
Aula 23 e 24 formulário controlesAula 23 e 24 formulário controles
Aula 23 e 24 formulário controlesJolvani Morgan
 
Curso HTML, CSS e JavaScript
Curso HTML, CSS e JavaScriptCurso HTML, CSS e JavaScript
Curso HTML, CSS e JavaScriptPablo Sanches
 

En vedette (17)

(A06) LabMM3 - JavaScript
(A06) LabMM3 - JavaScript(A06) LabMM3 - JavaScript
(A06) LabMM3 - JavaScript
 
Revisão html e java script
Revisão html e java scriptRevisão html e java script
Revisão html e java script
 
5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
 
07 html formulários
07 html   formulários07 html   formulários
07 html formulários
 
Módulo 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo 5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptMódulo 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
 
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptMódulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
 
PHP: operadores e variáveis (TGPSI)
PHP: operadores e variáveis (TGPSI)PHP: operadores e variáveis (TGPSI)
PHP: operadores e variáveis (TGPSI)
 
Criação de formulários e tabelas com HTML
Criação de formulários e tabelas com HTMLCriação de formulários e tabelas com HTML
Criação de formulários e tabelas com HTML
 
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
 
Java script aula 08 - formulários
Java script   aula 08 - formuláriosJava script   aula 08 - formulários
Java script aula 08 - formulários
 
Apostila Java Web (Servlets e JSPs)
Apostila Java Web (Servlets e JSPs)Apostila Java Web (Servlets e JSPs)
Apostila Java Web (Servlets e JSPs)
 
Angular js
Angular jsAngular js
Angular js
 
HTML5, JAVASCRIPT E JQUERY
HTML5, JAVASCRIPT E JQUERYHTML5, JAVASCRIPT E JQUERY
HTML5, JAVASCRIPT E JQUERY
 
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScriptCurso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
 
Aula 23 e 24 formulário controles
Aula 23 e 24 formulário controlesAula 23 e 24 formulário controles
Aula 23 e 24 formulário controles
 
Curso HTML, CSS e JavaScript
Curso HTML, CSS e JavaScriptCurso HTML, CSS e JavaScript
Curso HTML, CSS e JavaScript
 
Etwinning em Vieira de Leria
Etwinning em Vieira de LeriaEtwinning em Vieira de Leria
Etwinning em Vieira de Leria
 

Similaire à Web2.0 e Ajax com Java guia completo

Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxMarceloRosenbrock1
 
CóPia De Minicurso Smsi
CóPia De Minicurso SmsiCóPia De Minicurso Smsi
CóPia De Minicurso Smsitaniamaciel
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev IntroduçãoMarcio Marinho
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
Palestra SFD etec Netbeans e Java 3D
Palestra SFD etec Netbeans e Java 3DPalestra SFD etec Netbeans e Java 3D
Palestra SFD etec Netbeans e Java 3DRenato Puccini
 
Primeiros passos no Vue.js
Primeiros passos no Vue.jsPrimeiros passos no Vue.js
Primeiros passos no Vue.jsJoel Rodrigues
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Fabrício Catae
 
Javascript levado a serio
Javascript levado a serioJavascript levado a serio
Javascript levado a serioJaydson Gomes
 

Similaire à Web2.0 e Ajax com Java guia completo (20)

Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.
 
1409243945064
14092439450641409243945064
1409243945064
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptx
 
(A18) LabMM3 - Ajax
(A18) LabMM3 - Ajax(A18) LabMM3 - Ajax
(A18) LabMM3 - Ajax
 
Conceitos de Ajax
Conceitos de AjaxConceitos de Ajax
Conceitos de Ajax
 
Netbeans Slides
Netbeans SlidesNetbeans Slides
Netbeans Slides
 
Minicurso Smsi
Minicurso SmsiMinicurso Smsi
Minicurso Smsi
 
CóPia De Minicurso Smsi
CóPia De Minicurso SmsiCóPia De Minicurso Smsi
CóPia De Minicurso Smsi
 
Ria
RiaRia
Ria
 
Ria
RiaRia
Ria
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev Introdução
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Palestra SFD etec Netbeans e Java 3D
Palestra SFD etec Netbeans e Java 3DPalestra SFD etec Netbeans e Java 3D
Palestra SFD etec Netbeans e Java 3D
 
XPT Framework
XPT FrameworkXPT Framework
XPT Framework
 
Primeiros passos no Vue.js
Primeiros passos no Vue.jsPrimeiros passos no Vue.js
Primeiros passos no Vue.js
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)
 
T18_LM3: Ajax
T18_LM3: AjaxT18_LM3: Ajax
T18_LM3: Ajax
 
Javascript levado a serio
Javascript levado a serioJavascript levado a serio
Javascript levado a serio
 

Plus de Paulo César M Jeveaux

Wine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataformaWine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataformaPaulo César M Jeveaux
 
Empreendedorismo além do mundo da fantasia
Empreendedorismo além do mundo da fantasiaEmpreendedorismo além do mundo da fantasia
Empreendedorismo além do mundo da fantasiaPaulo César M Jeveaux
 
Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...
Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...
Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...Paulo César M Jeveaux
 
Case Giran - Os desafios no uso de XP e SCRUM no dia-a-dia
Case Giran - Os desafios no uso de XP e SCRUM no dia-a-diaCase Giran - Os desafios no uso de XP e SCRUM no dia-a-dia
Case Giran - Os desafios no uso de XP e SCRUM no dia-a-diaPaulo César M Jeveaux
 
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatosSCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatosPaulo César M Jeveaux
 
Desenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUMDesenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUMPaulo César M Jeveaux
 
Negociação de contratos de projetos de software
Negociação de contratos de projetos de softwareNegociação de contratos de projetos de software
Negociação de contratos de projetos de softwarePaulo César M Jeveaux
 
Desenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUMDesenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUMPaulo César M Jeveaux
 
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate SearchTurbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate SearchPaulo César M Jeveaux
 
Comunidades Virtuais Java - Conexão Java - 2004
Comunidades Virtuais Java - Conexão Java - 2004Comunidades Virtuais Java - Conexão Java - 2004
Comunidades Virtuais Java - Conexão Java - 2004Paulo César M Jeveaux
 

Plus de Paulo César M Jeveaux (20)

Wine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataformaWine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
 
Empreendedorismo além do mundo da fantasia
Empreendedorismo além do mundo da fantasiaEmpreendedorismo além do mundo da fantasia
Empreendedorismo além do mundo da fantasia
 
Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...
Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...
Case Giran 2011: os desafios no uso de práticas ágeis no dia-a-dia de uma sta...
 
E-commerce Além dos Sites
E-commerce Além dos SitesE-commerce Além dos Sites
E-commerce Além dos Sites
 
Controle de versão com GIT
Controle de versão com GITControle de versão com GIT
Controle de versão com GIT
 
Resenha Rework por Jeveaux
Resenha Rework por JeveauxResenha Rework por Jeveaux
Resenha Rework por Jeveaux
 
Case Giran - Os desafios no uso de XP e SCRUM no dia-a-dia
Case Giran - Os desafios no uso de XP e SCRUM no dia-a-diaCase Giran - Os desafios no uso de XP e SCRUM no dia-a-dia
Case Giran - Os desafios no uso de XP e SCRUM no dia-a-dia
 
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatosSCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
 
Desafios no e-commerce brasileiro
Desafios no e-commerce brasileiroDesafios no e-commerce brasileiro
Desafios no e-commerce brasileiro
 
Desenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUMDesenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUM
 
Negociação de contratos de projetos de software
Negociação de contratos de projetos de softwareNegociação de contratos de projetos de software
Negociação de contratos de projetos de software
 
Desenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUMDesenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUM
 
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate SearchTurbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
 
Palestra Testes De Unidade Com JUnit
Palestra Testes De Unidade Com JUnitPalestra Testes De Unidade Com JUnit
Palestra Testes De Unidade Com JUnit
 
Extreme Programming - XP
Extreme Programming - XPExtreme Programming - XP
Extreme Programming - XP
 
Desenvolvimento Ágil com SCRUM
Desenvolvimento Ágil com SCRUMDesenvolvimento Ágil com SCRUM
Desenvolvimento Ágil com SCRUM
 
Certificação Digital
Certificação DigitalCertificação Digital
Certificação Digital
 
AOP - JustJava - 2005
AOP - JustJava - 2005AOP - JustJava - 2005
AOP - JustJava - 2005
 
AOP - ESJUG - 2005
AOP - ESJUG - 2005AOP - ESJUG - 2005
AOP - ESJUG - 2005
 
Comunidades Virtuais Java - Conexão Java - 2004
Comunidades Virtuais Java - Conexão Java - 2004Comunidades Virtuais Java - Conexão Java - 2004
Comunidades Virtuais Java - Conexão Java - 2004
 

Web2.0 e Ajax com Java guia completo

  • 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