PROJECT K VNEXT OWIN Hrvoje Hudoletnjak AGENDA Motivation

  • Slides: 18
Download presentation
PROJECT K, VNEXT & OWIN Hrvoje Hudoletnjak

PROJECT K, VNEXT & OWIN Hrvoje Hudoletnjak

AGENDA Motivation OWIN Project K Demo

AGENDA Motivation OWIN Project K Demo

MOTIVATION - HISTORY 1996 – ASP 2002 – ASP. NET 2008 – ASP. NET

MOTIVATION - HISTORY 1996 – ASP 2002 – ASP. NET 2008 – ASP. NET MVC 2010 – ASP. NET Web Pages 2012 – ASP. NET Web API, Signal. R 2014 – ASP. NET 5 Other stacks: Spring, Rails, Sinatra, Django, Node, Go, …

MOTIVATION System. Web basis for * web Web. Forms bundled Regression bugs We fix

MOTIVATION System. Web basis for * web Web. Forms bundled Regression bugs We fix one bug and open new ones Monolithic architecture Slow release cycle

MOTIVATION Performance IIS stays “IIS is the fastest web server, as long you don’t

MOTIVATION Performance IIS stays “IIS is the fastest web server, as long you don’t load System. Web” Evolutionary steps: MVC, Web. API 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)

MOTIVATION Simplicity

MOTIVATION Simplicity

OWIN Open Web Interface for dot Net Defines interface between app components Decouples app

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

OWIN SPEC using App. Func = Func< IDictionary<string, object>, Task>; // Environment // Done

OWIN SPEC using App. Func = Func< IDictionary<string, object>, Task>; // Environment // Done

OWIN/KATANA ARCHITECTURE HOST SERVER (http. sys, IIS)

OWIN/KATANA ARCHITECTURE HOST SERVER (http. sys, IIS)

OWIN SPECS Community standard No more System. Web, just dictionary of environment variables (request,

OWIN SPECS Community standard No more System. Web, just dictionary of environment variables (request, response, etc) Async Microsofts implementation: Katana v 1 -3 is in ASP. NET v. Current v 4 is v. Next MVC 6, Web. API, Signal. R Helios, Kestrel, Nowin

VNEXT Project K: KRE, KLR, KPM, KVM 2 frameworks: Full CLR Core CLR: cross-platform,

VNEXT Project K: KRE, KLR, KPM, KVM 2 frameworks: Full CLR Core CLR: cross-platform, bin-deployable, ~11 MB Started as OWIN-based, now it’s OWIN - compatible Faster dev cycle (features shipped as packages, framework as part of an app) Dev. Ops responsible for security patching! More control (zero day sec. patches, pull vs push model) Perf: startup time, memory (>90% reduction), modular

VNEXT KIA. SLN. CSPROJ GLOBAL. ASAX ASSEMBLY. CS WEB. CONFIG PACKAGES. CONFIG

VNEXT KIA. SLN. CSPROJ GLOBAL. ASAX ASSEMBLY. CS WEB. CONFIG PACKAGES. CONFIG

VNEXT

VNEXT

APPLICATION KRE (ROSLYN) Loose, GAC, NUGET LIBRARIES NUGET FCL, GAC, NUGET APPLICATION FRAMEWORKS NUGET

APPLICATION 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 CORE CLR, CORE CLR IIS RUNTIME LOADER KRE WINDOWS OS WIN, OS X, LINUX Open Source CSC. EXE (MSBUILD, Code. DOM)

WHAT’S COOKING IN GITHUB REPO File. System abstraction Configuration & Options DI Caching Middlewares:

WHAT’S COOKING IN GITHUB REPO File. System abstraction Configuration & Options DI Caching Middlewares: Diagnostics Security Data Protection Static Files Routing EF, Identity, Razor, Scaffolding, Data. Common, Http. Client, Web. Sockets, …

NEW NAMES? KRE = XRE K = DOTNET KVM = DOTNET SDK KPM =

NEW NAMES? KRE = XRE K = DOTNET KVM = DOTNET SDK KPM = NUGET

DEMO! Thank you! Hrvoje Hudoletnjak about. me/hhrvoje @hhrvoje

DEMO! Thank you! Hrvoje Hudoletnjak about. me/hhrvoje @hhrvoje