Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Knowledge.
People.
Solutions.
Building HTTP-based .NET components you can host
anywhere
Dennis Doomen (@ddoomen)
19-6-2015
About Me
2
• 18 years in this profession
• C++ origins but since 2001 dedicated to C# and .NET
• Loves TDD/BDD, DDD, Event...
Demo
The simplest OWIN demo possible
Client
IIS
Console
WinSvc
Unit Test
HTTP
request
HTTP
response
Middleware
env
handler
next
Middleware
IDictionary<string, ...
Demo
Building a real component using
OWIN, NuGet, Psake, ILMerge, Swagger and Gitversion
1. Simple console app
2. Ship as class library
3. Ship as NuGet package
4. Psake builds
5. GitFlow versioning
6. Convert t...
Invaluable Resources
• Piercer demo code
https://github.com/dennisdoomen/piercer
• Katana / DNX 5 bridge
https://github.co...
How to find me?
8
• @ddoomen
• dennis.doomen@avivasolutions.nl
• www.continuousimprover.com
• www.csharpcodingguidelines.c...
19-6-2015 @ddoomen
19-6-2015
Thanks!
Knowledge. People. Solutions.
Upcoming SlideShare
Loading in …5
×

Building autonomous components with OWIN, PSake, NuGet, GitVersion and Swagger

1,591 views

Published on

Breaking down monolothic systems into smaller components that are maintained by specific people in separate git repositories and distributed as NuGet packages is becoming the standard these days. But what if your component needs to expose some kind of HTTP end-point such as a WebAPI controller or an embedded management website? How do you host such a component in another system without affecting it's hosting model? This is were the Open Web Interface for .NET comes to the rescue. Even the next version of ASP.NET is completely based on OWIN hosting. In this session I'm going to explain you how to build OWIN middleware components and how to host these in an IIS website, a Windows Service or even in a command-line tool.

Published in: Technology
  • DOWNLOAD FULL BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Building autonomous components with OWIN, PSake, NuGet, GitVersion and Swagger

  1. 1. Knowledge. People. Solutions. Building HTTP-based .NET components you can host anywhere Dennis Doomen (@ddoomen) 19-6-2015
  2. 2. About Me 2 • 18 years in this profession • C++ origins but since 2001 dedicated to C# and .NET • Loves TDD/BDD, DDD, Event Sourcing, CQRS, OO, Design Patterns, Architecture, Scrum/XP/Kanban, Application Lifecycle Management • Occasional Speaker • www.csharpcodingguidelines.com • www.fluentassertions.com • Find me here • www.continuousimprover.com • DZone MVB • @ddoomen
  3. 3. Demo The simplest OWIN demo possible
  4. 4. Client IIS Console WinSvc Unit Test HTTP request HTTP response Middleware env handler next Middleware IDictionary<string, object> Func<IDictionary<string, object>, Task> Task Func< Func<IDictionary<string, object>, Task>, Func<IDictionary<string, object>, Task> > The OWIN Pipeline
  5. 5. Demo Building a real component using OWIN, NuGet, Psake, ILMerge, Swagger and Gitversion
  6. 6. 1. Simple console app 2. Ship as class library 3. Ship as NuGet package 4. Psake builds 5. GitFlow versioning 6. Convert to OWIN 7. OWIN-based testing 8. Swagger 9. Internalizing dependencies 10. Custom settings Summary
  7. 7. Invaluable Resources • Piercer demo code https://github.com/dennisdoomen/piercer • Katana / DNX 5 bridge https://github.com/damianh/LimitsMiddleware/blob/dnx/src/LimitsMiddleware.AppBuilderExte nsions/AppBuilderExtensions.ConnectionTimeout.cs • Official OWIN gitter.im room https://gitter.im/owin/owin • Liblog – a logging framework for library devs https://github.com/damianh/LibLog • Psake https://github.com/psake/psake • GitVersion https://github.com/ParticularLabs/GitVersion • Swashbuckle – Swagger for .NET https://github.com/domaindrivendev/Swashbuckle
  8. 8. How to find me? 8 • @ddoomen • dennis.doomen@avivasolutions.nl • www.continuousimprover.com • www.csharpcodingguidelines.com • github.com/dennisdoomen • www.fluentassertions.com
  9. 9. 19-6-2015 @ddoomen
  10. 10. 19-6-2015 Thanks!
  11. 11. Knowledge. People. Solutions.

×