Je recherche un example GWT + Neo4J

110 views
Skip to first unread message

Philippe Baumard

unread,
Nov 7, 2013, 4:29:17 PM11/7/13
to
https://groups.google.com/forum/#!topic/neo4j/pHgTdS7Z8jE

Dans le cadre de mon application actuelle je suis en phase critique. Celle du choix de l'interface. Mon interface Vaadin est fini mais j'ai des doutes sur son potentiel à être utilisé par 50000+ connexion/jours c'est pourquoi je vise GWT.

Mais je n'ai trouvé aucun example avec Neo4J.
D'ailleurs je ne sait même pas s'il est possible d'utiliser un graph embedded avec GWT ce qui m'étonnerait?
Suis je obligé d'opter pour la solution REST server?

Dans l'un comme l'autre si vous aviez sous la main un example j'apprécierais.
Merci.

Je complète ici ma demande...
Après lecture de 'GWT in Action' je pense pouvoir utiliser un graph embedded avec une servlet avec GWT-RPC.
Gardant aussi le framework Vaadin puisque celui-ci propose maintenant la solution GWT. 
Une bonne charge de travail pour basculer du Server-Side Vaadin vers le Client-Side Vaadin (GWT).

Florent Biville

unread,
Nov 7, 2013, 11:45:22 AM11/7/13
to Philippe Baumard, neo...@googlegroups.com
Bonjour Philippe, 

Je n'ai que peu ou pas d'expérience avec Vaadin et GWT.
Je ne pourrais pas mieux répondre à la question qu'une recherche Google.

Néanmoins, bien que la solution REST comprenne intrinsèquement plus d'overhead (même si cela peut être mitigé par d'autres moyens) que la solution embarquée, elle permet de découpler complètement la partie cliente. Elle permet d'avoir plusieurs clients : en full JS (avec Backbone/Angular/Ember), voire des clients en Java (Jersey) et des clients mobiles.

L'architecture paraît alors plus complexe bien sûr, mais elle permet d'avoir un découpage modulaire assez fin où chaque brique reste simple à déployer et maintenir.

De plus, tu restes complètement maître de l'API REST que tu souhaites exposer.
Et afin d'être sûr que cela tiendra la charge attendue (50000 utilisateurs/j.), rien ne t'empêche de monter un Tomcat (ou autre) sur une machine dédiée et d'y jouer une série de tests de charge avec Gatling par exemple.

Je te conseille de tenter l'utilisation de l'API REST avec tests de charge à l'appui, quitte à configurer plus finement ton instance au fur et à mesure. 

À bientôt !
Florent


2013/11/7 Philippe Baumard <phba...@yahoo.fr>

https://groups.google.com/forum/#!topic/neo4j/pHgTdS7Z8jE

Dans le cadre de mon application actuelle je suis en phase critique. Celle du choix de l'interface. Mon interface Vaadin est fini mais j'ai des doutes sur son potentiel à être utilisé par 50000+ connexion/jours c'est pourquoi je vise GWT.

Mais je n'ai trouvé aucun example avec Neo4J.
D'ailleurs je ne sait même pas s'il est possible d'utiliser un graph embedded avec GWT ce qui m'étonnerait?
Suis je obligé d'opter pour la solution REST server?

Dans l'un comme l'autre si vous aviez sous la main un example j'apprécierais.
Merci.



--
Florent Biville (@fbiville)
Associate developer at Lateral Thoughts

Peter Neubauer

unread,
Nov 7, 2013, 12:40:13 PM11/7/13
to Florent Biville, Philippe Baumard, neo...@googlegroups.com
Hi there,
you can also try ot Vaadin, based on GWT, with Neo4j. https://vaadin.com/wiki/-/wiki/Main/Using%20neo4j%20with%20Vaadin

/peter


G:  neubauer.peter
S:  peter.neubauer
P:  +46 704 106975
L:   http://www.linkedin.com/in/neubauer
T:   @peterneubauer

The Neo4j Browser  - Neo4j 2.0.0-M06
Got some data?        There is a graph for this.


2013/11/7 Florent Biville <f.bi...@lateral-thoughts.com>

Philippe Baumard

unread,
Nov 8, 2013, 2:02:59 AM11/8/13
to
Merci de vos conseils.
Le choix de GWT me semble être une solution de longue route. Autant prendre le bon départ.
J'abandonne Vaadin et aussi Vaadin GWT. Après avoir expérimenté la communauté Vaadin j'ai noté beaucoup trop de faiblesses dans les codes proposés pour développer une véritable application. J'ai eu le sentiment d'avoir eu affaire à un jouet. Cependant je recommande FORTEMENT Vaadin pour développer des projets intranet. Mais je ne crois pas du tout que Vaadin soit le choix pour des projets internet.
Je ne crois pas non plus devoir passer par Vaadin pour faire du GWT. J'ai essayé au debut mais sans résulats satisfaisant dans la communauté.

