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.
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 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 :
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 :
Lorsque le modèle est complet, il suffit de le faire "tourner" pour obtenir l'application de gestion de l'entreprise.
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 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é.
Le référentiel de composants de NeoLab-Systems contient :
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.
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 :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.