GENERAL DESCRIPTION
WHY MODEL MAPPER ? ( à quel besoin MM va-t-il répondre)

texte d'inspiration : Un domaine technique de haute importance dans le marché actuel et pour les clients de Pulsar sont les bases de données relationnelles et plus particulièrement les structures de données nécessaires pour le traitement des diverses sources d’information, la transformation, le stockage, la visualisation, la modification et l’extraction des données vers des systèmes tierces.  Pulsar travaille avec de grosses bases de données depuis plus de 15 ans. En pratiquant toutes les opérations décrites, nous nous sommes heurtés systématiquement à la problématique de transformation de structures de données (ou modèles de données). Après avoir pratiqué pour cela toutes les méthodes existantes en utilisant divers logiciels du marché (aussi appelé mappers) et constaté que c’est une opération très couteuse en temps et ressources, nous avons compris les concepts et les principes communs à ces opérations de transformation de structures ou modèles de données.  Avec ce nouveau produit MODEL MAPPER, qui fait l’objet de cette demande d’aide, Pulsar vise un nouveau type de business pour notre société. Les concepts et principes qui font l’objet de cette recherche, visent à réaliser un outil capable d’automatiser les opérations de transformation de structures de données. En effet, générer à partir de la structure de données une autre structure y relative, permettra de diminuer drastiquement le temps de développement et donc d’augmenter sensiblement la rentabilité des développements informatiques liés aux structures de données. 

texte d'inspiration : Dans le contexte des bases de données relationnelles, et plus précisément des transformations de données, nous sommes partis de l’état de l’art du marché, cad le concept de MDA (model-driven approach) qui a permis ces dernières années d’automatiser les transformations de données (mappings).  Nous voulons passer à l’étape supérieure, la transformation des structures ou modèles de données.  

texte d'inspiration :  Il paraît alors souhaitable de pouvoir compter sur un outil adaptable à tous les besoins pour passer d’un système à un autre, 

WHAT IS MODEL MAPPER ? (définition un peu plus longue et détaillée) 

Description de 5 lignes + caractéristiques principales : générique, modulaire, extensible sur demande, adaptable to any need  

texte d'inspiration : L’outil proposé se charge, lui, de « comprendre », de stocker en interne et de transformer les structures de données.

WHAT DOES IT DO ? (exemples concrets des outputs de model mapper) 

texte d'inspiration :  soit en modifiant la représentation du modèle, soit en générant sa documentation, soit en extrayant certaines informations utiles particulières, en générant du code ou des interfaces utilisateurs.    (à mettre) 
 

texte d'inspiration : 

Exemples :  
- Générer une documentation complète du modèle de données dans un Wiki, avec détails et description des entités, des attributs, et des associations  
- Générer tout la partie client, en HTML + Javascript + CSS, d’une application WEB  
- Générer, pour la même application, un maximum de la partie serveur qui permet à l’interface utilisateur (le client web) à faire les opérations classique avec le serveur : recherche de données dans la base de données, ajout, modification et suppression (n’oublions pas que tout ce fonctionnement d’une application informatique se base, à chaque niveau de l’architecture, sur des modèles de données et des interfaces de transformation de données) 
- Générer le code source d’une API (application programming interface) d’un module d’application informatique, donnant accès aux fonctions de ce module à d’autres couches logicielles de l’architecture de l’application IT (exemple : générer des services Web).  

HOW IS IT USEFUL ? (dans quelles (nombreuses) situations model mapper peut il être utilisé ?) 

texte d'inspiration : Contrairement aux moteurs de transformations classiques, et bien connues, qui traitent les données ellesmêmes, ce que nous voulons proposer ici, c’est un transformateur  (en anglais « mapper ») de structures de données, qui trouve son application dans les échanges informatisés système-système, c’est-à-dire de machine à machine et dans le design-même des systèmes IT, avec par exemple la génération d’interface graphique utilisateur (nommée aussi GUI ou HMI) dans le langage nécessaire à l’application qui les emploiera (HTML, Javascript, Java, C#, etc), ou avec la génération de la documentation du modèle dans un format visé (Wiki, word, pdf, page web, etc). A aucun moment de la transformation (ou mapping) les données décrites par le modèle de données ne vont être traitées. Le but du mapping est que son résultat, qui est en fait dans le sens large un code source qui s’applique à la structure à transformer, puisse être exécuté sur les données par après, en phase d’utilisation. 

texte d'inspiration : Cela est utile dans des multiples situations typiques aux développements informatiques, comme la création de documentation dans divers formats, la génération d’un wiki pour le modèle de données, la création des nouveaux formats de données en sortie pour communiquer avec d’autres systèmes (XML, etc), la génération de scripts de base de données, et aussi la génération de formulaires HTML de visualisation et traitement des données (pages web).   

Remarque : attention à la répétition d'info, il faudra peut-être et même surement recouper les catégories de question 
 XMI input module  

An  input module that reads a model from the standard XMI format. XMI input module converts the XMI format to the proprietary XML format and then loads the XML model. 

 XML input module  

An input module that reads a model from the XML format. XML input module converts the XML format to the proprietary XML format and then loads the XML model. 

UML class diagram input module  

ModelMapper is also able to read and "understand" UML class diagram model. 

ModelMapper is able to read and understand UML, entity-association relationship models (such as Rational Rose or Entreprise Architect models), and generate code around it (documentation in various format such as HTML, Word, or XAR for import in a wiki, but also any output related to the model structure, such as SQL queries or source code).

This is useful in computerized system-system exchanges, that is to say from machine to machine , and in many situations typical to IT developments ( = design of IT systems?), such as : 

  • creating documentation in various formats (HTML, Word, XAR, but also any output related to the model structure, such as SQL queries or source code déjà dit juste au dessus,  on le met où ? ).

  • generating a wiki for the data model

  • creating new output formats to communicate with other systems (XML , etc.),

  • generating  database scripts

  • generating HTML forms for visualization and data processing (web pages). 

  • generation of graphical user interface (also called GUI or HMI) in the language necessary for the application that will use them (HTML, Javascript, Java, C #, etc. (= au point juste au dessus ?) 

GENERAL CHARACTERISTICS

GENERIC

The tool can treat various entry formats the same way. 

MODULAR

Any number and any kind of inputs/transformation and output modules can be chained together to build a complete solution.

EXTENSIBLE

Input or output modules can be integrated to the current program.

Wiki

Make this yours. Add images, text and links, or connect data from your collection.

HTML doc

Make this yours. Add images, text and links, or connect data from your collection.

HTML webscreen

Make this yours. Add images, text and links, or connect data from your collection.