Evolução das arquiteturas para aplicações Web

5.310 visualizações

Publicada em

Uma arquitetura define de que forma uma aplicação será internamente organizada, pensando-se principalmente nos requisitos não-funcionais, como desempenho e escalabilidade. Nessa palestra, veremos a evolução das aplicações Web, partindo do modelo CGI até os modelos assíncronos ainda em construção. Veremos que essa evolução é fruto da evolução da própria mudança de escopo e finalidade das aplicações Web, e que essa evolução impacta tanto no desenvolvimento quanto na implantação desses serviços.

Publicada em: Tecnologia
1 comentário
0 gostaram
Estatísticas
Notas
  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
5.310
No SlideShare
0
A partir de incorporações
0
Número de incorporações
320
Ações
Compartilhamentos
0
Downloads
104
Comentários
1
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Evolução das arquiteturas para aplicações Web

  1. 1. Evolução das arquiteturas para aplicações Web Breno Vitorino Jornada de Sistemas de Informação PUC Minas Contagem 07/05/2009
  2. 2. Arquitetura? Decisões consistentes, aplicadas ao longo do desenho do projeto, a fim de garantir requisitos não-funcionais.
  3. 3. Requisitos não funcionais Segurança Escalabilidade Portabilidade Disponibilidade Extensibilidade Usabilidade
  4. 4. Arquitetura? É o conjunto de decisões que, se feitas incorretamente, podem causar o cancelamento do projeto.” – Eoin Woods
  5. 5. 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”
  6. 6. Web: Arquitetura básica O básico: HTTP e URL
  7. 7. HTTP Site Navegador
  8. 8. Primeira arquitetura: CGI Servidor Web CGI
  9. 9. CGI: Proposta Permitir a execução de programas ● no servidor, a partir de uma URL, e visualizar sua resposta através do navegador.
  10. 10. CGI: Problema Segurança: não há um ambiente de ● execução do tipo sandbox.
  11. 11. Segunda arquitetura: Linguagens de script para páginas dinâmicas Servidor Web HTML + PHP
  12. 12. Linguagens de script: Proposta <TABLE> <? while($row = mysql_fetch_array($result)) { ?> <TR> <TD><?= $row['name'] ?></TD> <TD><?= $row['email'] ?></TD> </TR> <? } // end while ?> </TABLE>
  13. 13. Terceira arquitetura: MVC Contêiner Web Controle Modelo Visão BD
  14. 14. Quarta arquitetura: Orientado a eventos void Button1_Click(Object sender, EventArgs e) { ... }
  15. 15. Quinta arquitetura: Serviços Web @WebMethod (operationName = quot;executeSalequot;) public SaleResponseTO executeSale ( @WebParam (name = quot;saleRequestquot;) SaleRequestTO saleRequest, @WebParam (name = quot;terminalquot;) TerminalTO terminal) throws AuthorizationFault
  16. 16. Outras arquiteturas Aplicações Assíncronas – Robô no ● Twitter. ● Aplicações Offline – Google Gears
  17. 17. Conclusões Precisamos de pessoal especializado! ● ● Aplicação evolui de acordo com os novos paradigmas
  18. 18. Referências Blog do Marco Aurélio ● http://blog.marcomendes.com/2009/03/09/algumas-m Revista Engenharia de Software ● http://www.devmedia.com.br/esmag/ ROZANSKI, Nick; Woods, Eóin: Software ● Systems Architecture. Addison-Wesley, 2005.
  19. 19. Obrigado! Breno Vitorino http://brenovitorino.wordpress.com

×