• Nenhum resultado encontrado

Estilos arquiteturais

N/A
N/A
Protected

Academic year: 2022

Share "Estilos arquiteturais"

Copied!
54
0
0

Texto

(1)

Estilos arquiteturais

Paulo Borba e Fernando Castor Centro de Informática

Universidade Federal de Pernambucio

(2)
(3)

Guepardo

Consegue atingir velocidades de 110 a 120 km/h, ..., sendo o mais rápido de todos os animais

terrestres...

http://pt.wikipedia.org/wiki/Guepardo

(4)

Bom, mas esse bicho também é...

Animal

Mamífero

Carnívoro

Felino

abstração

(5)

http://docs.google.com/Doc?docid=0Aeq-cxjLYT32ZGRicGpuYl8zM3d0cDI0NmRr&hl=en

(6)

Arquitetura do google wave

Garante replicação de dados padrão do

HDFS, ..., torna o sistema menos passível a falhas...

http://docs.google.com/Doc?docid=0Aeq-cxjLYT32ZGRicGpuYl8zM3d0cDI0NmRr&hl=en

(7)

OK, mas esse troço também é...

?

?

?

?

abstração?

(8)

Problema!

mais difícil explicar e entender

mais tempo é necessário

maiores chances de fracasso

sem vocabulário específico, sem abstrações, é...

(9)

Qual o vocabulário para arquitetura de

software?

(10)

Estilos (padrões) arquiteturais

Client-server

Pipes and filters

Layers

Publisher-subscribers

Blackboard

...

(11)

O que eu

ganho com o

vocabulário?

(12)

Linguagem comum

Facilidade de entendimento

Direcionamento (reuso de formas comuns e bem sucedidas)

Produtividade

Qualidade

Benefícios do uso de

estilos (padrões)

(13)

Habilidades a serem desenvolvidas

Dominar vocabulário

Reconhecer estilos em uma arquitetura

Escolher e usar estilos para definir uma arquitetura

Definir um estilo

(14)

Client-server

http://www.flickr.com/photos/29712319@N02/3272870058/

(15)

Client-server, estrutura

http://www.cs.cmu.edu/~acme/AcmeStudio/index.html

(16)

Client-server,

comportamento

(17)

Variações na estrutura

e comportamento

(18)

Características

Separação de preocupações

Divisão de funcionalidades e processamento

Interfaces distintas entre servidores

(19)

Pipes and filters

http://www.flickr.com/photos/7375607@N07/2976752745/

(20)

Pipes and filters,

estrutura

(21)

Vários client-servers?

http://www.cs.cmu.edu/~acme/AcmeStudio/index.html

client? server?

(22)

A topologia

não é tudo!

(23)

Pipes and filters,

comportamento

(24)

Pipes and filters, outro

comportamento

(25)

Características

Separação de preocupações (várias), composição

Divisão de funcionalidades, em cima de stream de dados

Interfaces normalmente comuns, para maior reuso

Extensibilidade, via troca de filtros

Concorrência

(26)

Combinando estilos, via

representação

(27)

Combinando estilos,

misturando papéis

(28)

Não há uma hierarquia de abstrações!

cliente

servidor pipe filter

layer

publisher subscriber

(29)

Verificando habilidades...

Pipes and filters é usado na sua arquitetura?

Client-server é usado na sua arquitetura?

Com que estrutura?

Com que comportamento?

Por que? Quais os benefícios?

(30)

Take notes,

now!

(31)

Estilos arquiteturais

Paulo Borba e Fernando Castor Centro de Informática

Universidade Federal de Pernambucio

(32)

Publisher-subscribers

http://www.flickr.com/photos/19396658@N00/2569401442/

(33)

Publisher-subscribers,

estrutura

(34)

Publisher-subscribers,

comportamento

(35)

Publisher-

subscribers

=

vários client-server

(peer-to-peer)?

(36)

Publisher-subscribers, benefícios

Reuso

qualquer subscriber pode se beneficiar dos serviços

publisher não conhece subscribers, nem sabe ordem de notificação

Evolução

subscribers podem ser substituídos, sem mudança de interface

(37)

Publisher-subscribers, desvantagens

Pouco pode-se assumir sobre o efeito de um evento

Eventos não podem ter muita informação associada

(38)

Shared data

http://www.flickr.com/photos/69992404@N00/125206800/

(39)

Shared data, estrutura

(40)

Repository,

comportamento

(41)

Blackboard,

comportamento

(42)

Verificando habilidades...

Publisher-subscriber é usado na sua arquitetura?

Shared-data é usado na sua arquitetura?

Com que estrutura?

Com que comportamento?

Por que? Quais os benefícios?

(43)

Layers

http://www.flickr.com/photos/42246573@N00/2908569522/

(44)

Layers, relações

Client-server como caso especial, mais visão de implantação

Tipo de arquitetura call-return

OO

main program and subroutine

(45)

Layers, benefícios e desvantagens

Modularidade

desenvolvimento, reuso e manutenção independentes

- Impacto negativo em performance/

memória

- Maior esforço de desenvolvimento

(46)

Outros padrões

Interpreter

Microkernel

Reflection

(47)

O que são padrões?

O que é

arquitetura?

(48)

conjuntos de restrições sobre...

entidades genéricas (padrões)

entidades específicas (arquitetura)

(49)

denotam...

conjuntos de

sistemas!

(50)

estilos = padrões

Contexto

Problema

Forças

Solução

Consequências (vantagens e desvantagens)

Variações

(51)

Solução

Estrutura

tipos de componentes e conectores

possibilidades de conexão

Comportamento, interação

Análises

Exemplos

(52)

Padrão de arquitetura ou projeto?

Observer

Broker

Proxy

Model-view-controller

Chain of responsability

(53)

Verificando habilidades...

Defina o estilo Layers

(54)

Estilos arquiteturais

Paulo Borba e Fernando Castor Centro de Informática

Universidade Federal de Pernambucio

Referências

Documentos relacionados

operação em programadas e não programadas, e realizados os cálculos dos custos gerados pelos desligamentos devido ao envelhecimento adicional dos demais equipamentos da rede,

A hipótese deste trabalho indica que a constituição do solo influencia diretamente no desempenho térmico do TCSA, uma vez que cada tipo de solo apresenta

intitulado “O Plano de Desenvolvimento da Educação: razões, princípios e programas” (BRASIL, 2007d), o PDE tem a intenção de “ser mais do que a tradução..

No Brasil, a falta de uma fiscalização mais rigorosa é uma das razões que possibilitam que certas empresas utilizem os estágios como forma de dispor de uma mão-de-obra

Dessa forma, diante das questões apontadas no segundo capítulo, com os entraves enfrentados pela Gerência de Pós-compra da UFJF, como a falta de aplicação de

O Parque Nascentes do Belém apresentou problemas relacionados com os objetivos de uma Unidade de Conservação, e de acordo com os critérios utilizados para

Dona de uma história que se confunde com o do Parque Nacional da Serra da Capivara, no Piauí, Niède Guidon batalha há quase 40 anos para manter intactos os mais importantes registros

Além disso, os objetivos de cada uma das principais fases dos processos de trabalho previstos precisarão ser considerados para o pla- nejamento e o detalhamento das interfaces