zk framework

Post on 06-Jun-2015

6.505 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related