Développer des Web Services en Java
Les Web Services standardisent l'utilisation de technologies universelles, comme XML ou HTTP, dans le but d'invoquer des services à distance, d'échanger des informations, mais aussi de réaliser l'intégration de technologies diverses au sein d'architectures hétérogènes.
Ce cours vous permettra non seulement de savoir développer des Web Services ou des clients de Web Services mais aussi d'être capable de décider si vous avez besoin de mettre en place des Web Services dans votre système d'information et avec quelles options.
Travaux pratiques :
Une partie importante de cette formation est dédiée aux travaux pratiques au cours desquels vous allez écrire et déployer des Web Services en utilisant différents Bindings. Vous aurez à gérer différents types de retour y compris des fichiers dont il faudra optimiser l'échange. Vous testerez vos services manuellement et automatiquement avec des clients de test comme SOAP UI. Vous testerez aussi l'interopérabilité de vos Web Services et apprendrez à favoriser un faible couplage en supportant des appels asynchrones. Enfin vous reproduirez l'exemple réalisé précédemment avec SOAP en utilisant REST.
Vous allez apprendre à :
- Comprendre le fonctionnement et les cas d'utilisation des Web Services
- Créer et lire des messages SOAP
- Décrire une interface de Web Services en WSDL
- Tester un Web Service
- Choisir le mode et le style des messages
- Concevoir et implémenter des Web Services en Java
- Utiliser des Web Services tiers (déjà publiés)
- Intégrer la gestion d'état, les pièces jointes, la sécurité, les transactions
- Évaluer les standards de fait et leurs alternatives
- Appréhender la notion de service REST et les architectures orientées ressources (ROA)
Méthode pédagogique :
70% de travaux pratiques
Audience :
Développeurs, architectes et chefs d'équipe
Pré-requis :
- Compétences XML et Java ou avoir suivi les cours EXML et JOD ou IJOP
Programme :
- Introduction aux Services Web
- Définitions
- Raisons de recourir aux Web Services
- Architecture et outils
- Le protocole SOAP
- Structure des messages SOAP
- SOAP Bindings
- SOAP Headers
- RPC ou document
- Literal ou Encoded
- SOAP et gestion d'erreur
- WS-I et Basic Profile
- Les contrats WSDL
- Besoin de description
- Spécification
- Génération et customisation
- Code First ou Contract First
- JAX-WS
- Piles SOAP
- API JAX-WS
- Annotations pour Web Services
- Architecture et conception
- Notion de service
- Gestion d'état et distribution
- Design Patterns
- Référencement de services
- Points techniques
- Bindings
- Invocation asynchrone
- Pièces jointes
- Notification / Callbacks
- Compression
- Sécurité protocolaire
- Guide de lecture WS-*
- Introduction
- WS-Addressing
- WS-Policy
- WS-ReliableMessaging
- WS-Security
- WS-*
- Web Services RESTful
- Critiques des services SOAP et RPC
- Architectures orientées ressources
- JAX-RS
- WADL
- API Client