RESTful Web Services Durée 2 jour(s) (WS-REST-02) Développement de Web Services RESTFul avec Apache CXF et JAX-RS Description De par leur nature distribuée, les systèmes d'information sont confrontés à deux problématiques majeures : la réutilisation et l'interopérabilité. Plusieurs technologies ont tenté de répondre à ces objectifs, les Web Services font partie des derniers arrivés. Nous présenterons les concepts et les principes qui ont fait des Web Services une technologie incontournable. Nous nous appuierons sur le langage Java et les frameworks dédiés afin de mettre en œuvre simplement et rapidement une architecture distribuée pérenne. Objectifs Comprendre l'architecture REST et la démarche pour passer en service RESTFul Utilisation de frameworks JAVA pour la création de web services RESTFul Savoir déployer des Web Services REST Appeler des Web Services REST distants Public Architecte Développeur Chef de projet Prérequis Notions XML/Java Répartition 50% Théorie, 50% Pratique Programme Introduction aux Web Services Qu'est-ce qu'un (Web) Service ? Les architectures distribuées Granularité des services : réutilisation et interopérabilité Principes de conception : contrat, conventions, couplage lâche... Web Services et ROA (Ressources Oriented Architecture) Les concepts fondamentaux de l'architecture REST Qu'est qu'une ressource, une URI ? Objectifs de cette architecture Caractéristiques de REST REST et / ou RESTFul ? REST, le retour aux sources du Web Rappel sur le protocole HTTP Les opérations Les paramètres Les codes réponses Les données (XML, JSON, autres types MIME) Java et REST Aperçu de l'offre Java / Web Services JAX-RS, la JSR 311 Jersey, l'implémentation de référence Mise en oeuvre de JAX-RS Les headers, les cookies Le contexte JAX-RS XML / XSD : Rappels XML / XSD : pivot des Web Services XML : langage universel XSD : décrire un document Namespaces et types Java et XML RESTful avancé Le principe HATEOAS Glory of REST La mise en cache Gestion des entêtes de cache Concurrence d'accès aux ressources Sécuriser un service REST Principe CORS et mise en oeuvre Auto documentation de l'API REST vs. SOAP WS-* Cas d'utilisation de REST et de SOAP WS-* Quelle(s) solution(s) choisir ? Avantages / inconvénients