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

BOUML Discussion :

Reverse d'une appli Spring


Sujet :

BOUML

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2004
    Messages : 327
    Points : 487
    Points
    487
    Par défaut Reverse d'une appli Spring
    Bonjour,

    J'ai hérité d'une grosse, très grosse, application J2EE utilisant Spring, Web Services, et Hibernate pour laquelle il n'existe pas de documentation de conception. Je viens de télécharger BOUML qui a l'air trés bien.

    Je n'ai pas encore utilisé BOUML, mais je me pose la question suivante : BOUML va t'il pouvoir créer un diagramme de classe alors que avec Spring on n'instancie pas les classes "directement" dans le code. Les créations d'objets sont effectués par Spring, typiquement grâce à une ligne telle que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MACLASSE maClasse = (MACLASSE) Config.getSpringAppContext().getBean("maClasse");
    BOUML peut il reverser du code Spring ?

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 533
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 533
    Points : 6 709
    Points
    6 709
    Par défaut
    bonsoir,

    je suppose que ta ligne 'MACLASSE maClasse = ...' se trouve dans le corps d'une opération, dans ce cas il n'y aura aucun problème : Bouml prend les corps sans trop d'analyse, à part bien-sur la recherche de la '}' correspondant à l'{' initiale

    sinon ne t'inquiete pas pour le nombre de classes, je peux reverser une jdk complete sans probleme (benchmark) sur mon vieux PC

    donc, tu crées un projet (new dans le menu Project), puis tu choisis Reverse java soit via le menu Tools, soit via un clic droit puis reverse > java sur le seul objet dans le browser (fenêtre de gauche)

    A la première apparition d'un exploreur de fichier tu fais cancel (c'est lié à l'utilisation de fichiers catalogue que tu ne peux avoir d'emblé), à la seconde tu te promenes pour designer le directory chapeau contenant toute ton application et tu attends que cela finisse (le nombre de classes et membre est affiche à la fin de la trace) et tu peux alors sauver la chose

    Cela te donnera les définitions de classe et artifacts associé, mais PAS les diagrammes, se sera à toi de les faire car aucun outil ne peut décider ce qui doit etre montré ou non, et comment. Mais faire des diagrammes avec Bouml est tres rapide

    ma signature a un renvoi vers des tutoriels (en Francais) sur Bouml

    bon reverse
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2004
    Messages : 327
    Points : 487
    Points
    487
    Par défaut
    Bonjour,

    Merci beaucoup pour votre réponse.
    Toutes mes félicitations pour Bouml.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 24
    Points : 39
    Points
    39
    Par défaut
    Je pense que la question vient du fait, que Spring pousse à coder par interface. L'injection de dépendance, fait qu'une classe concrète dépend d'une interface et pas d'une autre classe concrète.

    Je pense que ça marche. Si on prend par exemple, un DAO qui utilise une connexion SQL qui peut soit être de type Oracle ou MySQL :

    public class UserDAO {
    private IConnection conn;

    public void setConn (IConnection conn) { this.conn = conn; }
    ...
    }

    public interface IConnection { ... }

    public class OracleConnection implements IConnection { ... }
    public class MySQLConnection implements IConnection { ... }

    Puis, il y aura le fichier XML de configuration de Spring, avec le lien pour dire que tu veux utiliser plutôt la connexion Oracle que la connexion MySQL. (par exemple)

    Dans ce cas, au niveau du diagramme de classe, il n'y aura pas de problème. Il y aura bien une classe UserDAO avec un attribut de type IConnection. Et 2 classes qui implémentent IConnection...

Discussions similaires

  1. [Spring] D'une appli desktop à une appli web
    Par gifffftane dans le forum REST
    Réponses: 4
    Dernier message: 07/07/2009, 12h06
  2. Appel d'une appli Spring
    Par dev123 dans le forum Spring
    Réponses: 3
    Dernier message: 17/11/2008, 17h24
  3. Réponses: 2
    Dernier message: 24/06/2008, 09h46
  4. Spring context dans une appli web
    Par Sniper37 dans le forum Spring Web
    Réponses: 4
    Dernier message: 06/09/2007, 09h31
  5. Réponses: 1
    Dernier message: 01/12/2006, 16h19

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