SlideShare uma empresa Scribd logo
Autor: Thiago Baesso  Procaci ZK - Utilizando Ajax sem Javascript
Roteiro: Apresentar conceitos do Framework; Exemplificar o uso.
Porque utilizar o ZK ? Necessidade de aplicações com interfaces ricas; Interfaces ricas    grandes esforços; Esforços com interfaces ricas    possível desvio do foco do desenvolvimento (regras de negócio). Propósito do ZK: Tornar o desenvolvimento de interfaces web simples.  Em outras palavras, facilitar a confecção de interfaces ricas.
Evolução das páginas web  Páginas HTML Estáticas Páginas HTML Dinâmicas (DHTML) Páginas com Flash, Applets Páginas com uso de Ajax
Um pouco sobre Ajax Pode-se entender como a próxima geração do DHTML; Forte dependência de Javascript para capturar eventos e manipular a representação visual de uma página; Não depende de algum tipo de plugin para que a aplicação funcione (ao contrário de Flash e Applets); Maior interação (usuário x sistema).
Com a maturação da tecnologia Ajax..  Aparecimento de vários frameworks (como o ZK); O ZK Framework.. Facilita a incorporação de Ajax na aplicações Java Web; Dispensa conhecimentos de Javascript; Possui uma linguagem de marcação (similar ao HTML) denomidade ZUML. Gera código Javascript, HTML através da ZUML
ZK User Interface Markup Language - ZUML Linguagem de marcação de mais alto nível; Define a interface através de componentes (ex. Grid, datebox, captcha); Interface amigável com todo HTML, Javascript e CSS gerados a partir da ZUML.
Possibilidade de configurar atributos (como na decimalbox).  O input gerado assumirá valores nos moldes do atributo format Exemplo ZUML
Funcionamento do ZK (Arquitetura) O ZK possui 3 módulos responsáveis por incorporar Ajax a uma aplicação: ZK loader; ZK AU ( asynchronous update ) engine; ZK client engine. Ressaltando que o que ZK loader e o ZK AU engine rodam do lado do servidor e são compostos por Servlets Java. O ZK cliente engine é composto por cógido Javascript (roda no lado do cliente).
 
1 : Sempre um cliente faz a requisição de uma página através da URL, o ZK loader interpreta a requisição, gera a página HTML correspondente (baseado no código ZUML referente à URL requisitada) e cria objetos no servidor que permitirão a manipulação da interface da página.
2: Em seguida, o ZK loader envia a página HTML gerada para o cliente juntamente com o ZK client engine. O ZK client engine irá residir no “lado do cliente” e será responsável por monitorar os eventos disparados pelo browser.
3: Se qualquer evento for disparado no cliente, o ZK client engine irá enviá-lo (através de uma requisição Ajax) para o ZK AU engine localizado no servidor.
4: O ZK AU engine recebe a requisição Ajax, atualiza os objetos que manipulam os componentes de interface e retorna uma resposta para o cliente, relatando as modificações que página deverá sofrer.
5: Assim que o ZK client engine recebe a resposta, ele atualiza a representação visual da página
Funcionamento do ZK (resumo) ZK loader    carrega página; ZK AU engine e ZK client engine    tornam fácil a comunicação Ajax (objetos no servidor dispensam a programação Javascript); Qualquer componente definido em ZUML terá um objeto para a manipulação da visão no servidor. Vantagem:  O ZK prevê vários problemas de compatibilidade entre browsers.
Injetando Ajax em uma aplicação com o ZK Exemplo prático ressaltando conceitos apresentados. Ambiente Eclipse Ganymede; Tomcat 6.0.
Novo projeto no eclipse
Escolhendo o tipo de aplicação (Dynamic Web Project)
Nome do projeto: zkdemo Servidor: Apache Tomcat
Configurações Finais Fazer download do ZK em  http://www.zkoss.org/download/ e extrair os jars para a pasta WEB-INF/lib do projeto. Configurar o web.xml (vide user guide –  copiar e colar). Já podemos começar a desenvolver o nosso exemplo inicial e rever os conceitos apresentados de forma prática.
Pacotes e classes do exemplo hello.zul    arquivo com o código ZUML da página. HelloWindow.java    classe java que irá manipular a página hello.zul Obs.: A extensão .zul é a utilizada para os arquivos que contêm código ZUML.
HelloWindow.java hello.zul
Atributo use aponta para HelloWindow HelloWindow.java hello.zul
Atributo use aponta para HelloWindow Ação do botão HelloWindow.java hello.zul
Atributo use aponta para HelloWindow Recupera o objeto que manipula a textbox através do id Ação do botão Manipula valor da textbox HelloWindow.java hello.zul
Aplicação Funcionando Só acessar    http://localhost:8080/zkdemo/hello.zul
Entendendo o Funcionando
Dica para desenvolvedores Utilizar o ZK Studio. Plug-in do eclipse que facilita o desenvolvimento de aplicações que utilizam o ZK
Configurando o ZK Studio Vá no menu help e clique em Software Updates
Clique em Add Site Configurando o ZK Studio
Configurando o ZK Studio Adicione em location: http://studioupdate.zkoss.org/studio/update
Configurando o ZK Studio Selecione a url do ZK Studio e clique em install
Referências http://www.zkoss.org/ ZK – Ajax without Javascript Framework; Henry Chen, Robbie Cheng (2007) Revista Mundo Java  - edição 36

