Escolar Documentos
Profissional Documentos
Cultura Documentos
Entretenimento
Epistemologia Poltica
Arquitetura Web
Deixe o seu comentrio Go to comments
sergiotaborda.wordpress.com/desenvolvimento-de-software/arquitetura/arquitetura-web/
1/6
14/09/13
Ilustrao 1: Arquitura web padro O papel do front-controller normalmente desempenhado por um servlet que recebe todas as requisies a determinado recurso (configurvel no web.xml). O front-controller determina ento, por analise da requisio e estado do servidor(session, configuraes ,etc) qual comando dever ser executado. O contexto da requisio encapsulado e passado execuo do comando. Aps a execuo do comando o estado do contexto ser consultado para determinar se ha necessidade de um redirecionamento de pgin ou no. Se sim, ser criada uma requisio de redirecionamento pelo prprio front-controler. O comando ento livre de executar qualquer tipo de logica. Para logicas de acesso ao dominio como seja a execuo de servios e/ou processos o comando analisa o contexto e determina qual mtodo invocar e com quais parametros. Para facilitar o padro Faade utilizado neste ponto afim de separar a camada de controle web da camada de dominio. O comando tem ento o papel de agregar informaes e convert-las para objetos que o Faade entenda. De notar que pode existir mais do que um Faade no sistema. Quando o comando receber a resposta do Faade ele alterar o estado do contexto. O Faade ento livre de executar invocaes a diferentes servios do dominio de forma a completar o processo requisitado. A resposta do processo ser devolvida ao comando. Alguns dos servios invocaram outros servios, e algums invocaro operaes no repositorio. O repositorio um centralizador de consultas interessantes ao dominio. Ele pode tambm exercer o papel de modificador do dominio atravez de mtodos que alterao como persistSomething(). O repositorio tem a responsabilidade de criar consultas ao real local de permanencia dos dados. Para abstrair a localizao dos dados utilizado um objeto no padro DAO. Para que no haja dependencoa da tecnologia de persistencia os dados tm que ser passados ao DAO de forma independente da tecnologia de persistencia. Em particular, para a execuo de consultas so usados objetos que implementam o padro Query Object. Estes objetos pode ser, desde, simples pojos com os parametros da pesquisa, at , objetos complexos que simulam uma linguagem de pesquisa. A escolha depende de quo genrico o DAO e quo desacoplado do Repositorio e do resto da aplicao.
14/09/13
Um padro atualmente utilizado a utilizao de um Domain Store em vez de DAO directamente. O Domain Store oferece todas as vantagens de um DAO comum , conjuntamente com mecanismos de pesquisa baseados em Query Object e adiciona mecanismo de controle de estado e lazy loading. Ou seja, oferece capacidades de gerenciamento para objetos persistentes muito alm do que um DAO simples conseguria. A arquitetura semelhante em termos de passos na sequncia, sendo o DAO subsituido pelo Domain Storage. O repositorio usa agora os Query Object do Domain Store em vez daqueles do DAO.
Licena
Srgio Taborda Este trabalho licenciado sob a Licena Creative Commons Atribuio-Uso NoComercial-No a obras derivadas 3.0 Genrica .
sergiotaborda.wordpress.com/desenvolvimento-de-software/arquitetura/arquitetura-web/ 3/6
14/09/13
Gosto
Be the first to like this.
Comentrios (0) Trackbacks (0) Deixe o seu comentrio Trackback 1. Ainda sem comentrios. 1. No trackbacks yet. Tem de ter a sesso iniciada para publicar um comentrio. Feed RSS
Artigos recentes
O fuso e a roca Voto Consciente A Ecologia, a Sacola e a Cultura
Caderno no Javabuilding
Java EE 7 Arquitetura Padro Completa Pacotes, Camadas e Mdulos Otimizao Preventiva Java 8 Preldio O que gil significa Mtricas, Indicadores e Scrum
MiddleHeaven
Javadoc Disponivel Lista de Discusso Seis anos e muito para fazer Seguindo em frente
sergiotaborda.wordpress.com/desenvolvimento-de-software/arquitetura/arquitetura-web/ 4/6
14/09/13
No cu do meio Novo Conteudo Utilitrios: Colees aumentadas Nosso novo blog MiddleHeaven Pr-Alfa MiddleHeaven Reloaded
Twitter
Por uma melhor arquitetura e software mais barato. ow.ly/hZhQl 6 months ago Sobre pacotes, camadas e mdulos ow.ly/hOkC0 6 months ago Otimizao Prematura e Otimizao Preventiva, porque a primeira ruim e a segunda necessria. ow.ly/gu4XV 8 months ago Assistiremos a um revoluo com a chegada do Java 8 ? Lambdas vo salvar vc do tdio ? ow.ly/frLHI 9 months ago O que realmente significa gil. No seguir um manifesto, no adotar a prtica A ou B, mais que isso. ow.ly/f6Mbm 10 months ago
Meta
Registar Iniciar sesso RSS dos artigos Feed RSS dos comentrios. Blog em WordPress.com.
Pginas
Desenvolvimento de Software A Arte de Fabricar Software Arquitetura Arquitetura Orientada ao Domnio Arquitetura Web Java Colees: Como no usar Arrays Do DAO ao Domain Store Excees: Boas Prticas, Ms Prticas Excees: Classes Utilitrias Excees: Conceitos FAQ Primeiro Programa Sorteio aleatrio sem Repetio Trabalhando com Nmeros Igualdade em Java Introspeo java.lang.Object OO Herana
sergiotaborda.wordpress.com/desenvolvimento-de-software/arquitetura/arquitetura-web/ 5/6
14/09/13
Polimorfismo Separao de Responsabilidades e Encapasulamento Os 10 mandamentos do bom programador Java Palavras Reservadas Patterns Adapter Bean Builder Composite DAO Factory Factory Method Fastlane Iterator Money MoneyBag MVC Query Object Repository Singleton Transfer Object Value Object Scrum Equipe Planejamento Produto e Projeto Projees Sprint Valores Fsica Mecnica Quntica Livros Magic: The Gathering O Segredo do Magic Sobre mim Topo WordPress Blog em WordPress.com. The INove Theme.
sergiotaborda.wordpress.com/desenvolvimento-de-software/arquitetura/arquitetura-web/
6/6