Whats new? | Login | Parceiros
Cadastre-se | Atendimento | RSS
+ Java:
artigos   |   vídeos   |    cursos   |    mais

  #Este é um post fechado

Este post está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais sobre como abrir este post!



Artigo Java Magazine 03 - Além das fronteiras

Artigo publicado pela Java Magazine 03.

JúLIO CéSAR LINS
é Arquiteto de Tecnologias da Qualiti Software Processes (www.qualiti.com.br) e programador certificado pela Sun. Júlio César faz parte do Corpo Editorial da Java Magazine.


Ver space do autor


Estatísticas:
Visualizações:
1135
Favoritado:
 0 vez(es)

Serviços:



Esse artigo faz parte da revista Java Magazine edição 03. Clique aqui para ler todos os artigos desta edição

JavaServer Faces

Criação visual de interfaces web

Nesta edição vamos falar sobre uma das mais esperadas especificações da plataforma Java, Java Server Faces (JSR-127). A JSF está na reta final – a versão public draft foi lançada em agosto desse ano e já está disponível uma implementação de referência early access.

Produtividade

Um dos grandes gargalos de produtividade no desenvolvimento de aplicações web é a construção da camada de apresentação, normalmente implementada em HTML com servlets e JSPs. A maioria dos sistemas segue a mesma linha: uma variação da tradicional arquitetura Model-View-Controller (MVC) – servlets processam a requisição, classes de negócio executam as regras e páginas JSP apresentam o resultado.

Porém, normalmente muito pouco do código de apresentação pode ser reutilizado entre aplicações – e às vezes nem dentro da mesma aplicação. O fato é que a criação da interface HTML e da lógica de apresentação ainda segue um processo um pouco rudimentar, sem o apoio ferramental que os programadores poderiam ter. Imagine criar aplicações Swing sem ferramentas para desenhar a interface e tendo que implementar componentes que ficam mais complexos a cada projeto – é basicamente isso que fazemos em aplicações web!

As tecnologias da camada web têm evoluído bastante para suprir a demanda por maior produtividade. Um bom exemplo são as bibliotecas de tags JSP, que reduzem a quantidade de linhas de código Java nas páginas JSP, facilitando o reuso de código. Um conjunto dessas bibliotecas desenvolvidas pelo grupo Apache foi adotado como a JSR-52 e lançado recentemente como a JSTL 1.0 (JSP Standard Tag Library) – uma biblioteca de tags padronizada incorporada à tecnologia JSP.

Também já existe uma quantidade razoável de frameworks para a camada web, entre eles Apache Struts, WebWork e JATO. Estes auxiliam os programadores web a desenvolver o controle de fluxo da interface e implementar o modelo MVC. Além disso, muitas empresas chegaram a desenvolver sua própria solução caseira, já que essas dificuldades são comuns.

Cada framework tem seu próprio modelo, apesar de vários serem bastante parecidos. O JavaServer Faces vem para colocar ordem na construção desses frameworks e promete aumentar a produtividade na programação web.

Padronização

Um objetivo importante do JSF é reduzir o esforço necessário para criar páginas JSP com processamento feito por servlets, mas esse não é o único cenário suportado. A especificação visa facilitar e padronizar a criação de componentes de interfaces gráficas na internet, sejam eles desenhados em HTML, WAP, XML ou outras tecnologias similares. A idéia é permitir a criação de bibliotecas reusáveis desses componentes.

Outro ponto importante é fazer surgir uma série de ferramentas de apoio para facilitar o trabalho do desenvolvedor. O JSF está sendo arquitetado de forma a criar um ambiente ideal para o surgimento de ferramentas. Mais um objetivo do JSF é permitir que programadores não capacitados na programação orientada a objetos, possam utilizar Java para criar sistemas para a web – basicamente selecionando uma ação para um determinado componente e escrevendo a rotina que a implementa com apoio de uma ferramenta.

O framework

O JSF é composto basicamente por um mecanismo para mapear dados vindos do cliente em componentes no servidor, controlar o fluxo da aplicação, e armazenar estado entre as requisições.

Além disso, foi criada uma API para a manipulação de componentes e controle de aplicações JSF. Mas é interessante observar que o objetivo é que boa parte da API seja utilizada pelas ferramentas de desenvolvimento, e que o programador se concentre na parte de mais alto nível.

O JSF se baseia nas versões 2.3 e 1.2 das APIs de servlets e JSP, respectivamente. Além disso, a JSLT 1.0 também é utilizada pelo mecanismo, que também tem sua própria biblioteca de tags para facilitar a integração com JSP (veja a Figura 1).

Ciclo de vida

O framework JSF procura resolver problemas comuns da programação web, tais como: processamento de formulários, tratamento de eventos, conversão de tipos, tratamento de erros, gerenciamento de estado, validação de dados e internacionalização. A API e as tags criadas são voltadas para a solução desses problemas, que são abordados durante um ciclo de vida de atendimento à requisição.

O ciclo de vida de atendimento a uma requisição é composto por sete fases (veja a Figura 2). Cada fase tem um papel bem definido e pode alterar o fluxo da requisição.



ATENÇÃO! A EXIBIÇÃO DESTE ARTIGO FOI INTERROMPIDA.


  #Este é um post fechado

Este post está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais sobre como abrir este post!







Participe! Inclua um comentário
[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar ;-)



 


[Fechar]
Este post está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.

  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 4,90 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ 1,96 (assinante) ou R$ 2,45 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ 1,03
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
DevMedia Group   www.devmedia.com.br   |   www.javafree.org   |   www.mrbool.com
2010 - Todos os Direitos Reservados a DevMedia Group - (21) 3382-5038