De que se trata o artigo:

Neste artigo veremos como construir aplicações Java EE leves e enxutas, utilizando Padrões J2EE revisitados para a nova versão da plataforma. Para isso, mostraremos três alternativas de implementação de casos de uso do tipo CRUD utilizando os Padrões Java EE.

Em que situação o tema útil:

A criação de aplicações corporativas leves e enxutas, que utilizam padrões de projetos na medida certa, não só escalam melhor quando necessário, como são mais fáceis de realizar manutenções e evoluções no decorrer do seu ciclo de vida.

Resumo DevMan:

A plataforma corporativa Java evoluiu de tal maneira nos últimos tempos que, muitos dos padrões de projetos J2EE amplamente empregados nas suas antigas versões, não são mais necessários na atual versão, Java EE 6. Isso se deve ao fato de que muitos dos problemas solucionados por estes padrões deixaram de existir. Um exemplo desta maior abstração provida pela plataforma Java EE é a possibilidade de criarmos uma CRUD genérica utilizando apenas o padrão Service Facade, sendo que, nas versões anteriores da plataforma, seria necessário utilizarmos um Session Facade e um ou mais Business Objects, como o DAO.

Como era de se esperar, a cada nova versão da plataforma corporativa do Java, a construção de aplicações fica mais simples e intuitiva. A sua última versão, Java EE 6, está mais coesa e resolveu muitos dos problemas de infraestrutura presentes na plataforma J2EE, permitindo ao desenvolvedor focar ainda mais nos problemas de negócio e não se preocupar muito com problemas de infraestrutura da plataforma, como por exemplo, a integração entre as camadas do sistema. Desta forma, muitos dos padrões J2EE amplamente utilizados anteriormente caíram em desuso, e em alguns casos, tornaram-se anti-padrões. Isto porque simplesmente não são mais necessários na nova plataforma Java EE. Exemplos disso são o Service Locator e o Business Delegate, anteriormente utilizados para abstrair complexidades de integração e reduzir o acoplamento de camadas, não são mais necessários com a utilização de EJB 3 e CDI.

Neste contexto, neste artigo veremos formas distintas para simplificar a implementação de casos de uso do tipo CRUD, rotineiros em aplicações corporativas Java EE, utilizando padrões J2EE repaginados para a nova plataforma Java EE. Para isso, mostraremos diferentes estratégias de implementação dos padrões Service Facade e Data Access Object, tendo como base os padrões apresentados no livro “Real World Java EE Patterns – Rethinking Best Practices”, do autor Adam Bien.

Padrões Java EE

Os padrões J2EE foram catalogados em meados de 2001 no livro “Core J2EE Patterns – Best Practices and Design Strategies” e atualizados em 2003 com a segunda edição deste mesmo livro. Este catálogo totaliza 21 padrões, divididos em três camadas, mostrados na Tabela 1. Desde então, nenhuma atualização foi apresentada oficialmente à comunidade Java. Desta forma, sem novas atualizações, muitos destes padrões se tornaram obsoletos à medida que a plataforma era evoluída.

Um fator que tornava as aplicações J2EE complexas de serem implementadas e mantidas, era a necessidade da inclusão de diversos padrões de projetos para resolver problemas de infraestrutura da plataforma. Estes problemas ocorriam logo no início da construção da aplicação, onde já era exigida a implementação de alguns padrões, como Business Delegate, Service Locator, Session Facade e Transfer Object.

Camada de apresentação

Camada de negócio

Camada de integração

Intercepting Filter

Business Delegate *

Data Access Object (DAO)

Context Object

Service Locator *

Service Activator

Front Controller

Session Facade

Domain Store *

Application Controller

Application Service

Web Service Broker

View Helper

Business Object

Composite View

Composite Entity *

Dispatcher View

Transfer Object

Service To Worker

TO Assembler *

Value List Handler *

Tabela 1 ...

Quer ler esse conteúdo completo? Tenha acesso completo