Vous êtes sur la page 1sur 11

J931

Padres de

Projeto
Introduo

argonavis.com.br

Helder da Rocha (helder@acm.org)

J2EE Blueprints
Procedimentos recomendados para desenvolver aplicaes J2EE. Divide aplicaes em camadas
Camada cliente: interface do usurio ou de servios. Tipicamente representa uma aplicao independente ou browser rodando applets ou pginas HTML Camada Web: consiste de servlets e pginas JSP com o objetivo de capturar requisies e processar respostas para a camada do cliente Camada EJB: contm toda a lgica da aplicao e representa o modelo de negcio implementado em EJBs. Tipicamente dividido em camadas adicionais Camada de dados (EIS): consiste de sistemas de bancos de dados, transaes e outros recursos legados
2

J2EE Patterns
Solues de design baseadas no J2EE Blueprints
Representam solues consideradas melhores prticas para implementar vrios componentes essenciais em cada uma das camadas identificadas pelo J2EE Blueprints Usam e se baseiam em vrios padres GoF

So padres de design e no de implementao (idioms)


Podem ser implementados usando tecnologias diferentes (por exemplo, usando RMI ou CORBA)

Objetivos
Reduzir o trfego de rede, aumentando a eficincia e facilitando a escalabilidade Reduzir o acoplamento entre as camadas e os componentes
3

SJC J2EE Patterns


No existe um s catlogo de padres
Este curso se baseia no catlogo do Sun Java Center (SJC), cujos padres esto documentados no site da Sun e em livros como "Core J2EE Patterns" Os SJC J2EE Patterns so divididos em camadas lgicas que refletem a organizao dos J2EE Blueprints

O catlogo atual (maro/2003) define 15 padres


Camada de apresentao: 6 padres Camada de negcios: 7 padres Camada de integrao: 2 padres

Os nomes dos padres so significativos


4

Padres vs. Estratgias


Padres refletem solues para problemas genricos descritos em abstraes de alto nvel Estratgias mostram formas de implementar os padres usando tecnologias e linguagens de programao Um padro geralmente possui diversas diferentes estratgias de implementao Neste curso sero apresentados os padres e suas principais estratgias
5

Padres J2EE: apresentao


(1) Front Controller
Oferece um controlador centralizado para gerenciar o processamento de uma requisio

(2) View Helper


Encapsula lgica no-relacionada formatao

(3) Composite View


Cria uma View composta de componentes menores

(4) Intercepting Filter


Viabiliza pr- e ps-processamento de requisies

(5) Service To Worker e (6) Dispatcher View


Combinam Front Controller com um Dispatcher e Helpers. O primeiro concentra mais tarefas antes de despachar a requisio. O segundo realiza mais processamento depois.
6

Padres J2EE: negcios


(7) Business Delegate
Desacopla camadas de apresentao e de servios

(8) Value Object ou Transfer Object


Reduz trfego na rede e facilita transferncia de dados entre camadas

(9) Session Faade


Esconde complexidade dos objetos de negcio e centraliza controle

(10) Composite Entity


Agrupa composies de entity beans

(11) Value Object Assembler ou Transfer Object Factory


Constri um Value Object composto de mltiplas fontes

(12) Value List Handler


Lida com execuo de queries, caching de resultados, etc.

(13) Service Locator


Encapsula complexidade de lgica de consulta e criao de objetos de servio
7

Padres J2EE: integrao


(14) Data Access Object
Abstrai fontes de dados e oferece acesso transparente aos dados

(15) Service Activator


Facilita o processamento assncrono para componentes EJB

Relacionamentos entre os padres

Fonte: [Core]

Fontes
[SJC] SJC Sun Java Center J2EE Patterns Catalog. http://developer.java.sun.com/developer/restricted/patterns/ J2EEPatternsAtAGlance.html. [Blueprints] J2EE Blueprints patterns Catalog. http://java.sun.com/blueprints/patterns/catalog.htm. [Core] Deepak Alur, John Crupi, Dan Malks. Core J2EE Patterns: Best Practices and Design Strategies. Prentice-Hall, 2001. http://java.sun.com/blueprints/corej2eepatterns/index.html.

10

Curso J931: J2EE Design Patterns


Verso 1.0

www.argonavis.com.br
2003, Helder da Rocha (helder@acm.org)

Vous aimerez peut-être aussi