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 :

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 :

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 :

Ainsi, lentement mais sûrement, les progiciels génériques détruisent la valeur des entreprises :

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 :

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 : 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 :

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 : 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 : 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 :

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 :