SOA - Mise en oeuvre en Open Source
Qualiopi
Objectifs pédagogiques
A l'issue de cette formation, vous serez capable de :
- Appliquer une démarche SOA dans le cadre d'un système d'information
- Utiliser des techniques nécessaires sous-jacentes aux produits mis en oeuvre dans le cadre de l'implémentation SOA
- Mettre en place la norme JBI, le langage XML, WSDL et SOAP ainsi que le langage d'orchestration BPEL
- Distinguer des normes JEE telles que JAX-WS, JNDI, REST, JMS, JMX.
Programme de la formation
Jour 1
La démarche SOA
- Périmètre d'une démarche SOA (Architecture Orientée Service) en entreprise
- Les acteurs concernés
- La démarche SOA dans le cadre de l'urbanisation du système d'information
- Une SOA par petites étapes
- Les limites des architectures synchrones
- La notion de service
- Granularité des services
- Des services CRUD aux services élaborés
- Le contrat de service
- Les limites des architectures synchrones
- La composition de services
- La démarche SOA dans l'esprit du Cloud
Exemples de travaux pratiques (à titre indicatif)
- A partir d'une problématique d'entreprise, identifier les services éligibles à exposer leur contrat dans une architecture de type SOA
- Etudier pour chacun d'eux leur contrat de service
Les composants d'une architecture de type SOA
- Les quatre grands types d'architecture SOA
- Type 1 : SOA à base de services d'intégration graphique
- Type 2 : SOA à base de services de métier et de processus
- Type 3 : SOA à base de "mapping" de données
- Type 4 : SOA global et complet
- Rôle du serveur d'application dans une SOA
- Rôle des MOM (Middlewares Orientés Message) dans une architecture SOA
- Rôle de l'ESB (Enterprise Service Bus) dans une architecture SOA
- Rôle des services Web dans une architecture SOA
Exemples de travaux pratiques (à titre indicatif)
- Sur la base d'un schéma cartographiant les applicatifs d'une entreprise et ses services, identifier les formes de SOA susceptibles d'être choisies pour améliorer la réutilisation des composants
Jour 2
Les techniques utilisées dans une architecture SOA
- Représentation XML et JSON
- Approfondissement des schémas XSD
- Les espaces de nommage et les différents types
- Déclarations de données avec le XSD
- Quelle différence entre
- SOAP et REST
- XML et JSON
- Pourquoi l'un plutôt que l'autre ?
- Le WSDL (Web Service Description Langage)
- Son rôle
- Les liens avec le XSD
- Les WSDL abstraits et concrets
- Le WADL (Web Application Description Language), ou comment décrire des Web Services REST
- Rôle des messages SOAP
- Le routage des messages
- L'utilité des transformations XML dans une infrastructure de type SOA
- Possibilités
- Introduction aux concepts de base
- XSLT
- XPath
- Templates
- Le langage BPEL (Business Process Execution Language)
- Présentation du langage BPEL
- Orchestration de services avec le moteur BPEL
- Le "mapping" des données
- Utilisation de la transformation
- Les outils
Exemples de travaux pratiques (à titre indicatif)
- En utilisant les produits de la suite Altova XMLSpy et MapForce, comprendre les structures XML et JSON
- Exploiter le WSDL et les schémas XSD afin d'accéder aux contrats de WebService
- Comprendre la structure d'un fichier BPEL et l'exécuter au sein d'un moteur d'orchestration comme OpenESB
Jour 3
JBI, standard SOA
- La spécification JBI (JSR 208)
- Le NMR (Normalized Message Router)
- Les liens entre JBI et WSDL
- Les messages JBI
- La notion de "binding components"
- Les traitements au sein de JBI avec les SE (Services Engines)
- Les SE dédiés BPEL, XSLT...
- Le packaging et le déploiement de composants JBI
Exemples de travaux pratiques (à titre indicatif)
- Installation de OpenESB
- Configuration et déploiement d'un composant JBI au sein de OpenESB
Les principaux outils Open Source
- JBoss ESB
- Petals
- Mule
- Open ESB (focus sur ce produit)
- Les moteurs
- BPEL
- Apache ODE
- Open ESB
- Les frameworks Web Services, tels que CXF ou Axis
- Les MOM de type JMS, tel qu'ActiveMQ
Exemples de travaux pratiques (à titre indicatif)
- Installation de Mule et de son outil de développement
- Compréhension de son interface d'administration
- Compréhension de ses nombreuses fonctionnalités
- Comparaison avec OpenESB, déjà installé
Jour 4
Les services Web
- Définition d'un Web Service
- Différents types de Web Service
- Les représentations de données, JSON et XML
- Le produit SoapUI
- Exemples d'implémentation d'un Web Service
Exemples de travaux pratiques (à titre indicatif)
- Conception d'un Web Service SOAP
- Récupération de son WSDL et installation de celui-ci dans OpenESB
- Appel de ce Web Service depuis une orchestration simple OpenESB
- Parallèlement, utilisation de SoapUI afin d'appeler le Web Service préalablement développé
L'architecture REST
- Histoire et présentation de REST
- Différences entre REST et RESTful
- Contraintes de REST
- Problèmes d'optimisation de REST
- Exploitation des verbes HTTP dans REST
- Mise en oeuvre de Web Services REST dans JEE
- Appel de Web Services REST depuis des clients JEE et Web
- Représentation des données et REST
- Protocole de représentation JSON
- Utilisation de REST dans une architecture SOA
Exemples de travaux pratiques (à titre indicatif)
- Conception d'un serveur de service REST en Java
- Appel de ce service REST depuis de multiples clients implémentés dans divers langages, et depuis SoapUI
La transformation de données
- L'utilité des transformations XML dans une infrastructure de type SOA
- Possibilités
- Présentation du langage XSLT
- Templates
- Verbes de gestion XSLT
- Exemple de transformation de données
- Exemple d'outils de transformation et de "mapping"
Exemples de travaux pratiques (à titre indicatif)
- Ecriture de documents simples XSLT afin de transformer des données du format XML vers le même format, mais d'un vocabulaire à un autre
- Utilisation de ce fichier de transformation pour utilisation par des produits de mapping comme MapForce
Jour 5
JMS et JNDI
- Positionnement d'un MOM JMS dans une SOA
- Introduction aux concepts JMS
- Types de destinations
- Formats de messages
- Envoi et réception...
- Lien entre un ESB et un Middleware JMS
- Présentation de JNDI
- Liens entre JMS et JNDI
Exemples de travaux pratiques (à titre indicatif)
- A partir de plusieurs projets Java générant des données dans des Queue et Topic, récupération de ces données dans des projets Java les lisant
- Utilisation de serveurs JMS comme JORAM
Le routage intelligent de messages
- Principes du routage basé sur le contenu
- Exemple de routage dans OpenESB
- Exemple de routage dans Apache Camel
- L'intégration avec un ESB d'un appel à un Web Service et à des services extérieurs et internes (SE et BC)
L'orchestration des services
- Orchestration des services Web
- Langage BPEL
- Présentation du langage BPEL
- Conception d'une orchestration complète
- Test exécution et déploiement d'une orchestration BPEL
Exemples de travaux pratiques (à titre indicatif)
- Approfondissement de la structure d'un fichier BPEL généré avec l'outil OpenESB
- Mise au point et exécution d'une orchestration de plusieurs Web Services, certains Web Services fournissant des données alimentant d'autres Web Services
Présentation de JMX
- Présentation de la norme JMX
- Les outils d'administration JMX
- Création d'un composant JMX
- Administration de composants JMX
Exemples de travaux pratiques (à titre indicatif)
- A partir de composants de type JavaBean écrits, ajout des interfaces permettant une administration via JMX
- Administration de ces composants via Jconsole
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation

Proposé par
M2I
"Un leadership dans le domaine de la formation"
À partir de
3800 €
Durée
35h en 5 jours
Localisation
Partout en France

Proposé par
M2I
À partir de
3800 €
