La session a débuté par quelques rappels sur ASP.NET MVC et WEB API avant d’aborder les nouveautés de ces technologies et de finir sur la présentation d’OWIN qui représente le futur du développement Web sur les plateformes Microsoft.

Alors quelles sont les nouveautés ?

1. One ASP.NET
La stratégie de Microsoft est de fournir un seul template de projet Web soit un seul point d’entrée auquel on peut ensuite greffer différents projets : Web Forms, MVC, Web API…
2. ASP.NET Identity
Avant Visual Studio 2013, afin de gérer l’authentification et la gestion des utilisateurs, les membership provider étaient utilisés.
Aujourd’hui, Microsoft a refondu ce système d’identité qui est maintenant basé sur ASP.NET Identity Core.
Ce système d’identité est maintenant basé sur des claims, une collection de clés/valeurs qui va décrire l’utilisateur.
Ex : Prénom->David, Société->Cellenza…
L’avantage d’un tel système est de pouvoir communiquer avec des fournisseurs externe comme Facebook, Twitter…
Pour cela, ASP.NET Identity utilise des middlewares d’authentification OWIN.
Un nouveau schéma de stockage des utilisateurs est introduit permettant le multi-logins et totalement personnalisable.
3. Attribute Routing
Jusqu’à maintenant, lors de la création d’un nouveau projet, la déclaration de la route par défaut se situait dans le fichier global.asax.
Il est maintenant possible de personaliser des routes à l’aide d’attribut directement sur les contrôleurs / actions.
4. Web API Batching
Le Web API Batching est une nouveauté spécifique à Web API. Cette nouveauté permet de faire plusieurs appels aux Web API dans une seule requête http.
L’intérêt est que cela réduit le trafic réseau ce qui permet d’éviter les latences sur les interfaces modernes comme sur les téléphones/tablettes.
5. Web API OData
C’est une fonctionnalité qui permet d’exposer une Web API via le protocole OData.
On va pouvoir non seulement récupérer des données en sortie mais aussi passer un certain nombre d’instructions directement dans l’URL pour filtrer les données.
Les instructions possibles sont : $select, $expand, $batch, $value.
Voici un exemple d’url qui va permettre de ne sélectionner que les entités Id et Title des ebooks : http://localhost:20394/api/ebooks?$select=Id,Title
6. OWIN
OWIN est un acronyme pour Open Web INterface qui est une collection d’interfaces et de classes qui permettent de mettre une couche d’abstraction au dessus du serveur HTTP.
Un serveur HTTP qui implémente OWIN est capable de faire fonctionner tout framework applicatif compatible lui aussi avec OWIN (ASP.NET MVC, Web API, SignalR…).
Une chose intéressante, c’est que l’on va pouvoir faire du code spécifique pour OWIN que l’on appelle des middlewares OWIN.
Ces middlewares peuvent êtres des composants techniques tels que des logs, authentification, URL rewriting…
Microsoft fournit des middlewares Owin prêts à l’emploi tels que OAuth2, CookieAuth, athentification Facebook, Google…
7. MVC 5.1 / Web API 2.1
Le DropDownListFor est capable de gérer les énumérations au niveau des HTML Helpers.
Validation javascript pour le MaxLenght / MinLenght.
Et enfin, il est maintenant possible de passer des attributs aux EditorFor.

Conclusion

Outre la présentation des nouveautés d’ASP.NET MVC 5 et Web API 2, cette session a été l’occasion de présenter aussi les nouveautés transverses avec ASP.NET Identity et surtout d’OWIN, le tout avec des démos bien préparées et intéressantes.