Mais conteúdo relacionado

PDF
Valve & Amplifier Design, EL34 (6CA7) Data, Mullard Valves
PDF
PP nomor 8 tahun 2022 1
PPTX
É Hora de criar sua própria engine de jogos?
PDF
Desenvolvimento de aplicações para o Google App Engine
PDF
Tk03 Google App Engine Fr
PDF
Oficina Python e Google App Engine
PDF
Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13
PDF
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
Valve & Amplifier Design, EL34 (6CA7) Data, Mullard Valves
PP nomor 8 tahun 2022 1
É Hora de criar sua própria engine de jogos?
Desenvolvimento de aplicações para o Google App Engine
Tk03 Google App Engine Fr
Oficina Python e Google App Engine
Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...

Destaque (20)

PPTX
Google App Engine - INTRO
PDF
Nuxeo WebEngine : Etude de cas
PDF
An introduction to Google's App Engine
PDF
b2performance berth
PPTX
Google Cloud Platform. Google App Engine
PPTX
Search Engine Friendly Design (SEFD) - SMX München 2014
PDF
Google App Engine. Zwei Jahre im Produktiveinsatz
PPT
Google App Engine For Java
PPTX
FACT-Finder Webinar Recommendation Engine 2.0
PDF
WordPress State of the Word 2012
PDF
Google App Engine
PDF
Introduction à Google App Engine - WAQ 2011
PPT
Cours Search Marketing - 1 Introduction - IAE Lille
PPTX
Cloud & Google app engine Presentation by Ngiambus Marcus
PPT
Web meets Location - Mobile Social Media Relations
PPTX
Intellectual Property Rights
PDF
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
PDF
SEFD - Search Engine Friendly Design - SMX München 2015 Kai Spriestersbach
PDF
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
PDF
SEO e Social - Unindo o sentimento das pessoas ao search engine
Google App Engine - INTRO
Nuxeo WebEngine : Etude de cas
An introduction to Google's App Engine
b2performance berth
Google Cloud Platform. Google App Engine
Search Engine Friendly Design (SEFD) - SMX München 2014
Google App Engine. Zwei Jahre im Produktiveinsatz
Google App Engine For Java
FACT-Finder Webinar Recommendation Engine 2.0
WordPress State of the Word 2012
Google App Engine
Introduction à Google App Engine - WAQ 2011
Cours Search Marketing - 1 Introduction - IAE Lille
Cloud & Google app engine Presentation by Ngiambus Marcus
Web meets Location - Mobile Social Media Relations
Intellectual Property Rights
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
SEFD - Search Engine Friendly Design - SMX München 2015 Kai Spriestersbach
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
SEO e Social - Unindo o sentimento das pessoas ao search engine
Anúncio

Semelhante a Zk Framework (8)

PDF
Apache Wicket - Desenvolvimento WEB orientado a componentes
PDF
Wicket 2008
PDF
JSF com Primefaces
PPTX
Ajax em java com zkoss
PDF
JSF & REST
PPT
PDF
Arquitetura Web Desacoplada - FCI/Mackenzie
PPT
introdução a ajax
Apache Wicket - Desenvolvimento WEB orientado a componentes
Wicket 2008
JSF com Primefaces
Ajax em java com zkoss
JSF & REST
Arquitetura Web Desacoplada - FCI/Mackenzie
introdução a ajax
Anúncio

Último (19)

PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Processos na gestão de transportes, TM100 Col18
Aula 18 - Manipulacao De Arquivos python
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Aula04-Academia Heri- Tecnologia Geral 2025
COBITxITIL-Entenda as diferença em uso governança TI
Custos e liquidação no SAP Transportation Management, TM130 Col18
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Apple Pippin Uma breve introdução. - David Glotz
Processos na gestão de transportes, TM100 Col18

