Web Oriented Architecture :
l’état de l’art

REST, Ressources, Uniform Interface, URI, HyperMedia, HATEOAS, Semantic Web, WebAPI, GraphQL, Stateless, Idempotence, Transactionnel CAP, etc.
Sommaire

LE MOT DE L’INTERVENANT

A travers ce séminaire, je souhaite vous aider à comprendre les...

A travers ce séminaire, je souhaite vous aider à comprendre les techniques de construction d’Applications hautement disponibles, infiniment scalables, à temps de réponse garanti, sécurisées en profondeur et qui supportent une croissance rapide du business dans un modèle à coûts maîtrisés. Mon approche pédagogique est basée sur deux principes. Le premier étant ma capacité à aborder tous les sujets du séminaire de manière progressive, depuis les enjeux métiers jusqu’aux aspects techniques les plus pointus, illustrés par du code source en cas de besoin. Le second étant l’hyper-interactivité qui consiste à permettre aux participants de poser des questions à tout moment du séminaire, d’en débattre et en faire profiter l’ensemble des participants.

Habib GUERGACHI
Vingt-cinq ans d’expérience en Delivery d’Architectures logicielles complexes auprès de multinationales, de géants du Web et de startups. Douze ans d’expérience en conseil auprès des DG, DSI, DRH et Directions Métiers. Fondateur de Zengularity SA. Angel Investor dans Play framework, Libredemat et prismic.io. Administrateur de Foyer SA (LU) et conférencier exclusivement chez Capgemini Institut depuis 1998.
Lire la suite Cacher le texte

 

 

La WOA est adoptée dans la majorité des applications et plateformes digitales les plus réputées. Pourtant les entreprises mais aussi les prestataires informatiques continuent à sous estimer la complexité de ces architectures. Ils la résument souvent à HTTP et produisent ainsi des applications peu performantes, peu évolutives et coûteuses à sécuriser.

Après ces 2 journées, vous acquerrez des connaissances pratiques pour concevoir des applications aux standards et pratiques les plus modernes en d’architectures Web.

Vous accéderez aux secrets des géants du Web et des startups à succès, aussi bien américains que chinois, dans la fabrication de leurs Web applications, leurs Web APIs et comment elles sont intégrées à leur applications mobiles.

Vous découvrirez comment créer une ontologie métier et des protocoles fonctionnels pour fabriquer des SI évolutif par construction ("By Design"). Ainsi que les bonnes pratiques pour bâtir des applications modernes totalement ouvertes vers l’extérieur mais sécurisées, performantes et scalables à l’infini, et peu sensibles à l’obsolescence technologique.

Vous apprendrez en profondeur comment adopter, intégrer et composer des concepts, des technologies et des bonnes pratiques aussi variées tels que : HTTP, URI, REST, Hypermedia, CAP, etc. .

Enfin, vous approfondirez les pratiques éprouvées pour faire évoluer l’existant et le legacy vers les architectures WOA. Des études de cas pratiques mettront en exergue la méthodologie, la culture, l'organisation ainsi que la structuration des projets de transformation de l’existant vers la WOA.



Architectures SOA vs WOA


L’alternative au modèle «  Enterprise  »

  • Les risques à ouvrir totalement un SI basé sur les technologies «  Enterprise  ».
  • Le SI Web comme alternative au SI «  Enterprise  ».
  • Introduction au SI Web ou «  Non-Enterprise  ».

Les limites de la SOA

  • Le découplage tridimensionnel entre Services.
  • Les raisons de l’échec de SOAP/WSDL/WS-*.
  • La réalité opérationnelle des plateformes commerciales dites SOA.

Le transactionnel WOA et SOA.

  • Comment la WOA et la SOA proposent-elles de sécuriser un SI complètement ouvert ?
  • Le coût unitaire de la transaction en modes WOA ou SOA.
  • La SOA face à la gestion de l’obsolescence technologique.

Exemples de SI orienté WOA

  • Application Platform : Facebook, Google, Amazon, Salesforce, etc.
  • API Platform : Twitter, PayPal, prismic.io, etc.
  • Exemple de modernisation basée sur la WOA d’un SI bancaire.

Architectures orientées Ressources


REST (Representational State Transfer)

  • Les principaux styles d’Architecture.
  • Le style d’Architecture REST.
  • Quelles sont les alternatives à REST ?

URI (Uniform Resource Identifier)

  • Le concept de «  Ressource  ».
  • Exemple de Ressources par type.
  • Quelles limites au modèle orienté Ressources ?

HTTP

  • Fonctionnement du protocole HTTP.
  • Analyse des propriétés méconnues du protocole.
  • Les métadonnées HTTP.

Hypermédia

  • Les ruptures introduites par le concept de l’Hyperlink.
  • Les conséquences de la combinaison Hypermédia et URI ?
  • Comment construire des Workflows complexes en Hypermedia ?

Composants transactionnels


Rôle de l’Application Server

  • Y a-t-il encore besoin d’un serveur d’Applications ?
  • Quelles alternatives au serveur d’Applications ?
  • La montée en charge sans serveur d’Applications ?

Session utilisateur

  • À quoi sert une session utilisateur ?
  • Quel intérêt à gérer la session côté serveur ?
  • Impact de la session sur la scalabilité.

Transactionnel

  • Les transactions ACID.
  • Les limites de l’approche ACID sur le Web.
  • L’alternative à ACID dans les Architectures WOA.

Théorème CAP

  • Introduction au théorème CAP.
  • La consistance à terme appliquée chez Google et Amazon.
  • Impacts culturels chez les architectes et les utilisateurs.

