© NeoLab-Systems 2009

Présentation

La question

modelisation d'un bâtiment

Lorsque l'on souhaite construire un bâtiment, on fait appel à un architecte qui dessine et modélise le bâtiment dans son logiciel de "Conception et Dessin Assistés par Ordinateur". Il est alors possible de visiter et de se déplacer virtuellement dans ce bâtiment. Mais comme il faut le construire dans le monde réel, on imprime les plans et des équipes d'ouvriers le construisent.

modelisation d'un logicel

En informatique on retrouve les mêmes étapes. L'analyse et la conception produisent les plans du logiciel (UML par exemple). Puis les plans du logiciel servent de bases à des équipes de développeurs qui vont construire le logiciel en traduisant les plans dans les différents langages informatique (Java, C#, ActionScript, Javascript, SQL, XML).

Pourquoi toutes ces étapes alors que tout est virtuel ! Ne pourrait-on pas faire tout d'un coup ? Qu'il n'y ait plus de différences entre le modèle et l'application ?

Néo est un environnement de modélisation et d'exécution d'applications informatiques réparties

Néo est un environnement simple mais terriblement ingénieux. Il permet d’éliminer la complexité informatique, en la remplaçant quand elle n’est pas nécessaire, par une analyse systémique graphique. On décompose et structure une organisation ou une problématique en systèmes et sous-systèmes ayant chacun des flux d’informations en entrées et en sorties. L'objectif final est d'obtenir le modèle détaillé de l'organisation étudiée.

Dans le monde de la gestion, par exemple, nous pouvons considérer qu'une entreprise possède une frontière (perméable) avec l'extérieur. Nous pouvons aussi identifier les flux d'informations qui entrent ou sortent de l'entreprise. Puis, niveau par niveau, nous allons répéter le processus de découpage en entités organisationnelles (le siège, les agences, les services, les équipes, ...). Pour chaque entité, nous identifions ses flux entrants et sortants et nous définissons la circulation des informations entre les sous-systèmes qui la composent.

Cette modélisation organisationnelle "descendante" va jusqu'au niveau du poste de travail. Le poste de travail est le lieu où l'on trouve les compétences particulières de la personne qui l'occupe (c'est à dire la définition de poste). Le poste de travail est équipé entre autres d'une corbeille de tâches.

Les corbeilles de tâches reçoivent et stockent les différentes tâches a effectuer sur le poste de travail.
La définition de poste, quant à elle, comprend :

  • Les opérations (Entités fonctionnelles) qu'un poste de travail peut effectuer lorsqu'il intervient dans un processus.
  • Les boutons de commande qui déclencheront les processus pouvant être initiés par ce poste de travail.

