DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Integrando JSF 2 e Spring 3 - Revista Java Magazine 92

O artigo trata das vantagens e desvantagens presentes na integração entre o JSF 2 e o Spring 3, além das configurações necessárias para realizar a integração através do Spring Web Flow.






A grande quantidade de frameworks disponíveis para as aplicações web nos dias de hoje nos permite realizar combinações que podem aumentar a produtividade e a qualidade dos softwares que desenvolvemos. No entanto, muitas vezes essas combinações não são tão simples, pois envolvem a manipulação de recursos ou arquivos compartilhados entre os frameworks. Este é o caso da integração entre o JSF 2 e o Spring 3.

O JavaServer Faces é uma tecnologia usada para criar aplicações web MVC através de componentes ricos para a interface com o usuário (UI). Apesar de ser muito boa no que se propõe a fazer, existem pontos importantes que uma boa aplicação deveria ter e que não são contemplados pelo JSF, como por exemplo, permitir o uso da injeção de dependências para diminuir o acoplamento e facilitar os testes, apoiar o desenvolvedor no acesso a dados, garantir a segurança da aplicação, entre diversas outras questões. Estes requisitos são contemplados pelo Spring Framework, uma ferramenta extremamente poderosa que apesar de possuir um módulo para auxiliar o desenvolvimento web chamado Spring MVC, não utiliza a ideia de componentes de interface para a camada de visão, como é o caso do JSF.

Podemos então unir estas duas tecnologias e tirar o máximo de proveito de cada uma. Porém, integrá-las não é uma tarefa trivial, e devido a isso, diversas abordagens foram criadas. Uma opção que consegue aproveitar os principais benefícios do JSF e do Spring de maneira satisfatória é a utilização de um terceiro framework, denominado Spring Web Flow.

O Spring Web Flow é uma ferramenta de workflow com o objetivo de controlar o fluxo das páginas da aplicação. Além desta, ele possui outras funcionalidades, como a capacidade de integrar o JSF 2 com o Spring 3. Este artigo mostrará como isso acontece através de exemplos de fluxos e de uma nova arquitetura que descreve a relação entre os três frameworks. Também serão apresentadas as configurações necessárias para tornar suas aplicações web integradas e as vantagens e desvantagens envolvidas neste processo.

 

Workflow: Segundo a Workflow Management Coalition, workflow é a automação de um processo, no todo ou em parte, durante o qual documentos, informações ou tarefas são transferidos entre as entidades participantes, de acordo com um conjunto definido de regras, para alcançar um determinado objetivo nos negócios. Um workflow é composto por um conjunto de passos, conectados entre si através de transições. Cada passo possui uma ou mais ações. Essas ações podem ser executadas pelos usuários, como o preenchimento de um formulário eletrônico; ou pelo próprio sistema, como a execução de um cálculo ou envio de e-mail. O resultado da execução de uma ação pode resultar na mudança de passo, através de uma transição, ou então no fim do workflow.

O que sua aplicação web ganha utilizando JSF 2?

O JSF é uma especificação criada para auxiliar o desenvolvimento de aplicações web MVC que utilizam Java. O seu uso facilita a construção de uma aplicação organizada em camadas e baseada em componentes. Estes componentes, por sua vez, permitem ao desenvolvedor criar interfaces ricas e reutilizáveis, com pouco esforço e sem a necessidade de escrever dezenas de códigos em JavaScript e CSS.

Com o lançamento da versão 2, diversas melhorias foram apresentadas para diminuir o número de configurações e incluir novas funcionalidades, tornando assim o JSF uma opção valiosa para o desenvolvimento de aplicações web.

Para conhecermos melhor o que o JSF pode proporcionar às nossas aplicações, vejamos suas principais vantagens:

·         Apoio na comunicação entre as camadas de uma aplicação MVC. O JSF, através dos managed beans, permite a comunicação entre as camadas de controle e de visão da aplicação. Através de annotations, disponíveis na nova versão, essa tarefa ficou ainda mais simples, deixando de lado inúmeras configurações em arquivos XML;

·         Conjunto de componentes para interface de usuário (UI). Um dos pontos de destaque do JSF são os componentes UI capazes de simplificar a construção das páginas da aplicação, buscando trazer a forma de criar programas desktop para o desenvolvimento web. Estes componentes mantêm escondida a implementação de tarefas complexas, disponibilizando ao programador apenas tags com atributos que descrevem as entradas necessárias para o seu funcionamento;

·         "



ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    5 COMENTÁRIOS

[Fechar]

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



Tenclar Valus Da Silva-
poderia ter um passo a passo mais completo com spring, jsf e jpa. mas veio somente trechos de código e uma video aula junto ao artigo que não contempla o mesmo assunto de utilizar o spring Web Flow
[há +1 mês] - Responder

 

Devmedia - Equipe De Moderacao
Sua sugestão será considerada em uma nova abordagem do assunto.

Obrigado pelo comentário.

Atenciosamente,

Equipe Devmedia.
[há +1 mês] - Responder
 

Cpb A/c Edmir Diniz
Parabéns pelo artigo! Foi muito bem detalhado, apesar de ter faltado uma aplicação com o crud para baixar.
A vídeo aula, não conexão alguma com seu artigo, é uma pena, esperava uma video aula de um projeto como o descrito em seu artigo.

Quando vi o tópico spring 3 e jsf fiquei muito interessado e comecei a lê-lo, mas as transições e estados do web flow, inviabilizaram totalmente esta integração no meu ponto de vista.
Gostaria de saber se não há uma outra forma de fazer esta integração de forma mais transparente sem o web flow?

Caso não haja, se escolher o spring MVC ao invés do jsf, o que poderia utilizar para melhorar a view para deixá-la mais rica?

Obrigado!

Wss
[há +1 mês] - Responder

 

[autor] José Alexandre Macedo
Olá Edmir,

Outra forma de fazer a integração é utilizando o bean SpringBeanFacesELResolver no arquivo de configuração.

Caso prefira usar o Spring MVC recomendo que dê uma olhada em bibliotecas JavaScript como JQuery e ExtJs. Elas podem ser utilizadas facilmente com o Spring MVC e será possível deixar as páginas bem ricas!

Abraços.
[há +1 mês] - Responder
 

Cpb A/c Edmir Diniz
Olá José!

Obrigado pelo retorno!

Tbm tenho o desejo de substituir o Hibernate por puro JDBC,
devido a minhas necessidades de me conectar com o mesmo sistema em vários banco de dados.

Seria possível tal abordagem com JSF 2 e Spring? Vi um
artigo na revista 46 que era justamente isto, porém com o JSF 1.

Obrigado Novamente.

Weles!
[há +1 mês] - Responder
 



Publicidade
Autor
José Alexandre Macedo

é Mestrando em Informática na Universidade Federal do Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal de Alfenas.


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   1
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03