Origine du projet
Technologie
Observation de l'environnement
L'architecture conceptuelle d'une application informatique, quelle que soit sa nature, comporte toujours les fonctions suivantes plus ou moins développées :
- Interaction avec l'utilisateur.
Au moyen d'une interface homme-machine.
- Traitement effectué par l'ordinateur.
Calculs ou application de règle de gestion.
- Echange d'information.
Avec d'autres applications s'exécutant sur le même ordinateur ou sur un autre ordinateur relié en réseau.
- Production de documents.
Listing de travail ou éditions officielles.
- Persistance.
Enregistrement des informations qui seraient perdues lorsque l'application se termine.
En fonction des choix technologiques ou techniques, la mise en oeuvre de cette architecture fonctionnelle est plus ou moins aisée, plus ou moins robuste, plus ou moins performante et l'application est plus ou moins coûteuse.
Cependant, au final pour l'utilisateur, cette architecture conceptuelle est identique et les gains apportés par le "progrès technologique" n'est pas si significatif. Le plus souvent, une application est techniquement obsolète et non fonctionnellement.
Formats pivots
Pour limiter cette course sans fin après la technologie, afin de limiter les investissements dans les systèmes d'information au juste nécessaire, l'idée est de formaliser chacune de ces fonctions dans un format pivot de la sorte à faire abstraction de la technologie ou de la technique employée.
Par recoupement des six formats pivots, il est possible de définir un tronc commun correspondant à l'état de l'art des fonctions offertes par les langages de programmation les plus usuels.
Compte tenu de l'évolution du potentiel des technologies, décrire les formats pivots dans un formalisme statique le rendrait rapidement dépassé. D'autre part, pour une spécialisation donnée, il ne serait pas assez précis.
La seconde idée est alors de définir un formalisme statique pour le tronc commun et un méta formalisme pour construire dynamiquement les spécificités des six formats pivots.
D'autre part, les applications informatiques s'adressant à des hommes ayant une culture particulière, l'approche conviviale est de verser ces formalismes dans la langue de l'interlocuteur.
Ainsi est né Up ! Fifth Generation Language - Up ! 5GL -, langage de haut niveau, extensible et auto-définissable, pour construire les formats pivots.
Ses caractéristiques sont proches d'une langue naturelle :
- Usage d'un dictionnaire.
Le dictionnaire du méta-langage permet de définir de nouveaux concepts.
- Usage de règles d'orthographe ou grammaticales.
Ceci est la formalisation du langage et du méta-langage.
- Système clos.
Pour une langue donnée, le dictionnaire est écrit dans cette langue tout comme le référentiel orthographique et grammatical. Il est en de même pour Up ! 5GL.
Formats pivots
Au lieu de verser manuellement chaque format pivot dans une technologie ou une technique particulière, il s'agit d'employer un programme en charge de le faire automatiquement et à la demande. Ceci est le premier rôle d'Up ! Compiler.
Ce principe existe déjà partiellement. Par exemple, quand vous imprimez depuis Microsoft Word, ce dernier décrit à Windows le document dans un format pivot propriétaire de Microsoft qui est converti par les pilotes d'impression dans le formalisme de l'imprimante cible.
Les systèmes d'information des entreprises étant pour la plupart matures, l'objectif est alors de récupérer l'existant qui est déjà décrit dans une technique ou une technologie particulière. Au lieu de convertir l'existant, risque important pour l'entreprise nécessitant une importante charge de travail en test, le plus simple est de s'interfacer avec lui dans le formalisme approprié. Cette traduction inverse est également à la charge d'Up ! Compiler.
Ainsi, Up ! Compiler est un compilateur bidirectionnel. Pour être indépendant des technologies et des techniques, celui-ci se repose sur des adaptateurs et des pilotes dédiés :
Un simple pilote est utilisé quant Up ! Compiler n'est pas étendu pour prendre en compte une technologie. Un adaptateur est utilisé quant Up ! Compiler nécessite d'être étendu pour prendre en compte les spécificités d'une technologie.
De plus, afin de pouvoir exécuter l'application sans faire appel systématiquement à un système tiers, Up ! Compiler peut produire une traduction automatique pour Up ! Virtual Technical Machine. Ce socle logiciel, au fonctionnement identique sur tous les ordinateurs supportés, comporte un système d'exploitation virtuel, un système de communication virtuelle, un système graphique virtuel, etc.
Application de la technologie
Observation de l'environnement
Suite au passage à l'an 2000, à l'Euro et aux diverses opérations de fusion-acquisition, les grandes entreprises privées ou publiques se sont équipées massivement de progiciels génériques qui leur ont coûté fort cher.
Même s'ils rendent des services indéniables, ils sont pour autant de véritables bombes à retardement dont les premiers effets se font déjà sentir dans les secteurs d'activités dont les cycles de vie des produits sont courts :
- Destruction de la culture d'entreprise.
Du fait de la standardisation des processus et des méthodes de travail "à l'anglo-saxonne".
- Bride du potentiel créatif - Approche orientée ressources.
Les nouvelles offres ne peuvent comporter que des éléments que le système d'information sait intégrer. L'impact est sur les activités de Recherche & Développement et de marketing stratégique.
- Convergence du mix-marketing - Approche orientée marché.
Quand deux concurrents sont équipés de deux progiciels génériques au potentiel fonctionnel similaire distribué périodiquement par les éditeurs, ils ne peuvent guère se différencier sur le mix-produit, le mix-distribution et le mix-communication. Par la force des clients et des distributeurs, le prix de l'offre converge à la baisse.
Ainsi, lentement mais sûrement, les progiciels génériques détruisent la valeur des entreprises :
- Valeur financière.
Chute de la Rentabilité des Capitaux Engagés (RCE) suite à la chute des marges.
- Valeur de marché.
Convergence des images et des positionnements.
- Valeur humaine.
Destruction de la culture d'entreprise et de la motivation.
Approche stratégique
L'idée est alors d'adopter une approche stratégique pour construire un système d'information ou pour consolider un existant. Suite à une modélisation du métier de l'entreprise, il est possible d'expliciter les processus métiers de l'entreprise. Il est alors possible de les simplifier ou de les rendre plus robustes.
En les analysant selon la chaîne de valeur globale intégrant les fournisseurs et les distributeurs - la filière métier -, il est alors possible de classer les activités élémentaires en trois catégories :
- Activité banalisée.
Elle ne comporte aucune particularité ni pour l'entreprise ni pour un acteur de la même filière métier.
- Activité spécialisée.
Elle comporte au moins une particularité et elle est partagée par d'autres acteurs de la même filière métier. Elle renferme donc au plus des avantages concurrentiels secondaires qui font partie de l'état de l'art.
- Activité spécifique.
Elle comporte au moins une particularité qui ne se retrouve pas chez les autres acteurs de la même filière métier. Si elle est valorisée par les clients, elle est à la source de la création de valeur de l'entreprise. Elle doit être alors protégée et favorisée sans aucune contrainte particulière autre que légale.
L'idée est alors d'associer à chaque activité élémentaire un composant métier s'apparentant à un micro-progiciel en fonction de sa catégorie :
- Activité banalisée.
Le composant métier est prélevé dans une banque généraliste.
- Activité spécialisée.
Le composant métier est prélevé dans une banque dédiée. Afin d'intégrer les avantages concurrentiels secondaires, il peut être étendu.
- Activité spécifique.
Le composant métier est construit sur mesure en intégrant les avantages concurrentiels clé.
Par analogie avec les schémas de production industrielle, cela devient :
Interface métier
Au lieu de les encoder dans une technologie ou une technique particulière, les composants métiers sont alors décrits en Up ! 5GL en terme d'informations échangées et de services rendus à l'utilisateur. Ces descriptions sont appelées interfaces métiers.
Ceci permet alors de profiter du potentiel d'abstraction apporté par le langage de haut niveau, de la conversion automatique et du socle logiciel.
Compte tenu que les grandes entreprises ont un système d'information mature qu'elles ne désirent pas changer mais consolider, les interfaces métiers peuvent déclinées soit sur :
- Des fonctionnalités des progiciels existants - 80 % des cas.
Il s'agit soit de progiciels génériques intégrés soit de progiciels développés en spécifique.
- Des composants métiers - 20 % des cas.
Il s'agit soit de composants provenant des banques soit de composants développés spécifiquement.
Si les interfaces métiers permettent de définir les informations échangées et les services rendus, elles ne permettent pas de modéliser le savoir-faire unique de l'entreprise, autre source d'avantages concurrentiels. Ce rôle est celui des règles d'expertise métier, propres à l'entreprise, qui viennent influencer le comportement des interfaces métiers.
Services économiques
D'autre part, certains composants métiers ont un rôle particulier. Ils permettent de surveiller l'application construite par assemblage de composants métiers en apportant des services :
- Le contrôle du modèle économique de l'activité.
Voici les services économiques :
- L'assurance du revenu.
Il s'agit de contrôler statistiquement la cohérence des informations circulant dans les processus métiers à partir d'invariants calculés pour éviter les fuites.
Par exemple, tout ce qui a été commandé a bien été facturé, a bien été livré, a bien été encaissé ou est en recouvrement, etc.
- La métrologie.
Il s'agit de mesurer par sondage la fréquence et l'importance d'événements caractérisant l'activité afin de s'assurer que la réalité valide le modèle économique prévisionnel.
Par exemple, combien de produits ont été vendus aujourd'hui, dans la semaine, dans le mois ; par canal de distribution, etc.
- La mesure de la capacité.
Il s'agit de mesurer le taux de saturation des moyens de production, ce qui est essentiel pour les activités à forte croissance, en vue de faire une projection pour connaître la date de saturation.
Par exemple, le nombre de pièces fabriquées ; le nombre d'utilisateurs connectés à un serveur Internet ; le volume d'une base de données, etc.
- L'optimisation l'usage d'Up ! Application System à moindre coût.
Voici les services économiques :
- La supervision.
Il s'agit de surveiller de façon centralisée au bon fonctionnement des applications : exécution des travaux, nombre d'enregistrements traités ou en erreur, messages d'information ou d'alerte.
- La sécurité.
Il s'agit de veiller sur le respect de la confidentialité des informations.
- La sûreté.
Il s'agit de s'assurer de l'intégrité des informations.
Ces services économiques et la machine virtuelle technique forment Up ! Virtual Business Machine.
Système d'applications
Un composant métier n'est pas une application opérationnelle. Une application est constituée de composants métiers qui sont assemblés et animés par le système d'applications appelé Up ! Application System. Ce dernier permet ainsi à l'entreprise de choisir :
- Son organisation, ses méthodes de travail, ses processus.
La culture d'entreprise est alors préservée.
- La cible technologique ou technique.
En fonction de sa politique informatique et de son existant.
- Son environnement de travail.
L'application se plie à la langue et aux habitudes des employés. Leur culture est respectée, ce qui est essentiel pour maintenir leur motivation quant ils proviennent d'horizons historiques ou ethniques différents.
En fonction des opportunités et des menaces de son environnement auxquelles l'entreprise réagit, elle a la possibilité de reconfigurer son système d'applications soit au niveau d'une application soit au niveau de quelques composants métiers. Ainsi, l'entreprise est plus réactive sans se lancer dans des projets longs et coûteux qui, parfois, sont obsolètes au moment où leurs livrables sont disponibles.
Il y a donc décorrélation entre la définition du métier qui est stable dans le temps, puisqu'elle résulte de la planification stratégique de l'entreprise et de sa culture, et la mise en oeuvre particulière du métier qui est instable dans le temps, puisqu'elle est remise en cause par les événements survenant dans l'environnement.
Diminution du Total Cost of Ownership
Un projet informatique est une activité qui ne fait pas partie du cour de métier des grandes entreprises privées ou publiques. De ce fait, il s'agit d'une fonction de support, s'apparentant le plus souvent à une activité banalisée, dont l'objectif est de minimiser le coût du service rendu.
Celui-ci se mesure par le coût total d'appropriation de l'application encore appelé Total Cost of Ownership (TCO). Ce dernier peut être minimisé par une approche qui a fait recette dans d'autres domaines :
- Une approche processus pour construire et maintenir le système d'information.
- Une rationalisation des méthodes de travail et des outils employés.
Up ! Workbench est ainsi un outil unique dont l'approche est orientée processus. Il est multi-facettes de la sorte à ne présenter aux interlocuteurs que les fonctionnalités dont ils ont besoin.
Up ! Workbench est un programme particulier s'exécutant dans Up ! Application System utilisant des composants métiers particuliers. De ce fait, il peut être décliné selon l'organisation, les choix informatiques de l'entreprise et les choix culturels de l'utilisateur.
Synthèse sur l'offre
L'offre produit d'Up ! Company peut être résumée de la façon suivante :
A cela sont ajoutés les services nécessaires pour promouvoir, développer, pérenniser et défendre l'offre produit Up ! Application System :
- Formation.
Aux outils, au langage et au contenu fonctionnel des composants métiers.
- Conseil.
Pour l'alignement du système d'information sur la stratégie de l'entreprise. Pour la mise en oeuvre d'Up ! Application System.
- Support technique et maintenance.
Pour assurer un fonctionnement continu et satisfaisant des applications métiers.