If you can't read please download the document
Upload
milfont-consulting
View
1.523
Download
0
Embed Size (px)
Citation preview
Ajaxificando suas aplicaes
Christiano Milfonthttp://www.milfont.org
MVC Original
... a viso observa o comportamento do modelo para renderizar a interface ...
... o controlador responde a eventos e solicita modificaes no modelo ...
... o modelo gerencia a lgica de negcios e fornece API de acesso.
Migrao para web ...
MVC Model 2
... a viso no enxerga o comportamento do modelo ...
... o controlador assume parcialmente a renderizao da viso ...
... o modelo gerencia a lgica de negcios e fornece API de acesso.
Se aplica a WebWorks Mentawai SpringFlow JSF ...
Struts ...
LoginActionLoginFormLoginVOLoginBODBLoginDAO
Sem fronteiras entre as camadas lgicas...
MVC Model 3?
... a viso escuta respostas do modelo ...
... o controlador devolve responsbilidades da viso...
... o modelo gerencia a lgica de negcios e fornece API de acesso.
Back to the future...
Como funciona hoje...
Como ficaria...
Frameworks Ajax
Um Framework Ajax utiliza as tecnologias: CSS (camada de formatao da apresentao); XHTML (camada de estrutura da apresentancroo); XML (dados a serem manipulados) e JSON (outra especificao do formato dos dados); Javascript (camada de controle) por meio de DOM (modelo de rvore de objetos) e com o objeto XMLHttpRequest (que fornece conexes assnas). Extende essa tecnologias padres com componentes de eventos, efeitos, Drag'n'Drop, entre outros.
O benefcio de se usar um Framework Ajax o encapsulamento da complexidade de manipulao das tecnologias necessrias, fornecendo um s mecanismo Cross Browser que permita a utilizao do ajax com acessibilidade semelhante ao ambiente desktop, alm de facilitar o tratamento dos dados nas as camadas fsicas entre o lado cliente e o lado servidor.
Frameworks Ajax
Um Framework Ajax utiliza as tecnologias: CSS (camada de formatao da apresentao); XHTML (camada de estrutura da apresentao); XML (dados a serem manipulados) e JSON (outra especificao do formato dos dados); Javascript (camada de controle) por meio de DOM (modelo de rvore de objetos) e com o objeto XMLHttpRequest (que fornece conexes assncronas). Extende essa tecnologias padres com componentes de eventos, efeitos, Drag'n'Drop, entre outros.
O benefcio de se usar um Framework Ajax o encapsulamento da complexidade de manipulao das tecnologias necessrias, fornecendo um s mecanismo Cross Browser que permita a utilizao do ajax com acessibilidade semelhante ao ambiente desktop, alm de facilitar o tratamento dos dados nas as camadas fsicas entre o lado cliente e o lado servidor.
Frameworks Ajax
Tipos de Frameworks Ajax
Javascript Multipurpose: frameworks que fornecessem componentes sobre o conjunto de todas as tecnologias web no lado cliente e mecanismos de acesso ao lado servidor, como o encapsulamento do tratamento dos dados.
Javascript Remote: frameworks que so especialistas no encapsulamento do mecanismo de troca de objetos entre as camadas fsicas.
Javascript Specialized: frameworks que so especialistas em somente um determinado comportamento ou mecanismo do conjunto de tecnologias web, como por exemplo: especialistas em efeitos ou somente na extenso do javascript.
Javascript Multipurpose Frameworks...
Javascript Remoting Frameworks...
Javascript Specialised Frameworks...
Tipos de Frameworks Ajax
Mas como ajaxificar?
DWR
Anatomia do DWR
O DWR habilita a interao entre o Java no servidor e o Javascript no Browser, encapsulando a traduo dos objetos entre esses ambientes fsicos diferentes.
O DWR realiza a traduo dos objetos com base na especificao JSON (Javascript Object Notation).
JSON um formato leve de troca de dados baseado em um subconjunto da especificao Javascript mas independente de linguagens.
Anatomia do DWR
JSON (Javascript Object Notation)
http://www.json.org/
Anatomia do DWR
JSON
http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
"An ECMAScript object is an unordered collection of properties each with zero or more attributes..."Standard ECMA-262 - 3r d Edition - December 1999
Anatomia do DWR
Tudo que precisa para integrar o DWR em seu projeto...
Acrescenta biblioteca dwr.jar ao projeto
Mapeamento dos seus POJOS no dwr.xml
Mapeamento do servlet no web.xml
Importa o Engine e interfaces nas pginas
Faz as chamadas aos objetos mapeados
Manipulao dos POJOS
... o resto voc encontra em http://www.handersonfrota.com.br
Fim! haaaaaaaaaaaa...