Zk Framework
-
Upload
thiagoprocaci -
Category
Technology
-
view
6.504 -
download
3
Transcript of Zk Framework
ZK Framework
Autor:
Thiago Baesso Procaci
ZK - Utilizando Ajax sem Javascript
ZK Framework
Roteiro:• Apresentar conceitos do Framework;
• Exemplificar o uso.
ZK Framework
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.
ZK Framework
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
ZK Framework
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).
ZK Framework
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 Framework
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
ZK Framework
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
ZK Framework
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.
ZK Framework
Injetando Ajax em uma aplicação com o ZK• Exemplo prático ressaltando conceitos apresentados.
Ambiente• Eclipse Ganymede;
• Tomcat 6.0.
ZK Framework
Novo projeto no eclipse
ZK Framework
Escolhendo o tipo de aplicação (Dynamic Web Project)
Nome do projeto: zkdemo
Servidor: Apache Tomcat
ZK Framework
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.
ZK Framework
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
ZK Framework
Aplicação Funcionando
Só acessar http://localhost:8080/zkdemo/hello.zul
ZK FrameworkEntendendo o Funcionando
ZK Framework
Dica para desenvolvedores• Utilizar o ZK Studio.
Plug-in do eclipse que facilita o desenvolvimento de aplicações que utilizam o ZK
ZK Framework
Configurando o ZK Studio
Vá no menu help e clique em Software Updates
Clique em Add Site
Configurando o ZK Studio
ZK Framework
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
ZK Framework
Referências• http://www.zkoss.org/
• ZK – Ajax without Javascript Framework; Henry Chen, Robbie Cheng (2007)
• Revista Mundo Java - edição 36