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

Architectures, standards, technologies, outils, meilleures pratiques.
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
Fondateur et CEO Zengularity, Associé et CTO du Groupe Fabernovel. Private Investor (prismic.io, Lightbend, Libredemat, etc.). Administrateur Foyer SA (Luxembourg) en charge de la Stratégie Digitale. Vingt-cinq ans d’expérience en Delivery d’Architectures logicielles complexes, à très hautes exigences de performance et de sécurité auprès de multinationales, de géants du Web et de startups : AXA, BNP Paribas, Airbus, ADEO, Wallmart, Google, LinkedIn, Twitter, Gilt, Deliveroo, Synthésio, etc.). Douze ans d’expérience en conseil auprès des DG, DSI et Directions Métiers pour délivrer rapidement leurs stratégies digitales et de change.
Lire la suite Cacher le texte

Les géants du Web (Amazon, Apple, Facebook, Google, Instagram, Salesforce, Twitter, etc.) ont bâti avec succès des Applications ouvertes vers l’extérieur et sécurisées, qui supportent des charges transactionnelles extraordinaires, s’adaptent dynamiquement aux variations extrêmes du nombre d’utilisateurs ainsi qu’aux évolutions technologiques, pourtant fréquentes. Ces Applications sont fondées sur les concepts de la WOA (Web Oriented Architecture). HTTP, URI, REST, Hypermedia, CAP, etc. C’est un style d’Architecture alternatif aux anciennes Architectures Enterprise fondées sur les serveurs d’Applications et RPC. Celles-ci étant plus adaptées aux contraintes d’Architectures internes de l’entreprise. La WOA est aujourd’hui devenu l’Architecture de référence pour des Applications mobiles avec le principe des Apps hybrides et les PWA (Progressive Web Apps).



« Enterprise » vs 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 ?

Identifiant uniforme de Ressources (URI)

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

Protocole de transfert hypertexte (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.
  • Quelles différences entre Workflow et Hypermedia ?
  • Les conséquences de la combinaison Hypermédia et URI ?

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 en WOA

  • 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.

Intégration d’Applications


Intégration des services en WOA

  • 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 de la WOA

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

Techniques de mashup

  • 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 pourtant distribués et hétérogènes ?

Interfaces Homme-Machine


Construction de pages Web transactionnelles

  • Les éléments sémantiques d’une page Web transactionnelle.
  • Formulaires Web transactionnels modernes.
  • HTML5, JavaScript, CSS, Canvas, Web GL.

HTML5 : assemblage d’IHM

  • Les innovations dans les technologies « Web Front ».
  • Comment le développement Web se structure côté serveur ?
  • Que penser des limites des technologies Web aujourd’hui ?

JavaScript : contrôle et traitements métier

  • Les technologies Javascript et ses dérivés.
  • Traitements métier complexes avec JavaScript.
  • Le point sur les compétences et expertises sur le marché.

Technologies IHM avancées

  • Développement de l’interface 2D et 3D.
  • Comment implémenter des fonctions offline ?
  • État des lieux en standardisation de browsers.

WOA sur mobiles

  • Principales technologies de développement d’Applications mobiles.
  • Applications native vs Application Web vs Hybrides.
  • Introduction aux Applications PWA (Progressive Web Apps).

Accès aux données en WOA


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.

Structures de Data Stores

  • Zones de conforts et limites du relationnel et du NoSQL.
  • Quel type de Data Store pour quel problème d’Architecture ?
  • Est il possible d’imaginer un monde 100% NoSQL ?

Architectures 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.
  • Que penser des Architectures hybrides et NewSQL ?

Performance et scalabilité


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.

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

  • Les pratiques avec du Sharding et du MapReduce.
  • Les pratiques MapReduce.
  • Introduction à la programmation fonctionnelle.

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é.

Administration

  • Introduction aux standards Web d’administration d’Applications.
  • Implémentation fonctionnelle de l’administration de rejets.
  • Les fonctions d’administration natives dans les standards WOA.

Déploiement et administration


Cloud et WOA

  • Avantages des Architectures WOA en mode Cloud.
  • Les spécificités de la WOA dans un Cloud privé.
  • Les points de vigilance pour basculer vers la Cloud public.

Saas

  • Les précautions à prendre avant d’ouvrir en mode SaaS une Application WOA ?
  • Les limites d’interopérabilité entre Applications SaaS.
  • Les risques à ouvrir en SaaS des Applications non WOA.

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.