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

5,352 views

Published on

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.

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
5,352
On SlideShare
0
From Embeds
0
Number of Embeds
338
Actions
Shares
0
Downloads
104
Comments
1
Likes
0
Embeds 0
No embeds

No notes for 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

×