Il existe différentes architectures aujoud'hui pour gérer de la logique applicative. Que valent vraiment les .net, j2ee, zope, etc ?
Je suis actuellement tiraillé par une question que tout le monde doit se poser un jour ou l'autre. Je travaille sur un produit qui va demander énormément de calcul. J'ai donc décidé de séparer la logique métier sur un serveur, type serveur d'application avec interface web ou un gui. Bref, je dois une archi parmi celles existantes (je pense à .net, j2ee (jboss +tomcat ?), zope). Quel est votre avis sur ces différentes technos ?
J'ai une expérience des ejb 2.0 sur jboss, c'était pas franchement la panacée. J'ai une légère préférance pour zope, mais est-ce bien pertinant pour ce type de projet (Le produit sera très certainement vendu à des grands comptes, il faut qu'il soit sécurisé, disponible et assez souple)
Merci d'avance pour vos conseils !
# Re: Que choisir comme environnement ???
Posté par Nicolas Roard (site web personnel) . Évalué à 3.
[^] # Re: Que choisir comme environnement ???
Posté par Nelis (site web personnel) . Évalué à 4.
[^] # Re: Que choisir comme environnement ???
Posté par Cormier Patrick . Évalué à 3.
Il y a ZEO, si vous manquez de puissance.
ZEO is a system that allows you to run your site on more than one computer. This is often called clustering and load balancing. By running Zope on multiple computers, you can spread the requests evenly around and add more computers as the number of requests grows. Further, if one computer fails or crashes, other computers can still service requests while you fix the broken one.
[^] # Re: Que choisir comme environnement ???
Posté par syj . Évalué à 0.
[^] # Re: Que choisir comme environnement ???
Posté par syj . Évalué à -1.
Désolé -1
[^] # Re: Que choisir comme environnement ???
Posté par Gentoo][Gravis . Évalué à 2.
[^] # Re: Que choisir comme environnement ???
Posté par Nelis (site web personnel) . Évalué à 2.
[^] # Re: Que choisir comme environnement ???
Posté par Gentoo][Gravis . Évalué à 1.
De plus, il semble que zope se dirige de plus en plus vers des solutions de gestion de contenu : tous les développement vont dans ce sens, et vont amha mettre completement dans l'ombre le serveur d'application qui va derrière :(
[^] # Re: Que choisir comme environnement ???
Posté par syj . Évalué à 1.
En plus, il permet de gérer finement la publication du contenu avec l'aide de Fop ce qui est utile pour génerer des rapports en PDF ou d'autre format.
# Re: Que choisir comme environnement ???
Posté par Yann KLIS (site web personnel) . Évalué à -1.
[^] # Re: Que choisir comme environnement ???
Posté par Gentoo][Gravis . Évalué à 1.
En ce qui concerne jboss + jetty + struts, c pas trop compliqué à mettre en oeuvre ?
Merci en tout cas de vos réponses.
[^] # Re: Que choisir comme environnement ???
Posté par Nelis (site web personnel) . Évalué à 1.
Struts n'est pas compliqué, il y a juste un apprentissage du framework (qui est logique et très bien foutu) à faire.
Pour JBoss, ça fait longtemps que je n'y ai plus regardé, mais bon, dans le pire des cas tu traines un peu sur la mailing-list, rien d'impossible en perspective ;-)
La seule chose si tu choisis J2EE, fais bien attention de ne pas utiliser d'extensions propriétaires dans ton code pour pouvoir déployment sur n'importe quel serveur
[^] # Re: Que choisir comme environnement ???
Posté par Yann KLIS (site web personnel) . Évalué à 2.
Lorsqu'on doit développer une appli qui doit dealer avec du XML, Cocoon peut se révéler être une bonne arme.
Voir la série de 3 articles dont le 3ème est ci-dessous pour un apperçu de "quand utiliser Cocoon" :
http://www.linuxworld.com/site-stories/2002/1218.cocoon3.html(...)
# JAC
Posté par Laurent Martelli (site web personnel) . Évalué à 2.
<p>C'est pas encore aussi robuste que JBoss et compagnie, mais nettement plus facile à mettre en oeuvre. Pour faire une petite appli avec interface web ou swing, persistence et un peu de gestion des droits d'accès en moins une heure, y'a pas mieux.</p>
<p>C'est mon avis et je le partage :-)</p>
# Re: Que choisir comme environnement ???
Posté par syj . Évalué à 1.
Si ton application croit vite et que vous avez besoins de mettre +
de personnes sur le projet. Il faut prévoir de trouver à un moment des développeurs compétents dans cette technologie.
Les développeurs Java sont courant sur le marché.
alors que les développeurs Zope ne le sont pas.
Par contre, il faut reconnaitre qu'un architecte J2EE est plus difficile à trouver, et plus chère.
Sinon, prévoyez-vous de fournir à terme des web services ? Et quel sont la position des mainteneurs de Zope sur ce sujet ?
[^] # Re: Que choisir comme environnement ???
Posté par wilk . Évalué à 4.
Voir aussi http://twistedmatrix.com(...) pour une solution plus légère que zope et plus orienté application que CMS.
# Re: Que choisir comme environnement ???
Posté par jobi . Évalué à 2.
je suis peut etre hors sujet, mais regarde du côté de goods :
http://www.garret.ru/~knizhnik/index.html(...)
ce type de système te permet d'avoir une machine dédiée au calcul, tandis que les autres n'ont qu'une ihm légère, et en prime tu as la persitance.
L'utilisation de ce système est (presque) transparente pour le programmeur, et donc trés facile à utiliser.
Sinon si quelqu'un peut m'expliquer le principe des serveurs d'applications, j'ai jamais réussi à comprendre l'idée du système ( et surtout les services qu'il est sensé rendre ). En effet l'architecture semble trés lourde ( en carricaturant ( si j'ai bien compris ) on code une fois le métier sur le serveur ( par ex VoitureServeur), on recode une seconde fois entre le serveur et le client ( par ex VoitureInterface), et une troisième fois sur le client ( par ex VoitureClient). Dans le cas de Java j'avais essayé le sdk de référence de SUN et le moins qu'on puisse dire c'est que j'avais pas trouvé ça trés simple.
Quels sont les avantages par rapport à une architecture client serveur classique ( style JDO, ou SGBDO, voir même RDBMS ) ??
merci.
[^] # Re: Que choisir comme environnement ???
Posté par Damien Pinauldt . Évalué à 2.
Il me semblait que c'était plutôt un truc comme VNC, Terminal Server, X déporté, Telnet, voire même les applis web en PHP ou en ASP ; mais tout ça c'est visiblement faux, ou alors ai-je une conception trop "dinosaurienne" de la chose.
Je pense que le sujet de départ est une bonne incitation a donner la définition actuelle pour "serveur d'application", et tant qu'à faire, pour "framework" aussi...
[^] # Re: Que choisir comme environnement ???
Posté par wilk . Évalué à 3.
Le framework, c'est ce qui défini (et implémente parfois) la façon dont tout ça travaille ensemble.
Pour s'amuser à faire son serveur d'application chez soit :
http://www.python.org/doc/current/lib/module-SimpleXMLRPCServer.htm(...)
[^] # Re: Que choisir comme environnement ???
Posté par Thomas Carrié . Évalué à 2.
- gestion des transactions (transaction sur plusieurs ressources : plusieurs bases de données par exemple)
- gestion de la persistence (cycle de vie des données, cache des données)
- API d'accèes au base de données
- API d'accès au mail
- API de gestion des droits et utilisateurs (annuaire et ACL)
- API de communication par message publish/subscribe ou point à point (JMS)
- API de communication par appel de méthode distant (RMI)
- standardisation (DTD) de la manière de paramétrer, déployer un composant métier (paramètres de prod != paramètre de tests)
- API d'authentification
Bref c'est un vaste ensemble de service techniques que tu peux utiliser en partie ou entièrement
# J2EE
Posté par Romain Guy . Évalué à 5.
J'aime également énormément Zope et Python mais je pense que pour une grosse architecture, Java représente un choix plus "sûr" au vu du nombre de développeurs et du support engendré par une telle communauté.
[^] # Re: J2EE
Posté par Thomas Carrié . Évalué à 4.
Pour une partie calcul voici une liste de critères pertinents :
- performance
- garbarge collector
- typage
- qualité de la gestion des nombres
- simplicité
Du coup je te conseille, python car c'est pratiqement le seul langage à réunir toutes ces qualités. N'utilises le C/C++ que si tu connais très bien ce langage.
Pour le reste de l'application (base de données, IHM) utilises J2EE que si
- tu as une très grosse machine (bcp de ressource)
- tu as des gens qui connaissent autour de toi (bcp de technos)
- tu vas faire beaucoup de lignes de code (rentabiliser machine et apprentissage techno)
Utilises php si tu vas faire de l'intégration de composants et pas énormément de développement
Je ne sais pas quand il faut utiliser python pour la partie serveur d'app car je connais pas les framework Zope et TwistedMatrix
[^] # Re: J2EE
Posté par Gentoo][Gravis . Évalué à 1.
je pense effectivement que le projet va partir sur j2ee maintenant. Par contre, je regrette l'abscence de commentaires sur .net mais sur linuxfr, je ne m'attendais pas à en avoir bcp de toute facon ;)
Merci à tous, passez de très bonnes fêtes !
Gravis
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.