La plateforme Web Microsoft ne cesse d'évoluer. La sortie de Visual Studio 2013 s'accompagne d'ASP.NET MVC5 et Web API 2, qui apportent chacunes leurs lots de nouveautés ! Dans cette session, vous découvrirez toutes les nouvelles APIs et nouveaux outils pour développer des applications Web avec Visual Studio 2013.
Speakers : Simon Ferquel (Infinite Square), Julien Corioland (Infinite Square)
2. ASP.NET MVC 5 et Web
API 2
Simon FERQUEL
Senior Developer
Infinite Square
@sferquel
Julien CORIOLAND
Tech Lead Web & Cloud
Infinite Square
@beedoo
http://www.infinitesquare.com
http://blogs.infinitesquare.com
3. Infinite Square – stand 19
•
Société de conseil, expertise, réalisation, formation, spécialisée
dans le développement d’applications logicielles innovantes sur
les technologies Microsoft
•
100% des consultants certifiés Microsoft, parmi lesquels 10
MVP et 2 Nokia Champions
•
GOLD Certified Partner sur 5 domaines de compétences
•
Centre de formation agrée
#mstechdays
4. Agenda
• Quelques rappels rapides
• Quoi de neuf pour ASP.NET MVC 5(.1) et Web
API 2(.1) : plein de démos !
• Le futur est dans OWIN !
• Conclusion / Questions
#mstechdays
7. ASP.NET Web API
Réception d’une requête HTTP (GET, POST, PUT,
DELETE, HEAD)
Résolution de la route / Invocation de l’action du
contrôleur
Content-Negociation (Accept HTTP Header)
Renvoi de la réponse dans le bon format
#mstechdays
8. QUOI DE NEUF DANS ASP.NET MVC 5 ET
WEB API 2
A chaque nouveauté sa démo !
#mstechdays
12. ASP.NET Identity
• Nouveau système de memberships
d’ASP.NET
• Authentification basée sur des claims
• Utilise des middlewares d’authentification
OWIN
#mstechdays
13. ASP.NET Identity
• Nouveau schéma de
stockage des
utilisateurs
– Multi-logins
– Microsoft propose une
implémentation EF Code
First
– Totalement personnalisable
#mstechdays
15. Attribute Routing
• Configuration des routes à l’aide
d’attributs
– Directement sur les contrôleurs / actions
– Evalués et mis en cache dans la table de
route au démarrage de l’application
• Pas de limitation par rapport à la
définition des routes
« traditionnelles »
• On peut mixer les deux
• Marche aussi avec Web API 2 !
#mstechdays
17. Web API Batching
• Permet de combiner plusieurs opérations dans une
seule requête http POST
– Réduction du trafic réseau
– Récupération de données plus adaptés aux interfaces modernes /
riches
#mstechdays
19. Web API OData
• Permet d’exposer une Web API via OData, à l’aide
d’un simple attribut « Queryable »
• Quelques nouveautés avec Web API 2 :
– $select, $expand, $batch, $value
– Possibilité d’étendre les formatters Odata
– Possibilité d’utiliser un modèle de données déjà existant
#mstechdays
21. OWIN : c’est quoi ?
• Open Web INterface
• Abstraction du serveur web ASP.Net
Web API
ASP.Net
MVC
SignalR
...
OWIN
+ middlewares…
IIS
#mstechdays
Http
Listener
Unit test
host
…
22. OWIN : et les middlewares, c’est quoi ?
• Composants techniques
–
–
–
–
Logs
Authentification
Compression
Rewriting…
• Compatibles avec n’importe quel host (IIS, Self Host, custom…)
• Compatibles avec n’importe quel Framework applicatif
supportant Owin (ASP.Net WebForm, Web API, MVC, NancyFX,
Signalr…)
• Out of the box:
–
–
–
–
#mstechdays
OAuth2
CookieAuth
Facebook
Google…
24. OWIN-host alternatifs ?
• OWIN fournit des interfaces pour créer son propre
host
• Microsoft en fournit 3 :
– Host IIS
• Hébergement web classique
– http listener
• Embarqué, agent local, communication inter-processus
– Unit test
• Faciliter les tests unitaires
#mstechdays
26. Petit bonus : MVC 5.1 / Web API 2.1
•
Support des énumérations dans les vues
–
Display Name, DropDownListFor
•
Unobtrusive validation pour MaxLength / MinLength
•
Possibilité de passer des html attributs aux EditorFor (enfin! )
•
MediaTypeFormatter pour BSON
#mstechdays
27. Conclusion / Questions
• Pas forcément énormément de nouveauté en terme de
fonctionnalités dans ASP.NET MVC 5 et Web API 2, mais…
• Enormément de nouveautés « transverses » avec OWIN,
ASP.NET Identity et surtout : « One ASP.NET ».
• Code source & démos : https://github.com/simonferquel/techdaysparis-2014-mvc-webapi
• A vos questions !
#mstechdays
28. Donnez votre avis !
Depuis votre smartphone sur :
http://notes.mstechdays.fr
De nombreux lots à gagner toute les heures !!!
Claviers, souris et jeux Microsoft…
Merci de nous aider à améliorer les Techdays !
#mstechdays
Simon – 5’Création d’un nouveau projetMontrer le nouvel assistant choix technoMontrer le nouvel assistant choix authentParler de WAADConnexion au waad pour montrer l’appli déclaréeConnexion sur le backoffice ebook manager
Julien – 2’
Julien – 2’
Julien – 5’Montrer l’authentification sur le front officeLe code de l’implémentation IdentityCoreMontrer la conf OWIN pour les providers externes
Julien – 2’
Julien – 2’
Simon – 2’
Simon – 2’La configLe client Win 8
Julien – 2’
Julien – 2’
Simon – 2’
Simon – 3’
Simon – 6’Middleware de logsAuthent Web API du Front OauthDémo web view