Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[tomcat/jsp] Domaine d'activité et performance

2 réponses
Avatar
Kuhn Frédéric
Hello,

En fait, il y a tout un intranet/extranet à redévelopper. il était initialement
écrit en php (en procédural en plus), c'est par conséquent l'occasion de
repenser l'application langage, passer le serveur web en debian, etc.. Donc du
coups je me demandais pourquoi ne pas le ré-écrire en java. Le langage est
excellent, et ce serait dommage de ne pas y penser. Je ne suis pas un
spécialiste java, j'ai juste fait mon projet cnam en java/swing l'année passée,
et j'avais bien accroché. Sans compter que la portabilité permettrait de
résoudre le problème des applications écrites en vb dans un parc de machine
comportant des mac osx, des windows et un linux (le mien \o/).

Cependant, dès que je parle de tomcat/jsp, on me parle directement d'usine à
gaze, de quantité de mémoire bouffée et de performance catastrophique en terme
de charge. Cependant j'ai lu que les version récente de java et de tomcat ont
quand même amélioré la chose, enfin je pense.

La question est, quand est-il vraiment ? comparé à php par exemple (en terme de
performance pas en terme de qualité de langage) ? Vous qui l'utilisez
couramment, et dans quel domaine d'application l'utilisez-vous ?

Merci.

2 réponses

Avatar
Simon OUALID
Kuhn Frédéric wrote:
Hello,

En fait, il y a tout un intranet/extranet à redévelopper. il était
initialement écrit en php (en procédural en plus), c'est par conséquent
l'occasion de repenser l'application langage, passer le serveur web en
debian, etc.. Donc du coups je me demandais pourquoi ne pas le
ré-écrire en java. Le langage est excellent, et ce serait dommage de ne
pas y penser. Je ne suis pas un spécialiste java, j'ai juste fait mon
projet cnam en java/swing l'année passée, et j'avais bien accroché. Sans
compter que la portabilité permettrait de résoudre le problème des
applications écrites en vb dans un parc de machine comportant des mac
osx, des windows et un linux (le mien o/).

Cependant, dès que je parle de tomcat/jsp, on me parle directement
d'usine à gaze, de quantité de mémoire bouffée et de performance
catastrophique en terme de charge. Cependant j'ai lu que les version
récente de java et de tomcat ont quand même amélioré la chose, enfin je
pense.

La question est, quand est-il vraiment ? comparé à php par exemple
(en terme de performance pas en terme de qualité de langage) ? Vous qui
l'utilisez couramment, et dans quel domaine d'application l'utilisez-vous ?

Merci.



D'expérience, java est beaucoup plus performant que du PHP si c'est pas
fait n'importe comment. On peut faire n'importe quoi et avoir une chance
que ça marchotte en PHP, pas vraiment en java. Et c'est un langage
beaucoup plus mur (d'ailleurs, au fil des versions et des années, je
trouve que PHP ressemble de plus en plus à java)...

Chez "nous", on utilise PHP pour les développements "kleenex" (moins
d'un an d'utilisation, pour du code non partagé par plusieurs
applicatifs, et avec pas ou peu d'évolution). Ca permet de faire faire
les choses par "quasi" n'importe qui rapidement.

Le reste (la majorité, tout ce qui est "métier" en fait) est codé en
java. Notre intranet, par exemple, s'appuie en grande partie sur les
même libraries que nos applications swing (services/dao)...

Par contre, quand on partage du code, il faut être plus vigilant sur sa
qualité et sur l'organisation (versionning, déploiement des différents
modules...), mais c'est un autre débat.

Pour moi, les questions à se poser avant de prendre ce genre de décision
seraient donc : est ce du code qui va durer ? va t'il évoluer beaucoup ?
y a t'il une chance qu'il soit partagé par plusieurs applications ?

Avatar
Kuhn Frédéric

D'expérience, java est beaucoup plus performant que du PHP si c'est pas
fait n'importe comment. On peut faire n'importe quoi et avoir une chance
que ça marchotte en PHP, pas vraiment en java. Et c'est un langage
beaucoup plus mur (d'ailleurs, au fil des versions et des années, je
trouve que PHP ressemble de plus en plus à java)...

Chez "nous", on utilise PHP pour les développements "kleenex" (moins
d'un an d'utilisation, pour du code non partagé par plusieurs
applicatifs, et avec pas ou peu d'évolution). Ca permet de faire faire
les choses par "quasi" n'importe qui rapidement.

Le reste (la majorité, tout ce qui est "métier" en fait) est codé en
java. Notre intranet, par exemple, s'appuie en grande partie sur les
même libraries que nos applications swing (services/dao)...

Par contre, quand on partage du code, il faut être plus vigilant sur sa
qualité et sur l'organisation (versionning, déploiement des différents
modules...), mais c'est un autre débat.

Pour moi, les questions à se poser avant de prendre ce genre de décision
seraient donc : est ce du code qui va durer ? va t'il évoluer beaucoup ?
y a t'il une chance qu'il soit partagé par plusieurs applications ?


Je développe des applications php depuis 5ans maintenant, et ce langage me
convient de moin en moin. Le typage des données par exemple. C'est inexistant en
php, même en faisant des comparaisons par type ( === ) et en castant, rien à
faire, il y a toujours des problèmes. La couche objet est bizarrement foutue
aussi. Bref en gros, je suis entièrement d'accord avec ce que tu dis et j'ai en
ma claque de ce langage.

Oui c'est du code qui est en place pour durer (il a été développé il y a
6ans, et continue d'avoluer), et pas mal de modules sont communs entre extranet
et intranet, voir même leur truc en vb fait les mêmes requêtes genre recherche
de toutes les diffusions d'une émission par exemple. La différence au niveau de
leur extranet, c'est que différents client n'ont pas accès à tous les modules,
et quelques différences d'ordre graphique (logo du client par exemple). Le
problème c'est que le faire évoluer c'est super galère, tout est viexu et buggé
sur leurs applications.

Qu'entends tu par "si c'est pas fait n'importe comment" ? d'autre part, la
jmv a aussi sont importance au niveau des performances, non ?

Concernant l'instanciation d'objet com, est-ce qu'on peut le faire à partir
d'un serveur sous linux en installant un serveur com sur une autre machine sous
windows ? ce n'est pas possible, ni en php, ni en python. Rien ne m'empêchant de
créer un service web sur une machine sous windows ne s'occupant que de cela,
instancier des objets com. Leur serveur d'extranet par exemple fait actuellement
tout, et ils ne le maintiennent presque pas puisque comme ce n'est pas du vb et
du iis, ils n'ont pas les compétences nécessaire. Donc ils se sont retrouvé avec
un extranet progressivement de plus en plus lent, et on finit par remarqué que
des objet com bouffaient du cpu depuis près de 6mois pour certains.