Principes
L'architecture SOA se base principalement sur 3 fondamentaux:
- Le support d'un standard d'échange normalisé: WebServices
- 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:
- un mécanisme d'autodescription: WSDL
- une formalisation des grammaires utilisées: XSD
- des messages uniquement en XML
- des grammaires strictes pour les usages diverses:
- chorégraphie,
- aggregation,
- transaction,
- sécurité,
- etc.
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.
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:
- exposition protocolaire
- contrôle de la sécurité
- interprétation du message
- transformation vers le format natif
- respect des contraintes d'utilisation
- routage vers le bon destinataire
- appel de l'application dans son format et son protocole.
Ces mécanismes allègent les applications qui propose
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. | |
Exploitation | 1 seule plateforme à exploiter et superviser. | Complexité liée à la HA |
Synthèse
Avantages | Inconvénients | |
---|---|---|
Gouvernance | Approche 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 dépendante de la disponibilité de l'ESB. |