O artigo apresenta brevemente o framework Seam, algumas das
suas características e seus principais benefícios. O foco principal deste
artigo, porém, é demonstrarmos de forma prática a criação de uma aplicação Seam
através da técnica de engenharia reversa. Minimizarmos o esforço dedicado ao desenvolvimento de
aplicações Java EE orientadas a dados, ou seja, que gerenciem dados que não
necessitem de processamentos complexos. Quando precisamos construir uma aplicação Java EE para
administração dos dados de uma base de dados pré-existente, ou mesmo quando
necessitamos desenvolver uma nova aplicação web que seja orientada a dados. O tema também é de grande valia para o leitor que deseja ter
um primeiro contato amigável com o framework Seam e outras tecnologias, como
EJB 3.0, JSF, JPA e AJAX. Uma abordagem prática com Seam: Inicialmente são apresentados o framework Seam, suas
características, principais benefícios e possíveis formas de criar uma nova
aplicação. Em seguida, é proposto um estudo de caso onde demonstramos
passo-a-passo como criar uma aplicação Seam para gerenciamento de tarefas
utilizando o utilitário Seam Gen. O estudo de caso se inicia com a criação da
base de dados alvo para o processo de Engenharia Reversa. Na sequência são apresentadas
todas as pré-configurações necessárias para que, através do Seam Gen, o
processo de Engenharia Reversa seja aplicado à base de dados. Finalmente,
apresentamos a estrutura da aplicação gerada, alguns dos artefatos mais
relevantes e como efetuamos a implantação da aplicação no servidor JBoss. Por fim, o artigo apresenta um apanhado geral do tema
proposto e aponta os cenários onde sua adoção é recomendada. O objetivo central
é apresentar uma visão prática do framework Seam, despertando no leitor o interesse
em se aprofundar na tecnologia.
Para que serve:
Em que situação o tema é útil:
No desenvolvimento de aplicações Java EE, não há como negar que frameworks são ferramentas poderosas. Um framework possui um propósito específico e, muitas vezes, a sua criação advém da necessidade de resolvermos algum problema recorrente no desenvolvimento de software. Cada framework encapsula uma série de padrões de projeto, Application Programming Interfaces (APIs) e classes de domínio, sendo que todos estes recursos podem ser utilizados no desenvolvimento de aplicações construídas em cima de frameworks.
No mundo Java EE existem diversos frameworks largamente utilizados, como Hibernate, Struts, Spring, JSF, VRaptor, entre outros.
Uma aplicação Java EE, normalmente, utiliza muitos destes frameworks simultaneamente. Surge então a necessidade de configurarmos a integração de todos esses componentes. Porém, tendo em vista que muito do esforço dedicado a esta atividade é aplicado em configurações de arquivos XML, é comum que esta integração demande uma boa quantidade de horas, ou até mesmo dias.
Outra grande dificuldade de integração de frameworks é que estes possuem modelos de programação diferentes, e para o desenvolvedor conseguir fazer tudo funcionar em conjunto, muitas vezes é obrigado a escrever uma grande quantidade de código apenas para “colar” os componentes. Para resolver este tipo de problema existem os frameworks de integração, responsáveis por reduzir ao máximo a quantidade de código com a finalidade de integração de componentes.
Neste artigo abordaremos um robusto framework de integração, o Seam. Serão apresentadas algumas de suas características, os principais benefícios advindos da sua adoção e desenvolveremos, passo-a-passo, uma aplicação introdutória com o objetivo de apresentar ao leitor uma utilização prática dos artefatos que compõem a distribuição deste framework, mais especificamente o utilitário Seam Gen. A essência do artigo visa mostrar que o Seam, além de suportar o desenvolvimento de aplicações complexas, sabe ser muito produtivo com aplicações orientadas a dados.
O framework Seam
O Seam é um framework que reúne, em um único modelo de programação, diversas tecnologias como Asynchronous JavaScript and XML (AJAX), JavaServer Faces (JSF), Java Persistence API (JPA), Enterprise JavaBeans (EJB 3.0) e Business Process Management (BPM).
Sua ideia principal é unir todas as coisas boas que o mundo Java EE já possuía, mas que antes estavam desconectadas. O Seam, então, abstrai as complexidades inerentes à integração destes frameworks, de forma a tornar o domínio de negócios o foco do desenvolvedor.
Benefícios da utilização do Seam
Vejamos algumas das principais razões pelas quais a utilização do Seam deve ser considerada no desenvolvimento da sua próxima aplicação Java EE:
...