Développement de Services Web en Java Référence : LAN-JAV-SV-AUT Durée : 4 jours soit 28 heures Population visée : Ouvrier – Employé – Employé qualifié – Cadre – Cadre supérieur Filière : Développement Stage disponible en mode « In Class » Public concerné : Développeurs Java SE et /ou Java EE La formation s'appuie par défaut sur l'IDE Eclipse et le serveur d'applications Tomcat. La formation peut être réalisée avec un autre IDE (NetBeans, IBM RAD) et un autre serveur d'applications (JBoss, GlassFish, WebSphere, WebLogic). PRÉ-REQUIS Avoir impérativement suivi le cours " XML et technologies associées (DTD/XSD, XPath, XSLT, …) ", ou posséder les connaissances équivalentes ; Avoir impérativement suivi les cours " Programmation Java (Java SE) - Niveau 1 " et " Développement Web Java EE ", ou posséder les connaissances équivalentes. • • OBJECTIFS PEDAGOGIQUES A l’issue de cette formation, l’apprenant sera capable de : • Comprendre les principes de développement des Services en Java ; • Développer des applications Java mettant en œuvre et/ou consommant des Services Web SOAP et des Services REST ; • Déployer les Services sur un serveur d'applications. OBJECTIFS OPERATIONNELS ET CONTENU DE LA FORMATION Rappels fondamentaux sur XML • • • • Concepts de document Document bien formé et document valide Les applications d'XML Analyse, transformation (XSLT), formatage (XSL-FO) Les modèles de données : XML Schema. Validation de données : DTD, XML Schema Introduction aux Services Web SOAP • • • • • • Rappels sur les architectures n-tiers et les composants distribués Inconvénients et limites du développement à base de composants distribués Principes et objectifs des Services Web SOAP Avantages et limitations Les technologies des Services Web SOAP SOAP, WSDL, UDDI Vers une architecture orientée service (SOA) Le standard WS-I et les extensions WS-* Page 1/3 - Développement de Services Web en Java - Mise à jour le 13/02/2013 Concepteur : ENI SERVICE – Diffuseur : Groupe ARKESYS Introduction aux architectures REST • • • • • • Les concepts fondamentaux de REST (REpresentational State Transfer) Utilisation de REST dans une architecture informatique. Architecture client/serveur HTTP. Structure d'une requête et d'une réponse HTTP. L'identification des ressources par URI. SOAP vs. REST Les formats de données utilisables XML, HTML, JSON, ATOM… Développement de Services Web SOAP en Java • • • • • • • • • Java et le langage XML API d'analyse et de transformation : JAXP, DOM, SAX Structure des programmes Java utilisant XML Java et les Services Web JAX-RPC, JAX-WS, la norme JSR-109 Les variations du développement en fonction du type de conteneur Java EE Moteur SOAP intégré ou moteur SOAP autonome Panorama des moteurs SOAP (Axis, CXF) et leur configuration Services Web JAX-RPC (J2EE 1.4) et JAX-WS (Java EE 5) Différence dans le processus de développement Écriture de composants Java destinés à être invoqués en tant que Services Web Contraintes de développement Choix des types de composants Java (JavaBeans, EJB, …) Génération des contrats WSDL pour les composants Java Structure et principe des documents WSDL Utilisation d'outils pour la génération WSDL/Java et Java/WSDL Anatomie des messages SOAP Gestion des erreurs Java (Exceptions) avec SOAP Fault Fonctionnalités avancées Développement de Services SOAP asynchrones Gestion des pièces jointes dans les messages SOAP Publication de Services Web dans les services UDDI Notion de Services Web dynamiques et statiques Écriture de clients de Services Web SOAP • • Génération de classes de proxy à partir des contrats WSDL Utilisation du proxy pour le développement du client Déploiement de Services Web SOAP • • • La sécurisation des Services Web Authentification, autorisation, cryptage, WS-Security Packaging des applications Services Web Publication de Services Web sur un serveur d'applications Développement de Services REST en Java • • • Présentation de JAX-RS Présentation de la spécification JAX-RS. Les annotations JAX-RS. Les implémentations JAX-RS Présentation du projet Jersey. Présentation d'Apache CXF Développement d'une classe ressource. Configuration d'une implémentation JAX-RS Page 2/3 - Développement de Services Web en Java - Mise à jour le 13/02/2013 Concepteur : ENI SERVICE – Diffuseur : Groupe ARKESYS Mise en œuvre des annotations JAX-RS Utilisation des formats de données (XML, Text, JSON, …) Les clients REST • • Le client le plus simple : le navigateur Web Une application Java cliente L'API cliente de Jersey Une alternative : la bibliothèque Commons HTTP Client Déploiement d'un service REST • • • Les problématiques liées à la sécurité des services. Sécurisation des services REST avec les API de sécurité Java EE Publication d'un service REST Méthodes et moyens : • • • • Explications théoriques suivies de pratiques guidées puis mises en autonomie 1 vidéoprojecteur par salle Stage en mode « In Class » : 2 téléviseurs et 1 caméra HD par salle 1 ordinateur par stagiaire Méthodes d’évaluation des acquis : • • Exercices de synthèse et d’évaluation Evaluation de fin de stage Profil formateur : Nos formateurs bénéficient d’un suivi de compétences aussi bien au niveau technique que pédagogique. Support stagiaire : • • Support papier ou électronique (dématérialisé) Les exercices d’accompagnement peuvent être récupérés sur clef USB Page 3/3 - Développement de Services Web en Java - Mise à jour le 13/02/2013 Concepteur : ENI SERVICE – Diffuseur : Groupe ARKESYS