Fabriquer différentes Solutions Opérationnelles avec les mêmes Composants

  1. Quels avantages à réutiliser des composants pour construire une nouvelle Solution

    Pour gagner en agilité dans la construction de Solutions, il faut réutiliser pour avoir moins à construire.
    Il existe 2 formes de réutilisation : réutilisation par Progiciel ou réutilisation par Composants.

    Un Composant implémente une Fonction réutilisée par différentes Solutions ; par exemple : un Composant de géolocalisation, un composant de calcul de prix, un composant de recherche d’informations client un composant de vérification d’adresse postale….

    La réutilisation par Progiciel a eu un succès croissant ces dernières années pour les Solutions de Commodité pour lesquelles les besoins sont similaires entre Entreprises.

    Mais une activité économique n’atteint la maturité que lorsqu’elle est capable de réutiliser des composants communs pour construire des Solutions Métier: il a fallu 200 ans à l’Industrie pour aboutir à sa maturité actuelle. Le délai de conception d’un nouveau Modèle automobile a été réduit de 5 ans à 18 mois par la réutilisation de Composants.

    Il faudra un certain délai pour que l’industrie du Logiciel en fasse de même. Mais on peut avoir de grands espoirs. Les tendances « SOA », « Composant réutilisable », « approche Objet » vont toutes dans ce sens, et les résultats obtenus dans un certain nombre de Modèles de Solution prouvent que des taux de 70% de réutilisation sont réalistes, c'est-à-dire que l’on n’a plus que 30% du Modèle à Construire pour satisfaire un besoin spécifique.

    Les fabricants de Progiciels effectuent eux-mêmes cette mutation : les nouvelles offres de Progiciels sont souvent Construites à base de Composants.

    Comme pour la modélisation de Produits, on retrouve les mêmes atouts :
    • Gains en temps et en coût sur la conception de nouveaux Modèles de Solution
    • Meilleure fiabilité puisque la majorité des composants sont déjà éprouvés
    • Utilisation standardisée ce qui facilite la vie des utilisateurs
  2. Ne pas confondre Architecture et Composants

    Architecture et Composants participent tous deux à mettre de l’ordre.
    Mais ils procèdent de deux façons :

    • L’Architecture donne une vision globale du Modèle dans lequel s’inscrivent les différentes Solutions
    • les Composants sont des Modules réutilisables que l‘on peut assembler pour construire des Solutions spécifiques.

    Tendance vers la réutilisation

  3. Comment construire des composants

    Il est plus difficile de Construire des Composants qu’une Solution: les Composants doivent réutiliser les Composants, ils doivent être versionnés, documentés et satisfaire des besoins extrêmement divers.

    D’autre, part les Composants créent des interdépendances dans le système d’information et des contraintes d'interopérabilité : plus il y a de composants, et plus les Solutions sont interdépendantes. Les équipes Solution et Composants doivent coopérer pour construire.

    Si l’on n’a pas d’expérience, il faut commencer modestement, savoir dès le départ que l’on devra itérer et redévelopper un certain nombre de composants, mais ne pas abandonner l’idée de taux de réutilisation importants : on peut atteindre des taux de réutilisation supérieur à 70%. (Voir livre blanc du CEISAR sur la Fondation).

    Il ne suffit pas de construire de bons composants, il faut aussi qu’ils soient aisément accessibles et compréhensibles.

  4. Acquérir des composants

    On peut acquérir une banque de composants ou les fabriquer soi-même.
    Si on souhaite éviter le délai de maturation, on peut acquérir un framework de composants à l’extérieur puis l’adapter à son contexte.

    Un des scenarios les plus efficaces consiste à acquérir les composants auprès du fournisseur du plus important progiciel : les travaux d’interfaçage seront simplifiés, et l’utilisation sera standardisée. Cette option est limitée au bon vouloir du fournisseur de progiciel qui doit accepter de fournir les composants qui lui servent à construire ses propres Solutions.

  5. Un exemple de réutilisation de composants

    Il existe différentes catégories de composants :

    • Composants d’accès aux Informations,
    • Composants ergonomiques
    • Fonctions Métier
    • Interface entre Solutions,
    • Patterns et classes mères pour ceux qui construisent des Solutions avec les outils orientés objet

    Pour illustrer les potentialités de la réutilisation, nous avons pris un exemple de Solution Assurance décomposée en « 4 quarts » :
    • Accès aux Informations,
    • Fonctions (Métier ou Organisation),
    • Processus,
    • Présentation et Navigation.
    1. Accès aux Informations

      Isoler les accès aux Informations par des Fonctions partagées d’accès aux Informations permet de rendre indépendants les évolutions du Modèle d’Information et les évolutions du Modèle d’Action. Il permet aussi à des Solutions d’accéder à des Informations gérées par d’autres Solutions.

      De même isoler les échanges de Flux entre Solutions internes ou externes participe à la cohérence globale et minimise le couplage entre Solutions. C’est un moyen d’isoler chaque Solution pour lui donner de l’autonomie d’évolution.

      Premier niveau de Fondation : intégration de l'information
    2. Réutiliser des Fonctions

      Réutiliser des Fonctions déjà disponibles pour diminuer ce qu’il y a à Construire : non seulement les Services d’accès aux Informations et les Services de Flux que l’on vient de décrire, mais aussi les Services Métier (comme « Tarifer »), les Services Organisation (comme « Habiliter »). C’est un moyen d’isoler encore davantage les Solutions et d’accélérer la Construction. Les Niveaux 1 et 2 sont appelés « Composants Noirs » parce qu’ils se comportent comme des boites noires dont on ne connait que l’interface et non l’implémentation.

      Deuxième niveau de Fondation : Réutilisation de Composants noirs
    3. Réutiliser des Composants blancs

      Réutiliser les Patterns ou « Composants Blancs » comme un « Modèle de souscription » qui est réutilisé par tous les Processus de souscription. C’est une forme de Réutilisation différente des 2 précédentes puisqu’elle intervient pendant la phase de Construction et non par des appels en cours d’Opérations. Elle peut concerner des Modèles de Processus, des Modèles de Fonctions, des Modèles d’Informations, des Interfaces utilisateur... Elle accélère considérablement la phase de Construction mais nécessite des Outils adaptés.

      Troisième niveau de Fondation : Réutilisation de Composants blancs
    4. Personnaliser par Configuration

      Externaliser à l’aide de paramétrage et de moteur de règles les parties du Modèle qui changent le plus fréquemment pour Configurer le Modèle sans passer par le Processus de Transformation complet qui nécessite Intégration, Recette, et mise en Production.

      Quatrième niveau de Fondation : Configuration
    5. Un exemple concret de construction de Modèle avec des Composants

      En appliquant ces différents niveaux de réutilisation, un Progiciel d’Assurance international a pu mettre en commun des Fondations de 6.000 Classes offrant 50.000 Services : le coût complémentaire pour Construire une Solution adaptée à chaque Ligne Métier (IARD, Vie, Prévoyance, Santé...) est d’environ 5% des Fondations. Ce niveau a été atteint en bénéficiant de conditions favorables : pas d’existant qui bride la capacité d’innovation, outillages modernes, équipes expérimentées... Mais cette experience prouve que l’on peut être extrêmement ambitieux en matière de réutilisation.

      Un Modèle d'assurance complet
  6. Conditions du succès

    Réussir à réutiliser des Composants en masse nécessite des conditions du succès :

    • Isoler dans une équipe « Fondation » ceux qui construisent, supportent, récupèrent les Composants.
    • S’assurer qu’ils ont acquis le savoir-faire pour construire des composants : qualité des interfaces, structure de petits composants qui se réutilisent les uns les autres et non liste plate de gros composants, versioning, usage approfondi des Patterns, compatibilité ascendante, gestion de configuration adaptée ...
    • Encourager et contrôler la réutilisation dans les équipes Solution.

(voir le livre blanc du CEISAR)
comments powered by Disqus
▲ Retour