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.

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

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT