Академический Документы
Профессиональный Документы
Культура Документы
1. INTRODUO
Criar software para web com qualidade tem se tornado cada
vez mais complexo e difcil, principalmente quando se trata de
domnio em reas corporativas. Nas grandes empresas de tecnologia voltada para o mercado de software, onde se utiliza o
paradigma de Orientao a Objetos e Padres de Projeto, existe
preocupao com seus empregos corretos devido as suas complexidades.
O crescimento das aplicaes web que fazem uso da tecnologia JEE vm se tornando cada vez mais presentes no mercado. Com isso inevitvel que surjam problemas, muitos destes
relacionados com a estruturao incorreta do sistema e a falta
de conhecimento da tecnologia empregada.
Dentre os vrios problemas existentes podem-se destacar
alguns, tais como: controle de pr-processamento e ps-processamento de requisies de aplicaes web, controle e coordenao de processamento de mltiplas requisies, acesso
de negcio das aplicaes, exposio indevida da lgica de
negcio, acesso a informaes externas envolvendo operaes
complexas de rede, acesso desorganizado a fonte de dados, uti-
Na Tabela 1, apresentada no Apndice, observa-se a categorizao dos padres de projeto GoF (Gang of Four Gangue dos Quatro), no entanto, este no o nico tipo de padro
existente, muito embora seja o mais conceituado e utilizado no
mercado, outros padres como EAM , PSiGene, DASCo, faz-se interessante o estudo em contra ponto ao padro GoF, resultando a nfase e contribuies que cada um oferece.
caso.
Camada de Apresentao camada que comporta as aplicaes web desenvolvidas em Java que tero acesso aos compopginas JSP3 (Java Server Pages) e JSF4 (Java Server Faces).
Camada de Negcio camada onde se encontram os compotema. nessa camada que se encontram os componentes EJB5
(Enterprise JavaBeans).
suas responsabilidades.
em eventos.
5. Enterprise Java Beans um componente da plataforma JEE o qual utilizado para o desenvolvimento de aplicaes distribudas, com controle de
concorrncia, controle de transaes e maior escalabilidade.
10
tar se necessrio um processamento de negcio de forma limitada. Por exemplo, uma pgina web em JSF, pode ser chamada
diretamente, ao passo que seu contedo dinmico recuperado
a partir de objetos (backing beans9), que geram os dados que
so apresentados na pgina.
Dispatcher View: utilizado para centralizar e controlar o tratamento de requisies HTTP. Possibilita que um processo de
negcio seja executado e o mesmo recupere o estado de um
objeto antes da pgina ser chamada.
Malks (2004).
layout padro de uma pgina web, onde esse layout pode ser
composto dinamicamente por outros componentes, de forma
que crie uma nica viso.
Service to Worker: utilizado para iniciar o acesso a uma pgina web sem ter que passar pelo Front Controller. Pode execu-
uma biblioteca de tags para tarefas comuns, tais como processamento de dado.
11
utilizada para registrar o conhecimento e a experincia dos modeladores mais experientes, para transmiti-los aos iniciantes e
como uma forma de documentao. Esse descreve o contexto
de um padro que ocorre em trs sistemas distintos para se ro-
V. ESTUDO DE CASO
dos sistemas.
11. Java Message Service uma API da linguagem Java para troca de mensagens
assncronas.
12
Por exemplo, no sistema GPDS, houve a necessidade de vesistema, para tanto se utilizou o conceito do padro de projeto
Intercepting Filter.
cidade do usurio antes que o servidor processasse a resposta
do cliente.
uma classe concreta que implementasse a interface javax.servlet.Filter
toda lgica de autenticao dos usurios, diminuindo a repetio de cdigos de validao nas pginas contidas nos mdulos
do sistema.
O Quadro 1 ilustra o fragmento do cdigo que representa
13
14
Em projetos que utilizam EJB, clientes EJB no devem acessar diretamente beans de entidade (Entity Beans), deste modo,
o padro Session Faade
acessa um conjunto de interfaces de um subsistema, tornan(KYLE, 2010). O uso do padro Session Faade pode ser veri-
15
ber os dados de transferncias. Esses dados de transferncia podem ser obtidos atravs do bean
bean
cess Object.
O Quadro 6 mostra o uso do padro Transfer Object em uma
das interfaces do sistema que acessada remotamente por um
cliente, no caso do sistema GPDS por um Business Delegate.
A Figura 3 ilustra um diagrama de classe do padro Transfer Object na sua forma mais simples no contexto de uma aplicao.
representa um usurio do sistema, onde por meio de uma soli-
Figura 3. Diagrama de classe do padro de projeto Transfer Object (SUN MICROSYSTEMS, 2010)
16
A utilizao do padro Transfer Object no sistema GPDS possibilitou a soluo de muitos problemas, tais como, organizao
de dados de transferncias entre camadas da aplicao, diminuio de trafego de rede nas chamadas remotas do sistema entre
outras.
Figura 4. Mostra o diagrama de classes que representa a relao do padro Data Access Object
(SUN MICROSYSTEMS,2010).
17
Quadro 7. Ilustra a implementao do mtodo que recupera os dados de uma entidade por sua chave primria
KYLE BROWN. Rules and Patterns for Session Facades. Disponvel em: http://www.ibm.com/developerworks/websphere/library/techarticles/0106_brown/sessionfacades.html.
Acessado em: 25 de Agosto de 2010.
PEREIRA, ALINE DE SOUZA. Padres de Projeto: uma compilao dos mais utilizados em projetos de software. Faculdade
de Minas FAMINAS, Belo Horizonte MG, 2008. Disponvel em: http://www.ricardoterra.com.br/publications/students/ 2008_ pereira.pdf. Acessado em: 09 de Abril de 2010.
SORROCHE, ROGRIO; LOPES, MAURCIO CAPOBIANCO. Uso de Design Patterns e J2EE: um estudo de caso.
FURB, Universidade de Blumenau, Blumenau SC, 2003.
Disponvel em: http://www.inf.furb.br/seminco/2003/artigos/128-vf.pdf. Acessado em: 09 de Abril de 2010.
SUN MICROSYSTEMS. Sun Java Center J2EE Patterns. Disponvel em: http://java.sun.com/developer/technicaArticles/
J2EE/patterns/PatternsIntroduction.html. Acessado em: 09
de Abril de 2010.
REFERNCIAS BIBLIOGRFICAS
ALUR, DEEPAK; CRUPI, JOHN; MALKS, DAN. Core J2EE
patterns: as melhores prticas e estratgias de design. Rio
de Janeiro: Elsevier, 2004.
AZAMBUJA, ROGRIO XAVIER. Padres de Projeto de Softwares Orientados a Objetos. ULBRA, Santa Maria RS, 2008.
Disponvel em: http://www.ulbra.br/santamaria/eventos/jornada/2008/arquivos/Sis1223329207.pdf. Acessado em: 09
de Abril de 2010
GAMMA, ERICH; HELM, RICHARD; JOHNSON, RALPH;
VLISSIDES, JOHN. Padres de Projeto: solues reutilizveis de software orientado a objetos. Porto Alegre:
Bookman, 2000.
18
APNDICE - TABELAS
De Criao
Classe
Escopo
Objeto
Propsito
Comportamental
Estrutural
Factory Method
Adapter
Abstract Factory
Builder
Prototype
Singleton
Adapter
Bridge
Composite
Decorator
Faade
Flyweight
Proxy
Interpreter
Template Method
Chain of Responsibility
Command
Iterator
Mediator
Memento
Observer
State
Strategy
Visitor
Negcio
Business Delegate
Service Locator
Session Faade
Application Service
View Helper
Business Object
Composite View
Composite Entity
Service to Worker
Dispatcher View
Transfer Object
Transfer Object Assembler
Value List Handler
Integrao
Data Access Object
Service Activator
Domain Store
Web Service Broker
Projeto que contem a implementao da lgica de negcio e acesso a fonte de dados. Contempla
Projeto que contem a implementao da lgica de apresentao dos dados de negcio. Contempla
19