La nouvelle plate-formeLe changement pour JavaPourquoi ne pas continuer avec Zope?
Quand nous avons choisi Zope, en 2000, les technologies Web étaient encore
balbutiantes. A ce moment, Zope fournissait à la fois les meilleurs outils et l'approche la
plus intelligente en matière de développement d'applications Web. La plate-forme Java,
quant à elle, était lente, rigide et n'était pas adaptée au développement d'applications
Web dynamiques. De plus, aucune bibliothèque, aucun framework et aucun serveur
d'applications libres de niveau professionnel n'étaient disponibles pour Java. Grâce à
son approche orientée objet intégrée et innovante, Zope nous a permis de développer
des applications d'ECM attrayantes, avec un niveau de qualité et une rapidité de
développement sans comparaison avec les autres frameworks. CPS est toujours la
solution d'ECM libre la plus complète sur le marché, et peut se mesurer sans
complexes aux solutions propriétaires (tel que Documentum ou Filnet).
Depuis deux ans, notre activité s'est développée, tout comme les exigences de nos clients.
Nos solutions doivent s'adapter parfaitement à leurs systèmes d'information globaux. Elles
doivent également fournir des applications critiques qui doivent allier performances, haute
disponibilité, et gestion d'importants volumes de données (> 5 To). Pour atteindre ces objectifs, nous avons considérablement amélioré l'infrastructure Zope. Avec CPS 4, nous pensons
toutefois avoir atteint les limites de Zope, à tel point que nous avons basé sur Java deux de
ses composants les plus cruciaux, le référentiel de contenu et le moteur de recherche (respectivement basés sur Jackrabbit et Lucene).
Python/Zope reste une excellente combinaison et Zope 3 la rend encore plus attrayante.
Mais les ressources de développement et la communauté restent malheureusement limitées.
Nous ne pouvons pas travailler à la fois sur l'infrastructure technologique (serveur d'application, base de données objet, outils de programmation et bibliothèques) et sur les applications. Notre activité consiste à imaginer, développer, construire et assurer la maintenance
d'une plate-forme d'ECM
de nous consacrer entièrement à notre métier : l'infrastructure ECM et les applications
d'ECM. Zope n'étant plus adapté à ce nouvel environnement, nous devions trouver une nouvelle infrastructure pour nos produits.
L'utilisation de Python comme principal langage de développement et l'appartenance à
sa communauté vont nous manquer, mais notre but est avant tout de satisfaire nos clients et
d'atteindre l'excellence. En effet, nos clients et nos partenaires nous ont rapporté avoir d'importantes difficultés à trouver ou former des développeurs Python/Zope compétents.
CPS a du succès parce que c'est le meilleur logiciel de sa catégorie. Pour continuer à produire
les meilleurs logiciels nous devons changer de technologie.
CPS 4 a été testé et approuvé avec plus de 3 To de données (soit 3 millions de
documents), ce qui est suffisant pour la plupart des déploiements d'ECM. Mais nous voulons aller encore plus loin et être capables de nous intégrer toujours
mieux dans l'ensemble du système d'information.
Pourquoi la plate-forme Java ?
Lors de l'évaluation des produits et des technologies disponibles pour la prochaine génération de nos solutions, nos principaux critères étaient :
Nous nous sommes intéressés aux autres frameworks Web de Python, mais nous avons rapidement réalisé qu'ils restaient largement inférieurs à Zope en matière d'utilisation professionnelle et de fonctionnalités nécessaires à nos développements d'ECM.
Nous nous sommes alors tournés vers la plate-forme Java. Ayant déjà choisi Eclipse RCP
comme socle pour nos développements client riche, nous avions déjà une première expérience de cette plate-forme.
La découverte des dernières évolutions de la plate-forme Java s'est avérée excitante et intéressante...
Tout d'abord, les innovations apportées au langage dans sa version 5 (SE et EE) apportent
une grande flexibilité aux développeurs (annotation, EJB3, etc.). De plus, les technologies d'entreprises (EJB3, JPA, JMS, JSF, etc.) étaient très séduisantes. Nous avons alors commencé
à « creuser » dans le monde Java pour trouver les pièces dont nous avions besoin et les
tester.
Nous devions nous assurer que nous n'allions pas perdre la flexibilité que nous avait apporté
Python. La vitesse de développement devait également être au moins aussi rapide
qu'avec Python, si ce n'est plus rapide encore. Les puissants IDE disponibles (Eclipse, NetBeans, IDEA...) et les nouvelles technologies comme l'AOP, EL, OSGi, EJB3 et le scripting de la
JVM nous ont confortés dans notre choix. La disponibilité d'une énorme bibliothèque d'excellents
logiciels libres pour la plate-forme Java nous a rendu encore plus confiants. Pour être
honnête, si les plus grands fans de Python de notre équipe étaient un peu sceptiques au début,
ils ont tous été rapidement convaincus de la qualité de la plate-forme Java et des technologies
et produits associés.
Nous sommes tous vraiment satisfaits de ce changement, même si le travail qu'il demande
est important.
Pourquoi JBoss JEMS comme principale plate-forme cible ?
JBoss JEMS est le leaders des serveurs d'application Java EE et, jusqu'à présent, le seul à
supporter toutes les nouvelles fonctionnalités de Java EE dont nous avons besoin pour développer
Nuxeo 5 (principalement EJB3 et JSF). De plus, le support de JBoss Inc., qui est
maintenant une division de Red Hat, en matière d'infrastructure middleware nous permet
d'offrir à nos clients un support intégré de grande qualité.
Quelques produits JBoss indépendants, comme Seam, JRules et jBPM, sont également des
éléments clefs de notre architecture. Bien qu'ils puissent être déployés sur d'autres plateformes
J2EE, nous pensons qu'il est plus naturel, dans un premier temps, de les utiliser audessus
de JBoss AS.
Nuxeo a obtenu la certification « JBoss Certified Technology Partner ».
Allez-vous supporter les autres plate-formes Java ?
En deux mots : bien sûr !
La réponse détaillée est plus compliquée que cette réponse en deux mots. Nous sommes
convaincus que JBoss AS est un excellent produit et un excellent serveur d'application. Nous
pensons également que les outils de JBoss sont très bien positionnés sur leur marché. C'est
pourquoi nous avons choisi JBoss JEMS comme principale plate-forme cible.
Par ailleurs, nous maitrisons bien le modèle OSGi (connaissance acquise lors de nos développements
au-dessus d'Eclipse RCP) et apprécions ce système de package ainsi que le système
de plugins d'Eclipse.
Nous avons conçu notre nouvelle plate-forme, Nuxeo 5, de telle sorte qu'elle soit indépendante
du serveur d'applications et du modèle de package supporté par Java EE. (Par
exemple, les produits sur lesquels nous basons notre solution peuvent tous être exécutés sur
Glassfish, l'implémentation JEE5 de référence développée par Sun.)
Pour à la fois être indépendant du serveur d'applications utilisé et obtenir une grande extensibilité,
nous avons imaginé et créé Nuxeo Runtime, un puissant framework de gestion
des composants exécuté au-dessus d'une plate-forme hôte. Nuxeo Runtime consomme des
bundles OSGi ou des descripteurs XML et les déploie dynamiquement sur la plate-forme
hôte (JBoss, Eclipse Equinox, JonAS d'Objectweb, Geronimo d'Apache, etc. Il vous su"t d'écrire
un autre adaptateur pour supporter une nouvelle plate-forme). Les composants de
Nuxeo sont ainsi dynamiquement adaptés aux composants natifs de la plate-forme hôte
(comme les MBean, les services OSGi, etc.) et vous font profiter de toutes les capacités de la
plate-forme sous-jacente.
Par ailleurs, Nuxeo Runtime fournit un processus unique de création d'applications extensibles
par plugins. Il offre un puissant mécanisme d'extension qui peut être utilisé par
n'importe quel composant pour étendre les composants existants et offrir aux autres des
points d'extension. Le système d'extensions de Nuxeo Runtime apporte à Java EE la puissance
des points d'extension (largement plébiscité pas les développeurs de plugins Eclipse,
par exemple). Vous évitez ainsi la tâche fastidieuse de mettre en place des compilations et
déploiements spécifiques à chaque projets ou application cible grâce à une décomposition
complète en composants et une importante extensibilité de vos applications.
Pour les fans d'OSGi : nos composants sont déjà conformes au modèle OSGi. Nous serions
ravis de travailler sur un serveur d'applications OSGi comme Geronimo, JOnAS ou même directement
Equinox. N'hésitez pas à nous contacter si vous souhaitez donner un coup de
main ! :-)
Pour plus d'informations, consultez le projet Nuxeo Runtime.
Quels sont les produits et les technologies utilisés par Nuxeo 5 ?
Voici la liste des technologies et des produits utilisés nativement par notre nouvelle plateforme.
Les technologies :
Les produits :
Les outils de développement :
Est-ce que le business model de Nuxeo va changer ? Estce que Nuxeo 5 ne sera plus libre ?
Certainement pas !
Nous sommes éditeurs de logiciels libres. Nous créons, développons, commercialisons et
assurons le support d'une plate-forme d'ECM libre, avec l'aide d'une communauté étendue
de co-développeurs et de contributeurs, et nous vendons à nos clients ou partenaires des
services afin de les aider à utiliser la plate-forme dans des projets concrets.
Ce modèle a rencontré le succès depuis que nous avons créé CPS, en 2002. Nous n'avons
aucune raison de le changer.
Est-ce que vous abandonnez CPS ?
Non.
Nuxeo 5 est « CPS 5 ». Nous changeons le nom de la plate-forme pour avoir une marque
plus distinctive, et nous changeons de technologie sous-jacente pour mieux répondre aux
besoins des développeurs et de nos clients. Ce changement reste dans la continuité de nos
objectifs et de nos produits précédents, mais dans le but de les rendre plus ambitieux et de
les améliorer.
Nuxeo 5Qu'est-ce que Nuxeo 5?
Nuxeo 5 est la plate-forme d'ECM nouvelle génération de Nuxeo. Elle est composée de :
Nuxeo Enterprise Platform (EP) et Nuxeo Rich Client Platform (RCP).
Nuxeo EP 5 est la plate-forme côté serveur qui permet de développer des solutions d'ECM
accessibles depuis un navigateur ou à partir d'un client riche. Nuxeo EP 5 remplace CPS Platform
tel que vous le connaissez.
Nuxeo RCP 5 est un ensemble de composants pour Eclipse RCP et Microsoft O"ce 2003,
conçu pour créer des applications d'ECM en client riche.
Nuxeo EP et Nuxeo RCP sont basés sur Nuxeo Runtime, un framework de gestion et de déploiement
de composants qui permet d'être indépendant de la plate-forme utilisée, et qui
allie extensibilité et architecture orientée vers les services, et Nuxeo Core, un noyau de
gestion de contenu qui peut être embarqué et fournit les services de bases de l'ECM :
gestion des types de contenu, gestion des versions, etc.
Pour plus d'informations : Nuxeo 5.
Sous quelle licence Nuxeo 5 est-il publié ?
Nuxeo 5 est publié selon les termes de la licence libre LGPL (GNU Lesser General Public License
de la Free Software Foundation, fondation pour le logiciel libre). Les composants
développés sous l'égide de la fondation Eclipse et la fondation Apache utilisent l'Eclipse Public
License et l'Apache License.
Une des raisons du choix de la LGPL est que notre licence doit être compatible avec la licence EPL d'Eclipse, afin de pouvoir embarquer nos composants dans Eclipse. C'est le cas de
la LGPL (qui par ailleurs est la licence de JBoss), mais pas de la GPL.
Nuxeo 5 est-il libre ?
Bien sûr ! Tous les logiciels de Nuxeo sont des logiciels libres (OSS), soumis à des licences
agréées par l'Open Source Initiative et la Free Software Foundation.
Nuxeo 5 est régit par la licence LGPL (principalement pour pouvoir l'utiliser avec des composants
issus de la Eclipse Foundation).
Où peut-on consulter la feuille de route ?Consultez les pages suivantes : Nuxeo Roadmap.
Où puis-je avoir plus d'information ?
Vous trouverez plus d'informations sur Nuxeo 5 sur le site Web de Nuxeo et sur le portail
communautaire. N'hésitez pas à vous inscrire aux listes de diffusion et à nous faire part de
vos remarques.
Nous apprécions toujours beaucoup avoir des retours !
Cool ! Je voudrais participer ! Comment faire ?
Votre participation est la bienvenue !
Le modèle de développement de Nuxeo est ouvert. Vous êtes bienvenu si vous souhaitez
participer, en contribuant au développement de la plate-forme elle-même, en développant
des composants tiers, en testant l'application, ou en écrivant de la documentation. Il vous
suffit de vous inscrire sur la liste de diffusion et de commencer ! :-)
< Contexte Précédent ı Suivant L'avenir de CPS > |
|
|
|