Services métier en WOA

  • Caractéristiques d’un service métier en WOA.
  • Mode d’invocation et gestion de transaction longue.
  • Comment sécuriser un service ouvert au public ?

Stateless vs Statefull

  • Objets métiers «  Stateless  » vs «  Statefull  ».
  • Les stratégies pour gérer la session utilisateur.
  • Les cas d’exception ou le Stateless est impossible.

Gestion du Cache

  • Les principaux types et niveaux de Cache.
  • Techniques de «  Caching  » multimédia.
  • Quand recourir à des infrastructures de Caching dédiées ?

Répartition de charge

  • Introduction à l’affinité de sessions.
  • Techniques de répartition de charges sur front Stateless.
  • Les critères à respecter pour obtenir une scalabilité linéaire.

Intégration d’Applications


Intégration des services

  • Le cœfficient d’intégrabilité d’un Service.
  • Principaux formats standards d’échanges entre Services.
  • Technologies purs standards pour intégrer des Services.

Les concepts évolués

  • Idempotence fonctionnelle.
  • Transactions de compensation.
  • Stratégies de gestion de l’échec «  Embrace Failure  ».

Intégration par le Web

  • Comment intégrer deux Applications qui ne se connaissent pas.
  • Gestion de la cohérence entre fragments applicatifs.
  • Techniques de propagation du contexte sécurité et transactionnel.

Orchestration de services

  • Pourquoi l’Hypermedia est une alternative au Workflow ?
  • L’Orchestration de multitude de Services distribués avec HATEOAS.
  • Comment développer une vision unifiée de Services distribués ?
  • Comment faire interopérer des services technologiquement hétérogènes ?

Microservices

  • Critères formels d’éligibilité au Microservice.
  • Quelle granularité optimale pour un microservice ?
  • Comment faire interopérer fonctionnellement des microservices ?

API (Application Programming Interface)

  • Définition d’une API Web.
  • Quel lien entre Service, Microservice et API ?
  • Comment faire interopérer des microservices et des APIs.
  • Exemple d’API : interface, documentation, communauté, etc.

Interfaces Homme-Machine


Développement d’applications Web front

  • Les éléments sémantiques d’une page Web transactionnelle.
  • Formulaires Web transactionnels modernes.
  • Le transactionnel temps réel et stream.

Rôle de JavaScript

  • Les zones de confort de Javascript.
  • Traitements métier complexes avec JavaScript.
  • Le point sur les compétences et expertises sur le marché.

Frameworks front

  • Technologies front modernes : Web, natives, hybrides, PWA, etc.
  • Les principales technologies : Angular, React, Vue, etc.
  • Les critères de choix et les compétences nécessaires.
  • Assemblage d’applications
  • Les innovations dans les technologies «  Web Front  ».
  • Comment le développement Web se structure côté serveur ?
  • Spécificités des profils Web développeur front.

Applications Web mobiles

  • Applications Web et Hybrides.
  • Introduction aux Applications PWA (Progressive Web Apps).
  • La réponse du Web aux spécificités mobiles évoluées.
  • Les techniques d’optimisation des performances

Accès aux données


Les limites de relationnel

  • Le Data Store relationnel : un goulet d’étranglement physique.
  • Les limites du relationnel dans des Architectures WOA.
  • Les risques du Mapping Objet/Relationnel en Transactionnel lourd.

Bases de données NoSQL

  • Les techniques de modélisation de données non structurées.
  • Les bonnes pratiques de déploiement et d’exploitation de gros volumes.
  • Introduction aux architectures noSQL hybrides.

Répartition de l’accès aux données

  • Introduction aux pratiques de Sharding.
  • Impact sur la conception et la programmation des applications
  • Les contraintes et les pré-requis en exploitation.

Architectures complexes de données

  • Relationnel vs NoSQL : zones de confort et limites.
  • Quel type de Data Store pour quel problème d’Architecture ?
  • Est-il possible d’adopter exclusivement du NoSQL ?

Sécurité fonctionnelle


Authentification

  • La gestion du SSO par authentification distribuée.
  • La gestion des droits et des habilitations en mode distribué.
  • Architecture de délégation d’authentification.

Habilitations

  • La négociation d’habilitations inter-Applications avec OAuth.
  • La propagation d’habilitations entre Applications.
  • Exemple de la gestion d’habilitation dans un SI distribué.

Sécurité applicative

  • Les limites de la sécurité périmétrique.
  • La sécurité en profondeur et la sécurité applicative.
  • Introduction à la «  Security By Design  ».

Gestion des exceptions

  • Conception fonctionnelle des ruptures transactionnelles.
  • Les standards Web pour gérer les exceptions et les rejets
  • Exemple de reprise suite à un échec de transaction de paiement et crash d’application.

Déploiement et administration


Cloud et WOA

  • Avantages de la WOA dans les architectures Cloud.
  • Les spécificités de la WOA dans un Cloud privé.
  • Les points de vigilance pour basculer vers la Cloud public.

SaaS

  • Les critères d’éligibilité d’une application WOA au SaaS.
  • Les problèmes d’interopérabilité entre Applications SaaS.
  • Les risques à ouvrir en SaaS des Applications non WOA.

PaaS

  • Comment automatiser le cycle de vie d’un service ?
  • Comment gérer des services Web techniquement hétérogènes.
  • Comment gérer automatiquement la montée en charge ?
  • Comment faire de la mise en production un non évènement ?

Panorama des outils et des technologies


Ce chapitre dresse un panorama critique de l’offre actuelle du marché des outils, Applications et services basés sur le concept WOA : stratégie des éditeurs, typologie des acteurs et des offres, caractéristiques des principaux produits et principales contre-indications respectives, etc.