Suite à l'article sur LinuxFR, je me suis remis à tester une plateforme J2EE (avec Jboss) pour comparer avec une plateforme PHP5/apache.
Aprés deux jours la même question subsiste.
Mis à part le fait qu'il soit plus complexe d'ecrire un "truc" (nommez le comme vous voulez) qui permette a l'utilisateur d'effectuer une action (en gros une application ou l'utilisateur entre des données et ou il recoit un résultat) sur une plateforme J2EE que sur une plateforme PHP/apache, qu'est ce que J2EE à de plus ?
Je ne trouve pas.
Alors n'etant pas expert J2EE/java je pose la question. Et plus précisement, est ce que quelqu'un à un exemple de ce que je ne pourrais pas faire en PHP et qui serait faisable sous J2EE.
ps: mettez de coté la portabilité. le sujet a déjà été traité.
# Avec j2ee j'ai un serveur
Posté par Thomas Cataldo (site web personnel) . Évalué à 5.
[^] # Re: Avec j2ee j'ai un serveur
Posté par elamapi . Évalué à -3.
je suppose que ton serveur ne devine pas tout seul qu'il faut envoyer un mail,
donc je supose que tu dois ecrire une parti serveur qui va checker les rdvs et envoyer le mail,
je supose toujours que tu dois "activer/lancer" l'action de checker les rdvs pour envoyer les mails ?
Si tel est le cas tu peu faire la meme chose avec PHP/apache (uniquement sans cron ni programme externe).
[^] # Re: Avec j2ee j'ai un serveur
Posté par nicolasr . Évalué à 2.
Qui le déclenche ? l'utilisateur vient gentiment rafraichir sa page 15 minutes avant son RDV ?
[^] # Re: Avec j2ee j'ai un serveur
Posté par elamapi . Évalué à -3.
[^] # Re: Avec j2ee j'ai un serveur
Posté par nicolasr . Évalué à 1.
[^] # Re: Avec j2ee j'ai un serveur
Posté par elamapi . Évalué à -1.
[^] # Re: Avec j2ee j'ai un serveur
Posté par nicolasr . Évalué à 0.
Avec J2EE, c'est le serveur tout seul qui va envoyer le mail automatiquement. En _très_ gros, ton serveur contient un cron. En PHP, tu es obligé de passer par un job cron pour déclencher un script qui enverra le mail.
Et niveau portabilité, bonjour cron sous windows (par exemple)
[^] # Re: Avec j2ee j'ai un serveur
Posté par wilk . Évalué à 2.
Un autre exemple plus frappant que l'email : tu peux réagir à d'autres actions qu'un timer, par ex pour mon jeu de scrabble, je peux réagir à des messages jabber, je peux controler mon programme par telnet etc...
[^] # Re: Avec j2ee j'ai un serveur
Posté par Thomas Cataldo (site web personnel) . Évalué à 1.
[^] # Re: Avec j2ee j'ai un serveur
Posté par drchaos (site web personnel) . Évalué à 1.
ça à l'avantage de fonctionner sur tout les serveurs d'application (supportant le TimedObject)
[^] # Re: Avec j2ee j'ai un serveur
Posté par elamapi . Évalué à 0.
[^] # Re: Avec j2ee j'ai un serveur
Posté par Thomas Cataldo (site web personnel) . Évalué à 1.
# Filer le design des pages à un graphiste
Posté par amielp . Évalué à 1.
[^] # Re: Filer le design des pages à un graphiste
Posté par drchaos (site web personnel) . Évalué à 1.
[^] # Re: Filer le design des pages à un graphiste
Posté par amielp . Évalué à 1.
Après un rapide coup d'oeil, macromédia semble maintenant le fournir en standard:
http://www.macromedia.com/software/dreamweaver/productinfo/features(...)
[^] # Re: Filer le design des pages à un graphiste
Posté par Quentin Delance . Évalué à 1.
Il y a plein de moteurs disponibles (smarty ou avec les extensions PEAR).
Donc l'avantage ne tient pas AMA
[^] # Re: Filer le design des pages à un graphiste
Posté par elamapi . Évalué à 2.
http://www.mojavi.org/(...)
http://www.phppatterns.com/index.php(...)
j'ai que cela en tete. l'argument ne tient pas.
[^] # Re: Filer le design des pages à un graphiste
Posté par faden . Évalué à 2.
http://dosimple.ch/articles/Template/(...)
# Sérieusement...
Posté par Jean Parpaillon (site web personnel) . Évalué à 3.
C'est où la sortie ?
"Liberté, Sécurité et Responsabilité sont les trois pointes d'un impossible triangle" Isabelle Autissier
[^] # Re: Sérieusement...
Posté par Cali_Mero . Évalué à 2.
Poussez pas, c'est par là =====> []
# Marrant, ça...
Posté par lezardbreton . Évalué à 6.
Ce que je me demande, c'est comment ont-ils fait pour arriver à un truc aussi compliqué ? C'est tout simplement impressionant d'arriver dans un monde aussi vaste, confus (Servlet, JSP, JSF, EJB, sans compter les Tomcat vs Jboss vs Jonas, les paradigmes de programmation comme MVC avec Struts, etc...).
Il est sûr que J2EE possède des caractéristiques (très) intéressantes, notamment l'obligation de gérer rigoureusement l'organisation de son code, mais était-on obligé d'arriver à un truc aussi indigeste à avaler la première fois ? A côté, PHP est d'une facilité à appréhender rafraichissante...
N'y a-t-il pas un juste milieu ?
[^] # Re: Marrant, ça...
Posté par elamapi . Évalué à 0.
ecrire hello world , une fois pour J2EE , une fois pour PHP/apache
[^] # Re: Marrant, ça...
Posté par Quentin Delance . Évalué à 3.
J2EE c'est plus sympa pour les grosses appli avec plein d'objets metier derriere.
Tu codes ainsi ton metier dans un vrai langage objet (pas de troll et non je n'ai pas encore utilise PHP5) donc ca sera plus reutilisable (si tu veux faire un client leger et un client lourd par exemple). Coder objet en PHP (version 4) ca ne servait a rien (pas d'encapsulation notamment). En version 5 j'imagine que c'est mieux mais tu n'as pas possibilite de reutiliser autant de librairies qu'en Java.
Donc oui il ne faut pas s'etonner de ne pas voir les avantages de J2EE sur un simple Hello world...
[^] # Re: Marrant, ça...
Posté par elamapi . Évalué à 0.
>>>tu n'as pas possibilite de reutiliser autant de librairies qu'en Java
j'ai pas compris la ? je ne vois pas ce qui empeche de reutiliser du code php ?
>>>un vrai langage objet
mouais faut voir pour php 5. Evidement c'est pas au niveau de java.
>>>les avantages de J2EE sur un simple Hello world
ben justement, a partir de quel niveau ca devient interessant, parceque c'est ca que j'essais de determiner?
En gros c'est histoire de savoir si un jour j'aurai l'utilité de developper avec J2EE (donc je m'y met plus serieusement) ou alors si J2EE ca sert uniquement a creer des application pour gerer des centrale nucleaire avec 10E100000 lignes de code et 100 personnes deriere auquel cas, ca ne me servira probablement jamais.
[^] # Re: Marrant, ça...
Posté par amielp . Évalué à 3.
<%="Hello World"%>
[^] # Re: Marrant, ça...
Posté par elamapi . Évalué à -3.
[^] # Re: Marrant, ça...
Posté par Nap . Évalué à 2.
[^] # Re: Marrant, ça...
Posté par Wawet76 . Évalué à 2.
Le helloworld.jsp, il faut par exemple le mettre dans le répertoire webapps/ROOT d'un Tomcat.
Le seul gros gros intérêt de PHP pour moi, c'est la facilité de le proposer en hébergement mutualisé. (et donc la facilité de trouver un hebergeur pas cher qui le propose)
[^] # Re: Marrant, ça...
Posté par lezardbreton . Évalué à 2.
[^] # Re: Marrant, ça...
Posté par wilk . Évalué à 2.
[^] # Re: Marrant, ça...
Posté par elamapi . Évalué à 0.
En gros tu developpe une appli qui aura la meme interface sur une page web que sur une application/applet java ?
Effectivement la je vois l'interet, mais dans ce cas, peut on systematiquement avoir l'equivalent HTML d'une applet/application java ?
[^] # Re: Marrant, ça...
Posté par wilk . Évalué à 1.
Par ex une interface client en html, une interface d'administration en telnet, en jabber, une interface gestion en gtk, en swing... Ou même, pas d'interface du tout, c'est un autre serveur qui communique avec le tien...
[^] # Re: Marrant, ça...
Posté par elamapi . Évalué à 0.
Dans ce cas, tu peut tout aussi bien ecrire ton application/applet java qui communique avec un serveur php.
[^] # Re: Marrant, ça...
Posté par wilk . Évalué à 2.
Par exemple, comment accèdes-tu à ton application php à partir de telnet, jabber, irc etc... ?
[^] # Re: Marrant, ça...
Posté par elamapi . Évalué à 0.
[^] # Re: Marrant, ça...
Posté par wilk . Évalué à 1.
[^] # Re: Marrant, ça...
Posté par elamapi . Évalué à 0.
donc bind, accept, ensuite si mes souvenir son bon
avec jabber c'est du XML qui passe donc tu utilise ton joli parser XML php (y en a plein) et tu cause à ton jabber :)
mais meme si ca reste faisable, ca reste de la magouille, je vien de capter ce qui me manquait (post plus pas)
c'est la persistance des processus (pas de données).
[^] # Re: Marrant, ça...
Posté par wilk . Évalué à 1.
[^] # Re: Marrant, ça...
Posté par elamapi . Évalué à -1.
BIND , puis ACCEPT = j'attend une connexion EN PROVENANCE de jabber.
Une fois la connexion etabli j'en fait ce que j'en veux , je lit les données qui arrive ou j'ecrit c'est pareil.
[^] # Re: Marrant, ça...
Posté par wilk . Évalué à 1.
[^] # Re: Marrant, ça...
Posté par elamapi . Évalué à 0.
[^] # Re: Marrant, ça...
Posté par malk0 . Évalué à 2.
ca marche tres bien la preuve un client jabber en php http://webmessenger.blitzaffe.com(...)
[^] # Re: Marrant, ça...
Posté par Nap . Évalué à 4.
Si c'est ça, la persistence est gérée (au moins partiellement) par le navigateur, et ton exemple est foireux :)
[^] # Re: Marrant, ça...
Posté par malk0 . Évalué à 0.
Ce que je veux dire c'est que c'est aussi faisable en php, bien qu'il n'y ai rien de standardisé pour ce genre de choses.
D'autre part si on reste sur une appli purement web (pas d'applet) tu aura exactement le meme probleme de rafraichissement de la page avec j2EE qu'avec PHP non?
[^] # Re: Marrant, ça...
Posté par Nap . Évalué à 4.
[^] # Re: Marrant, ça...
Posté par malk0 . Évalué à 2.
[^] # Re: Marrant, ça...
Posté par Quentin Delance . Évalué à 1.
Plus exactement les 2 vues (HTML, SWING ou autre) accederont aux memes objets côte serveur. Les interfaces ne seront pas identiques pour autant. Tout simplement parce qu'il y a une difference entre mode connecte et deconnecte et que les composants de formulaires ne sont pas les memes (tres peu evolues en html).
peut on systematiquement avoir l'equivalent HTML d'une applet/application java
Euh je ne comprends pas bien la question mais comme j'ai dit juste au dessus les IHM ne sont pas les memes en HTML et en client lourd. Et il n'existe pas de moyen de generer automatiquement un client a partir d'un autre.
[^] # Re: Marrant, ça...
Posté par Volnai . Évalué à 1.
Mais si : http://wings.mercatis.de/tiki-index.php?page=Demo(...)
Bon ok c'est un peu beaucoup lent, mais c'etais juste pour dire hein...
[^] # Re: Marrant, ça...
Posté par Quentin Delance . Évalué à 2.
Rien n'empeche de reutiliser du code en PHP
Simplement le nombre de librairies est plus important en Java. Tout simplement parce qu'en general, ces librairies peuvent etre reutilisees dans des clients lourds ET legers.
Si on prend l'exemple du graphique, compare JFreeChart et JPgraph
Le premier (Java) peut etre utilise en SWING et dans des servlets. Le deuxieme ne sera utilise que pour les appli web (a moins que bcp de gens de fasse du PHP-GTK mais je ne crois pas...). Bref plus d'utilisateurs/de developpeurs => meilleure qualite + de fonctions etc etc.
ben justement, a partir de quel niveau ca devient interessant, parceque c'est ca que j'essais de determiner?
Quand tu commences a voir plein d'objets a stocker en BD ca devient tres utile de programmer en Java. Tu peux utiliser des couches de persistence comme Hibernate (http://hibernate.sf.net(...)) qui n'ont pas d'equivalent en PHP... Pas besoin de gerer une centrale nucleaire pour voir les apports de Java rassure toi :)
[^] # Re: Marrant, ça...
Posté par Marc Quinton . Évalué à -1.
laissez moi rire, les classes php (4 et 5) sont assez complete pour pouvoir réaliser de jolis framework objet, alors arretez donc avec la soit disante supériorité de java et C++. Avec php tout est beaucoup plus dynamique et rapide a developper.
cepandant, dans un contexte contractuel, php4 n'est pas la panacée puisqu'on peut acceder aux membres de la classe.
[^] # Re: Marrant, ça...
Posté par nicolasr . Évalué à 1.
Je m'explique : qu'en est-il du chargement d'une hierarchie objet en PHP ? elle est intégralement rechargée à chaque appel non ? en Java, les classes mères sont cachées et leur rechargement est un peu plus pêchu je dirais.
mes 2¢
[^] # Re: Marrant, ça...
Posté par elamapi . Évalué à 0.
Enfin si j'ai lancé la question c'etait pour ca.
[^] # Re: Marrant, ça...
Posté par Quentin Delance . Évalué à 0.
Hum, c'est pas ca qu'on appelle l'encapsulation ? Tu viens donc exactement de dire ce que j'ai dit plus haut !
[^] # Re: Marrant, ça...
Posté par Marc Quinton . Évalué à 2.
voici un extrait de wikipedia qui a tendance a te donner raison :
L'encapsulation pour les développeurs en informatique est l'idée de cacher l'information contenu dans un objet et de ne proposer que des méthodes de manipulation de cet objet, ainsi les propriété et axiomes associés au informations contenue dans l'objet seront assurés/validés par les méthodes de l'objet et ne seront plus de la responsabilité de l'utilisateur extérieur.
L'utilisateur extérieur ne pourra pas modifier directement l'information et risquer de mettre en péril les axiomes et les propriétés comportementales de l'objet.
cependant, dans un langage permissif tel que php(4), etant donné que la notion de contrat n'est plus formalisée par le langage, c'est au développeur de veiller au grain.
c'est un peu comme la notion de methode virtuelle ... en php, tout methode est dite virtuelle dans le sens ou elle est surchageable et a ligature dynamique (si je me plante pas dans la terminologie).
[^] # Re: Marrant, ça...
Posté par Marc Quinton . Évalué à 1.
http://www.tonymarston.net/php-mysql/good-bad-oop.html(...)
# 'Encapsulation' means that the class must define all the properties and methods which are common to all objects of that class. All those properties and methods must exist inside a single container or 'capsule', and must not be distributed across multiple locations.
Reference: encapsulation The localization of knowledge within a module. Because objects encapsulate data and implementation, the user of an object can view the object as a black box that provides services. Instance variables and methods can be added, deleted, or changed, but as long as the services provided by the object remain the same, code that uses the object can continue to use it without being rewritten.
juste dessous, il fait bien le distingo : encapsulation - protection de l'implémentation ...
[^] # Re: Marrant, ça...
Posté par Thomas Cataldo (site web personnel) . Évalué à 2.
Quand il veut faire persister un truc entre deux requêtes HTTP (un panier d'articles par exemple) PHP doit avoir recours à un moyen de persistence quelquonque (bd par exemple). J2EE lui fonctionne avec une serveur : les différents threads ont accès à un même espace mémoire. Amuse toi à implémenter un panier d'article avec J2EE et avec php puis benche les deux applis. Le panier J2ee fonctionnerra uniquement en ram (car la session est en ram) et le panier PHP sera sérialisé sur le disque à chaque requête. Java va consommer plus de ram mais être rapide et monter en charge, et PHP va flinguer la base ou le disque.
[^] # Re: Marrant, ça...
Posté par elamapi . Évalué à 0.
Le panier comme tu dis sera stocké en DB, la DB à un cache en ram, il n'y aura pas plus d'accés disque qu'avec J2EE.
par contre est ce que quelqu'un a des graphe de bench au niveau de l'utilisation ram/disk sur des applications equivalentes ? (entre php/apache et j2ee)
[^] # Re: Marrant, ça...
Posté par wilk . Évalué à 1.
Avec php-cgi c'est incomparable, avec mod-php je sais pas, j'imagine que les sessions peuvent être stockées en ram aussi non (mais là c'est des histoires d'implémentations) ?
[^] # Re: Marrant, ça...
Posté par elamapi . Évalué à 1.
ce n'est pas la persistance des données, ca y a toujours moyen de ce debrouiller.
C'est la persistance des processus.
A part la grosse magouille, je ne peut pas laisse tourner une tache de fond sur mon apache.
Enfin je vois bien une methode, mais il faudrai un serveur web pur php, plus une normalisation etc ... je ne pense pas que ca esiste deja.
[^] # Re: Marrant, ça...
Posté par Thomas Cataldo (site web personnel) . Évalué à 1.
[^] # Re: Marrant, ça...
Posté par elamapi . Évalué à 1.
La j'ai un gros doute, en plus c'est quoi une base "qui se respecte" ?
Pour moi un SGBD qui se respecte est celui qui fait ce qu'on lui demande, qui correspond au besoin, et qui permet de rapidement faire une restauration en cas de crash (voire eviter le crash).
Donc j'insiste mais a part ecrire une application susceptible de gérer les états d'une centrale nucleaire, pour un site marchant, meme consequant ton exemple est mauvais.
Pourquoi ?
Parce que tant que le client n'a pas validé sa demande, il est inutile (J2EE ou pas d'ailleur) de stoquer quoi que ce soit en base. tout peut se faire via cookie ou simple parametre post sur une page HTML. Ce qui va dégager des ressource sur le serveur, donc necessister un serveur moins puissant, donc moins cher. De plus que l'on ait 1 ou 100000000000000 clients ce n'est pas ca qui pénalisera le serveur.
Ensuite, la remarque :
Sans compter le transfert des données par le réseau vers la BD
n'a pas lieu d'être, même un particulier peut se payer du 100Mb a la maison, imagine ce que peu se payer une société qui a un site marchand encaissant des miliers de connexions par heure (faut au moins ca pour rentabilier le cout d'exploitation d'un J2EE).
Et pour finir avec le coup des "log de transaction", a moins que tu ne parle d'un Oracle sur un raw device (ou sybase) , ca revient au meme.
Ton log est un fichier, l'ecriture est géré par le noyau (je prend le cas d'un linux), auquel cas la notion de cache en ecriture existe aussi et ont retomber sur mon exemple précérend!
[^] # Re: Marrant, ça...
Posté par tom120934 . Évalué à 1.
Avec la capacité de sérialiser un objet PHP, on peut espérer un mécanisme de persistence à moyen terme d'objets (moyen terme === entre plusieurs requêtes HTTP formant un ensemble logique, selon moi).
Cependant, je suis d'accord pour dire que le temps de sérialisation / désérialisation sera impactant. Une idée pour comparer ça au mécanisme de J2EE pour conserver des objets dans la VM ? Impact du délai entre 2 requêtes ?
[^] # Re: Marrant, ça...
Posté par wilk . Évalué à 2.
Jette un coup d'oeuil à http://twistedmatrix.com(...)
# Tolérance aux pannes
Posté par amielp . Évalué à 4.
Un serveur tombe, pas grave, je suis redirigé sur un autre serveur qui possède également ma session.
Avec PHP, je suis pas au courant d'une solution qui permette ca.
[^] # Re: Tolérance aux pannes
Posté par elamapi . Évalué à 0.
[^] # Re: Tolérance aux pannes
Posté par amielp . Évalué à 2.
Moi je parle d'un site web, utilisant des servlet ou un Framework MVC, et tournant sur un serveurs J2EE type JBoss.
Tu viens sur un site marchant, t'as déja 3 articles dans ton panier, et la le serveur tombe. Avec J2EE, ca peux etre transparent si tu as au moins 2 serveurs et que tu as configure le failover.
[^] # Re: Tolérance aux pannes
Posté par elamapi . Évalué à -1.
[^] # Re: Tolérance aux pannes
Posté par Colin Leroy (site web personnel) . Évalué à 3.
# Entre php et java mon coeur balance du côté de python
Posté par wilk . Évalué à 6.
D'abord une raison suplémentaire qui a été décrite maintes fois, j2ee n'est pas un langage mais une norme qui défini des comportements standards. On pourrait très bien imaginer un php compatible j2ee, mais pour l'instant ce n'est pas le cas.
Mais revenons aux choses plus terre à terre.
Au début j'ai utilisé php par obligation car c'était le seul langage disponible chez mon hébergeur. J'utilisais windev pour faire des applications windows, bash pour faire des scripts d'admin, C pour faire des jeux, C++ pour faire des GUI etc... C'était très pénible d'avoir à changer mes habitudes à chaque programme.
Aujourd'hui j'utilise python, je me suis fait des bibliothèques que je peux aussi bien utiliser pour du web (j'ai un dédié) que pour de la gestion, des jeux etc... Et je ne change quasiment plus jamais de langage. Voilà ce qui ne serait pas possible en PHP. Cela est d'autant plus important pour des applications complexes où la partie interface web n'est qu'une toute petite partie. Java aurait très bien pu faire l'affaire, mais je l'ai laissé tomber pour des raisons de confort on va dire (et de phylosophie).
Ensuite il y a tout un tas de petits avantages purement techniques (code plus propre, possibilité de se passer d'un serveur apache etc...) mais ça rentre dans le domaine du troll.
[^] # Re: Entre php et java mon coeur balance du côté de python
Posté par Bruce Le Nain (site web personnel) . Évalué à 2.
Contrairement à toi je suis incapable d'apprendre 20 000 langages, et au delà du troll, je cherche vraiment celui qui me parait le plus perenne et efficace (et facile...) :)
[^] # Re: Entre php et java mon coeur balance du côté de python
Posté par elamapi . Évalué à 0.
Ca dependra donc de chaque application:
si tu doit ecrire un MMORPG avec un graphisme de fou -> c++
si tu doit ecrire hello world -> bash devrai suffire etc ...
[^] # Re: Entre php et java mon coeur balance du côté de python
Posté par Nim . Évalué à 2.
http://www.python.org/cgi-bin/moinmoin/PythonAndJ2EE(...)
[^] # Re: Entre php et java mon coeur balance du côté de python
Posté par wilk . Évalué à 1.
C'est vrai que la comparaison python/j2ee a plus de sens. Il manque une unité dans les frameworks web en python. Espérons que le pep333 permette de régler ce problème progressivement...
http://www.python.org/peps/pep-0333.html(...)
« This document specifies a proposed standard interface between web servers and Python web applications or frameworks, to promote web application portability across a variety of web servers. »
Quelqu'un travaille déjà sur une implémentation wsgi en servlet j2ee.
http://www.xhaus.com/modjy/(...)
# Laisse moi rire ...
Posté par Nelis (site web personnel) . Évalué à 5.
Déjà, si tu veux une application ou l'utilisateur entre des données et reçoit un résultat comme tu dis, je ne pense pas que ça soit plus compliqué en J2EE qu'avec PHP.
form.jsp (je mets juste la partie intéressante du fichier) :
<form action="result.jsp">
Name : <input type="text" name="name">
</form>
result.jsp :
Hello <%= request.getParameter("name") %> !
Très complèxe non ? Après si tu veux faire ça proprement avec un modèle MVC et tout, forcément il faut que tu utilises un framework style struts. Ce n'est pas compliqué mais il faut le temps de se familiariser avec (de la même manière que si tu utilises un framework PHP).
Maintenant, pour ce qui est de faire des choses en plus avec J2EE qu'avec PHP:
Imaginons une application où l'utilisateur peut soumettre des requêtes (ce que tu veux comme requête, disons un l'envoie d'un calcul). La requête HTTP arrive sur la machine A, une base de donnée sur la machine B est mise à jour, puis A envoie le calcul via une message queue sur la machine C contenant le moteur de calcul. La main est rendue à l'utilisateur dès que le message est envoyé à C. Bien entendu tout ceci dans une même transaction distribuée et fault tolerant. Lorsque C a fini le calcul, A est automatiquement notifié (sans action de l'utilisateur) et met à jour le statut et le résultat dans B. L'utilisateur peut aussi consulter la liste des calculs envoyés et leur statut / résultat.
Implémente ceci avec J2EE et avec PHP et donne nous le résultat.
Je n'ai rien à ajouter.
[^] # Re: Laisse moi rire ...
Posté par elamapi . Évalué à -3.
je ne voyais donc pas bien son interet par rapport à une plateforme PHP/apache.
Si tu avais un peu lu, tu aurais vu que justement, et aprés que des gens moins violant aient donné leurs avis, jai vu l'interet de J2EE (au moins un, et de taille) par rapport à une plateforme J2EE.
et c'est justement ce que tu dis.
Alors avant de gueuler, LIS.
[^] # Re: Laisse moi rire ...
Posté par Nelis (site web personnel) . Évalué à 5.
Après toutes les explications que tu as reçue, revenir en demandant "qu'est ce que J2EE à de plus", tout en laissant entendre qu'à part de la complexité, il n'y à rien, excuse moi mais c'est un minimum trollesque et plus probablement teinté d'un peu de mauvaise foi.
[^] # Re: Laisse moi rire ...
Posté par elamapi . Évalué à -2.
C'est a dire la pesistance des processus.
[^] # Re: Laisse moi rire ...
Posté par elamapi . Évalué à 2.
# Au dela du troll
Posté par amielp . Évalué à 2.
PHP est très rapide à apprendre. c'est la solution la plus répendu chez les hebergeurs pour pages perso (ou grand public). C'est rapide pour faire une page dynamique. Un grand nombre de projet libre l'utilise pour des wikis, album photos, et plein d'autres choses sympas.
JAVA est plus puissant et surtout plus professionnel,
mais également plus complexe à apprendre (c'est un language objet est non du script).
La compatibilité et la pérténité des dev est très grande (compatibilité ascendante entre les versions et également norme J2EE entre les différents serveurs en plus bien sur du multiplateforme).
C'est également un sujet très (trop ?) vaste qui en rebuttera plus d'un, mais qui est quand meme aujourd'hui devenu un standard de fait dans les grandes sociétés.
Donc il suffit d'utiliser chaque language dans la situation qui lui convient.
Un site Web dynamique développé par 3-4 personnes et hébergé par online: php
Un site de banque en ligne qui envois des SMS de notification de découvert et doit être maintenable dans 5 ans: J2EE
[^] # Re: Au dela du troll
Posté par TImaniac (site web personnel) . Évalué à 3.
# PS
Posté par TImaniac (site web personnel) . Évalué à 6.
Ensuite il n'y a sûrement pas grand chose que tu ne puisse pas faire en PHP par rapport à J2EE. Donc celà ne sert pas à grand chose d'essayer de trouver un exemple.
J2EE est plus complexe que PHP, c'est un fait. Mais pourquoi ? Ils se sont amusés à compliquer J2EE pour enmerder le programmeur ? Ben non. C'est juste qu'il y a pleins de notions et de principes de fonctionnement à assimiler pour pouvoir faire de grosses applications (pas un hello world) sans avoir à tout re-concevoir, de nombreuses briques complexes mais bien utiles étant présentes en STANDARD (pooling, transactions, etc.) et surtout qui s'intègrent avec l'existant de façon élégante.
On ne code pas (j'ai pas dis on peut pas) les composant métiers en PHP, PHP n'est qu'une façade et est fortement limité aux applications Web.
Voilà, donc PHP peut être une alternative à J2EE lorsque l'application concernée est une application orientée web, qui n'a pas vraiment besoin de s'intégrer à un existant.
Les pro-PHP ne comprennent pas ce que J2EE peut faire en plus (bah vi ils en ont jamais eu besoin), alros que les pro-J2EE voient clairement les limitations qu'apporte PHP.
Après peut-être que PHP pourra plus tard prétendre concurrencer J2EE au niveau de l'intégration (grâce à Sun par exemple), mais en l'état actuel ces 2 plateformes ne sont comparables que sur une petit sous-ensemble d'application.
Voilà, c'est mon avis et je le partage avec moi-même.
[^] # Re: PS
Posté par elamapi . Évalué à 1.
Je vois donc maintenant l'interet de cette plateforme et mes deux principale limitations qui sont celles de php.
La première est la persistance des processsus coté serveurs. (la plus importante en fait)
La deuxiement, l'interface graphique, rien n'est défini par defaut pour le faire en PHP. (tres contraignant aussi mais peut génant sans la premiere)
la troisieme: Normalisation: briques metiers: maintenance etc ... ca je reste pour ma part, persuadé que ca dépend des équides de dev et du chef de projet. J'ai vu des usine à gaz impossible à maintenir ecrite en java (tres precisement la gestion des cartes a puces chez schlumberger) et truc fabuleux ecrit en java (application de surveillance et monitring réseau (clone de Patrol/HP openvien). Et j'ai également des truc fabuleux comme pourris ecrit en c,c++ fortran et meme perl. (je parle de grosse applis proprietaire, pas du site web du gamin du coin).
Mais effectivement les deux premiers points n'ont pas d'equivalent viable a l'heure actuelle pour faire de grosse applis distribués et portable.
[^] # Re: PS
Posté par Marc Quinton . Évalué à 2.
comment est-ce qu'on fait :
- pour garder le meme processus utilisateur au fil des connexions,
- sans pour autant saturer le serveur en memoire alloue
- et ou processus ou thread systeme.
sur un serveur peu chargé tout réside en memoire,cc'est parfait, il y a unicité enttre process et contexte utilisateur
dans un contexte plus chargé, les sessions sont certainement déchargée sur le disque non ? du coup, cela se raproche etrangement de ce qui se fait de maniere un peu moins transparent en php. Mais ce n'est pas trop complexe a gerer tout de meme une session.
[^] # Re: PS
Posté par wilk . Évalué à 1.
Mais sinon, plus simplement, le noyau (linux) sait très bien gérer ce genre de choses. (l'inverse aussi : ne pas aller chercher sur disque chaque script php).
La différence sur un serveur c'est que c'est toi qui peut choisir ce qui doit rester en mémoire et ce qui ne doit pas...
Ensuite, en java je sais pas, mais on peut faire un serveur asynchrone, dans ce cas il n'y a qu'un seul process et 1 ou 2 threads (voir twistedmatrix)
[^] # Re: PS
Posté par Marc Quinton . Évalué à 0.
c'est pour cela que je fais confiance a Linux et php ;-)
[^] # Re: PS
Posté par Thomas Cataldo (site web personnel) . Évalué à 1.
Pas utile. Java utilise des threads qui partagent tous le même espace mémoire.
> - sans pour autant saturer le serveur en memoire alloue
La mémoire est partagée donc chaque thread ne consomme que la "stack" allouée par le noyau (4Ko je crois) + l'espace utilisé pour le TLS (thread local storage) (Voir aussi la classe ThreadLocal en java). En gros sur du noyau 2.6 c'est pas un pb. Sur du 2.4 sans NPTL c'est un peu moins drôle, mais on parle de java, pas de linux.
> - et ou processus ou thread systeme.
Voir les annonces d'Ingo Molnar quand NPTL a été mergé dans le noyau (100000 threads avec une latence très faible sur PIV monoproc). C'est sur qu'a une époque reculée (2.4 sans NTPL), à partir de 300 process le noyau linux ne bougait plus. Maintenant no-souci.
En plus en java la bonne pratique est plutot de mettre le moins de choses possible dans la session et de consacrer ta ram a des caches LRU globaux pour éviter les requêtes en BD. En gros tu ne met quasiment rien dans la session et tu caches tout ce qui vient de la BD au niveau du serveur d'appli.
# Workflows
Posté par Ramso . Évalué à 2.
Je précise qu'il s'agit de workflows de type machine à état pour représenter un SI documentaire.
[^] # Re: Workflows
Posté par Thomas Cataldo (site web personnel) . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.