Architecture SOA
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.
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:
- 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
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. | |
Exploitation | 1 seule plateforme à exploiter et superviser. | Complexité liée à la HA de la plateforme. |
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 à maxima égale à celle de la disponibilité de l'ESB. |
Middleware Solutions https://www.middleware-solutions.fr