JSF 2 e PrimeFaces: Primeiros passos - Parte 1
Este é o primeiro de uma série de três artigos que apresentarão, em detalhes, a arquitetura de um poderoso framework no desenvolvimento de interfaces com o usuário em soluções Java para a web, o JavaServer Faces.
Este é o primeiro de uma série de três artigos que apresentarão, em detalhes, a arquitetura de um poderoso framework no desenvolvimento de interfaces com o usuário em soluções Java para a web, o JavaServer Faces. A série abordará não apenas toda a API do JSF, mas também as particularidades da biblioteca PrimeFaces.
Em que situação o tema é útil:
O principal intuito desta série é colaborar para a ampliação da bagagem técnica de desenvolvedores já atuantes em web, sem deixar de ser convidativa também para iniciantes, apresentando de uma forma didática e construtiva todos os conceitos fundamentais do framework e de seus componentes e especializações.
Resumo DevMan:
Dominar ou ao menos conhecer a essência das ferramentas disponíveis para o desenvolvimento de soluções web baseadas na plataforma Java continua sendo um grande diferencial para todo programador. Com esta série de artigos que se inicia a partir de agora, esperamos trazer ao leitor as principais características da especificação JSF, traduzidas em sua implementação mais popular, o PrimeFaces. Cada atividade desempenhada pelo framework será apresentada em detalhes, e o que esperamos é proporcionar ao leitor o entendimento de tudo aquilo que acontece com seu código em tempo de execução, munindo-o de recursos para utilizar o framework JavaServer Faces de maneira mais consciente e otimizada.
Iniciaremos, com este artigo, uma série sobre desenvolvimento web utilizando JSF. Passaremos pelos conceitos da especificação e navegaremos por sua implementação mais popular, o PrimeFaces, explorando alguns dos seus componentes e mostrando como é possível fazer uso da plataforma Java para desenvolver web sites ricos, atraentes e funcionais de maneira simples, organizada, legível e gerenciável.
A especificação Java Enterprise Edition (ou simplesmente Java EE) indica o JSF como framework preferencial para o desenvolvimento de toda a camada de interface com o usuário. A partir da versão 2.0 deste framework, chegou às mãos dos desenvolvedores o padrão Facelets, um poderoso substituto para as famosas páginas JSP (que são uma especialização da API de Servlets para criação de páginas web contendo chamadas a código Java), que estudaremos ao longo da série.
Para tornar mais fluido o estudo de uma API tão vasta como esta, desenvolveremos um web site de um grupo musical, contendo seções como agenda de shows, repertório e história do grupo e de seus integrantes.
Adotaremos a biblioteca PrimeFaces para construir esta aplicação. Além de ser a implementação mais completa do JSF e oferecer componentes mais atraentes e completos do que suas concorrentes, é também a biblioteca mais popular entre os desenvolvedores, de evolução constante e com rica fonte de consulta e estudo, além de um show case muito bem estruturado. Este show case, inclusive, é um recurso que colabora muito no aprendizado e no uso da biblioteca.
Para quem se interessar em pesquisar alternativas ao PrimeFaces, recomendamos que foquem principalmente em duas opções: o ICEfaces e o RichFaces. A referência para estas implementações pode ser encontrada na seção Links. Não deixe de conferir.
Roadmap
No primeiro artigo da série, tomaremos o cuidado de iniciar uma navegação calma e detalhada pelos conceitos fundamentais do JSF. São informações muito importantes, parcialmente ignoradas por muitos desenvolvedores mais novos devido à facilidade em encontrar respostas rápidas na web nos dias de hoje. O aprendizado sob demanda adotado pelas novas gerações, principalmente em virtude do ritmo frenético imposto pelas empresas de desenvolvimento, tem resultado na formação de profissionais orientados a cenários de uso, com baixo conforto nas tecnologias com as quais trabalham. É com olhos atentos a este fenômeno que decidimos iniciar pela base.
No segundo artigo, aplicaremos boa parte dos conceitos abordados nesta parte no desenvolvimento do portal para um grupo musical, introduzindo outros que não entrarão neste primeiro artigo por questão de espaço, como composites, templates e desenvolvimento de componentes customizados.
Também no segundo artigo, já começaremos a explorar os recursos do PrimeFaces utilizando alguns de seus componentes em um portal para um grupo musical. Cada componente que utilizarmos será analisado passo a passo tanto do ponto de vista estrutural quanto comportamental. Verificaremos como esta poderosa biblioteca se vincula à especificação JSF, observando suas principais interfaces. Faremos ainda uma análise da versão desta biblioteca destinada ao desenvolvimento de mobile sites, assunto cada dia mais quente no cenário de desenvolvimento de software.
O terceiro e último artigo encerra nosso estudo, reunindo reflexões a respeito do JSF e sua arquitetura. Teremos, ao final desta série, uma aplicação web completa, cujo código-fonte será disponibilizado e com o qual pretendemos presentear o leitor com uma base razoável de consulta para que possa, assim, desenvolver com maior segurança e conforto suas aplicações web.
Premissas
Como o foco desta série é discutir sobre o JSF, não incluiremos nenhum outro framework popular na construção de aplicações web em Java, como Spring, JPA, Struts, entre outros. Podemos discutir sobre cada um deles em outros artigos, em outras oportunidades.
Apesar do foco deste artigo ser o JSF e suas implementações, é importante lembrar que o desenvolvimento Java para a web vai além, muito além disso. Existem alternativas a esta abordagem que podem ser empregadas no desenvolvimento da interface com o usuário. É possível desenvolver as páginas de uma solução web a partir de páginas JSP e também via frameworks talvez até desconhecidos de muitos, como o Jetspeed, utilizado em alguns projetos legados de grandes empresas para o desenvolvimento de páginas seguindo o modelo de portlets. Para quem se interessou e quer consultar os detalhes a respeito desta biblioteca, não deixe de conferir a seção Links ao final do artigo.
JSF é interface com o usuário
Antes de começarmos efetivamente a falar sobre JSF, é importante entendermos o papel a que este framework se presta. Devemos utilizá-lo para tratar exclusivamente da camada de apresentação de aplicações web. Não é, portanto, sua função cuidar de aspectos relacionados à lógica de negócio, persistência de dados, serviços web, integração entre sistemas ou conexões com sistemas de informação em geral, havendo outras tecnologias dedicadas exclusivamente a esses propósitos.
O ambiente
Para falarmos sobre ambiente, começaremos listando algumas perguntas que nos ajudarão a identificar tudo o que nos é necessário para desenvolver soluções em Java para a Web:
1. Como faço para desenvolver?
2. Como faço para testar?
3. Como faço para publicar?
Comecemos pela última, a publicação. Toda aplicação web deve ser implantada em um servidor físico. Porém, não é somente isso. É necessário, ainda, um sistema que gerencie nossas aplicações, controlando seu ciclo de vida e outros aspectos gerais como alta disponibilidade e segurança, gerenciamento de memória, dentre outros.
A plataforma mais básica de gerenciamento de soluções web é um web container, também tratado na literatura por web servers. O mais popular web container é, sem dúvidas, o Apache Tomcat, uma solução gratuita e de código aberto, encubada pela fundação Apache. Outro web container bem conhecido e utilizado em produtos como SUP, da Sybase, é o Jetty."
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo