Services web pour applications web modernes et mobiles

Slides:



Advertisements
Présentations similaires
Active Directory Windows 2003 Server
Advertisements

Pierre Lagarde Relation technique développeur Grégory Renard [Rédo] Responsable Développement Wygwam.
Les technologies décisionnelles et le portail
CRÉER UNE APPLICATION INTERNET RELIEE A UNE BASE DE DONNEES
La plateforme.NET 2.0 vue par le développeur Pascal Belaud Microsoft France SAGA.NET
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Test et Développement Visual Studio Team System Eric Mittelette – Benjamin Gauthey – Yann Faure DevDays 2006 Equipé aujourdhui, prêt pour demain !
Open Days 2006 Le Web 2.0 demain: produits, technologies, outils.
19 septembre 2006 Tendances Logicielles IBM Rational Data Architect Un outil complet de modélisation et de conception pour SGBD Isabelle Claverie-Berge.
Connecter des données métier à Office SharePoint Server 2007 via le Business Data Catalog.
Concevoir, déployer et gérer les workflows
Une solution personnalisable et extensible
Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix.
Découvrez… 30/03/2017 © Agarik.
Jérôme DUCLOS Architecte Winwise
Sécurité Informatique
WF / WCF 4.0 et l’environnement “Dublin”
Active Directory Windows 2003 Server
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Démarche Analyse des OGL et des Méthodes Objectifs : Activités :
Communiquer avec ELYX.
Module 1 : Préparation de l'administration d'un serveur
Quoi de neuf dans ASP.NET avec Visual Studio 2013 ?
ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET.
Ajax. Contexte Dabord, il y a eu les terminaux des ordinateurs centraux (environnements TSO, CICS, etc.) et les terminaux plein écran des environnements.
Web Services - ADFS Pellarin Anthony En collaboration avec : Sogeti 1.
Développement Rapide dApplications Web avec.NET « Mon premier site »
Les instructions PHP pour l'accès à une base de données MySql
Projet JAVA EE Approfondi
Benjamin Soulier Technical Expert Cambridge Technology Partners Le meilleur des deux mondes - SharePoint 2010 et Azure!
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Citrix® Presentation Server 4.0 : Administration
22 Intéropérabilité Silverlight & PHP Le 8 février 2010 GIACOPINO Cyril Directeur pôle technologie TEQUILARAPIDO.
Architecture dun site de vente au détail1 Modèle d'un site simple de vente Lexemple du livre Ruby on Rails Partie II Java Adventure Builder Demo Réalisé.
Développement dapplication avec base de données Semaine 10 : WCF avec Entité Framework Automne 2013.
Développez des applications LOB pour Windows Phone 8 et devenez Mobile Enterprise-Ready ! Nicolas Humann Exakis.
22 Intégrer Reporting Services SQL 2008 R2 à votre application 09/02/2010 Mathieu ROSPIDE – Winwise Julien TOURNADRE – Winwise.
Entity Framework 4 Mitsuru FURUTA Relations techniques développeurs
Postes clients OLAP Fichiers XML SGBD Requêtes Analyses Reports Intégration Synchronisation Recherche Serveurs.
Azure – Outils et bonnes pratiques
4 - Annuaires Les Annuaires d ’Entreprises Offres et solutions
PHP & My SQL.
Active Directory Windows 2003 Server
Date : Juillet 2014 Formation : TAI Formateur : Tayeb BENDJELTI
CENTRALISATION DES CANDIDATS LOCATAIRES
Content Management System CMS. Pourquoi ? Obligation de ressaisir des contenus publiés à plusieurs endroits Pas d’outils de gestion de qualité de l’information.
Créez des applications Silverlight 3 David Rousset Relations Techniques avec les développeurs Microsoft France
Introduction au développement Office 2007
AngularJS.
Expose sur « logiciel teamviewer »
Quand l’agilité n’est pas une option
Introduction à la plateforme .NET
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
Créez des applications Silverlight 3 David Rousset Relations Techniques avec les développeurs Microsoft France
Struts.
 Formulaires HTML : traiter les entrées utilisateur
11 Un tour d’horizon des dernières technologies Web 9 Février 2010 Simon FERQUEL Développeur Access it Adrien SIFFERMANN PDG Imajin.
Les services mobiles Microsoft Azure Mikhail Chatillon Technical Evangelist, Microsoft
22 Lag110 : Le développement SharePoint 2010 avec Visual Studio 2010 Mardi 9 février 2010 Frédéric Wickert Partner Technical Specialist Microsoft.
Les Servlets Présentation Cycle de vie Principe de fonctionnement
Representational State Transfer - REST
1 Démo SoftGrid. Le Séquenceur SoftGrid Utilisation d’un « packageur » SoftGrid Possibilité de “séquencer” en ligne de commande (CLI) Existence d’outils.
1 Applications d’entreprise avec.NET 4.0 et Silverlight 4 David Rousset Mitsuru Furuta
2 Alain METGE SOGETI
Benjamin Soulier Technical Expert Cambridge Technology Partners Les nouveautés de Windows Azure.
Benjamin Soulier, Yves Peneveyre Cambridge Technology Partners
Developer Day Développer des applications pour le Windows Store avec HTML5, JavaScript et CSS3 David Rousset Technical Evangelist – Microsoft France
Developer Day Gestion de Contenu Web avec SharePoint 2013 Yves Peneveyre / Benjamin Soulier Architecte Senior / Expert technique Cambridge Technology Partners.
DWR Jean-Jacques LE COZ. Introduction Projet DWR Framework AJAX Projet Open Source commencé en 2004 Licence GPL (Apache Software License v2) Sponsorisé.
Transcription de la présentation:

Services web pour applications web modernes et mobiles ASP.NET Web API 2 Services web pour applications web modernes et mobiles Yves Peneveyre / Benjamin Soulier Architecte Senior / Expert Technique Cambridge Technology Partners yves.peneveyre@ctp.com benjamin.soulier@ctp.com

Redirection par attributs Tests unitaires OWIN & OData Sécurité Introduction Pourquoi Web API ? Quoi de neuf ? Redirection par attributs Tests unitaires OWIN & OData Sécurité Oauth 2.0

Cambridge Technology Partners Nos plus de 250 employés servent un portfolio varié de grandes PMEs et de sociétés multinationales dans de nombreux secteurs d'activités, à partir de nos bureaux suisses de Bâle, Genève & Zürich et de nos centres globaux de réalisation en Hongrie et en Ukraine.

Intervenants Yves Peneveyre Architecte Senior Benjamin Soulier Expert Technique MVP Azure

DEMO 1ère Web API avec ASP.NET Web API 2

Services Web HTTP

Pour tout type de client App ? ? ? ? Navigateurs Appareils électroniques Mobiles Tablettes

Appareils électroniques Montée en charge App ? ? ? ? Navigateurs Appareils électroniques Mobiles Tablettes

Appareils électroniques Rester simple App .config ? ? ? ? SOAP Navigateurs Appareils électroniques Mobiles Tablettes

Capitaliser le Web - Construire des APIs Web App 2 ASP.NET Web API Navigateurs Appareils électroniques Mobiles Tablettes

Démarrer avec ASP.NET Web API 2 Disponible en tant que package NuGet Livré avec Visual Studio 2013 Supporte .NET 4.5 et au-delà Code source disponible à http://aspnetwebstack.codeplex.com

Quoi de neuf avec ASP.NET Web API 2 Redirection par attributs Intégration avec OWIN Test unitaire plus facile (IHttpActionResult) OData : $select, $expand Securité des Web API (OAuth 2.0)

Redirection par attributs config.Routes.MapHttpRoute( name: “TodosForTodoList", routeTemplate: "api/todolists/{id}/todos", defaults: new { controller = “todolists”, action = “GetTodos” } ); Faire que les routes soient plus proches des ressources Controller Selector Action Selector public IEnumerable<TodoItem> GetTodos() { … }

Redirection par attributs config.MapHttpAttributeRoutes(); [Route("api/todolists/{id}/todos")] public IEnumerable<TodoItem> GetTodos(int id) { … }

Redirection par attributs Valeurs optionnelles Valeurs pas défaut Contraintes [Route(“Demographics/{zipcode?}")] public Demographics Get(int? zipcode) { … } [Route("Demographics/{zipcode=98052}")] public Demographics Get(int zipcode) { … } [Route("people/{id:int}")] public Person Get(int id) { … } [Route("people/{name:alpha}")] public Person Get(string name) { … }

DEMO Redirection par attributs

Test unitaire des Web APIs Plus compliqué que ce ça ne devrait… Maintenant, pour écrire un test unitaire il suffit de : Créer un contrôleur Affecter les propriétés au besoin (Request, Configuration, etc.) Appeler l’action Utiliser IHttpActionResult pour encapsuler toute logique réutilisable Disponibilité de fonctions helper pratique

DEMO Test Unitaire de Web API

Intégration OWIN OWIN = Open Web Interface for .NET (http://owin.org) Définit une interface commune découplant les applications web des serveurs web Inspiré de node.js, Rack ou WSGI Se trouve dans le pipeline ASP.NET Intégré fortement au sein de ASP.NET Ex. Exécuter un middleware d’authentification pendant l’étape Authenticate de ASP.NET Exécuter vos Web APIs sur n’importe quel hôte compatible OWIN

ASP.NET Web API OData Composants pour implémenter des services Odata Créateurs de modèle, formateurs (Atom/JSON/XML), interpréteurs de path et query, générateur d’expression LINQ, etc. Utilisez-les autant que vous le voulez Basé sur ODataLib Même concepts que WCF Data Services Déjà disponible avec Visual Studio 2012 Update 2 Supporte maintenant $select, $expand

DEMO OData - $select et $expand

Sécurité Web API Faites-vous confiance à cette app ?

Trop de difficultés pour sécuriser les Web API Utilisateurs pourraient ne pas faire confiance à des apps et donner leurs informations de connexion Les apps ne veulent pas stocker les informations utilisateurs La plupart des serveurs ne le veulent pas non plus

OAuth 2.0 Framework pour autoriser l’accès aux ressources protégées d’un utilisateur à des applications clientes Standard IETF (RFCs 6749 et 6750) Destiné à fonctionner avec les services HTTP Profiles multiples, selon le client et le type d’accès Il ne s’agit pas d’un protocole d’authentification … mais d’une base pour en créer une.

OAuth 2.0 Client Propriétaire de la ressource (utilisateur) Cher utilisateur, je peux utiliser tes photos ? OK OAuth 2.0 Demande d’autorisation Client Propriétaire de la ressource (utilisateur) L’utilisateur a dit que je pouvais accéder à ses photos. Voici la preuve Autorisation accordée Voici mon jeton d’accès. Svp, j’aimerais les photos de cet utilisateur Autorisation d’accès Serveur d’autorisation Jeton d’accès D’accord, les voici Ca me semble correct. Voici un jeton d’accès Jeton d’accès Server hébergeant la ressource (Web API) Ressource protégée

OAuth 2.0 – Obtention d’autorisation Serveur d’autorisation Point d’accès de jetons Point d’accès pour autorisation 2 <Client ID> user Navigateur 3 302 Utilisateur CODE 302 1 <Client ID> Ressource Protégée Client

OAuth 2.0 – Demande de jeton Serveur d’autorisation Point d’accès de jetons Point d’accès pour autorisation 1 <Client ID> client 2 refresh token access token CODE Ressource Protégée Client

OAuth 2.0 – Requête de ressource Serveur d’autorisation Point d’accès de jetons Point d’accès pour autorisation refresh token Ressource Protégée Client 1 Authorization: Bearer access token 2

OAuth 2.0 – Accès au jeton de rafraichissement Serveur d’autorisation Point d’accès de jetons Point d’accès pour autorisation 1 <Client ID> client 2 refresh token access token Ressource Protégée Client refresh token

OAuth 2.0 – Support de serveur d’autorisation 2 Options : Héberger votre propre serveur d’autorisation Simple serveur authz disponible en aperçu dans le modèle de code “Single Page Application” Support de serveur authz dans OWIN Utiliser un serveur d’autorisation existant Windows Azure Active Directory Active Directory Federation Services sous Windows Server 2012 R2

Quoi de neuf avec ASP.NET Web API 2 Redirection par attributs Intégration avec OWIN Test unitaire plus facile (IHttpActionResult) OData : $select, $expand Securité des Web API (OAuth 2.0)

Ressources Pour plus d’information http://www.asp.net/vnext http://www.asp.net/webapi

Nous contacter Yves Peneveyre yves.peneveyre@ctp.com Blog : http://www.peneveyre.com/blog Twitter : @ypeneveyre LinkedIn : http://www.linkedin.com/in/yvespeneveyre Benjamin Soulier benjamin.soulier@ctp.com Blog : http://www.soulier.ch Twitter : @bsoulier LinkedIn : http://www.linkedin.com/in/bsoulier

4/2/2017 1:39 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.