Download presentation
Presentation is loading. Please wait.
1
Hrvoje Hudo Hudoletnjak
Project K, vnext & OWIN Hrvoje Hudo Hudoletnjak
2
Agenda Motivation OWIN Project K Demo
3
Motivation - history 1996 – ASP 2002 – ASP.NET 2008 – ASP.NET MVC
2010 – ASP.NET Web Pages 2012 – ASP.NET Web API, SignalR 2014 – ASP.NET 5 Other stacks: Spring, Rails, Sinatra, Django, Node, Go, …
4
Motivation System.Web basis for * web WebForms bundled Regression bugs
We fix one bug and open new ones Monolithic architecture Slow release cycle
5
Motivation Performance IIS stays Evolutionary steps: MVC, WebAPI
“IIS is the fastest web server, as long you don’t load System.Web” Evolutionary steps: MVC, WebAPI Released out-of-band Move from big server apps to smaller client/device centric apps, microservices architecture, mobile clients, REST Cloud, Docker, cross-platform Web based IDEs, lightweight IDEs (Sublime, Atom)
6
Motivation Simplicity
8
OWIN Open Web Interface for dot Net
Defines interface between app components Decouples app from framework, host and server Open standard Not revolution but evolution, influenced by other stacks
9
OWIN SPEC using AppFunc = Func<
IDictionary<string, object>, // Environment Task>; // Done
10
OWIN/KATANA Architecture
HOST (w3wp.exe, OwinHost.exe, …) SERVER (http.sys, IIS) Request Middleware (logging) Middleware (auth) Application (Web API) Response
11
OWIN SPECS Community standard
No more System.Web, just dictionary of environment variables (request, response, etc) Async Microsofts implementation: Katana v1-3 is in ASP.NET vCurrent v4 is vNext MVC 6, WebAPI, SignalR Helios, Kestrel, Nowin
12
VNEXT Project K: KRE, KLR, KPM, KVM 2 frameworks:
Full CLR Core CLR: cross-platform, bin-deployable, ~11MB Started as OWIN-based, now it’s OWIN - compatible Faster dev cycle (features shipped as packages, framework as part of an app) DevOps responsible for security patching! More control (zero day sec. patches, pull vs push model) Perf: startup time, memory (>90% reduction), modular
13
VNEXT KIA .SLN .CSPROJ GLOBAL.ASAX ASSEMBLY.CS WEB.CONFIG
PACKAGES.CONFIG
14
VNEXT
15
CSC.EXE (MSBUILD, CodeDOM) APPLICATION FRAMEWORKS
Open Source CSC.EXE (MSBUILD, CodeDOM) APPLICATION KRE (ROSLYN) CORE CLR .NET on NUGET KRE KESTREL NUGET KRE (ROSLYN) Loose, GAC, NUGET LIBRARIES NUGET FCL, GAC, NUGET APPLICATION FRAMEWORKS NUGET IIS WEB SERVER IIS, HTTP.SYS, KESTREL SYSTEM.WEB APPLICATION HOST KRE .NET BCL & FCL PLATFORM LIBRARIES .NET BCL FCL, .NET on NUGET .NET CLR RUNTIME FULL CLR, CORE CLR IIS RUNTIME LOADER KRE WINDOWS OS WIN, OS X, LINUX
16
What’s cooking in github repo
FileSystem abstraction Configuration & Options DI Caching Middlewares: Diagnostics Security Data Protection Static Files Routing EF, Identity, Razor, Scaffolding, DataCommon, HttpClient, WebSockets, …
17
NEW NAMES? KRE = XRE K = DOTNET KVM = DOTNET SDK KPM = NUGET
18
DEMO! Thank you! Hrvoje Hudo Hudoletnjak about.me/hhrvoje @hhrvoje
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.