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

W4 Express Java Discussion :

Pourquoi utiliser Lyria Leonardi ? Les avantages ? [Débat]


Sujet :

W4 Express Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2006
    Messages : 139
    Points : 152
    Points
    152
    Par défaut Pourquoi utiliser Lyria Leonardi ? Les avantages ?
    Bonjour,

    Leonardi de la societe Lyria: Ce logiciel permet en theorie de generer des IHM en AWT,SWING,SWT,WEB avec un code unique.
    Je voulais savoir si qqun avait un retour d'experience sur l'utilisation de ce logiciel(utilisation du studio, code generé, deploiement,prix,...) Toutes les infos m'interessent.

    Merci

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Détails sur le fonctionnement de Lyria Léonardi
    Bonjour,

    Voici quelques éléments pour répondre aux différents points abordés dans votre message.

    1) >>le logiciel permet en theorie de generer des IHM en AWT,SWING,SWT,WEB avec un code unique.

    L'une des caractéristiques de Leonardi est effectivement de réaliser des applications clientes (IHM) indépendante de l'afficheur.

    Le principe est que le moteur Leonardi produit en réalité une description XML des vues (indépendante de la cible d'affichage). Leonardi propose des 'afficheurs' pour transformer cette description XML des vues vers une cible : SWING, SWT, Plugin Eclipse (Eclipse RCP) ou encore des pages Html+javascript (Ajax) pour l'afficheur WEB. [L'afficheur AWT, disponible en V3.2 est désormais déconseillé au profit des afficheurs Swing/SWT/Plug'in].

    Pour des raisons de performance, les vues XML sont produites et mises à jour en mémoire (sans passer par des fichier ou des flux), de ce fait l'affichage est aussi rapide que dans une IHM classique construite avec un outil du type Visual Builder. Vous pouvez utiliser les démos sur le site de Lyria (Démo Hotel ) par exemple en SWT pour en juger par vous même.

    2) >>utilisation du studio

    Studio est un environnement de développement Leonardi qui fonctionne idéalement en tant que plug'in Eclipse mais peut fonctionner hors Eclipse en application 'stand alone'.

    Il permet d'éditer la configuration de votre application (quelles données à visualiser, quelles sont les vues à produire, quels sont les champs affichés dans ces vues …)

    Contrairement à des framework bas niveaux comme Struts par exemple Leonardi est livré avec une cinquantaine d'actions courantes pré-implementées et surtout intégrées (prêtes à l'emploi en quelques clics) comme : vues en liste, listes paginées, vues en arbres, formulaires de création, modification, consultation, impressions, diagramme de Gantt, vues statistiques, treemap etc…
    Il n'est donc pas necessaire de connaitre les technologies JEE ou SWT pour créer une application simple mais fonctionnelle (filtre technique).

    Studio permet le lien entre : la description de vos données et les actions génériques ou éventuellement des actions spécifiques. Les actions génériques peuvent se paramètrer, des actions spécifiques 'métier' de votre application sont codées en Java (dans ce cas vous devez coder la méthode d'exécution).

    Un exemple d'utilisation de Studio pas à pas est disponible :

    voir l’article "Développer une application cliente avec le framework Leonardi" dans le magazine Programmez ! (Septembre 2006, N°89)



    3) >> code genéré

    le code généré par studio est par défaut un répertoire contenant une description XML de ce qui a été paramétré dans Studio. Ces fichiers peuvent d'ailleurs être générés ou édités en XML hors Studio.

    Leonardi est une application "Model Driven" et pas un générateur de code. Cela signifie que si vous décrivez une classe applicative (donnée) dans Studio par exemple une "Commande", et que vous voulez la consulter : vous appliquez l'action consulter (générique) sur la classe applicative des "Commandes" et vous voyez le formulaire de consultation de la commande dans l'IHM .

    Il n'y a pas de classe Java ni de JSP généré par défaut car au lieu d'écrire le "formulaire de consultation d'une commande" comme dans une application classique, Leonardi propose une action "consulter" qui prend en argument le descriptif (modele XML) de l'objet à consulter.

    Le code à maintenir est donc extrêmement réduit (Le code source de la demo Hotel citée ci-dessus fait 20Ko de Java et 37Ko de XML pour plus de 50 vues différentes). Ceci est particulièrement efficace lorsque cous avez de nombreuses tables à visualiser ou lorsque les délais de réalisations sont très courts (RAD/Maquettage/Prototypage).

    Il est possible (mais optionnel) de générer du code pour des vues spécifiques, mais bien évidemment si toutes les vues ou presque sont spécifiques l'intérêt du framework est réduit ou inexistant.



    4) >> déploiement

    le déploiement depuis Studio produit des fichiers jars (client Swing/SWT), un fichier zip (plugin Eclipse) ou un fichier .WAR (déploiement web) conforme aux spécifications JEE.

    En web les technologies coté client sont HTML, Javascript (AJAX). Il n'y a pas d'usage d'applet ni de composants type ActiveX ou Flash). optionnellement certains composants proposent du SVG (XML).

    Un JDK 1.4 ou > est requis à l'exécution.



    5) >> Prix

    Le prix de Leonardi dépend de la distribution que vous souhaitez obtenir.

    Leonardi FREE Edition est une version téléchargeable gratuitement sur le site de Lyria (http://www.lyria.com) et qui comme son nom l'indique est gratuite. Elle est 100% fonctionnelle mais offre des connecteurs vers le monde 'gratuit', pas de support contractuel et certaines restrictions (il n'y a pas de date d'expiration ni de verrou technique de façon à ce que cette version gratuite puisse être utilisée en cas réel). Voir description

    Des versions commerciales offrent des versions dédiées avec davantage de connecteurs vers des sources de données commerciales et des fonctions supplémentaires (ex: import UML via XMI) : AGILE pour le RAD (développement rapide et automatisé d'applications), EVOLUTION (intégration/réécriture d'applications existantes en technologies Java JEE), FACTORY (pour de projets de taille importante manipulant un très grand nombre de tables dans une ou plusieurs bases de données). Vous pouvez nous contacter à info@lyria.com pour le détail et tarifs de ces offres commerciales.


    Cordialement
    Nicolas BODIN

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Qu'est ce que le MODEL-DRIVEN ?
    Merci.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2007
    Messages : 122
    Points : 126
    Points
    126

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Merci pour le lien que j'avais déjà regardé...
    Dans la théorie c'est ok, mais dans la pratique c'est quoi ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2007
    Messages : 122
    Points : 126
    Points
    126
    Par défaut
    Bon dans ce cas, on dépasse mon niveau de compétences ^^
    Il faudrait quelqu'un qui fasse du génie logiciel pur, c'est loin d'être mon cas ...

    Mais c'est vrai que je suis aussi intéressé par une explication de quelqu'un qui l'utilise. Je crois, si je ne me trompe, que ca revient à décrire le projet en UML par exemple (définition du modèle) et ensuite ce modèle peut s'utiliser avec n'importe quel langage ..

  7. #7
    Membre habitué
    Inscrit en
    Novembre 2006
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 105
    Points : 126
    Points
    126
    Par défaut
    L'idée générale du Model-Driven est que l'on peut déduire automatiquement du modèle métier de l'application (c'est à dire en gros de la structure des objets, comme un modèle de classes UML par ex.) soit du code, une logique, des comportements qui découlent directement de l'information contenue dans ce modèle.
    L'intérêt est que du coût on fait moins de code et on fait un développement plus centré sur le besoin fonctionnel et le service à rendre.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Excusez moi pour mes questions un peu large, mais en quoi c'est différent de WINDEV ?

  9. #9
    Membre habitué
    Inscrit en
    Novembre 2006
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 105
    Points : 126
    Points
    126
    Par défaut
    La plupart des outils d'IHM (dont WinDev) propose un outil pour construire des vues graphiques par assemblage de composants, puis par programmation on ajoute le lien avec les données et les traitements.

    Tous ces écrans sont réalisés un par un, cela peut être long, couteux, pas homogène... surtout si l'appli en question a beaucoup de vues de différents types et beaucoup de types de données.

    L'approche MDA propose la génération AUTOMATIQUE à partir du modèle applicatif (par exemple si je fais une appli de location de voiture : je décris ce qu'est un contrat, un client...) de l'appli en fonction des techno cible (Java, Web, swing...).

    Leonardi est Model-Driven : les écrans, leurs services de base, l'accès aux données sont créés automatiquement à l'exécution en fonction du modèle applicatif qui sert en quelque sorte de "super-paramètre".

    Moralité :
    - si le modèle évolue => l'appli évolue
    - je ne code pas un par un chacun des vues et les comportements standards (tri, filtrage, impression...) indépendants du métier,
    - si les technos évoluent, mon code spécifique n'est pas impacté.
    A+

  10. #10
    Membre habitué Avatar de Capt'n Java
    Inscrit en
    Juin 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 122
    Points : 146
    Points
    146
    Par défaut
    Citation Envoyé par SSPENCER
    Excusez moi pour mes questions un peu large, mais en quoi c'est différent de WINDEV ?
    Tous est dit : WINDEV est pour Windows alors que Leonardi est multi plateformes, multi OS et multi architectures

  11. #11
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Juin 2007
    Messages : 58
    Points : 59
    Points
    59
    Par défaut Pas seulement multi plateforme
    L'approche de Leonardi est aussi très différente d'un L4G comme Windev même si le résultat produit (application + IHM) est similaire.
    Windev propose son propre language de programmation alors que Leonardi est du Java et du XML pur.

    Même si bien sur pour XML Leonardi possede sa propre grammaire, ce sont les outils standard du monde Java qui sont utilisés (Servlets, JSP, Swing, Swt, Eclipse, Netbeans, JDK, Tomcat, Xerces, Xalan, Fop, JFreeChart etc...)
    Le fait d'etre portable ensuite découle du choix des technos ci dessus.

    Ce qui veut dire que si vous voulez utiliser un outil ou un driver quelconque disponible dans le monde java (le choix est vaste) c'est tout simple : il suffit de l'écrire comme du code de votre application.

    En fait Leonardi n'est pas un AGL même s'il dispose d'un Studio pour offrir une interface graphique. c'est une application générique déjà pré codée pour les fonctions les plus courantes (un peu plus d'une cinquantaire de fonctions consulter/créer/modifier/tableau/tableau paginée, arbre, maps, stats etc...)
    déjà intégrées et pretes à l'emploi. Une application générique de bout en bout depuis la base de données vers l'interface graphique et son contenu)

    C'est ce qui le distingue des framework de plus bas niveau comme Struts : vous avez une méthode exécute(...) qui par défaut ne fait rien à coder et vous devez retourner une page ... Qu'ils faut également écrire par soi même.

    Studio produit des fichiers XML de config que l'on peut tres bien éditer ou générer sans Studio : il permet juste de ne pas exiger un prérequis de la connaissance de XML et des grammaires pour travailler.

    ***************
    Une des difficultés cependant est qu'on n'écrit que peu ou pas de code du tout avec Studio. Or si l'on veut coder une fonction comme "calcul d'un TEG" dans une appli bancaire par exemple, on doit faire comme "d'habitude" en java. Ce n'est ni plus ni moins compliqué qu'avec toute techno java, mais comme on s'en est passé jusqu'à cette étape, d'un coup il faut pour le code métier se replonger dans ce qu'on aurait fait de toutes façons. On peut toutefois éviter d'écrire l'accès aux données et l'interface graphique mais on doit forcément se coder le calcul quelque part !

  12. #12
    Membre habitué Avatar de Capt'n Java
    Inscrit en
    Juin 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 122
    Points : 146
    Points
    146
    Par défaut
    Citation Envoyé par fastlock
    Une des difficultés cependant est qu'on n'écrit que peu ou pas de code du tout avec Studio. Or si l'on veut coder une fonction comme "calcul d'un TEG" dans une appli bancaire par exemple, on doit faire comme "d'habitude" en java. Ce n'est ni plus ni moins compliqué qu'avec toute techno java, mais comme on s'en est passé jusqu'à cette étape, d'un coup il faut pour le code métier se replonger dans ce qu'on aurait fait de toutes façons. On peut toutefois éviter d'écrire l'accès aux données et l'interface graphique mais on doit forcément se coder le calcul quelque part !
    Eh oui, quand on a pris l'habitude de ne rien faire c'est dur de se "replonger" dans du code même pour quelques lignes
    Beaucoup de personnes croient encore à l'outil miracle qui fait tout (surtout les décideurs en fait) et quand quelqu'un leur "vend" cet outil ils sont contents.
    Par contre après ils ne regardent pas réellement ce que fait l'outil et ceux d'en dessous qui l'utilisent ont bien des mauvaises surprises.
    Au moins avec Leonardi et Lyria c'est clair dès le départ : l'outil permet de faire abstraction d'une bonne quantité de code (essentiellement du code technique) mais il "reste" à réaliser la partie métier. Il n'y a pas de mauvaises surprises on a été prévenu.
    C'est honnête de la part de Lyria qui ne vend pas du vent

  13. #13
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Juin 2007
    Messages : 58
    Points : 59
    Points
    59
    Par défaut Vu dans 01 informatique de ce mois ci
    Leonardi est pulvérisé : la pub 01 indique que WEBDEV permet de faire une application WEB 2.0 en 1 CLIC !!!!

    Pas facile, chez moi rien que pour ouvrir le document de specifications il me faut 2 clics et un clic pour lui donner le focus :-(

    En plus difficile de chiffer plus d'1 € de consulting et 20cents de maintenance annuelle sur un clic souris. Le chomage guette les développeurs et la faillite pour les SSII !

    Ou alors il faut un clic sur le bouton "envoyer email" avec pour titre "recherche consultants pour mise en oeuvre projet web2.0" ??? Ouf !

  14. #14
    Membre habitué Avatar de Capt'n Java
    Inscrit en
    Juin 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 122
    Points : 146
    Points
    146
    Par défaut
    Citation Envoyé par fastlock
    Leonardi est pulvérisé : la pub 01 indique que WEBDEV permet de faire une application WEB 2.0 en 1 CLIC !!!!

    Pas facile, chez moi rien que pour ouvrir le document de specifications il me faut 2 clics et un clic pour lui donner le focus :-(

    En plus difficile de chiffer plus d'1 € de consulting et 20cents de maintenance annuelle sur un clic souris. Le chomage guette les développeurs et la faillite pour les SSII !

    Ou alors il faut un clic sur le bouton "envoyer email" avec pour titre "recherche consultants pour mise en oeuvre projet web2.0" ??? Ouf !
    1 clic mais combien de caractères au clavier ?

  15. #15
    Membre expérimenté
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 219
    Points : 1 438
    Points
    1 438
    Par défaut
    Bonjour aux utilisateurs de Leonardi et à ceux qui souhaitent le connaître un peu mieux !

    Je n'ai pas beaucoup de choses à dire car tout est un peu dit jusqu'à maintenant.
    Selon moi,

    LEONARDI est comparable à Access de Microsoft en ce sens qu’il permet facilement de créer une IHM pour visualiser et éditer les données d’un modèle.

    Mais avec Access, les vues restent très orientées « tables ». LEONARDI permet un niveau d’abstraction supplémentaire et sa couverture fonctionnelle est bien plus riche : visualisation graphique multiples, données hétérogènes (bases de données, fichiers plats, annuaires LDAP, CORBA, EJB…), templates métiers disponibles en natif…

    Son grand atout est l'emploi de la technologie Java, il devient plus portable et les cibles d'affichage sont donc multiples: Eclipse, Swing, Client Web-Ajax etc…

Discussions similaires

  1. Quels sont les avantages de l'utilisation d'interfaces ?
    Par Blowdi dans le forum Design Patterns
    Réponses: 17
    Dernier message: 05/11/2009, 22h28
  2. pourquoi utiliser les thumbnail
    Par chezdevelopping dans le forum Langage
    Réponses: 2
    Dernier message: 09/01/2009, 15h22
  3. Pourquoi utiliser les fonctions POSIX ?
    Par sportBlond dans le forum Langage
    Réponses: 5
    Dernier message: 04/09/2006, 17h11
  4. [SQL] Pourquoi utilise-t-on encore les fichiers texte?
    Par krimback dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 24/03/2006, 13h44
  5. [POO] Pourquoi utiliser les classes ?
    Par GregPeck dans le forum Langage
    Réponses: 7
    Dernier message: 16/12/2005, 15h18

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