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

Architectures, standards, technologies, outils, meilleures pratiques
Sommaire

Les "On The Top" du Web (Amazon, Apple, Facebook, Google, Instagram, Salesforce, Twitter, etc.) ont bâti avec succès des systèmes d’information ouverts vers l’extérieur, sécurisés, 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 SI sont fondés sur les concepts de la WOA (Web Oriented Architecture). HTTP, URI, REST, Hypermedia, CAP, etc.

Ce séminaire dresse un état de l’art concret des architectures, des standards, des outils et des pratiques opérationnelles qui garantissent la 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.



« Enterprise » vs SOA vs WOA


Les limites du modèle "Enterprise"

  • Les risques à ouvrir totalement un SI basé sur les technologies "Enterprise".
  • Les points critiques du concept "Enterprise" pour bâtir un SI distributeur/producteur.
  • Peut-on bâtir un modèle "self-service" avec des approches "Enterprise" ?

L’alternative au modèle "Enterprise "

  • Le SI Web comme alternative au SI "Enterprise ".
  • Introduction au SI Web ou " Non Enterprise ".
  • Les conséquences de l’industrialisation extrême sur les pratiques IT.

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 plates-formes commerciales dites SOA.

Le transactionnel WOA et SOA.

  • Comment la WOA et la SOA proposent 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


Representational State Transfer (REST)

  • 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’appli-cations ?

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.
  • Théorie de la consistance à terme appliquée chez Google et Amazon.
  • Les impacts culturels chez les architectes et les utilisateurs.

Services métier en WOA

  • Caractéristiques d’un service métier en WOA.
  • Quel mode d’invocation et gestion de session adopter en architectures WOA ?
  • Comment sécuriser un service entièrement ouvert sur Internet ?

Stateless vs Statefull

  • Objets métier "Stateless" vs "Statefull".
  • Pourquoi privilégier un mode plutôt que l’autre ?
  • Comment gérer la session utilisateur ?

Intégration d’applications


Rappel de l’intégration mode Enterprise

  • Les apports de l’EAI pour intégrer les applications existantes.
  • Les évolutions apportées dans l’ESB pour intégrer des services.
  • Les limites de l’ETL pour intégrer des applications métier.

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

Interfaces Homme-Machine


Construction de pages web transactionnelles

  • Les éléments sémantiques d’une page web transactionnelle.
  • Les principales stratégies de développement de pages web transactionnelles.
  • HTML5, JavaScript, CSS, Canvas, Web GL.

HTML5 : assemblage d’IHM

  • Les innovations majeures dans HTML5.
  • Quelles fonctions portails natives dans HTML5 ?
  • Quelle place de HTML5 dans les mobiles ?

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 3D avec WebGl.
  • Canvas : avantages et limites en dessin 2D.
  • État de standardisation de l’accélération matérielle.

Technologies IHM mobiles

  • Les principales plates-formes de développement d’applications mobiles.
  • Applications pure native vs application pure HTML5.
  • Le point fort et limites du développement en mode hybride.

Accès aux données en WOA


Les limites de relationnel

  • Le datastore 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 datastores

  • Zones de conforts et limites du relationnel et du NoSQL.
  • Quel type de datastore pour quel problème d’architecture ?
  • Que penser des moteurs NoSQL en SaaS ?

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 aux "Actors" et à 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

  • Que penser de la négociation d’habilitations inter-applications avec OAuth.
  • Avantages de la gestion de la propagation d’habilitations entre applications.
  • Exemple de la gestion d’habilitation inter- réseaux sociaux à travers FOAF.

Administration

  • Introduction aux standards web d’administration d’applications.
  • Implémentation fonctionnelle de l’administration des rejets fonctionnes.
  • Les fonctions d’administration natives dans les standards WOA.

Déploiement et administration


Cloud & WOA

  • Avantages des architectures WOA en mode Cloud.
  • Les avantages de la WOA pour intégrer des applications issues du Cloud public.
  • Rôles de la WOA pour une transition du Cloud privé vers le Cloud public.

Saas

  • Les précautions à prendre avant d’ouvrir en mode SaaS une application WOA ?
  • Les limites d’interopérabilité avec une application non WOA.
  • 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.