Architecture SOA

Objectif(s)
  1. Centraliser la problématique d’interopérabilité.
  2. Minimiser les efforts d'exploitation et de supervision
  3. Virtualiser les services d'entreprise.
  4. Centraliser la gestion de la sécurité.
  5. Faciliter les échanges temps réels.
Cible(s) 

Principes

L'architecture SOA se base principalement sur 3 fondamentaux:

  1. Le support d'un standard d'échange normalisé: WebServices
  2. La centralisation des problématiques d'interconnexion.

La mise en oeuvre de la SOA prend forme dans un Bus d'Entreprise. Il regroupe les principaux patterns d'échange sous-jacents:


Technologies

La stack technologique WebService est très riche. Elle repose sur les normes W3C suivantes:

  1. un mécanisme d'autodescription: WSDL
  2. une formalisation des grammaires utilisées: XSD
  3. des messages uniquement en XML
  4. des grammaires strictes pour les usages diverses:
    1. chorégraphie,
    2. aggregation,
    3. transaction, 
    4. sécurité,
    5. etc.


Web Services Architecture Stack

Les protocoles et les formats supports aux échanges sont normalisés. Ils facilitent ainsi l'interconnexions entre les socles technologiques (.Net, Java, PHP, etc).

Vision d'ensemble

Le bus de services d'entreprise, ESB, est la pierre angulaire de cette architecture. Il expose par principe des services SOAP et depuis peu REST sur un formalisme fonctionnel partagé, le modèle pivot.

Les services implémentés dans un ESB sont SANS état.


Ces services sont proposés par des applications dans un format qui leur est propre, le format natif. L'ESB prend en charge les opérations de:

  1. exposition protocolaire
  2. contrôle de la sécurité
  3. interprétation du message
  4. transformation vers le format natif
  5. respect des contraintes d'utilisation
  6. routage vers le bon destinataire
  7. appel de l'application dans son format et son protocole.

Ces mécanismes allègent les applications qui propose


Ce produit est complétée par les modules suivants:

Ces modules peuvent être inclus directement dans les solutions éditeurs comme Oracle SOA Suite ou WSO2 Enterprise Integration.

Un service Orchestration est AVEC état. L'ESB ne fait que le virtualiser (proxy).


Adhérences


Avantages
Inconvénients
Interconnexion (lib, protocole, etc)L'ESB est le seul à utiliser les librairies, les format et protocoles natifs.
Propagation des changements (format et version)La virtualisation permet de proposer N versions du même service.
Run (processus)

Prococoles synchrones en attente.

N protocoles à maitriser: HTTP, JDBC, AMQP, etc.

Exploitation1 seule plateforme à exploiter et superviser.Complexité liée à la HA de la plateforme.

Synthèse


Avantages
Inconvénients
GouvernanceApproche fonctionnelle des Services
Développement

Utilisation de protocoles normalisés et standardisés.

Le développement de médiations ESB est spécifique.

La stack WS* est complexe.

ExploitabilitéCentralisation de la plateforme.Complexité inhérente au nombre de protocoles mis en oeuvre.
Infrastructure


La disponibilité du SI est à maxima égale à celle de la disponibilité de l'ESB.