Accueil > Développement informatique et DevOps > Développer des Web Services en Java
Formation #DEV216

Formation Développer des Web Services en Java

Durée : 5 jours

Code : DEV216


Prochaines dates programmées :

Du 25 au 29 Mars 2024

Du 15 au 19 Juil. 2024

Du 11 au 15 Nov. 2024

Fin d'Inscription :
Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email : Au minimum 15 JOURS OUVRÉS avant la date de formation.
Si vous avez un besoin URGENT et que vous souhaitez une date de formation plus proche que les sessions programmées (minimum 15 à 20 jours ouvrés à date de votre demande)

Objectifs

  • Maîtriser le concept d'architecture orientée services
  • Comprendre l'utilité et les enjeux actuels des Web Services
  • Savoir utiliser le framework Java CXF afin de développer des Web Services
  • Être capable de concevoir une architecture distribuée
Programme
1/ Comprendre ce que sont les Web Services
  • Présentation générale d'un Web Service
  • Comprendre les architectures distribuées
  • Appréhender la granularité des services
  • Connaître des principes de conception
  • SOA ou REST : les distinguer
  • L'interopérabilité des services (BasicProfile et WS-I)
2/ Le lien entre Java et les Web Services
  • Visualiser l'offre Java en terme de Web Services
  • Présentation de Java et WS-* (JAX-WS)
  • Présentation de Java et REST (JAX-RS)
  • Le framework Java Apache CXF
3/ XML et les API Java
  • Avantages de XML
  • La place du XML par rapport aux Web Services
  • Validité d’un document XML, DTD et XML Schema
  • Parseurs XML, SAX, DOM, XSD et StAX
  • L’API JAXP
  • Namespaces et typage
  • Langages à balises
  • Echange de données, XML et SOAP
  • Offre Java/Web Services
4/ REST
  • Principes de REST
  • URI et opérations de base
  • Élaborer une architecture RESTful avec Java et CXF
5/ Le protocole SOAP
  • Le protocole SOAP : protocole de RPC orienté objet des Web services WS-*
  • Faire le lien entre RPC, XML et SOAP
  • Comprendre les principes d'encodages et de communications SOAP
  • Appréhender la couche transport (SMTP, HTTP, JMS)
  • Présentation du client SOAP soapUI
  • CXF pour le développement de Web Services
  • La gestion de formats binaires via MTOM
6/ Langage WSDL
  • Présentation du Web Services Description Language (WSDL)
  • Visualiser la structure d'un WSDL
  • Générer du code
  • Types de données
  • Définir des messages
  • Protocoles d’échange associés
  • Interface et localisation du service
  • Encoder des paramètres
  • Présentation des définitions et opérations abstraite
  • Présentation des définitions et opérations concrètes
7/ Mise en place des Web Services avec SOAP/WSDL et REST
  • Construire des Web Services et des clients avec JAX-WS
  • Types supportés par JAX-WS et JAX-RS
  • Outils wsgen
  • Projet Open Source SOAP du groupe Apache
  • Utilisation de SOAP dans des contextes RPC
  • Les Web Services depuis des terminaux mobiles
  • Possibilités et restrictions
8/ Publication et recherche de Web Services
  • Rôles et limites de l’annuaire UDDI
  • Accès et administration de l’annuaire UDDI
  • Annuaire : Runtime, Design-time
  • Mettre à disposition des Web Services via des annuaires UDDI
  • Programmation UDDI
  • Structure de données UDDI
  • Vue d'ensemble et architecture de JAXR
  • Créer et exécuter un client JAXR
  • Utiliser WSDL avec UDDI
9/ Java EE
  • L’API JAX-WS
  • Requis d’un endpoint JAX-WS et implémentation
  • Déploiement du service dans une plate-forme JavaEE
  • Développement du client
  • Types supportés par JAX-WS, Association XML Schema et classes Java
  • StAX API
  • SOAP avec Attachements
  • EJBs
10/ Projets CXF, JAX-WS RI et Axis
  • Présentation des mécanismes des principales boîtes à outils SOAP
  • Architecture et composants : CXF, JAX-WS RI et Axis
  • Installer, configurer et déployer les services SOAP/WSDL
  • Consommer et publier des Web Services (XML/Java)
  • Utiliser les annotations spécifiques à JAX-WS (JSR 224)
  • Utiliser les annotations pour le mapping Java/XML
  • Obtenir le WSDL d'un service déployé
  • Construire un WSDL
  • Outils : TCPMon, SOAP Monitor, SOAP UI version OSS
11/ Gérer les transactions
  • ACID
  • Protocole de commit à deux phases
  • JTA
  • Modèle transactionnel
  • Business Transaction Protocol (BTP)
12/ Les enjeux des Web Services asynchrones
  • Savoir concevoir un Web Service asynchrone
  • Distinguer le polling et le Callback
  • Une alternative à la couche de transport : WS-Addressing
  • Publish et Suscribe, comprendre les concepts
13/ Projet Jersey pour les services REST
  • Les mécanismes de mapping entre Java et le monde REST
  • Architecture et composants du projet Jersey
  • Installer, configurer et déployer les services REST
  • Consommation et publication des Web Services REST
  • Utiliser les annotations spécifiques à JAX-RS (JSR 311)
  • Utiliser les annotations pour le mapping Java/XML
  • publier des Services REST (JAX-RS et Jersey)
  • Implémentations alternatives à Jersey (Restlet...)
  • Outils : TCPMon, SOAP Monitor, SOAP UI version OSS
14/ Sécuriser un web services
  • Niveaux de sécurité
  • Gestion de l'authentification dans un web service
  • Cryptographie au niveau des messages
  • Outils Java associés
  • Authentification avec les en-têtes SOAP
  • Extension de la sécurité SOAP
  • WS-Security
  • Signatures digitales et XML
  • Toolkit Java
  • Gérer les clés
Approche Pédagogique

Approche Pédagogique

  • Pédagogie très opérationnelle fondée sur l'alternance entre théorie et pratique
  • Cas pratiques
  • Remise d’outils
  • Echanges d’expériences
Public Cible

Personnes Visées

  • Architectes Web
  • Développeurs Web
  • Chefs de projets techniques
Dates

Dates

  • Du 25 au 29 Mars 2024
  • Du 15 au 19 Juil. 2024
  • Du 11 au 15 Nov. 2024
  • Fin d'Inscription :
    Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email : Au minimum 15 JOURS OUVRÉS avant la date de formation.