Les liens de la semaine – Édition #115

Lien motivation de la semaineFinish one thing today.

Développement

.NET

Technologie

Web

Science et autres

Les liens de la semaine – Édition #113

Développement

.NET

ASP.NET 5

Technologie

Web

Science et autres

Une brève introduction au standard OWIN et au projet Katana

L’un des points qui fait la force du développement web avec la plateforme .NET est la possibilité d’y ajouter facilement des fonctionnalités. À tous les endroits de la chaîne de livraison de votre site web, il est possible d’y ajouter ou retirer des fonctionnalités pour votre solution.

Avec .NET, la mise en oeuvre de votre application web est rendue possible par deux services œuvrant en synergie : IIS et ASP.NET. À l’image de Batman et Robin, ils se divisent la tâche de vous rendre accessible les différents morceaux de robot qui vous permettent de construire votre site.

Il y a actuellement une tendance qui se dégage dans le domaine, à mon avis. Les développeurs cherchent par tous les moyens de dégraisser le plus possible l’architecture de leurs applications afin d’éviter de s’éparpiller un peu partout.

Avec des technologies comme ASP.NET MVC ainsi que la possibilité d’avoir un rendu côté client assuré par de minuscules librairies JavaScript, nous sommes loin de l’époque où un site pouvait résider sur une poignée de formulaires ASP.NET Forms avec une quantité astronomique de contrôles serveur.

Vous vous souvenez qu’il fallait tenter, le plus possible, de réduire la taille du viewstate afin d’accélérer le chargement d’une page? On en parle comme si c’était une époque lointaine.

OWIN et Katana

Avant tout, il faut savoir que le nom OWIN est l’acronyme d’Open Web Interface.

Ce qu’OWIN vise à accomplir est d’abstraire, à un développeur web .NET, l’utilisation d’IIS et de toutes les fonctionnalités d’ASP.NET pour son application web.

OWIN est un standard qui définit ce qui est nécessaire afin que les différentes requêtes et réponses HTTP soient correctement traitées.

Lorsque vous démarrerez un projet qui sera basé sur OWIN, vous allez pouvoir attendre à certains comportements qui seront explicitement exprimés dans la documentation. La spécification est assez simple et courte à lire. Je vous le recommande fortement.

Tandis qu’OWIN est une spécification, le projet Katana est une implémentation de celle-ci. Il s’agit d’un projet soutenu par Microsoft visant à faciliter l’intégration de librairies et applications compatibles avec OWIN sur la plateforme Windows.

Katana permet d’avoir sous la main un serveur web et quelques librairies vous permettant de construire une application web qui a du sens.

Dans le concret?

À la lecture de ceci, vous avez probablement la même question que j’avais en tête lorsque j’ai initialement lu au sujet d’OWIN. Après tout, si vous êtes un développeur .NET depuis toujours et que vous avez uniquement travaillé avec Windows depuis vos tout débuts, vous devez vous dire que tout ce dont vous avez besoin c’est IIS et ASP.NET.

Le secret que cache OWIN est l’émergence de projets à code ouvert destinés à s’exécuter sur Windows autant que Linux grâce à Mono. Un exemple de cette interopérabilité est le serveur web Kayak.

Avec ce serveur web, vous pouvez construire une application web utilisant la libraire Nancy qui permet le développement de services web à l’instar de Sinatra pour Ruby. En supplément, vous pouvez vous libérer entièrement de Microsoft en utilisant le compilateur Mono et développer un projet à coûts modiques.

Si vous êtes du genre à voir pour y croire, je vous invite à jeter un coup d’oeil au code fourni par cette page afin de vous donner une idée des possibilités qu’offrent OWIN, Kayak, Gate et Nancy.

Sources supplémentaires