IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres Discussion :

Modélisation+génération de code "étendue" / Domain-Specific Languages / Visual Studio


Sujet :

Autres

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 217
    Points : 253
    Points
    253
    Par défaut Modélisation+génération de code "étendue" / Domain-Specific Languages / Visual Studio
    Bonjour,

    J'aimerais connaître votre (vos) retour(s) d'expérience dans ce domaine :

    la modélisation et la génération de code ("étendue" / "à grande échelle") via l'approche Domain-Specific Languages (i.e, *non*-UML) dans le contexte d'utilisation de Microsoft Visual Studio (2005 ou 2008) + le Visual Studio SDK.

    Par génération de code "étendue", j'entends par là que l'objectif de tels outils est de générer, typiquement, un maximum des N-tiers (disons, N = 3) d'une application : le client (p.ex Winforms), le serveur d'application (p.ex un service Windows en .NET), et la couche de persistence (p.ex la BDD MS SQL Serveur).

    Je suis un train de développer un outil de ce genre et j'en suis là (à l'état de prototype) :

    * designer de modélisation DSL (versus UML) intégré à Visual Studio ;

    * le méta modèle de mon DSL comporte permet de représenter "classes", "attributs", "méthodes", "règles métier", "vues", "listes", etc ;

    * les artefacts générés dans la solution Visual Studio à partir du modèle de l'appli dans le designer Visual Studio sont, pour les principaux :
    (a) une appli cliente Winform (C#) ;
    (b) une appli service Windows en .NET (C#) ;
    (c) les assemblies des objets métier ;
    (d) les mappings NHibernate ;
    (e) les scripts SQL de tables / vues / proc stock ;
    (f) les App.config, etc

    Note le méta modèle en lui-même n'est pas extensible de manière interactive sans reconstruire mon outil et le réinstaller dans Visual Studio. Cependant, le générateur de code, lui, ses templates, et les visiteurs du modèle, peuvent être modifiés à tout moment, pendant la session Visual Studio. Ce que je trouve particulièrement pratique/agile/et donc... intéressant, en l'espèce.

    J'ai fait une démo (video flash) de mon outil dans lequel on modélise en partant de zéro une appli, avec entités et relations objet *ET* les translations en termes de MCD/MPD, on génère le code, on compile, on crée la BDD MS SQL à partir des scripts SQL générés eux aussi, le tout en moins de 45 minutes.

    Bien sûr, dans l'architecture cible, l'usage de l'ORM NHibernate facilite grandement la génération de code, au lieu de s'appuyer sur des datasets typés ou non en ADO.NET.

    Les deux tiers dont le code généré est du C# .NET (le client Winforms et le service Windows attaqué en .NET remoting par le client) compilent sans erreur ni warning.

    Les scripts SQL de création de la BDD MS SQL Server : idem.

    Les trois tiers de l'appli s'exécutent donc à la fin de la démo sans une seule ligne de code / configuration écrite à la main.

    Je peux fournir le lien vers cette démo de mon outil dans une communication privée.

    Qu'en pensez-vous ? Avez-vous des questions ? Avez-vous vous aussi une expérience de ce genre ? Si oui, positive ou négative ? etc...

    Merci d'avance pour votre retour.

    LysDad

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 217
    Points : 253
    Points
    253
    Par défaut Et un ptit screenshot aidant à illustrer le propos...
    En pièce jointe...
    Images attachées Images attachées   

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/06/2008, 08h31
  2. Réponses: 4
    Dernier message: 03/06/2008, 11h40
  3. Ruby et Domain Specific Language
    Par swirtel dans le forum Ruby
    Réponses: 4
    Dernier message: 28/02/2007, 00h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo