Les apports métier et techniques du SOA
Apports métier
La construction de services métiers est un enjeu important pour les entreprises. Les services permettent d’atteindre réellement le concept d’entreprise étendue. A la différence de l’exposition de fonctions sous la forme d’un extranet qui impose un frontal web et une granularité monolithique, les services permettent au consommateur une intégration fine dans son propre Système d’Information sans lui imposer une granularité applicative hégémonique ni un frontal web. Evidemment la construction par services ne remet pas en cause l’intérêt des Extranets mais ouvre véritablement de nouvelles possibilités de communication entre les entreprises et à l'intérieure des organisations.
Cependant pour que les apports métiers puissent se vérifier il est déterminant de réussir les points suivants :
- Imaginer et spécifier les services métiers qui apporteront réellement un intérêt business. Nos clients déploient des modèles d'activités très variés comme par exemple : l’exposition de services de back-office en location à des distributeurs dans une stratégie de gestion pour compte de tiers, l’exposition de services de distribution vers des filiales afin d’étendre le portefeuille d’offres, l’exposition de services dans les intranets RH de grands groupes afin d’atteindre la cible des salariés (worksite marketing), l’exposition de services sur de multiples canaux en interne à l’entreprise…
- Mettre en place une plate-forme de gestion des services qui permette aux équipes opérationnelles de s'approprier une partie du paramétrage des variantes de services et d'activation des services au travers de contrats d'utilisation. C'est-à-dire un outil qui met en œuvre le modèle d'architecture de gestion par contexte (pattern de Context-Aware) que nous décrivons dans la présentation des concepts SOA.
- Sur le plan informatique, organiser l'architecture du logiciel selon le pattern d'architecture applicative SOA afin de garantir la rationalisation des développements et le contrôle du TCO (Total Cost of Ownership) des services. A ce titre, il faut organiser un accompagnement adapté des équipes projets et s'appuyer sur un référentiel des meilleures pratiques SOA.
A l'inverse, l'entreprise doit aussi être capable d'agréger des services en provenance d'autres fournisseurs. Cette intégration passe par la mise à niveau SOA d'une partie du Système d'Information et des démarches méthodologiques.
Avec SOA, le Système d’Information peut être appréhendé comme une usine à services. Récemment un Dirigeant d’une société opérant dans le secteur des services financiers nous déclarait sa stratégie de transformation en une entreprise Lego, capable de diffuser une partie de son métier vers des organisations tierces et d’agréger des services proposés par d’autres : c'est aussi un rôle d’orchestrateur de services.
| Usage de service métier au niveau de l'activité : | Pour fournir des services | Pour consommer des services |
| Back office - production | Mise en location de certains services du back office dans une stratégie de gestion pour compte de tiers. Exemple : back-office de gestion d'épargne salariale ouvert à des sociétés de gestion financière. |
Sous-traiter une partie de son activité de back-office. Accéder et intégrer des services à valeur ajoutée pour optimiser son back-office. Exemple : un back office d'une société de crédit accède automatiquement à plusieurs systèmes de scoring externalisés et ayant fait l'objet de personnalisations préalables (gestion des variantes de services). |
| Front office -distribution | Brancher certains services de vente directement dans le système d'information de partenaires distributeurs ou dans les intranets de clients corporate par exemple en vue d'une stratégie de worksite marketing (intranet RH). Il peut aussi s'agir de brancher ce type de service auprès de filiales ou d'organisations hétérogènes dans l'entreprise, notamment en cas de déploiement multi-canaux. Exemple : un opérateur télécom branche un processus de souscription d'offre de connexion haut débit dans les systèmes de vente d'un partenaire de grande distribution (boutique, site interne, call-center…) |
Etendre son offre commerciale en proposant des services de souscription de partenaires directement dans ses propres frontaux de vente. Exemple : une filiale de location automobile intègre des services de vente de sa maison mère, compagnie d'assurance, afin de proposer un pack location longue durée couplée à une offre préférentielle d'assurance. |
| Support - fonctions internes | Mutualiser certains services pour plusieurs organisations au niveau de filiales ou en internes. Chaque service mutualisé fait l'objet d'un paramétrage de variantes pour s'adapter aux contingences de chaque organisation utilisatrice. Exemple : un service de gestion d'annuaire (type LDAP) est exposé et des variantes créées pour qu'il puisse être intégré de manière adaptée dans chaque système d'information des organisations. |
Sous-traiter une partie de ces fonctions supports en intégrant des services de fournisseurs directement dans son propre système d'information. Accéder et intégrer des services à valeur ajoutée pour optimiser ses fonctions supports. Exemple : une entreprise intègre des services d'une agence de voyage dans ses systèmes Intranet RH afin de créer un espace personnalisé de gestion et de rationalisation des frais de déplacements pour le siège et l'ensemble des filiales. |
Apports techniques
D’un point de vue technique, la démarche SOA permet de rationaliser les développements :
- Mise en place du pattern d'architecture applicative SOA et plus précisément le concept de catégorie (voir définition des concepts) qui permet de réduire le couplage entre les méthodes et réifie, grâce à une façade par catégorie, l'exposition de services. SOA permet de mieux contrôler les développements objets en limitant le couplage fort au périmètre de chaque catégorie.
- Favorise la mutualisation et la réutilisation par variantes de service grâce au modèle d'architecture de gestion par contexte (pattern de Context-Aware).
- Fournit des directives formelles pour la localisation de la fonction d’orchestration donc pour la gestion du maintien de contexte et de la démarcation des transactions.
- Fournit des directives formelles pour l’usage des composants dans les serveurs d’application comme par exemple en J2EE les EJB, Servlet, javabeans… Les périmètres des composants sont régulés par ceux des services et des catégories issus du travail de décomposition SOA.
- Dans le cas de l'implémentation des services métiers sous la forme de web services (SOAP-WSDL) on bénéficie d'une rationalisation intéressante des coûts par l'usage de la pile de standards HTTP, WSDL et SOAP. Il faut néanmoins rester attentif à la modélisation des messages XML (et plus précisément des types de données en XML Schéma) afin de garantir une réelle interopérabilité entre les implémentations SOAP. Les meilleures pratiques Web services permettent de guider ce travail de modélisation