C'est là qu'intervienne les DSL. Pour avoir fait un générateur UML vers Zend Framework, ca m'a gonflé de foutre des stéréotypes partout, d'utiliser des techniques détournées de modélisation pour arriver à mes fins. Avec Wisss, j'essaie d'exprimer les concepts d'une appli web dans le métamodèle, de garder que l'essentiel, et concernant les workflows (enfin ca reste des process simplistes), je suis parti du standard du Wfmc, mais face à la complexité de leur métamodèle par rapport à mes besoins, j'ai traduit ca en une sorte de circuit électrique. C'est là où ca rejoint ton lien :-)
L'idée est que j'ai des puces avec des pates et on relie les pates d'une puce à l'autre. Par exemple, je vais avoir une pate "Add Activity" qui prend deux objets en entrée et les ressort. La puce s'occupe d'associer les deux objets entre eux. Ca c'est ce que te présente le modèle, mais c'est bêtement traduit par un $objet1->add($objet2) ou $objet1->set($objet2) pour faire simple.
Pour l'instant, je n'ai pas encore de modeleur comme topcased pour UML, mais c'est prévu, et la on pourra construire des algorithmes métiers comme des petits circuits.
Pour les traitement plus complexes qu'un Add, Create, ..., rien n'empeche de définir une boite Activity toute simple pour laquelle on remplira le user code. Du coup, mes process métiers sont générés en grande partie pour les cas simples et les compliqués ne nécessitent que de toucher au code du process. Tous les liens entres les couches sont générés.
http://helpmequ.it: arrêter de fumer pour la bonne cause, http://mapetiteautoentreprise.fr : facturation libre pour les auto-entrepreneurs
[^] # Re: Du code vers le modèle?
Posté par Alf . En réponse à la dépêche Acceleo 2.2.0 : nouveaux générateurs PHP, Python et JEE. Évalué à 2.
L'idée est que j'ai des puces avec des pates et on relie les pates d'une puce à l'autre. Par exemple, je vais avoir une pate "Add Activity" qui prend deux objets en entrée et les ressort. La puce s'occupe d'associer les deux objets entre eux. Ca c'est ce que te présente le modèle, mais c'est bêtement traduit par un $objet1->add($objet2) ou $objet1->set($objet2) pour faire simple.
Pour l'instant, je n'ai pas encore de modeleur comme topcased pour UML, mais c'est prévu, et la on pourra construire des algorithmes métiers comme des petits circuits.
Pour les traitement plus complexes qu'un Add, Create, ..., rien n'empeche de définir une boite Activity toute simple pour laquelle on remplira le user code. Du coup, mes process métiers sont générés en grande partie pour les cas simples et les compliqués ne nécessitent que de toucher au code du process. Tous les liens entres les couches sont générés.
http://helpmequ.it: arrêter de fumer pour la bonne cause, http://mapetiteautoentreprise.fr : facturation libre pour les auto-entrepreneurs