Palestra: Seam e Web Beans – Falando em Java 2009

by

Jboss Seam e Web Beans

Palestra ministrada por Alessandro Lazarotti (Red Hat) e Ricardo Nakamura (Caelum)

Alessandro e Ricardo mostraram como o Jboss Seam e WebBeans se relacionam entre si e qual o futuro de ambos. Foi usado, como exemplo, a rotina diária do Ricardo Nakamura.

O assunto pode até não ser novo, mas fizeram a apresentação com muita competência. O Ricardo foi engraçado e apresentou o que se propôs. Fez também uma conceituação legal de inversão de dependência. O problema foi a falta do controle de tempo, que impediu que todo conteúdo previsto fosse passado.

A parte de conceituação do ricardo foi muito boa!

Ele usou como exemplo a sua rotina diária:

Processo Normal:

  • Acorda
  • Vai ao banheiro
  • Troca de Roupa
  • Vai comprar pão
  • Toma café da manhã
  • Sai para trabalhar

Sair para comprar pão, para ele, é um processo muito chato. Ao invés de comprar pão, ele queria uma solução um pouco melhor. As alternativas seriam:

  • Sair de casa e comprar o pão
  • O pão ser entregue em casa
  • Comer para quê?

Inversão de controle

Ir comprar o pão é ruim. Porque não inverter o controle ? Mas o que vai ser invertido? Vou fazer o pão? o pão vai me comprar ? A frase não está clara.

Que aspecto do controle está sendo invertido?

Recursos, dependências de alguém (algo). O pão para mim é muito importante. Então teremos que fazer injeção de dependências (DI): o pão será injetado na casa.

Existem alguns frameworks, muito falados, que fazem a injeçào de dependência, como o Spring, Pico Container, Guice e outros.

Expandindo a idéia

Quero também receber água em casa. Como fazer isso?

  • Ligar na fornecedora, verificar se entregam em casa, combinar pagamento.
  • Avisar portaria e empregada.

Estes passos se repetiriam para outros itens que eu desejasse receber em casa. Não seria bom se esta configuração fosse sempre padronizada ?

É preciso haver padronização com frameworks, recursos e configurações. Logo, foi criada a especificação JSR 299 (Contexts and Dependency Injection for java EE), que padroniza a injeção de dependências e gerenciamento do ciclo de vida contextual.

A especificação (CDI)então tomou forma e está próxima de sua proposta final. Mas, qual a implementação de referência da CDI (especificação JSR 299)?

Web Beans é a implementação de referência. Mas então o que é o Seam Framework?

Ele surgiu junto com a especificação, mas não tem vínculo com a especificação. A especificação nasceu com base no Seam. O Seam foi a inspiração. No futuro, o Web Beans será o core do JBoss Seam.

Web Beans

Mostou um pouco de código, baseado no exemplo da entrega de pão em casa.

  • Mostrou o funcionamento do WebBeans com Java SE.
  • Depois com JSF.

Seam

Muito do que foi mostrado é igual ao Web Beans. Mas o Seam não é só isso. Ele suporta muitas outras funcionalidades. É uma plataforma muito grande de integração, para que você não tenha que ter diversos frameworks de integração.

Mostrou exemplos de uso do Seam na apresentação, tais como: envio fácil de e-mail, extensões para o JSF, annotations, expressions language, etc.

Seam 3

As novidades serão:

  • Web Beans como engine;
  • Integrador de diversas tecnologias;
  • Ferramentas de utilidade: plugins, seam-gen, maven;

A mensagem final foi: o Seam não é anarquia, não força você a escrever o projeto da forma dele.

Tags: , , ,

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s


%d blogueiros gostam disto: