Evolução das arquiteturas para aplicações Web
-
Upload
breno-vitorino -
Category
Technology
-
view
4.180 -
download
1
description
Transcript of Evolução das arquiteturas para aplicações Web
Evolução das arquiteturas para aplicações Web
Breno Vitorino
Jornada de Sistemas de InformaçãoPUC Minas Contagem
07/05/2009
Arquitetura?
Decisões consistentes, aplicadas ao longo do desenho do projeto, a fim de garantir requisitos não-funcionais.
Requisitos não funcionais
Segurança
Portabilidade
Escalabilidade
Disponibilidade
Extensibilidade Usabilidade
Arquitetura?
É o conjunto de decisões que, se feitas incorretamente, podem causar o cancelamento do projeto.” – Eoin Woods
Definir uma arquitetura é importante para mitigar riscos
“Uma equipe descobriu que a aplicação travava o banco de dados periodicamente (deadlocks), e parava toda uma universidade”
Web: Arquitetura básicaO básico: HTTP e URL
HTTP
Navegador Site
Primeira arquitetura: CGI
CGI
Servidor Web
CGI: Proposta
● Permitir a execução de programas no servidor, a partir de uma URL, e visualizar sua resposta através do navegador.
CGI: Problema● Segurança: não há um ambiente de
execução do tipo sandbox.
Segunda arquitetura: Linguagens de script para páginas dinâmicas
HTML + PHP
Servidor Web
Linguagens de script: Proposta<TABLE><? while($row = mysql_fetch_array($result)) {?> <TR> <TD><?= $row['name'] ?></TD> <TD><?= $row['email'] ?></TD> </TR><? } // end while?></TABLE>
Terceira arquitetura: MVC
Controle
Contêiner Web
BD
Modelo
Visão
Quarta arquitetura: Orientado a eventos
void Button1_Click(Object sender, EventArgs e){ ...}
Quinta arquitetura: Serviços Web
@WebMethod (operationName = "executeSale")public SaleResponseTO executeSale ( @WebParam (name = "saleRequest") SaleRequestTO saleRequest, @WebParam (name = "terminal") TerminalTO terminal) throws AuthorizationFault
Outras arquiteturas
● Aplicações Assíncronas – Robô no Twitter.
● Aplicações Offline – Google Gears
Conclusões
● Precisamos de pessoal especializado!● Aplicação evolui de acordo com os novos
paradigmas
Referências
● Blog do Marco Auréliohttp://blog.marcomendes.com/2009/03/09/algumas-melhores-praticas-de-engenharia-de-software/
● Revista Engenharia de Softwarehttp://www.devmedia.com.br/esmag/
● ROZANSKI, Nick; Woods, Eóin: Software Systems Architecture. Addison-Wesley, 2005.
Obrigado!
Breno Vitorinohttp://brenovitorino.wordpress.com