#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.
Estatísticas:
Serviços:


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!




Artigo Java Magazine 07 - Testes unitários

Artigo Java Magazine 02 - Automação com Ant

Artigo Java Magazine 19 - Na Medida Certa

Artigo Java Magazine 06 - Além das fronteiras

Artigo Java Magazine 05 - Além das Fronteiras

Artigo Java Magazine 03 - Além das fronteiras



Curso Online - Introdução ao AJAX Reverso

(tutorial) Aprenda a persistir dados em suas aplicações Java utilizando Hibernate

Desenvolvendo uma aplicação completa utilizando Swing

Introdução ao JDBC

Java Web: Saiba como Desenvolver Aplicações utilizando Spring, Hibernate e JSF na Prática

OLAP com o SQL Server

Introdução à Engenharia de Requisitos

Curso OnLine WebDesign - Desenvolvendo o layout de um WebSite passo a passo




[vídeo] Array no ViewData: Curso ASP.NET MVC 2.0 com Visual Studio 2010 - Parte 14

Mineração de Repositórios de Software: A Computação ajudando à Computação.

Boas-vindas

Boas-vindas

Mineração de Repositórios de Software: A Computação ajudando à Computação.

[vídeo] Teste Automatizado: Codificação do UserTest - Curso JEE e JSE – Loja Virtual Completa – Parte 17

[vídeo] MD5 com Delphi: Usando o Método Locar - Curso Aplicação Financeira Delphi 2009 e MySQ – Parte 32

[vídeo] MD5 com MySQL: Utilizando a função para Logar - Curso Aplicação Financeira Delphi 2009 e MySQL – Parte 31

Trabalhando com Cache - Parte 2


Você está em:





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