Donc retour dans le furtur. GWT!
Le bon livre GWT in Action Seconde Edition (2013)  est trés bien documenté avec 102M de code. L'opinion que je m'étais faite de GWT en 2012 n'est plus la même que maintenant.
Je viens de perdre 6 mois de développement mais enfin il vaux mieux parfois se ressaisir  pour éviter de rentrer dans des murs.


Sylvain Roussy

unread,
Nov 14, 2013, 4:04:39 AM11/14/13
to neo...@googlegroups.com
Bonjour Philippe,

Etant moi-même un utilisateur de Vaadin, je partage ton opinion sur la question d'une utilisation Intranet/Extranet. Pour moi, Vaadin est conçu pour réaliser des applications riches destinées à une utilisation en Intranet, cela-dit je modère un peu, car j'ai vu de très belles choses réalisées avec Vaadin, prévues pour une utilisation en extranet.

Je l'ai couplé avec Neo4j, et j'ai pu pu grâce à Neo4j réaliser des choses qui étaient pénibles à faire avec un modèle relationnel. J'ai conçu une application utilisant des objets et des relations génériques et dynamiques (ajout de relations par l'utilisateur final, ajout de propriétés par l'utilisateur final, etc.). J'ai également réalisé un Wizard en Vaadin piloté par la donnée. Enfin, grâce à des Apis manipulant le Bytecode java (ASM, CGLIB, etc.) j'ai pu concevoir des classes dynamiques en fonction de la structure de mes noeuds, ce qui m'a permis de profiter ensuite du Binding offert par Vaadin. Par-contre, je suis resté sur des volumes de données très humbles.

Voilà pour un petit retour avec Vaadin, le temps de développement étant resté relativement court (et c'est bien là l'avantage de Vaadin qui reste un framework trop peu connu à mon sens).

Cordialement,

Sylvain

Sun Seng David Tan

unread,
Jan 3, 2014, 12:26:56 PM1/3/14
to neo...@googlegroups.com
Hello,
Je ne pense pas que ca soit une bonne idée de faire une application GWT attaquant directement neo4j, ca GWT c'est du javascript ce qui veut dire que tu exposes ta base sur le web et te rend très vulnérable aux attaques.


Le jeudi 7 novembre 2013 15:10:42 UTC+1, Philippe Baumard a écrit :
https://groups.google.com/forum/#!topic/neo4j/pHgTdS7Z8jE

Dans le cadre de mon application actuelle je suis en phase critique. Celle du choix de l'interface. Mon interface Vaadin est fini mais j'ai des doutes sur son potentiel à être utilisé par 50000+ connexion/jours c'est pourquoi je vise GWT.

Mais je n'ai trouvé aucun example avec Neo4J.
D'ailleurs je ne sait même pas s'il est possible d'utiliser un graph embedded avec GWT ce qui m'étonnerait?
Suis je obligé d'opter pour la solution REST server?

Dans l'un comme l'autre si vous aviez sous la main un example j'apprécierais.
Merci.

Philippe Baumard

unread,
Jan 6, 2014, 4:10:28 AM1/6/14
to
@ Sun Seng David Tan
GWT se démarque des autres produits dans le sens où il traduit les classes java en javascript. Ces classes sont parfaitement délimitées dans un package et ont pour fonction de générer l'interface client. La gestion de l'internationalisation est vraiment optimale. Pour la prise de données sur le serveur GWT utilise des servlets. (RequestFactory). La couche métier sur le serveur reste en Java. Mais j'utiliserais Scala pour les classes métiers et Akka pour le partage des processors. On peut aussi protéger sa couche métier avec Spring. C'est d'ailleurs mon prochain travail. Travailler Neo4J (en Java) avec GWT est maintenant devenu d'une extrême facilité. J'ai été stupéfait du caractère eminamment professionel comparé aux fioritures de certains autres produits. Il m'a fallu deux années pour trouver ce que je cherchais. Combien de fois je me suis fais avoir par les uns et les autres donnant des solutions merveilleuses. Mais dès que l'on sort des examples maison rien ne vas plus... (Vaadin)!(*)

J'ai énormément bien avancé avec GWT que je trouve formidable.
J'ai mis à la poubelle tout ce que je connaisssais, PHP, Vaadin, Zend, Doctrine, Seam, EJB, JSP, JSF, etc..., etc... Microsoft aussi avec ses composants.

