BT

Uma Olhada Rápida nos estilos e padrões arquiteturais

por Abel Avram , traduzido por Felipe Rodrigues em 17 Fev 2009 |

O App Arch Guide 2.0 (Microsoft patterns&practices), Capítulo 6, fala sobre estilos de arquitetura como MEssage-Bus, Arquitetura em Camadas, SOA. Além destes estilos há vários padrões arquiteturais, como Plug-in, Peer-to-Peer, Publish-Subscribe. Alguns autores fazem diferença entre estilos, padrões e metáforas de arquitetura.

O que é um estilo arquitetural? De acordo com o App Arch Guide, um estilo arquitetural é:

Um conjunto de princípios. Você pode pensar nisso como um padrão granular que oferece um framework abstrato para uma família de sistemas. Um estilo arquitetural melhora o particionamento e promove reuso de design fornecendo soluções para problemas recorrentes.

Os autores do guia listam vários estilos arquiteturais:

Estilo de Arquitetura Descrição
Client-Server Se grega o sistema em duas aplica,ão, onde o cliente faz uma requisição de serviço ao servidor.
Arquitetura baseada em Componentes Decompõe o design da aplicação em componentes lógicos e funcioais que são independentes de local e expõe interfaces de comunicação bem definidas.
Arquitetura em Camadas Separa as respnsabilidades da aplicação em grupos bem definidos (camadas).
Message-Bus Um sistema de software que pode receber e enviar mensagens baseado em um conjunto de formatos conhecidos, de forma que sistemas possam se comunicar uns com os outros sem necessidade de conhecer o destinatário atual.
N-tier / 3-tier Separa funcionalidade em segmentos de forma muito similar ao estilo de camadas, mas com cada segmento sendo uma camada localizado fisicamente em um computador separado.
Orientado a Objetos Um estilo arquitetural baseado na divisão de tarefas para uma aplicação ou sistema em reutilização individual e objetos auto-suficientes, cada um contendo os dados e comportamentos relevantes ao objeto.
Apresentação Separada Separa a lógica paragerenciar a interação do usuário da visualização da interface de usuário (UI) e dos dados com os quais o usuário trabalha.
Service-Oriented Architecture (SOA) Refere-se a aplicações que expõe e consome funcionalidades como um serviço usando contratos e mensagens.

Cada um desses estilos são aplicados a áreas específicas de interesseL

Categoria Estilos de Arquitetura
COmunicação Service-Oriented Architecture (SOA), Message Bus, Pipes e Filtros
Deployment Client/server, 3-Tier, N-Tier
Domain Domain Model, Gateway
Interação Apresentação Separada
Estrutura Baseado em Componentes, Orientado a Objetos, Arquitetura em Camadas

J.D. Meier, resumindo alguns pontos chave do livroA Practical Guide to Enterprise Architecture por James McGovern, Scott W. Ambler, Michael E. Stevens, James Linn, Vikas Sharan, e Elias K. Jo, notou uma diferença sutil entre estilos e padrões arquiteturais:

  • Um estilo arquitetural é um conceito orgnizacional, central de um sistema.
  • Um padrão arquitetural descreve uma solução granular a nível de sub-sistemas ou módulos e seus relacionamentos.
  • Uma metáfora de sistema é mais conceitual e relacionada mais ao conceito do mundo real do que ao coneito da engenharia de software.

David Calvert fez em 1996 uma lista parcial de estilos/padrões arquiteturais:

  • Dataflow Systems -- Batch sequential, Pipes e filters.
  • Call-and-return systems -- Programa principal e sub-rotinas, Sistemas OO, Camadas hierárquicas.
  • Independent components -- Processos de comunicação, Sistemas de eventos.
  • Virtual Machines -- Interpretadores, sistemas baseados em regras.
  • Data-centered systems (repositórios) -- Databases, sitemas de Hypertexto, quadros negros.

Outros estilos/padrões mais modernos são: Plugin, Peer-to-Peer, Shared Nothing Architecture, Representational State Transfer (REST), Front-end e back-end. Há uma lista mais completa no Wikipedia.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.