segunda-feira, 9 de abril de 2007

Contextos do JBOSS SEAM

Olá,

já ouviram falar de JBOSS SEAM, pois é este framework parece que estar vindo para finalmente temos uma integração entre as camadas de uma aplicação web. Digo isso porque ele elimina os velhos problemas que temos de um aplicação web não ter acesso ao contexto da camada de negócio e vice/versa. Além disso ele implementa novos contextos que até então não existiam como por exemplo:
  • Stateless: Mesmo conceito do Stateless do EJB criado justamente para integração com este tipo de EJB.
  • Event context: Como o nome mesmo diz os objetos registrados neste contexto são vão estar disponíveis durante a execução de um determinado evento.
  • Page context: Contexto já conhecido por todos que trabalham com aplicações web, esta associado ao processo de renderização, carregamento, lauding de uma página.
  • Conversation context: É um dos contextos que diferencia o Seam de qualquer outro framework existente no mercado, com este contexto podemos criar unidades de conversação e registrar nestas unidade todos os objetos e serviços que a aplicação vai necessitar usar quando a mesma estiver sendo executada sobre este contexto. Neste contexto mesmo outras instâncias da aplicação sendo acessadas em janelas diferentes não terão acesso aos artefatos registrados no contexto da outra, ou seja a cada nova instância da aplicação em uma nova janela se caracteriza como uma instância independente, assim uma não terá acesso as informações da outra mesmo sendo executadas na mesma instância do browser.
  • Session context: Este também é muito conhecido por todos que trabalham com aplicações web e nem vou entrar em muitos detalhes. Em resumo este contexto inicia quando acessamos a primeira tela da aplicação e só será destruído quando fecharmos nosso browser ou fazermos um logoff implementado pela aplicação.
  • Business process context: Mais um contexto novo criado pelo Seam, este cara foi criado especialmente para trabalharmos com fluxos de trabalho(workflow), ele garante para nós que qualquer objeto ou serviço registrado neste contexto vai estar disponível até o fim do fluxo. O mesmo fica disponível para múltiplas interações e múltiplos usuários e seu estado é persistente ou seja se eu fechar a aplicação e no dia seguinte acessar ela novamente os objetos registrados no fluxo em questão estarão ali com as informações que eu deixei pela ultima vez, isso se alguém não acessou os mesmos e modificou pois como eu disse eles podem ficar disponíveis a múltiplos usuários, claro que vc pode e deve colocar aqui um controle de acesso para que somente determinados usuários tenham acesso a determinados fluxos, mais para isso o Seam tmb facilita a nossa vida, mais isso mostro com se faz em outro poust.
  • Application context: E por ultimo o tmb já conhecido contexto de aplicação, tudo que registrarmos neste contexto fica disponível para todos que acessarem a mesma, ou seja devemos registrar neste contexto somente serviços que serão acessados por todos e que são imutáveis pois este contexto só atualizado no startup do servidor web.
Bom hoje falei um pouco sobre os contexto existentes no JBOSS SEAM e suas principais utilidades.
Assim que der escreverei mais sobre este fantástico framework .

Abraços

Nenhum comentário: