Quand dois-je utiliser OWIN Katana?
Je suis nouveau sur OWIN et un Katana. Je n'ai vraiment pas pourquoi je devrais utiliser OWIN, alors que je peux utiliser IIS
. Pour simplifier, ma question est: Que dois-je perdre si je ignorer l'apprentissage OWIN et utiliser IIS pour mon site web?
J'ai googlé mais il n'y a pas d'explication simple. Il y a quelques informations ici, mais ils utilisent le jargon des phrases donc je ne peut pas le comprendre.
- voir aussi blogs.msdn.com/b/webdev/archive/2014/04/23/... et asp.net/aspnet/overview/owin-and-katana/...
- Je me demande combien le OWIN direction est influencée par l'Ido. Ne peut pas vraiment coller des services IIS sur un Arduino peut nous.
Vous devez vous connecter pour publier un commentaire.
Dans asp.net WebApi v2, le OWIN pipeline devient la valeur par défaut. Il va finir par être la norme pipeline en vertu de toute asp.net projet.
Je ne peux pas mieux dire que ce qui est écrit ici : http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana
La section "L'Open Interface Web pour .NET (OWIN)" explique parfaitement les objectifs de OWIN.
Sans OWIN, l'asp.net les bits sont couplés à la façon dont IIS communique avec l'application. OWIN les résumés des serveurs web et des composants de l'infrastructure. Cela signifie que le code de votre application va maintenant être au courant de la OWIN de l'interface, mais pas le serveur qui est de servir la demande.
En retour, les applications peuvent être plus facilement transférées entre les hôtes et potentiellement l'ensemble de plateformes/systèmes d'exploitation. Par exemple, la capacité d'accueil d'une application à une console ou à un autre processus permet Mono pour l'accueillir sans efforts... (Raspberry Pi n'importe qui)
Le deuxième aspect est qu'il fonctionne comme un pipeline.
Vous pouvez brancher n'importe quel middlewares (et autant que vous voulez) entre le serveur web et votre application.
Cela permet d'avoir plus de solutions modulaires. Vous pouvez développer redistribuable middlewares qui peuvent influer sur la demande/réponse de venir vers/à partir de votre application, mais garder ces modules séparés du code de l'application.
À-vous convaincre des avantages de cette approche modulaire, jetez un oeil à la nuget packages disponibles pour OWIN : http://www.nuget.org/packages?q=owin
Beaucoup de ces paquets ont été précédemment core asp.net la fonctionnalité, et ont été extraites en tant que middleware.
Par exemple, l'ajout de support pour vous connecter à l'aide de diverses OAuth fournisseurs devient une infrastructure préoccupants " (middleware) et n'a pas besoin d'être partie de votre code d'application plus :
...
Ou si vous souhaitez remplacer automatiquement toutes les images de votre site web par chat mignon images, vous pouvez le faire de manière transparente ainsi :
https://github.com/serbrech/Owin.Catify
EDIT : Il est maintenant disponible sous forme de package nuget : Owin.Catify!
Oui, c'est vrai. OWIN est un interface et Katana est un mise en œuvre de OWIN interface par Microsoft. Par conséquent, nous entendons ces 2 mots (OWIN /KATANA) et manytimes nous se confondre entre la différence entre ces 2 termes. Donc, Katana est l'implémentation de Microsoft OWIN interface. Dire qu'il y a une autre compagnie qui s'appelle BIG-BOSS qui ont voulu créer leur propre mise en œuvre de OWIN, ils peuvent le faire et le nom de leur mise en œuvre comme "BATANA" et de la publicité des phrases comme OWIN /BATANA.
Alors, pourquoi OWIN !!!
Que penser d'un pays où le seul véhicule à la disposition du mouvement est un camion. Rien d'autre. Si vous voulez acheter un véhicule, vous devez acheter un camion. Eh bien, qui a servi de bon, mais les gens ont commencé à réaliser qu'ils n'ont pas besoin de camion tout le temps, surtout quand ils veulent aller regarder un film ou acheter du lait, de la conduite d'un camion lourd, pas seulement les coûts élevés du carburant, mais aussi ajouter du stress sur la conduite. Mais oui, si ils veulent réaliser beaucoup de trucs lourds, camion sert très bien.
Ensuite, le Gouvernement de ce pays est venu avec un cahier des charges pour les constructeurs de véhicules. Le cahier des charges comme suit:
Donc, sur la base de ces spécifications, n'importe qui peut faire du véhicule selon les besoins différents et qu'ils peuvent nommer leur véhicule en conséquence. Par conséquent, Berline, pick-up, SUV, VAN, ..etc.. tous type de véhicule a montré dans le marché. Si quelqu'un n'a pas besoin de transporter de lourdes trucs tout le temps, plutôt besoin d'un véhicule pour aller au travail, il/elle peut acheter une petite Berline. Quelqu'un peut acheter des SUV s'il a besoin de peu de puissance en plus.
Basé sur l'exemple ci-dessus, nous pouvons dire que notre ASP.NET application Web utilise le Système.Web de l'Assemblée qui est très chargé (comme un camion) et si nous voulons faire une petite Application Web où notre but est simplement de servir des fichiers sur la base d'un petit ensemble de demandes, nous sommes tenus d'utiliser ce Système lourd.Web de l'assemblée (le camion). Maintenant, OWIN montre. OWIN est un ensemble de spécifications (on peut appeler ça de l'interface), qui définit un Serveur. Basé sur la spécification, quelqu'un (comme un constructeur automobile) peut faire différents types de serveurs basés sur des domaines de problème /besoins de l'application. Microsoft a créé leur propre mise en Œuvre pour OWIN nommé Katana de la même façon qui peut vous servir de l'API Web. Comme WebAPI est un poids léger de la technologie, qui n'a pas besoin de full blown Système.Web les choses, un peu de poids à la mise en œuvre de Serveur (comme le Katana) peuvent stimuler la performance fortement lorsque vous utilisez l'Api Web hébergé sur un Katana.
Maintenant, si vous demandez, 'ai-je besoin' ? La réponse est "Cela dépend de votre besoin de performance". Si vous ne me dérange pas de conduire votre camion, même pour aller regarder un film, puis, peut-être que vous n'avez pas besoin d'OWIN. Mais si vous sentez que, d'un poids léger Berline est tout ce que vous devez lecteur à l'intérieur d'une ville, à une petite distance, regarder un film..etc.. oui, Vous pouvez vérifier les implémentations de OWIN disponibles sur le marché. Katana est l'une des implémentations de OWIN, vous pouvez donc vérifier ce Katana offre. Non seulement Katana, si une autre entreprise met en œuvre des OWIN selon le Domaine spécifique (par exemple, un serveur pour les Dispositifs Médicaux qui va télécharger la dernière information sur la médecine) et si vous êtes un médecin, peut-être, vous pouvez vérifier que la mise en œuvre de OWIN. En outre, vous pouvez vous-même créer votre propre mise en œuvre de OWIN cibler un créneau spécifique.
En termes d'applications web, si vous êtes un simple développeur Web, développement de Sites web personnalisés pour vos clients, peut-être, vous n'avez pas besoin de s'inquiéter à propos de la coutume de la mise en œuvre de OWINs, parce que ce dernier pourra vous servir d'une manière équilibrée. Si vous construisez un projet d'API Web, vous obtiendrez Katana modèle basé sur un prêt à partir de Visual Studio -> Nouveau Projet, de sorte que vous n'aurez pas à vous soucier de rien d'autre que l'apprentissage de Katana techniques spécifiques. En ce moment, Katana n'est pas assez mature pour remplacer complètement la nécessité pour les services internet (IIS ASP.NET MVC, mais peut-être, dans l'avenir, il sera.
Puis, Lorsque j'ai peut-être besoin d'écrire mon propre OWIN mise en Œuvre ?
Réponse: eh Bien, disons par exemple, vous avez développé une application Windows qui devrait fonctionner en tant que serveur en arrière-plan et d'écouter un numéro de port XXXX. Votre serveur va répondre à certaines Demandes considérées comme ceci:
C'est tout. Et rien d'autre. Alors, pourquoi auriez-vous besoin d'un serveur web IIS pour cette tâche peu? Vous pouvez créer votre propre OWIN mise en œuvre dans ce cas. (Peut-être, vous allez utiliser Katana pour qu')
Ok, j'ai compris que, si je veux faire un ASP.NET MVC site, je n'ai pas l'option pour remplacer IIS, alors pourquoi devrais-je savoir au sujet de Katana en ce moment ?
Réponse: Même si le Katana n'est pas assez mature pour remplacer le besoin de IIS afin que vous pouvez accueillir votre ASP.NET MVC site web directement sur le Katana, mais Katana mis en place de nombreuses interfaces cool de OWIN, de sorte que vous pouvez prendre avantage de l'utilisation de ces fonctionnalités côté par côté. Par exemple, permettant à vos utilisateurs de se connecter en utilisant Facebook, Google, Twitter, etc n'a pas été très facile avant. Katana vous donne de nombreux crochets (middle-ware), de sorte que vous pouvez laisser Katana prendre soin de externe les Médias Sociaux en fonction de l'Authentification facilement sans avoir à écrire de code de plomberie. Il ya beaucoup d'autres avantages à utiliser le Katana que vous pouvez trouver lorsque vous commencez à utiliser cette technologie.
what is lightweight part, i mean if Katana is compared to IIS, by which means it is lightweight ( say it does not do step#1,2,3 etc.. , but IIS does that.
Une version simplifiée de cette réponse est que le Katana est gong à remplacer complètement le Système.Web de l'assemblée et de la vieille ASP.NET pipeline, qui vous donne une meilleure flexibilité (l'utiliser dans plusieurs scénarios, et de n'utiliser que les pièces que vous voulez) et de la performance.
Donc tout le monde devrait regarder son évolution maintenant et être prêt à changer quand c'est enfin terminé.
Ci-dessous est un schéma que j'ai dessiné pour remplir les détails de Microsoft ne parvient pas à inclure dans cet article.
OWIN est d'une telle norme, qu'il laisse application des cadres de courir sur elle, oubliant tout le reste en dessous. D'autre part, OWIN lui-même utilise divers adaptateurs pour s'assurer qu'il peut parler à la sous-jacentes des serveurs web (IIS et beaucoup d'autres).
Je travaille maintenant avec le Jexus serveur web de l'auteur pour étudier comment on peut écrire un adaptateur hôte à pont OWIN/Katana et Jexus. Nous sommes vraiment heureux d'apprendre que OWIN est flexible et hautement personnalisable.
De référence:
http://blog.lextudio.com/2014/06/why-owin-matters-a-lot-for-asp-net-developers/
System.Web
.OWIN est conçu de manière à découpler les serveurs web de la cadres de vous travailler. Il peut faire les demandes léger et portable pour le mélange des cadres et des serveurs.
Et Katana est l'implémentation de Microsoft OWIN composants.
Depuis ces quelques dernières années, Microsoft fait des outils du web, plus agile et réactive que leur plan est en cours. Pour un exemple, le développement de ASP.Net MVC et ASP.Net l'API Web. Ils ne dépendent pas du Système.Web dll qui est un énorme fardeau qu'ils se sentent maintenant, je pense. L'avantage est à la fois l'évolution des correctifs peuvent être fournis en temps opportun et le cycle est plus rapide que jamais. Aussi les développeurs peuvent désormais déployer ces applications sur mesure OWIN hôtes ou Katana, qui est une référence de OWIN mise en œuvre.
Quel est le point après tout?
Microsoft a publié un projet qui est un léger OWIN fonction d'accueil web sur IIS, appelé " Helios. L'objectif est d'éviter ASP.NET/IIS relation en offrant des petits composants qui peuvent être utilisés, installés et gérer de manière indépendante, en cours d'exécution sur une web-host qui implémente l'OWIN spécifications.
L'une des principales raisons est la performance-facteur. Helios sera en mesure d'atteindre 2x-3x plus de débit que la norme ASP.Net application. En termes de consommation de mémoire, Helios est beaucoup mieux que le Système.Web dll. Dans une prise de référence Helios architecture a permis un exemple d'application pour atteindre 50000 demandes simultanées avec environ 1 go moins de frais généraux comparer à une norme ASP.Net application.
OWIN est une abstraction entre l'application web et la plate-forme d'hébergement. Si vous écrivez votre application web à l'aide de OWIN vous n'êtes pas lié à IIS, vous pouvez utiliser un autre hébergeur si vous le souhaitez.
Vous demandé pourquoi utiliser OWIN plutôt que de IIS, mais ce ne sont pas des substituts les uns des autres. OWIN se trouve entre IIS et votre application de sorte que vous pouvez basculer hors IIS sans réécriture de votre application.
Vous pouvez également consulter cette page https://github.com/Bikeman868/OwinFramework/wiki/OWIN