Web Services, Microservices et Web API:
l’état de l’art

Les standards, l’architecture, la réalité des offres commerciales, la mise en œuvre pratique
Sommaire

Très pratique, illustré par de nombreux exemples, ce séminaire apporte des réponses pragmatiques et directement opérationnelles pour concevoir et déployer un SI fondé sur les Web Services , les Microservices et ouvert sous la forme de Web APIs interopérables.

  • Définitions et exemples métiers concrets de Service, Web Service, Microservice et Web API.
  • Comment mettre en œuvre des Web Services, des APIs interopérables, performants, scalables et sécurisés ?
  • Impact des Web Services sur l’existant : composant, objets, EAI, ESB, Portail, etc.
  • Que penser de la maturité des offres du marché ?
  • Les choix technologiques des grandes platesformes du web Google, Amazon, PayPAl, Twitter, Salesforce, etc.
  • Retours expériences de construction d’un SI bancaire producteur/distributeur.


Les Web Services


Web Services

  • Les Web Services vus par l’utilisateur final.
  • Quelles différences entre un Web Service et une application Web.
  • Fonctionnement d’une interaction Web Services.
  • Un exemple détaillé de conception et d’implémentation.

Microservices

  • Les limites des Web Services en architectures complexes.
  • Introduction au concept des Micro-Services.
  • Les caractéristiques d’un micro-service.
  • Les limites de l’orchestration de micro-services.

Web API

  • Définition d’une API
  • Les différences entre un service et une API.
  • Les types d’APIs : P/R, R/R, Stream, etc.?

Design d’API

  • Pièges à éviter pour construire une API à scalabilité infinie.
  • La problématique de versioning d’API et de compatibilité ascendante.
  • Les pratiques de documentation des API et annuaire d’API.

Les Web Services et API dans le SI de l’entreprise

  • Quel impact des Web Services et API sur les échanges internes à l’entreprise et BtoB ?
  • Quels coûts de conception, développement et exploitation ?
  • Les risques liés à la prolifération non contrôlée des APIs dans l’entreprise.

Les standards de base


HTTP

  • Rappel des principes du protocole HTTP.
  • Quel intérêt à utiliser HTTP comme un protocole applicatif ?
  • La place de HTTP dans les Web Services.

XML

  • Quelle est la place de XML dans les Web Services ?
  • Quels sont les avantages et les limites de XML ?
  • Quelles alternatives à XML ?

JSON

  • JSON vis-à-vis de XML.
  • Exemples d’utilisation de JSON.
  • Quelle interopérabilité entre JSON et XML ?

SOAP

  • Principes de fonctionnement de SOAP.
  • Les middleware qui supportent SOAP ?
  • Quels liens entre SOAP, HTTP et XML ?

WSDL

  • Présentation du langage WSDL. État des lieux et perspectives de WSDL ?
  • Les alternatives à WSDL pour décrire des Web Services.
  • Quel lien avec SOAP ?

Hypermedia

  • Introduction au concept hypermedia
  • Les liens sémantiques et hyperlink.
  • Que penser de HATEOAS ?

Concevoir une architecture distribuée


ROA (Rest Oriented Architecture)

  • Principes de l’architecture REST.
  • REST et SOAP : complémentaires ou concurrents ?
  • Quelle standard de description de Services pour REST ?

WOA (Web Oriented Architecture)

  • Rôle des Web Services dans les architectures Web.
  • Introduction à la WOA (Web Oriented Architecture) ?
  • Quels choix d’architectures aujourd’hui : WS-*, SOA, WOA ou ROA ?

Les Web Services vs middlewares existants

  • Les Web Services face aux middlewares connectés.
  • Les Web Services et API face aux MOM, ESB et EAI.
  • Comment les Web Services s’intègrent aux middlewares classiques ?

API Management et découverte de services

  • Quelle topologie pour une architecture de Web Services ?
  • Les différents modèles de découverte dynamique des services.
  • Les bonnes pratiques pour créer un annuaire de services.