Un processus est une suite d'opérations ordonnées, séquentielles ou parallèles, effectuées pour traiter des informations ou répondre à une question de l'utilisateur. Les processus sont déclenchés par des événements entrant dans le système (actions utilisateur, données en provenance de l'extérieur, événements périodiques). Les processus peuvent être regroupés dans une entité organisationnelle comme par exemple le système informatique.

Au fur et à mesure que l'on descend dans les niveaux, on aborde des notions de plus en plus techniques, ce qui se traduit dans le modèle par l'utilisation de composants appartenant à la catégorie des services techniques comme les composants de l'Interface Homme-Machine ou les services d'accès aux bases de données.

Grâce à Néo :

  • On modélise l'Entreprise en se calquant sur sa structure (entités organisationnelles, entités fonctionnelles, processus, équipes, définitions de postes, postes de travail, corbeilles de tâches).
  • On a une vision globale de sa structure organisationnelle et des échanges d'informations entre les entités qui la composent.
  • Les définitions de postes apparaissent clairement.
  • Les processus sont identifiés.
  • Les Interfaces Homme-Machine sont prises en compte par le modèle de la même manière que le reste.
  • Tout ce qui compose le modèle est visible et modifiable graphiquement. "Ce que l'on modélise est exactement ce qui s'exécute."

Lorsque le modèle est complet, il suffit de le faire "tourner" pour obtenir l'application de gestion de l'entreprise.

L’Entreprise
Néo
Vue entités
organisationnelles
Vue processus et entités
fonctionnelles
Vues données
Vue Interfaces
Homme-Machine
Le Modèle
Le Modèle déployé est réparti
entre les postes utilisateurs (I.H.M.)
et les serveurs d’applications (Traitements).
Le Modèle est stocké dans les
référentiels de l'Entreprise.
Serveurs d’applications
L’Interface Homme-Machine
résulte de l'assemblage des
différents éléments graphiques
présents dans le Modèle.
Vue détaillée du Modèle
Les paquets
d’informations circulent
entre les composants.
Postes utilisateurs
Référentiels données
et composants

Néo est un environnement de modélisation.

La modélisation est entièrement réalisée dans l’interface graphique de Néo.

La vue détaillée du modèle est construite par assemblage et imbrication de composants. . Les composants possèdent des entrées qui attendent des données et des sorties qui produisent d’autres données.
Des liens, reliant les sorties aux entrées matérialisent la circulation des conteneurs d’informations entre les composants. Les conteneurs alimentent les composants sur leurs entrées et stockent les informations produites par les sorties.

Les composants peuvent être :
  • des composants externes de type Services, dans une approche S.O.A.
  • des composants importés à partir de librairies. (récupération de l’existant dans les DLL natives)
  • des composants développés avec Néo.(Entités organisationnelles, fonctionnelles, processus)

Néo est livré avec les référentiels composants et données de NeoLab-Systems.

Les référentiels de composants stockent les différentes versions des composants. A chaque sauvegarde d'un composant, son numéro de révision est augmenté. Lorsque un composant est utilisé, le système enregistre le numéro de la révision de ce composant. Ce principe garanti que le système fonctionnera tel que spécifié.

Les référentiels données stockent, pour toutes les plateformes supportées (O.S. / processeur / langage ) :
  • Les différentes versions de tous les types de données manipulées par l'environnement Néo. Si le type de données est issu de l'import d'une DLL, le référentiel garde les DLL  associées.
  • Les différentes versions de toutes les DLL qui ont servi à l'import de composants  natifs externes.

Le référentiel de composants de NeoLab-Systems contient :

Les composants d'Interface Homme-Machine
importés du framework WindowsForms, il est possible de les enrichir à volonté.
Un composant Corbeille de Tâche
Permet de stocker et mettre en pause des messages, de pouvoir les lister et de les  faire redémarrer.
Un composant Team
dont le rôle est de pouvoir distribuer du travail entre les différents membres d'une équipe. Les membres s'incrivent et se désinscrivent de l'équipe.
Les composants Habilitation
Permettent l'authentification des utilisateurs et la restriction des accès aux données ou aux composants. Les informations d'habilitation sont stockées dans une base de données externe dont le modèle spécifié par NeoLab-Sytems est conçu pour être rattaché facilement à toute forme d'existant.
Un composant "point de rendez-vous"
Utilisé pour l'attente et la fusion des résultats des branches de traitements parallèlisés.

Néo est livré avec une interface graphique.

L'interface graphique de Néo permet la construction et l'assemblage des composants, la documentation et la validation du modèle ainsi que l’administration des référentiels et des serveurs d’applications.

Construction
La construction d'un composant est réalisée à l'aide des outils de l'interface graphique.
Il est possible de :
  • rajouter des connecteurs d'entrée, de sortie et des liens
  • définir les données attendues et produites
  • rajouter du code de traitement dans les connecteurs
  • géolocaliser l'exécution du composant sur le réseau
  • colorier les chemins des données
  • etc ...
Assemblage
L'assemblage s'effectue par glisser/déposer des composants à partir d'un référentiel de composants.
Documentation

Il est possible d'associer des commentaires à tous les éléments du système. Ces commentaires seront utilisés lors de la production automatique de la documentation du Modèle.

Les documentations produites sont :
  • Vue hiérarchique (organisationnelle) du modèle
  • Diagramme d'activité (processsus)
  • Diagramme de classes (imbrication des composants)
  • Diagramme de séquences (suite d'actions dans un composant)
  • Documentation textuelle.
Test
Néo permet le suivi et le "debuggage" en temps réel d'une application en cours de fonctionnement.
Il est possible de :
  • suivre sur le Modèle le déplacement des données qui transitent
  • modifier ces données
  • modifier les liens qui alimentent les composants en données
  • modifier les liens qui stockent les données produites dans les conteneurs
Administration
L'interface de Néo permet d'administrer les différentes composantes réseau du système.
Il est possible de déclarer, de démarrer, d'arrêter et de supprimer :
  • les référentiels de composants
  • les référentiels de données
  • les serveurs d'applications
  • les services de documentation automatique
  • les services d'export de composants sous forme de services SOAP
  • les services de test et d'intégration continue

Néo est un environnement d’exécution d’applications informatiques réparties.

L'exécution du modèle est réalisée par la Machine Virtuelle Répartie de Néo. Celle-ci va créer les composants sur les postes utilisateurs et les serveurs tels que spécifiés par le Modèle . Puis elle s'occupera de faire transiter les données entre les sorties et les entrées des composants en déclenchant à chaque fois le traitement réalisé par le composant.

Il est possible, par exemple grâce au composant Team, de répartir la charge entre différents composants identiques localisés sur des machines distantes.

L'architecture réseau de la Machine Virtuelle Répartie est organisée autour de process serveur (appelé Router) qui reçoivent les connexions des différents clients constituant le système (Référentiels, Serveurs d'applications, Poste Client, Interfaces). Il existe idéalement un processus Router par organisation (entreprise). Les routeurs ont la faculté de s'interconnecter entre eux et donc de mettre en réseau les différents services qu'ils hébergent.

La sécurité du réseau est assurée par les Routeurs. En effet, tous les accès au réseau Néo passent par eux. Ils vérifient en permanence que les deux éléments qui souhaitent dialoguer ont bien les autorisations pour le faire.

retour à la page d'accueil
retour à la page d'accueil