La société ArielPartners a publié
une étude comparative de Zope et de Cocoon, deux environnements objets faisant office de serveurs d’applications Web pour les sites Internet et intranet orientés publication de contenu. Leur conclusion présente Zope comme un environnement plus puissant, plus mûr et mieux documenté, avec une avance de une à deux années sur Cocoon et les environnements de publication Java similaires à Cocoon. En particulier, Zope offre des fonctionnalités satisfaisantes de gestion des transactions, de la sécurité et une évolutivité remarquable (scalabilité).
ArielPartners publie également une
comparaison détaillée des langages Python (associé à Zope) et Java (associé notamment à Cocoon). Cette comparaison soutient la thèse suivante : il suffit d’adopter Python ET Java pour couvrir l’intégralité des besoins de développement courant en informatique d’entreprise. Python offre les avantages suivants :
- le code Python est plus concis (3 à 5 fois plus concis qu’en Java) et le codage est plus rapide et facile
- le langage évolue plus rapidement que Java car Java a acquis plus d’inertie
- Python impose moins de contraintes pour le codage, au prix d’un plus grand risque d’erreurs lors de l’exécution du code
- Python est plus facile à apprendre pour les débutants tout en étant satisfaisant pour les experts : sa courbe d’apprentissage est plus douce
- Zope est un serveur d’application python reconnu.
- La syntaxe de Python est plus claire et plus lisible
- Python, comparativement à Java, offre un code plus facilement maintenable.
- L’interpréteur Python compile le code à sa première exécution et exonère ainsi le développeur de phases de compilation fastidieuses.
- Python est un choix judicieux pour la majorité des tâches de développement en entreprise.
- Les domaintes d’excellence de Python sont : le scripting, le prototypage rapide, l’intégration de systèmes (langage « glue »), les applications web, les outils graphiques, les outils de traitement XML.
Les avantages de Java sont les suivants :
- on compte 3 millions de développeurs Java dans le monde contre un demi million de développeurs Python
- Le code Java, plus contraint pour le développeur, offre moins de risque de bug
- Java s’accompagne d’offres mûres et nombreuses en matière de serveurs d’application grâce à J2EE, RMI, Jini et JavaSpaces. Les principaux serveurs d’application sont BEA WebLogic, IBM WebSphere, Sun One Application Server et JBoss (opensource).
- Java offre des modèles à base de composants adaptés à l’entreprise avec les modèles JavaBeans et EJB.
- Java s’accompagne d’outils de conception graphique, de documentation et de débuggage très avancés.
- Java, comparativement à Python, offre un code plus performant.
- Java se présente comme un choix complémentaire intelligent pour tous les cas …
- … où Python n’a pas encore fait ses preuves (Aspect-Oriented Programming, recherche sur les technologies SOAP/WSDL/UDDI, utilisation d’outils de modélisation UML avancés)
- … où les performances brutes sont critiques
- … où il s’agit de mettre en place des systèmes distribués ou parallélisés à très grande échelle
- … où la facilité de recrutement de compétences de développement ou la disponibilité d’outils de développement est critique