Web Services vs EAI vs ESB

  • Quelles sont les difficultés pour bâtir un EAI basé sur les Web Services ?
  • L’EAI revisité par les Web Services : connecteurs, transport, routage, transformation et BPM.
  • Web Services : EAI du « pauvre » ou EAI ouvert et standard ?

SOA vs WOA vs Microservices vs API

  • Quelle zone de confort pour chacun des concepts ?
  • Quelle interopérabilité entre les 3 concepts ?
  • Démarche méthodologique de mise en œuvre réaliste.

Sécurité des Web Services et Web APIs


Sécurité des Web Services

  • Comment aborder la sécurité des Web Services ?
  • Comment simplifier la sécurité des Micro-Services ?
  • Comment contrôler finement les accès aux contenus des messages ?
  • Les meilleures pratiques de déploiement de services Web sécurisés.

Sécurité des Web APIs

  • Comment concilier ouvertures de SI et sécurité.
  • Introduction à la sécurité applicative.
  • Pratique de détection de « fraud-patterns »
  • Les limites de sécurisation des Open Web APIs ?
  • Quel est le niveau de sécurité optimale atteignable ?

La sécurité WS-*

  • Intérêts et limites des standards PKI.
  • Les contraintes de la gestion des droits sur des services distribués.
  • Intérêts et limites du filtrage XML.
  • Gestion de la fédération d’identités avec SAML, OAuth, OpenID.
  • Que penser de WS-Security, WS-Security-Policy, WS-Trust, WS-Privacy, etc. ?

Fiabilité et performances


Sécurité des échanges de messages

  • Comment concevoir et mettre en œuvre des interactions Web Services ou API sécuriées ?
  • Comment concevoir et déployer une API publique résiliente aux attauqes de sécurité ?
  • Les limites des standards technologiques dans la construction de APIs modernes
  • Quel niveau de qualité de service (message ordering, no duplicates, guaranteed delivery) ?

Robustesse

  • Les bonnes pratiques de design d’architectures robustes.
  • Comment diagnostiquer la robustesse ou la fragilité d’une architecture distribuée ?
  • Tolérance aux pannes, fautes partielles, reprises sur incidents avec les Web Services.

Performances des interactions Web Services

  • Quels sont les facteurs majeurs de la performance ?
  • Comment mesurer les performances et la capacité de montée en charge ?
  • Comment concevoir des services performants et offrant une montée en charge satisfaisante ?

Conception et déploiement de transactions


Principes transactionnels dans un système distribué

  • Rappel des transactions ACID distribuées.
  • Introduction au théorème CAP.
  • Applications sur des cas concrets.

Transactions Web Services et APIs

  • Comment gérer une transaction longue entre plusieurs acteurs ?
  • Introduction aux principes de relaxation transactionnelle.
  • Avantages et limites de l’approche par « transaction de compensation ».

Transactions Microservices

  • Comment maîtriser la granularité des microservices ?
  • Quels sont les anti-patterns et les pièges à éviter ?
  • Les limites de l’interopérabilité entre microservices hétérogènes.

L’administration des microservices

  • Environnements de développement, de certification et de supervision.
  • Tester les microservices : conception de services testables.
  • Comment faire évoluer et gérer les versions des microservices ?

Description de processus et orchestration


BPEL (Business Process Execution Language)

  • Quel positionnement par rapport aux standards XPDL, BPML, BPMN, etc. ?
  • État des lieux du support de BPEL par les produits du marché.
  • Dans quels cas doit-on utiliser un moteur d’orchestration de Web Services ?
  • Quelle alternative à BPEL pour l’orchestration ?

API Management

  • Rôle de l’API Manager dans l’orchestration
  • Les limites de localisation des traitements dans un API manager
  • Les zones de confort de l’API Manager pour les API et les microservices.

Panorama du marché des outils Web Services et Web APIs


Ce chapitre dresse un panorama critique de l’offre du marché : typologie des acteurs et de l’offre de standards, de normes et de produits, caractéristiques des principaux produits dans chaque catégorie, évolutions fonctionnelles et techniques attendues, points forts et limites, domaines d’application privilégiés et principales contre-indications respectives, etc.