Zk Framework

  • 1. Autor: Thiago Baesso Procaci ZK - Utilizando Ajax sem Javascript
  • 2. Roteiro: Apresentar conceitos do Framework; Exemplificar o uso.
  • 3. Porque utilizar o ZK ? Necessidade de aplicações com interfaces ricas; Interfaces ricas  grandes esforços; Esforços com interfaces ricas  possível desvio do foco do desenvolvimento (regras de negócio). Propósito do ZK: Tornar o desenvolvimento de interfaces web simples. Em outras palavras, facilitar a confecção de interfaces ricas.
  • 4. Evolução das páginas web Páginas HTML Estáticas Páginas HTML Dinâmicas (DHTML) Páginas com Flash, Applets Páginas com uso de Ajax
  • 5. Um pouco sobre Ajax Pode-se entender como a próxima geração do DHTML; Forte dependência de Javascript para capturar eventos e manipular a representação visual de uma página; Não depende de algum tipo de plugin para que a aplicação funcione (ao contrário de Flash e Applets); Maior interação (usuário x sistema).
  • 6. Com a maturação da tecnologia Ajax.. Aparecimento de vários frameworks (como o ZK); O ZK Framework.. Facilita a incorporação de Ajax na aplicações Java Web; Dispensa conhecimentos de Javascript; Possui uma linguagem de marcação (similar ao HTML) denomidade ZUML. Gera código Javascript, HTML através da ZUML
  • 7. ZK User Interface Markup Language - ZUML Linguagem de marcação de mais alto nível; Define a interface através de componentes (ex. Grid, datebox, captcha); Interface amigável com todo HTML, Javascript e CSS gerados a partir da ZUML.
  • 8. Possibilidade de configurar atributos (como na decimalbox). O input gerado assumirá valores nos moldes do atributo format Exemplo ZUML
  • 9. Funcionamento do ZK (Arquitetura) O ZK possui 3 módulos responsáveis por incorporar Ajax a uma aplicação: ZK loader; ZK AU ( asynchronous update ) engine; ZK client engine. Ressaltando que o que ZK loader e o ZK AU engine rodam do lado do servidor e são compostos por Servlets Java. O ZK cliente engine é composto por cógido Javascript (roda no lado do cliente).
  • 10.  
  • 11. 1 : Sempre um cliente faz a requisição de uma página através da URL, o ZK loader interpreta a requisição, gera a página HTML correspondente (baseado no código ZUML referente à URL requisitada) e cria objetos no servidor que permitirão a manipulação da interface da página.
  • 12. 2: Em seguida, o ZK loader envia a página HTML gerada para o cliente juntamente com o ZK client engine. O ZK client engine irá residir no “lado do cliente” e será responsável por monitorar os eventos disparados pelo browser.
  • 13. 3: Se qualquer evento for disparado no cliente, o ZK client engine irá enviá-lo (através de uma requisição Ajax) para o ZK AU engine localizado no servidor.
  • 14. 4: O ZK AU engine recebe a requisição Ajax, atualiza os objetos que manipulam os componentes de interface e retorna uma resposta para o cliente, relatando as modificações que página deverá sofrer.
  • 15. 5: Assim que o ZK client engine recebe a resposta, ele atualiza a representação visual da página
  • 16. Funcionamento do ZK (resumo) ZK loader  carrega página; ZK AU engine e ZK client engine  tornam fácil a comunicação Ajax (objetos no servidor dispensam a programação Javascript); Qualquer componente definido em ZUML terá um objeto para a manipulação da visão no servidor. Vantagem: O ZK prevê vários problemas de compatibilidade entre browsers.
  • 17. Injetando Ajax em uma aplicação com o ZK Exemplo prático ressaltando conceitos apresentados. Ambiente Eclipse Ganymede; Tomcat 6.0.
  • 18. Novo projeto no eclipse
  • 19. Escolhendo o tipo de aplicação (Dynamic Web Project)
  • 20. Nome do projeto: zkdemo Servidor: Apache Tomcat
  • 21. Configurações Finais Fazer download do ZK em http://www.zkoss.org/download/ e extrair os jars para a pasta WEB-INF/lib do projeto. Configurar o web.xml (vide user guide – copiar e colar). Já podemos começar a desenvolver o nosso exemplo inicial e rever os conceitos apresentados de forma prática.
  • 22. Pacotes e classes do exemplo hello.zul  arquivo com o código ZUML da página. HelloWindow.java  classe java que irá manipular a página hello.zul Obs.: A extensão .zul é a utilizada para os arquivos que contêm código ZUML.
  • 24. Atributo use aponta para HelloWindow HelloWindow.java hello.zul
  • 25. Atributo use aponta para HelloWindow Ação do botão HelloWindow.java hello.zul
  • 26. Atributo use aponta para HelloWindow Recupera o objeto que manipula a textbox através do id Ação do botão Manipula valor da textbox HelloWindow.java hello.zul
  • 27. Aplicação Funcionando Só acessar  http://localhost:8080/zkdemo/hello.zul
  • 29. Dica para desenvolvedores Utilizar o ZK Studio. Plug-in do eclipse que facilita o desenvolvimento de aplicações que utilizam o ZK
  • 30. Configurando o ZK Studio Vá no menu help e clique em Software Updates
  • 31. Clique em Add Site Configurando o ZK Studio
  • 32. Configurando o ZK Studio Adicione em location: http://studioupdate.zkoss.org/studio/update
  • 33. Configurando o ZK Studio Selecione a url do ZK Studio e clique em install
  • 34. Referências http://www.zkoss.org/ ZK – Ajax without Javascript Framework; Henry Chen, Robbie Cheng (2007) Revista Mundo Java - edição 36