Beruflich Dokumente
Kultur Dokumente
Luiz Borba
@luizborba - http://borba.blog.br
O que é arquitetura?
"A arquitetura de software de
um programa ou sistema
computacional é a estrutura
(ou estruturas), a qual
envolve os elementos de
software, as propriedades
desses elementos visíveis
externamente e seus
respectivos inter-
relacionamentos."
Arquitetura
Design
Atributos de Qualidade
• Performance • Testabilidade
• Segurança • Portabilidade
• Disponibilidade • Integrabilidade
• Usabilidade • Reusabilidade
• Confiabilidade • Legibilidade
• Manutenibilidade • Escalabilidade
Visões
Principais fatores para
um bom design
Baixo acomplamento Alta coesão
GRASP
(general responsibility
assignment patterns)
Primeira Lei de Arquitetura
de Software de Borba
(Borba's 1st Software Architecture Law)
• Requisitos/Planos/Negócios mudam
• Pessoas mudam
• Usuários mudam
http://bit.ly/dNzRtn
"As melhores arquiteturas,
requisitos e design emergem
de times auto organizados"
(manifesto para desenvolvimento de software ágil)
1. Não existe nada de especial
sobre arquitetura
• performance
• escalabilidade
• segurança
• cache
No mundo enterprise...
SOA
e no mundo pop...
Web 2.0
COMET
Rich Internet Applications
• REST (Representational
State Transfer)
• Cliente-Servidor
• Stateless
• Cacheable
• Em camadas
• Inteface uniforme
http://slidesha.re/fViE3Y
Facebook BigPipe
Threads
http request
Página Servidor
http://on.fb.me/gzNc0K
Caso para reflexão
http://bit.ly/hn3Sd0
E sobre o projeto?
Mais palavras chaves
• NoSQL (http://bit.ly/dE23U6)
• Cloud Computing
Luiz Borba
@luizborba - http://borba.blog.br