Your SlideShare is downloading. ×
O Futuro do ASP.NET
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

O Futuro do ASP.NET

12,057

Published on

Palestra sobre o Futuro do ASP.NET, histórico cronológico, mudanças como MVC, Katana, Helios e ASP.NET vNext.

Palestra sobre o Futuro do ASP.NET, histórico cronológico, mudanças como MVC, Katana, Helios e ASP.NET vNext.

Published in: Technology
1 Comment
6 Likes
Statistics
Notes
No Downloads
Views
Total Views
12,057
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
0
Comments
1
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ASP.NET – Um pouco de sua história • Primeira versão em 2002 junto do .NET Framework 1.0 • Otimizado para programadores ASP e Visual Basic • Desenvolvido para rodar no IIS • Framework monobloco com N conceitos em um único pacote (System.Web)  HTTP Intrinsics  Modules  Handlers  Session  Cache  WebForms  Controls
  • 2. System.Web
  • 3. System.Web Um projeto MVC vazio já vem com uma bagagem bem pesada. Modelo de programação “everything and the kitchen sink”. Você tem que pagar por algo que não quer ou não precisa.
  • 4. Logo isso criou alguns desafios (problemas)... • O ASP.NET (System.Web) é entregue como parte do .NET Framework. • Causando um ciclo lento de atualizações. Durante anos o ASP.NET ficou sem receber atualizações. • Para uma nova feature ser introduzida era quase sempre necessário atualizar o .NET Framework. • A liberação e adoção de uma nova versão do .NET Framework é muito lenta. • As features do ASP.NET cresceram com isso cresceu também o tamanho e complexidade do System.Web. • Isso ocasiona um aumento no consumo de recursos para o ASP.NET rodar. • Uma única opção de host – O IIS.
  • 5. Solução 1 – Separar • 2007 – 2008 – É introduzido o framework MVC ao ASP.NET sendo que é distribuído separadamente, aumentando a velocidade de entrega. Versões foram distribuídas como complementos. Solução 2 – Quebrar as dependências • 2012 – 2013 – É entregue o ASP.NET Web API e ASP.NET SignalR • Escrito sem nenhuma dependência com o System.Web • Possui capacidade de Self-Hosting (Independente de IIS).
  • 6. Katana Project É uma implementação Microsoft da especificação OWIN no ASP.NET. OWIN – Open Web Interface for .NET • É um “standart” uma especificação. • Não existe exatamente como código ou componente. • É a descrição de como idealmente o comportamento de sua implementação deve funcionar. • Foi criado pela comunidade .NET baseado no projeto Rack da comunidade Ruby. • Define a comunicação entre servidores e aplicações .NET para Web. O objetivo do OWIN é desacoplar o servidor e a aplicação de forma que estimule o desenvolvimento de componentes Web .NET de forma acelerada e aberta para a comunidade.
  • 7. Arquitetura Tradicional ASP.NET WEB HOST (IIS) ASP.NET Components O funcionamento do ASP.NET está diretamente acoplado ao IIS e ao extenso pipeline do System.Web.
  • 8. Arquitetura OWIN WEB HOST • IIS • CustomHost • OwinHost ASP.NET Components Interface Enviroment Dictionary IDictionary<string, object> Application Delegate Func<IDictionary<string, object>, Task> • Pequeno número de dependências necessárias para implementar OWIN, aumentando a acessibilidade para desenvolvedores escreverem seus próprios componentes. • Design assíncrono permite uma abstração muito eficiente, principalmente em operações onde o uso dos recursos computacionais é mais intenso. • Como o Enviroment Dictionary é utilizado como parâmetro para o Delegate vários componentes podem ser facilmente encaixados e encadeados criando pipelines de processamento bem complexos.
  • 9. Pipeline Dictionary Dictionary Dictionary Dictionary +Component +Component +Component Application Delegate
  • 10. Arquitetura Katana Application Middleware Server Host Orquestra o workflow e gerencia os processos IIS/ASP.NET – Custom Host – OWIN Host Abre uma porta TCP e escuta os requests e os envia através do OWIN pipeline. SystemWeb, HttpListener, WebListener O componente que implementa OWIN (Delegate) que opera dentro do pipeline. SignalR, Web API. Sua aplicação, seu código que irá implementar algum middleware (por ex. SignalR).
  • 11. Resumindo a história... • O OWIN proporciona o desacoplamento da aplicação no servidor (IIS). • Uma vez que não dependemos mais do IIS que trabalha no pipeline do System.Web podemos desenvolver aplicações mais leves e sem depender de modificações no .NET Framework • As possibilidades de criar e distribuir novos componentes para ASP.NET cresceu potencialmente. • Foram introduzidos mais duas opções de host o OWIN Host e o Custom Host. • Isso significa que uma aplicações SignalR e WebAPI podem rodar em qualquer plataforma que implemente OWIN (Linux/OSx/Windows). • Existem outros componentes (middlewares) implementanto OWIN como NancyFX, FubuMVC, etc... • Além do Katana que disponibiliza interfaces para Server, Host e Middleware, existe um projeto “não Microsoft” chamado NOWIN que é um OWIN Server e promete ser mais rápido do que o próprio NodeJS (mesmo rodando em Windows).
  • 12. DEMO • ASP.NET + OWIN + Katana Project
  • 13. Mas e se eu quiser todos esses benefícios + IIS? • IIS lida com gerenciamento da vida útil aplicação. • Ele pode suspender (em vez de encerrar) processos que estão ociosos para ajudar a equilibrar os recursos disponíveis do sistema. • IIS oferece um cache de modo de usuário embutido e pode comprimir automaticamente o conteúdo dos responses se for o caso. • IIS suporta filtragem de requests e transient worker process identities. • Mais de 10 anos de implementações e melhorias de segurança. • No cenário do Self Host você é responsável por muitas das responsabilidades que o IIS toma conta, além disso ele já existe para isso por que não utilizá-lo?
  • 14. Project Helios • É baseado nos mesmos motivadores do Katana Project. • Utiliza o IIS Core (extremamente poderoso) como se fosse uma API, não depende da implementação do pipeline do System.Web. • Oferece compatibilidade com o OWIN porém fornece todas as vantagens do IIS e com uma velocidade de na média 96% superior ao do ASP.NET clássico. • Pode ser utilizado independente do OWIN. • Requerimentos Mínimos: • Windows 8 ou Windows Server 2012 • .NET Framework 4.5.1 • Visual Studio 2012 ou 2013
  • 15. DEMO • ASP.NET Helios
  • 16. vNext – O futuro do ASP.NET Parte 2 • Assista no TechEd: • DEV-B385 INTRODUCING: The Future of .NET on the Server DEV-B411 DEEP DIVE: The Future of .NET on the Server http://tena2014.eventpoint.com/topic/list
  • 17. Referências • OWIN: http://owin.org/ • Project Katana: http://www.asp.net/aspnet/overview/owin-and-katana • http://channel9.msdn.com/series/Building-Modern-Web-Apps/06 • Helios Project: http://blogs.msdn.com/b/webdev/archive/2014/02/18/introducing-asp-net-project-helios.aspx http://blogs.msdn.com/b/webdev/archive/2014/02/18/supplemental-to-asp-net-project- helios.aspx • http://channel9.msdn.com/Series/Building-Modern-Web-Apps/07 • ASP.NET: http://www.asp.net
  • 18. Muito Obrigado! Dúvidas? Eduardo Pires @EduardoPiresBR www.eduardopires.net.br

×