Pour ceux qui doutent je tiens à leur dire toute la confiance que je donne a GWT et que j'en suis vraiment trés satisfait.
Je ne pense pas m'être trompé sur le fait d'avoir trouvé un produit capable de supporter 50000+/jour de connexions.

(*) Si vous projetez de développer en GWT et que vous êtes débutant gardez vous de fréquenter Vaadin. Qui reste à son niveau une très bonne solution pour des intranets légers mais pas plus. Attention à ne pas vous faire abuser par ce produit. Il m'on fait perdre 6 mois de développement avec leur beau langage commercial.Vaadin n'est pas GWT et GWT n'est pas Vaadin. De plus ce que je n'ai pas aimé chez Vaadin c'est de devoir payer quelques 400 € pour avoir la bibliothèque de graphiques charts alors que GWT la donne et c'est la même. Où est le bug? Sans compter l'abscence totale de support sérieux sur sa partie (qui n'est pas la sienne) GWT, même dans le forum. Décevant...
et le meilleur livre pour travailler et developper c'est ici http://www.gwtproject.org/index.html ATTENTION PRENEZ BIEN LA SECONDE EDITION.

Sun aurais tu  l'amabilité de développer un peu plus ton argumentation pour que je comprenne mieux les raisons de ton message. Peux tu me donner les exemples les concernant.

Sun Seng David Tan

unread,
Jan 6, 2014, 6:11:54 AM1/6/14
to neo...@googlegroups.com
Ah non je suis désolé, j'ai lu le thread trop vite. Le titre et la démarche me semblait un peu étrange car le titre "GWT + neo4j" faisait penser que tu accèdais à 
neo4j directement en REST par GWT. GWT c'est bien mais ce que je reproche à GWT est son coté trop "monolithique" (on doit recompiler tout l'appli GWT, pas moyen de compiler des petits bouts de softs à assembler ensuite, donc si l'appli grossi c'est assez contraignant et lourd)

Philippe Baumard

unread,
Jan 6, 2014, 11:24:02 AM1/6/14
to
@Sun Seng David Tan 

Merci de ta réponse qui me rassure.
En ce qui concerne le développement excuse moi mais maintenant c'est complètement FAUX!
La fonction SuperDevMode permet de développer directement par la lecture les classes Java non compilées. Le mode Debug est aussi permit et fonctionne parfaitement.
Eclipse ouvre automatiquement l'application dans le navigateur par défaut. 
On peut même modifier sa classe depuis eclipse, sauver le fichier et rafraîchir le navigateur pour voir le résulat. (pas toujours...).

Enfin je ne compile que de temps à autres pour voir si tout vas bien. 

En ce qui concerne la lourdeur c'est bien le contraire qui est VRAI. Avec UiBinder, RequestFactory, MVPresenter, Activity Place,  et Les Editors je développe à vitesse grand V sans même perdre du temps avec les classes de Tests.
Ce qui est un comble car on préconise de développer les tests avant (DDT). Mais avec GWT je n'en ai absolument pas besoin, car j'ai bien compris son aspect modulaire qui est génial.

Bon je vais devoir faire une grosse moulinette de tests pour la production .. mais quand j'aurais fini.

Je dirai que GWT c'est le IBM des développeurs internet.

Sun Seng David Tan

unread,
Jan 6, 2014, 8:32:24 AM1/6/14
to neo...@googlegroups.com
Bon, j'ai bien envie de répondre, mais ce n'est pas trop le lieu pour en parler, car ca n'a rien à voir avec Neo4j, si tu veux on peut en discuter autre part sur un autre forum ou derrière une bière. Je préfère clore le sujet ici, merci.


Le lundi 6 janvier 2014 12:43:47 UTC+1, Philippe Baumard a écrit :
@Sun Seng David Tan 

Merci de ta réponse qui me rassure.
En ce qui concerne le développement excuse moi mais maintenant c'est complètement FAUX!
La fonction SuperDevMode permet de développer directement par la lecture les classes Java non compilées. Le mode Debug est aussi permit et fonctionne parfaitement.
Eclipse ouvre automatiquement l'application dans le navigateur par défaut. 
On peut même modifier sa classe depuis eclipse, sauver le fichier et rafraîchir le navigateur pour voir le résulat. (pas toujours...).

Enfin je ne compile que de temps à autres pour voir si tout vas bien. 

En ce qui concerne la lourdeur c'est bien le contraire qui est VRAI. Avec UiBinder, RequestFactory, MVPresenter, Activity Place,  et Les Editors je développe à vitesse grand V sans même perdre du temps avec les classes de Tests.
Ce qui est un comble car on préconise de développer les tests avant (DTT). Mais avec GWT je n'en ai absolument pas besoin, car j'ai bien compris son aspect modulaire qui est génial.
Reply all
Reply to author
Forward
0 new messages