public interface OWIN
{
void ListenHttpCallAndServeWebPage();
}
namespace Microsoft.OWIN
{
public class Katana : OWIN
{
public void ListenHttpCallAndServeWebPage()
{
// listen to a port for HTTP call and serve web page
}
}
}
Oui, c'est vrai. OWIN est une interface et un Katana est une mise en œuvre de OWIN de l'interface de 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, le 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, spécialement 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 lourdes étoffes, 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:
- Un véhicule a besoin d'avoir 4 roues
- Un véhicule doit avoir un directeur.
- Un véhicule doit avoir des phares et feux de signalisation.
Ainsi, 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 fourre 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. 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, 'j'ai besoin de lui' ? La réponse est "Cela dépend de votre besoin de performance". Si vous ne vous occupez de la conduite du 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'un de la mise en œuvre 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, car IIS server vous de 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. À ce moment, le 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:
- OBTENEZ de l'Inventaire
- SUPPRIMER de l'Inventaire ID=4
- L'Inventaire ID=5
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 ça)
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 y a beaucoup d'autres avantages à l'aide de Katana que vous pouvez trouver lorsque vous commencez à utiliser cette technologie.