P3 A new story begins

Aller au contenu | Aller au menu | Aller à la recherche

mercredi 25 mars 2009

PPP is not dead

On ne va quand même pas rester sur un coup de gueule, l'informatique c'est parfois beau comme ... ... ben comme Flampy pardi !!

Même si ça ne se voit pas sachez que Flampy avance, et va même changer de petit nom, peut être vais-je m'offrir un nouveau nom de domaine ... à voir

En attendant une future release officielle, je vais vous prépare une petite vidéo qui montrea comment utiliser Eclipse MDT pour concevoir une application (qui sera peut être l'application exemple de la documentation de Flampy).

Pour commencer voici la liste des notations UML qui seront compatible avec Flampy. (MDA et ORM inclus) Notations UML supportées

Affaire à suivre !!

vendredi 1 août 2008

Avancement de Flampy

Voici un petit point d'avancement du projet Flampy.

Ces derniers jours j'ai essentiellement travaillé sur l'installeur automatique installer.emukina.fr et sur la génération MDA.

La page de l'installeur:

Flampy_-_Quick_Installer.png

Le générateur de code source fait la distinction entre les entités et les services.

L'installeur propose une vue synthétique sous forme arborescente des fichiers générés.

Le résultat de la génération avec ce fichier Emukina.uml (encore incomplet) :



Flampy_-_Installation_Report_Status.png

Les bases sont désormais posées, il ne reste plus qu'à peaufiner le tout Voici une liste des taches déjà identifiées :

  • Génération du code des opérations pour chaque chaque classe.
  • Nettoyage du code du générateur (c'est un peu le bronx).
  • Explication des 2 types de layout et activation du bouton radio...
  • Packaging de Flampy v0.2
  • Coder la génération des schémas XML (*.xsd)
  • Coder la génération des fichiers de description des services web (*.wsdl)
  • Coder la génération du fichier de mapping
  • Achever l'ORM de Flampy en gérant les différents types d'association

Bref de quoi passer le temps :D

vendredi 18 juillet 2008

L'approche MDA

Le petit framework Flampy va évoluer afin de proposer une approche de type MDA : Model Driven Architecture.

Le but est désormais de réaliser un framework PHP équivalent à la 'suite' Spring/Hibernate/AndroMDA du monde Java.

C'est très ambitieux mais surtout prometteur.

Je viens enfin de trouver un éditeur totalement libre et gratuit pour faire des diagrammes de classes afin de les exporter en XMI 2.1, ce qui était le gros pré-requis pour une utilisation simplifiée pour tout le monde (AndroMDA conseille MagicDraw qui est payant)

Les gratuits :

  • Eclipse MDT (difficilement intégrable avec PDT pour le moment, il faut un eclipse 3.4, et l'éditeur graphique a des bugs)
  • Bouml (export XMI 2.1 mais je trouve l'utilisation très pénible et peu conviviale)

Les payants :

  • MagicDraw
  • RSA/RSM 7 (XMi à la sauce Rose-IBM, possède beaucoup de fonctionnalités mais prix exorbitant)
  • Eclipse UML Omondo (XMI non testé)
  • Papyrus (XMI non testé)

Mon choix s'est donc porté sur le tout nouveau MDT qui m'a agréablement surpris. Il présente une ergonomie similaire à celle de RSA/RSM (notion de perspective et vues d'eclipse) que je trouve moins sympatique que l'ancien Rational Rose 2003 qui faisait appel à des boîte de dialogue plus grande. Mais bon avec un bi-écran ou un très grand écran (pensez à moi c'est bientôt mon anniversaire ...), ce petit problème disparaît et vous arriverez à créer vos modèle assez rapidement !!

Voici 2 captures d'écrans montrant un diagramme de classe simplifiée et l'écriture du modèle UML au format XMI 2.1.

MDT - Diagramme de classe

MDT - Modele UML XMI 2.1

Flampy sera bientôt capable de lire le fichier de modèle XMI et de générer le code qui va avec (je travaille activement dessus) !!!!

Pour le moment Flampy dispose d'un installeur (un exemple ici) qui construit l'arborescence du projet en fonction d'un paramètrage, et qui à terme générera les classes de vos objets métiers ainsi que celles de vos services. Dans un deuxième temps il générera également les scripts SQL et le mapping pour une utilisation directe avec l'ORM de Flampy.

Au final le développement de votre application sera composé de seulement quelques étapes :

  1. Conception du modèle UML
  2. Utilisation de l'installeur de Flampy
  3. Ecriture de la logique métier de vos services
  4. Ecriture des l'IHM de votre application (En Flex ou XHTML)

L'installeur fonctionne, et je travaille sur l'amélioration du traitement du fichier Xmi (Uml). Je mettrai bientôt une préversion en téléchargement de cette nouvelle version 0.2 ;) Comme on dit Work In Progress !!!