Publicitas met à disposition de la communauté Open Source sous licence GPL/LGPL les outils développés dans le cadre de son projet NACA de migration automatique de son mainframe IBM/zOS sous Cobol vers des serveurs Intel/Linux sous Java. Cette publication a été récemment annoncée aux RMLL2008 de Mont-De-Marsan.
Ce sont ainsi l'équivalent de plusieurs années-homme de travail qui sont retournées à la communauté du logiciel libre afin de catalyser pour d'autres le mouvement dont Publicitas a bénéficié en choisissant Linux comme plate-forme stratégique, il y a 5 ans maintenant.
Le but est de poursuivre via la communauté le taux de couverture du Cobol par ces outils afin de les rendre de plus en plus généraux.
Play!, un autre framework web Java
Play! est un framework de développement d'application Web en Java un peu à contre-courant des framework Java classiques.
Nous n'avons pas essayé de coller aux sacro-saints « standard J2EE entreprise », mais nous nous sommes plutôt demandé : « comment simplifier le développement d'application Web avec Java, d'ordinaire si lourd ? »
Nous sommes arrivés à un framework Java MVC simple avec quelques spécificités :
La version courante n'est pas encore finale mais largement assez stable pour créer de vraies applications et les mettre en production. Le tutoriel vous permettra de vous faire rapidement une idée de ce qu'est une application Play!
Nous n'avons pas essayé de coller aux sacro-saints « standard J2EE entreprise », mais nous nous sommes plutôt demandé : « comment simplifier le développement d'application Web avec Java, d'ordinaire si lourd ? »
Nous sommes arrivés à un framework Java MVC simple avec quelques spécificités :
- Play! travaille directement avec les fichiers sources (.java) et non avec des classes compilées (.class). Les phases de compilation et de déploiement sont donc inexistantes ce qui simplifie réellement le cycle de développement ;
- Le framework n'utilise pas l'API Servlet. À la place nous avons utilisé un framework HTTP asynchrone basé sur mina (http://mina.apache.org). D'une part l'API est plus agréable à utiliser que l'API Servlet car elle donne directement accès à la pile HTTP, d'autre part, en terme de performances cela permet au moteur de traiter plus de requêtes avec moins de thread, donc de mieux utiliser les ressources ;
- Les rapports d'erreur essaient d'être le plus précis possible. À la place des traditionnelles StackTrace Java illisibles, Play! affiche directement l'erreur avec le code source associé et la ligne incriminée ;
- Un modèle entièrement Stateless (sans état sur le serveur) qui convient bien mieux au Web et permet par exemple de gérer plus simplement les traditionnels problèmes de boutons Back ou Refresh... En outre, cela permet de distribuer une application Play! sur plusieurs JVM ou plusieurs serveurs de manière naturelle ;
La version courante n'est pas encore finale mais largement assez stable pour créer de vraies applications et les mettre en production. Le tutoriel vous permettra de vous faire rapidement une idée de ce qu'est une application Play!
Annonce de Nuxeo WebEngine : framewok Java pour applications orientées contenus
WebEngine est un framework léger de développement d’applications web centrées sur le contenu, conçu pour développer de manière agile des applications de type “Entreprise 2.0”.
Nuxeo WebEngine est un logiciel libre sous licence LGPL et s'inscrit dans l'écosystème Java open source.
WebEngine s’appuie sur l'infrastructure de gestion de contenu Nuxeo Core, notamment son runtime OSGi, son architecture de composants, son dépôt documentaire et les différents services de gestion de contenu (ECM) qu'elle propose, de façon à permettre le développement rapide d'applications web centrées sur le contenu, comme les wikis, les blogs, etc.
Nuxeo WebEngine peut fonctionner aussi bien dans un serveur Jetty en mode standalone, bénéficiant ainsi d’un temps de démarrage de quelques secondes (< 4s sur un portable moderne) que dans un serveur d’application complet comme JBoss. Les développeurs bénéficient avec WebEngine d’un mécanisme de rechargement à chaud des templates et des scripts, qui leur permet un mode de développement accéléré.
Nuxeo WebEngine est un logiciel libre sous licence LGPL et s'inscrit dans l'écosystème Java open source.
WebEngine s’appuie sur l'infrastructure de gestion de contenu Nuxeo Core, notamment son runtime OSGi, son architecture de composants, son dépôt documentaire et les différents services de gestion de contenu (ECM) qu'elle propose, de façon à permettre le développement rapide d'applications web centrées sur le contenu, comme les wikis, les blogs, etc.
Nuxeo WebEngine peut fonctionner aussi bien dans un serveur Jetty en mode standalone, bénéficiant ainsi d’un temps de démarrage de quelques secondes (< 4s sur un portable moderne) que dans un serveur d’application complet comme JBoss. Les développeurs bénéficient avec WebEngine d’un mécanisme de rechargement à chaud des templates et des scripts, qui leur permet un mode de développement accéléré.
Sortie de AutoDeploy 0.5.3
AutoDeploy est un outil de déploiement automatique Java/J2EE. Il prend en charge l'ensemble des tâches de l'administrateur J2EE : configuration du serveur d'applications (JDBC DataSources, ressources JMS, etc.), les applications (WAR/EAR) mais également les fichiers de configuration de ces applications (avec possibilité d'appliquer des regexp), des scripts de mise à jour de bases de données, etc.
Il permet de centraliser l'ensemble des environnements J2EE au sein d'un même outil et de les configurer de manière indépendante du serveur d'application sous-jacent (à l'heure actuelle JBoss, BEA Weblogic et IBM Websphere sont pris en charge).
La partie configuration et interaction se fait grâce à une interface utilisateur utilisant une technologie AJAX.
Cette nouvelle version comprends de nombreuses corrections de bugs plus de nouvelles fonctionnalités particulièrement attendues comme les variables d'environnement, la notion d'update blocker, le support des regexp dans le nom des archives.
Il permet de centraliser l'ensemble des environnements J2EE au sein d'un même outil et de les configurer de manière indépendante du serveur d'application sous-jacent (à l'heure actuelle JBoss, BEA Weblogic et IBM Websphere sont pris en charge).
La partie configuration et interaction se fait grâce à une interface utilisateur utilisant une technologie AJAX.
Cette nouvelle version comprends de nombreuses corrections de bugs plus de nouvelles fonctionnalités particulièrement attendues comme les variables d'environnement, la notion d'update blocker, le support des regexp dans le nom des archives.
Sortie de Eclipse 3.4 - Ganymede
La version 3.4 de l'environnement logiciel Eclipse vient de sortir : outre l'outil de développement Java, c'est toute la plateforme Eclipse (RCP) avec ses nombreux greffons supportés qui viennent d'être labellisés pour offrir un environnement complet de programmation d'application d'entreprise.
Aujourd'hui, Eclipse est l'une des plateformes les plus utilisées non seulement pour les projets Java ou C++, mais, par l'intermédiaire d'éditeurs basés sur la plateforme Eclipse comme le logiciel propriétaire Aptana, pour des projets utilisant des langages orientés web comme PHP ou encore Ruby On Rails.
Ganymede est la mise à disposition au public de manière simultanée plus d'une vingtaine de projets liés à Eclipse. Ce système a été choisi pour minimiser les problèmes de compatibilité lors des installations et mises à jour.
Aujourd'hui, Eclipse est l'une des plateformes les plus utilisées non seulement pour les projets Java ou C++, mais, par l'intermédiaire d'éditeurs basés sur la plateforme Eclipse comme le logiciel propriétaire Aptana, pour des projets utilisant des langages orientés web comme PHP ou encore Ruby On Rails.
Ganymede est la mise à disposition au public de manière simultanée plus d'une vingtaine de projets liés à Eclipse. Ce système a été choisi pour minimiser les problèmes de compatibilité lors des installations et mises à jour.
OpenJDK 6 passe le TCK
La dernière version d'OpenJDK 6 passe le rigoureux Java Test Compatibility Kit (80 000 tests, 1 million de lignes de code). En clair, OpenJDK est une implémentation conforme aux spécifications Java 6 de Sun.
Aujourd'hui Fedora 9 est la première distribution GNU/Linux à inclure un JDK libre 100% conforme aux spécifications Java 6 grâce aux efforts des ingénieurs de Sun, RedHat et de la communauté Fedora. RedHat envisage d'inclure OpenJDK dans la prochaine RHEL 5.3. Le « Java trap » (piège java) est définitivement mort.
Un récapitulatif des épisodes précédents est disponible dans le suite de l'article.
Aujourd'hui Fedora 9 est la première distribution GNU/Linux à inclure un JDK libre 100% conforme aux spécifications Java 6 grâce aux efforts des ingénieurs de Sun, RedHat et de la communauté Fedora. RedHat envisage d'inclure OpenJDK dans la prochaine RHEL 5.3. Le « Java trap » (piège java) est définitivement mort.
Un récapitulatif des épisodes précédents est disponible dans le suite de l'article.
Nuxeo RCP 2.0 : plateforme client riche pour applications documentaires et multimédias
Nuxeo vient d’annoncer la sortie de Nuxeo RCP 2.0, un ensemble de composants pour Eclipse RCP dédiés à la gestion documentaire et multimédia, sous licence LGPL.
Nuxeo RCP permet de réaliser des applications clientes consacrées à la gestion de contenu, capables de fournir des fonctions ou une interface utilisateur plus riches que ce qu’on peut réaliser avec les technologies de clients légers (i.e. web), par exemple dans le domaine de l’édition de documents multimédias ou de la collaboration synchrone.
Nuxeo RCP a été développé grâce à trois projets clients majeurs pour Nuxeo qui ont été développés au cours de l’année passée : deux solutions de gestion éditoriale créées pour l’Agence France-Presse, d’une part, The Press Association, d’autre part, et un projet de gestion documentaire pour la DGA. Selon le principe de mutualisation, un certain nombre de composants génériques ont été développés de manière ouverte dans le SVN de Nuxeo pour servir de base à ces projets, et sont ensuite réutilisés pour les projets qui en ont besoin.
L’un des avantages majeurs de Nuxeo RCP est qu’il embarque le même noyau de gestion documentaire Nuxeo Core et propose le même système de greffons que les logiciels serveurs Nuxeo, notamment le serveur Nuxeo EP. Il est ainsi facile de mutualiser une partie du code et des modèles entre la partie serveur et la partie cliente des applications d'ECM développées sur la base de ces technologies.
Nuxeo RCP permet de réaliser des applications clientes consacrées à la gestion de contenu, capables de fournir des fonctions ou une interface utilisateur plus riches que ce qu’on peut réaliser avec les technologies de clients légers (i.e. web), par exemple dans le domaine de l’édition de documents multimédias ou de la collaboration synchrone.
Nuxeo RCP a été développé grâce à trois projets clients majeurs pour Nuxeo qui ont été développés au cours de l’année passée : deux solutions de gestion éditoriale créées pour l’Agence France-Presse, d’une part, The Press Association, d’autre part, et un projet de gestion documentaire pour la DGA. Selon le principe de mutualisation, un certain nombre de composants génériques ont été développés de manière ouverte dans le SVN de Nuxeo pour servir de base à ces projets, et sont ensuite réutilisés pour les projets qui en ont besoin.
L’un des avantages majeurs de Nuxeo RCP est qu’il embarque le même noyau de gestion documentaire Nuxeo Core et propose le même système de greffons que les logiciels serveurs Nuxeo, notamment le serveur Nuxeo EP. Il est ainsi facile de mutualiser une partie du code et des modèles entre la partie serveur et la partie cliente des applications d'ECM développées sur la base de ces technologies.
Transfert: Echange de fichiers rapide et multiplateformes
Transfert est une nouvelle application sous licence GPL écrite en Java qui permet d'échanger des fichiers et de discuter avec des contacts (comme dans une messagerie instantanée).
L'originalité de ce logiciel réside dans son orientation échange de fichiers (la discussion n'est qu'un accessoire), la rapidité des échanges, et sa simplicité d'utilisation. Son interface Swing graphiquement travaillée est modifiable avec des thèmes de couleurs, ergonomique et intuitive.
L'application s'exécute directement depuis le site avec Java Web Start, et une fois un compte créé (aucune information personnelle), vous pouvez ajouter et/ou inviter des contacts afin de communiquer et échanger des fichiers.
L'originalité de ce logiciel réside dans son orientation échange de fichiers (la discussion n'est qu'un accessoire), la rapidité des échanges, et sa simplicité d'utilisation. Son interface Swing graphiquement travaillée est modifiable avec des thèmes de couleurs, ergonomique et intuitive.
L'application s'exécute directement depuis le site avec Java Web Start, et une fois un compte créé (aucune information personnelle), vous pouvez ajouter et/ou inviter des contacts afin de communiquer et échanger des fichiers.
OW2 EasyBeans 1.0 RC 3
EasyBeans est un conteneur léger EJB 3.0 répondant à la spécification Java_EE 5. Après plus de deux mois de développement, une nouvelle version d'EasyBeans est désormais disponible.
Modulaire et léger, ce conteneur peut être intégré à des serveurs d'applications tels qu'Apache Tomcat, Jetty ou JOnAS 4 pour fournir de manière standard un accès rapide à la persistance, transactions distribuées, messages asynchrones, services web, pool de connexions, etc. EasyBeans fonctionne également en environnement pur OSGi avec un ensemble de « bundles ». EasyBeans est intégré par défaut dans le serveur d'applications OW2 JOnAS 5.0.
Modulaire et léger, ce conteneur peut être intégré à des serveurs d'applications tels qu'Apache Tomcat, Jetty ou JOnAS 4 pour fournir de manière standard un accès rapide à la persistance, transactions distribuées, messages asynchrones, services web, pool de connexions, etc. EasyBeans fonctionne également en environnement pur OSGi avec un ensemble de « bundles ». EasyBeans est intégré par défaut dans le serveur d'applications OW2 JOnAS 5.0.
JNode version 0.2.6
Peu de temps avant FOSDEM (en Belgique, à Bruxelles), l'équipe a annoncé la version 0.2.6 de JNode, le système d'exploitation libre (LGPL), basé sur la technologie Java et écrit entièrement en langage Java (avec un très petit micro-noyau en assembleur).
Cette version atteint plus de 99 % de compatibilité avec l'API de Java 6 et apporte le hotswapping ("remplacement de code à la volée", pour le debugage), les systèmes de fichiers NFS et HFS+, encore plus d'intégration d'OpenJDK, Jetty 6 et bien sûr des corrections de bugs et des améliorations. Nous souhaitons remercier tous les contributeurs pour leurs efforts ayant rendu cela possible.
Cette version atteint plus de 99 % de compatibilité avec l'API de Java 6 et apporte le hotswapping ("remplacement de code à la volée", pour le debugage), les systèmes de fichiers NFS et HFS+, encore plus d'intégration d'OpenJDK, Jetty 6 et bien sûr des corrections de bugs et des améliorations. Nous souhaitons remercier tous les contributeurs pour leurs efforts ayant rendu cela possible.
Sortie de Chronopolys 1.0 rc2
La deuxième "release candidate" du groupware libre Chronopolys est sortie. Ce logiciel est une plate-forme de gestion d'activités et de projets
Ce groupware permet :
Ce groupware permet :
- La création de groupes de travail à la volée ;
- La collaboration, sur base de wiki, permettant l'assignation de tâches, l'organisation de rendez-vous, la définition de planning, le partage de documents, etc. ;
- La supervision des groupes de travail dans une vue timeline et qualité.
Sortie de Grails 1.0
Grails est un framework orienté web écrit en Java et Groovy et placé sous licence Apache. Il s'inspire fortement du framework Rails (Ruby on Rails) avec notamment la notion de convention (vs configuration) permettant de n'avoir que le minimum de configuration nécessaire, un vrai bonheur pour le développeur. Mais contrairement à Rails, Grails est complètement dans l'univers Java, le framework se repose ainsi sur des frameworks "stars" de Java comme Spring ou Hibernate lui donnant d'office une maturité évidente (sans parler du fait qu'il devient par la même occasion complètement "crédible" en entreprise).
La sortie de la version 1.0 risque de donner une nouvelle dimension au projet, et il suffit de regarder l'activité de la liste de diffusion pour réaliser à quel point ce framework a de beaux jours devant lui.
Le seul bémol concernerait la prise en charge des IDE. Il existe des greffons pour Eclipse et NetBeans mais encore trop jeunes. Le seul greffon vraiment avancé à l'heure actuelle est celui pour IDEA IntelliJ (IDE excellent mais qui n'est malheureusement pas OpenSource).
La sortie de la version 1.0 risque de donner une nouvelle dimension au projet, et il suffit de regarder l'activité de la liste de diffusion pour réaliser à quel point ce framework a de beaux jours devant lui.
Le seul bémol concernerait la prise en charge des IDE. Il existe des greffons pour Eclipse et NetBeans mais encore trop jeunes. Le seul greffon vraiment avancé à l'heure actuelle est celui pour IDEA IntelliJ (IDE excellent mais qui n'est malheureusement pas OpenSource).
Publication de MBean Monitor
Première publication en version alpha du logiciel MBean Monitor, outil de supervision dédié à l'administration d'instance de JBoss AS (serveur d'application).
MBean Monitor est un logiciel de supervision d'un serveur de MBean, conçu essentiellement pour superviser une ou plusieurs instances de JBoss AS. Il permet de collecter des données et de les afficher sous forme de graphique.
MBean Monitor est un logiciel libre, sous licence GPL, développé en Java et hébergé sur sourceforge.
MBean Monitor est un logiciel de supervision d'un serveur de MBean, conçu essentiellement pour superviser une ou plusieurs instances de JBoss AS. Il permet de collecter des données et de les afficher sous forme de graphique.
MBean Monitor est un logiciel libre, sous licence GPL, développé en Java et hébergé sur sourceforge.
Sortie de Netbeans 6.0
Netbeans, l'environnement de développement intégré multi-plate-forme développé par Sun, est sorti le 3 décembre dernier dans sa version 6. Cette nouvelle version de Netbeans est disponible sous une double licence : CDDL et GPL 2.0 avec exception classpath.
Tout comme Eclipse, Netbeans est un environnement de développement mais aussi une plate-forme ayant pour but de faciliter le développement des applications pour le bureau.
Bien sûr, cette nouvelle version apporte son lot d'améliorations et de nouveautés. Alors que jusqu'à présent Netbeans restait très orienté développement Java, une réécriture de l'éditeur a ouvert la porte à d'autres langages comme le C, C++, Ruby ou encore PHP. En outre de nombreuses fonctionnalités qui étaient fournies sous forme de plugins sont désormais incluses directement telles que le support de subversion ou le profiler d'applications Java.
Netbeans est téléchargeable sous forme de packs qui intègrent la base de l'IDE plus un certain nombre de plugins en fonction des objectifs du développeur : développement de services web, Ruby, J2ME, etc.
Tout comme Eclipse, Netbeans est un environnement de développement mais aussi une plate-forme ayant pour but de faciliter le développement des applications pour le bureau.
Bien sûr, cette nouvelle version apporte son lot d'améliorations et de nouveautés. Alors que jusqu'à présent Netbeans restait très orienté développement Java, une réécriture de l'éditeur a ouvert la porte à d'autres langages comme le C, C++, Ruby ou encore PHP. En outre de nombreuses fonctionnalités qui étaient fournies sous forme de plugins sont désormais incluses directement telles que le support de subversion ou le profiler d'applications Java.
Netbeans est téléchargeable sous forme de packs qui intègrent la base de l'IDE plus un certain nombre de plugins en fonction des objectifs du développeur : développement de services web, Ruby, J2ME, etc.
Dtek, nouveau logiciel de gestion de films
DteK est un logiciel sous licence GPLv3 de gestion de films sur tout type de support. DteK est développé en Java ce qui implique que dtek peut être installé sur linux comme sous windows.
Le gros avantage de dtek par rapport à des solutions existantes (GCStar, Tellico...) c'est la possibilité de scanner votre disque dur à la recherche de vos films. DteK gère la récupération des informations techniques (Codec, BitRate, Résolution...)
Le gros avantage de dtek par rapport à des solutions existantes (GCStar, Tellico...) c'est la possibilité de scanner votre disque dur à la recherche de vos films. DteK gère la récupération des informations techniques (Codec, BitRate, Résolution...)
Alfresco relâche JLAN en version 4.0
JLAN est une implémentation serveur des protocoles CIFS, FTP, et NFS, en Java. JLAN est un projet déjà ancien, et son développeur a rejoint Alfresco en 2005. Jusque là le projet était noyé dans Alfresco, et non disponible de façon indépendante (il fallait l'extraire soi-même des sources).
Un gros travail d'amélioration a été fait depuis la version 3.5, en particulier l'ajout du support du protocole NFS, et le moment était donc venu de lui rendre son indépendance. La licence est la GPLv2, comme pour le reste d'Alfresco.
Dans la liste des usages de ces systèmes de fichiers virtuels :Le but clairement affiché est de permettre à d'autres logiciels libres d'utiliser cette implémentation pour offrir des nouvelles fonctionnalités à leurs utilisateurs.
Un gros travail d'amélioration a été fait depuis la version 3.5, en particulier l'ajout du support du protocole NFS, et le moment était donc venu de lui rendre son indépendance. La licence est la GPLv2, comme pour le reste d'Alfresco.
Dans la liste des usages de ces systèmes de fichiers virtuels :Le but clairement affiché est de permettre à d'autres logiciels libres d'utiliser cette implémentation pour offrir des nouvelles fonctionnalités à leurs utilisateurs.
L'équipe de XRadar est heureuse et fière de vous annoncer la sortie de XRadar-0.99.2
XRadar est un outil de « reporting » qualité ciblant les projets Java/JEE, publié sous licence BSD.
XRadar agrège, consolide et historise les indicateurs qualité générés par la plupart des outils standards et Open Source d'analyse de code du marché tels que :
Ce projet offre une architecture, simple, légère, entièrement ouverte et facile à personnaliser, elle repose massivement sur XSLT et XPath pour générer son rendu HTML/SVG à partir de simples transformations.
Après une période d'activité réduite, les développements ont récemment repris activement, sous l'impulsion de nouvelle recrues (françaises). La carte de route du projet est en cours de rédaction, et de nombreuses nouvelles fonctionnalités sont à l'étude. Outre la correction de bogues, cette nouvelle version, avant la release 1.0, apporte principalement le support de JDK5 et la mise à jour de nombreuses dépendances.
XRadar agrège, consolide et historise les indicateurs qualité générés par la plupart des outils standards et Open Source d'analyse de code du marché tels que :
- PMD : outil de vérification de code
- Checkstyle : outil de vérification de formatage et présentation du code
- JavaNCSS : outil de métrique de code Java : nombre de lignes de code, de commentaires, etc.
- JDepend : outil d'analyse des dépendances entre classes et packages
- Ckjm : détermine les métriques issues des travaux de Chidamber et Kemerer tel que nombre de méthodes, couplages afférents, etc.
Ce projet offre une architecture, simple, légère, entièrement ouverte et facile à personnaliser, elle repose massivement sur XSLT et XPath pour générer son rendu HTML/SVG à partir de simples transformations.
Après une période d'activité réduite, les développements ont récemment repris activement, sous l'impulsion de nouvelle recrues (françaises). La carte de route du projet est en cours de rédaction, et de nombreuses nouvelles fonctionnalités sont à l'étude. Outre la correction de bogues, cette nouvelle version, avant la release 1.0, apporte principalement le support de JDK5 et la mise à jour de nombreuses dépendances.
Projet NACA [2]: transcodage automatique vers Java de 4 millions de lignes Cobol
Après avoir exposé l'intégralité du projet NACA (abandon d'un mainframe IBM au profit de serveurs Intel / Linux) dans le premier article, ce deuxième article va détailler :
L'article se termine par le potentiel de rénovation et d'extension qu'offre un passage à une architecture Java sous-jacente et très fortement orientée objets alors que la cinématique et la structure des programmes transcodées restent les plus conformes possible à leur version Cobol originale pour permettre une poursuite de la maintenance par les développeurs applicatifs sans perturbation pour eux.
- les avantages du transcodage iso-fonctionnel
- l'architecture de l'outil nécessaire à sa réalisation
- l'apport du Logiciel Libre par utilisation importante de divers projets Open Source, en particulier ceux de la fondation Apache mais aussi Eclipse et CVS
L'article se termine par le potentiel de rénovation et d'extension qu'offre un passage à une architecture Java sous-jacente et très fortement orientée objets alors que la cinématique et la structure des programmes transcodées restent les plus conformes possible à leur version Cobol originale pour permettre une poursuite de la maintenance par les développeurs applicatifs sans perturbation pour eux.
Nuxeo annonce la version 5.1 de sa plateforme d'ECM libre
Nuxeo vient d’annoncer la sortie de Nuxeo Enterprise Platform 5.1, plateforme d’ECM libre basée sur les technologies Java EE 5.
Cette nouvelle version est le fruit de 6 mois de travail de la communauté Nuxeo depuis la sortie de Nuxeo EP 5.0, et un an depuis l’annonce par Nuxeo de sa migration de Zope à Java. Elle élargit le spectre des fonctions couvertes par la plateforme (voir plus loin). Elle renforce sa scalabilité pour répondre à des besoins de montée en charge importants. Enfin, elle présente un certain nombre d’avancées quant à la modularité du logiciel, grâce à son architecture orientée services, de façon notamment à permettre des déploiements multi-serveurs. Cette modularité permet également de ne déployer que les services dont on a besoin pour une application et de les configurer facilement et, également, d’étendre si nécessaire la plateforme en y ajoutant de nouvelles fonctions ou de nouveaux connecteurs vers d’autres applications ou services du système d’information de l’entreprise.
Plus généralement, et d’un point de vue business, la plateforme Nuxeo évolue pour répondre au mieux aux besoins des utilisateurs et des intégrateurs, et leur faire bénéficier en open source et avec une architecture moderne et cohérente, d’une plateforme comparable aux leaders du marché que sont Documentum, OpenText ou FileNet.
Cette nouvelle version est le fruit de 6 mois de travail de la communauté Nuxeo depuis la sortie de Nuxeo EP 5.0, et un an depuis l’annonce par Nuxeo de sa migration de Zope à Java. Elle élargit le spectre des fonctions couvertes par la plateforme (voir plus loin). Elle renforce sa scalabilité pour répondre à des besoins de montée en charge importants. Enfin, elle présente un certain nombre d’avancées quant à la modularité du logiciel, grâce à son architecture orientée services, de façon notamment à permettre des déploiements multi-serveurs. Cette modularité permet également de ne déployer que les services dont on a besoin pour une application et de les configurer facilement et, également, d’étendre si nécessaire la plateforme en y ajoutant de nouvelles fonctions ou de nouveaux connecteurs vers d’autres applications ou services du système d’information de l’entreprise.
Plus généralement, et d’un point de vue business, la plateforme Nuxeo évolue pour répondre au mieux aux besoins des utilisateurs et des intégrateurs, et leur faire bénéficier en open source et avec une architecture moderne et cohérente, d’une plateforme comparable aux leaders du marché que sont Documentum, OpenText ou FileNet.
Créer des Web services en deux clics (ou presque) grâce à Apache CXF et à la POA
La Programmation Orientée Aspect (POA) employée à bon escient et avec modération (comme toute bonne chose) permet de simplifier la programmation d'une couche technique transversale (i.e. commune à l'ensemble des composants de l'application). Elle est donc particulièrement adaptée à la mise en oeuvre de Web services.
Cet exemple (en anglais), didactique car particulièrement simple à mettre en ½uvre, montre la puissance de la POA : les Web services sont créés ex-nihilo, sans ajouter une ligne de code à votre application Java, grâce à l'utilisation du framework Azuki.
Il faut s'intéresser essentiellement aux deux vidéos présentes sur le site qui parlent d'elles-mêmes. En effet, une fois le framework Azuki installé, les manipulations nécessaires à la création de Web Services sont, pour le moins, triviales...
Cet exemple (en anglais), didactique car particulièrement simple à mettre en ½uvre, montre la puissance de la POA : les Web services sont créés ex-nihilo, sans ajouter une ligne de code à votre application Java, grâce à l'utilisation du framework Azuki.
Il faut s'intéresser essentiellement aux deux vidéos présentes sur le site qui parlent d'elles-mêmes. En effet, une fois le framework Azuki installé, les manipulations nécessaires à la création de Web Services sont, pour le moins, triviales...
Azuki recherche des contributeurs
Azuki est un framework sous licence LGPL destiné au développement d'applications Java. Son approche basée sur l'encapsulation de code au sein de composants véritablement autonomes permet de construire une application totalement modulaire.
Nous sommes à la recherche de contributeurs au projet. Comme chaque partie du framework (Azuki's Bean) est réellement autonome vous serez entièrement maitre du développement réalisé. De plus, en construisant vos applications à l'aide du framework vous bénéficierez de l'ensemble des composants et connecteurs qui existent tout en apportant votre propre contribution à la communauté.
L'intégration des composants entre eux se fait à partir d'un outils graphique puissant : le tisseur (weaver). L'usage de cet outil simplifie grandement la création du tissage et permet d'avoir une vue instantanée de l'architecture de l'application.
Plusieurs techniques très avancées de communication inter-composants sont associées afin de lier les composants entre eux :
Nous sommes à la recherche de contributeurs au projet. Comme chaque partie du framework (Azuki's Bean) est réellement autonome vous serez entièrement maitre du développement réalisé. De plus, en construisant vos applications à l'aide du framework vous bénéficierez de l'ensemble des composants et connecteurs qui existent tout en apportant votre propre contribution à la communauté.
L'intégration des composants entre eux se fait à partir d'un outils graphique puissant : le tisseur (weaver). L'usage de cet outil simplifie grandement la création du tissage et permet d'avoir une vue instantanée de l'architecture de l'application.
Plusieurs techniques très avancées de communication inter-composants sont associées afin de lier les composants entre eux :
- Injection de dépendances ;
- Programmation orientée aspect ;
- Programmation à base d'évènements ;
- Programmation contextuelle.
Relief 1.1, visualisation 3D de projets Java
Relief est un nouvel outil qui pourrait bien ouvrir des perspectives dans la gestion de projets en accélérant leur prise en main et en facilitant leur maintenance.
Il utilise des caractéristiques visuelles pour décrire entités et relations d'un projet Java : taille, couleur, distance au centre, hauteur et liens.
Cette simplicité permet de saisir rapidement la cohérence et la robustesse d'un projet en détectant le code mort, les relations indésirables, le couplage fort entre entités, l'utilisation de librairies externes, etc.
Relief facilite ainsi la prise en main de nouveaux venus sur un projet, son utilisation par des tiers et l'évaluation par un architecte ou un chef de projet de l'impact de modifications envisagées. En outre il assouplit les relations avec un public non technique, équipe commerciale ou clients, en établissant un langage commun.
NdM : Relief est écrit en Java, est multiplateforme et publié sous licence GPL version 2.
Il utilise des caractéristiques visuelles pour décrire entités et relations d'un projet Java : taille, couleur, distance au centre, hauteur et liens.
Cette simplicité permet de saisir rapidement la cohérence et la robustesse d'un projet en détectant le code mort, les relations indésirables, le couplage fort entre entités, l'utilisation de librairies externes, etc.
Relief facilite ainsi la prise en main de nouveaux venus sur un projet, son utilisation par des tiers et l'évaluation par un architecte ou un chef de projet de l'impact de modifications envisagées. En outre il assouplit les relations avec un public non technique, équipe commerciale ou clients, en établissant un langage commun.
NdM : Relief est écrit en Java, est multiplateforme et publié sous licence GPL version 2.
Eclipse 3.3 (Europa) est sorti
Eclipse, la plate forme logicielle d'IBM est sortie en version 3.3. Bien que se présentant par défaut sous la forme d'un IDE java, Eclipse est un outil beaucoup plus complet, permettant le développement d'applications clientes d'entreprises, notamment grâce à ses nombreux frameworks ouverts, comme RCP pour la structure applicative, EMF pour la gestion des modèles de donnée, GEF et GMF pour les affichages de données graphiques.
Eclipse est certainement aujourd'hui la plateforme de développement Java la plus utilisée, mais sa capacité d'adaptation permet de s'en servir dans de très nombreux contextes.
NdM: Europa est la mise à disposition au public de manière simultanée de quelques 21 projets Eclipse. Ce système a été choisi pour minimiser les problèmes de compatibilité lors des installations et mises à jour.
Eclipse est certainement aujourd'hui la plateforme de développement Java la plus utilisée, mais sa capacité d'adaptation permet de s'en servir dans de très nombreux contextes.
NdM: Europa est la mise à disposition au public de manière simultanée de quelques 21 projets Eclipse. Ce système a été choisi pour minimiser les problèmes de compatibilité lors des installations et mises à jour.
Akrogen, greffon Eclipse de génération de code, avec wizard pages décrits en XML/XUL
Les wizards Eclipse sont souvent utilisés dans les greffons Eclipse pour générer le code d'un composant. Un wizard est constitué de plusieurs wizard pages. Par exemple, le wizard "New java class" accessible par le menu File/New/Class est constitué d'un wizard page qui permet de générer le composant "classe Java".
Lorsque vous souhaitez développer votre propre wizard Eclipse - un wizard permettant de générer le code du composant de votre architecture - ceci nécessite de :
Avec Akrogen vous pouvez décrire vos wizard pages Eclipse en XML/XUL. Chaque page d'un wizard est associé à un template écrit en Freemarker, Velocity, ou XSL. Le bouton Finish du wizard permet pour chacun des wizard pages de fusionner les valeurs des champs (contrôles XUL) du wizard page avec le template associé pour générer le code d'un composant.
Avec Akrogen vous pouvez ainsi écrire votre propre catalogue Akrogen de wizard, templates qui permettent de générer les composants de votre architecture à travers des wizards Eclipse.
HelloWord est un exemple concret de wizard page (décrits en XUL) et template qui permet de générer un fichier de type "Hello word".
Aujourd'hui Akrogen fournit les catalogues :
Lorsque vous souhaitez développer votre propre wizard Eclipse - un wizard permettant de générer le code du composant de votre architecture - ceci nécessite de :
- vous familiariser avec l'architecture d'Eclipse qui, certes, est très puissante mais demande un énorme investissement.
- vous familiariser avec les bibliothèques sur lesquelles Eclipse se base (SWT, JFace...).
- développer le moteur de génération de code.
Avec Akrogen vous pouvez décrire vos wizard pages Eclipse en XML/XUL. Chaque page d'un wizard est associé à un template écrit en Freemarker, Velocity, ou XSL. Le bouton Finish du wizard permet pour chacun des wizard pages de fusionner les valeurs des champs (contrôles XUL) du wizard page avec le template associé pour générer le code d'un composant.
Avec Akrogen vous pouvez ainsi écrire votre propre catalogue Akrogen de wizard, templates qui permettent de générer les composants de votre architecture à travers des wizards Eclipse.
HelloWord est un exemple concret de wizard page (décrits en XUL) et template qui permet de générer un fichier de type "Hello word".
Aujourd'hui Akrogen fournit les catalogues :
- Struts1.x qui permet de générer les composants Struts1.x Action, ActionForm...
- Blank catalog pour démarrer rapidement votre catalogue Akrogen qui permet de générer vos composants.
Qt Jambi est enfin disponible
Qt Jambi est un binding java pour le framework graphique Qt (présent sur les plateformes GNU/Linux, Mac OS X et l'autre). Il permet de développer des applications Java avec Qt en utilisant toutes les fonctionnalités de Qt (base de donnés, réseau, thread, XML, IHM...).
Qt Jambi se compose de :
Qt Jambi est distribué sous la double-licence Trolltech, c'est-à dire que cela suit la licence Qt Open Source s'il s'agit de l'utiliser avec un programme sous licence GPL et de la licence Qt Commercial lorsqu'il s'agit d'un développement propriétaire.
NdR: Merci à muolp pour avoir posté un journal sur ce sujet.
Qt Jambi se compose de :
- L'API incluant toutes les fonctionnalités permettant le développement d'applications portables
- Qt Jambi Generator qui est la base de l'API ; il s'agit d'une commande en ligne qui lit les définitions de classes écrites en C++ et qui produit du code équivalent dans l'API Java
- Qt Designer est un outil permettant la création d'interface graphique
- Un greffon Eclipse pour utiliser Qt jambi directement dans Eclipse
Qt Jambi est distribué sous la double-licence Trolltech, c'est-à dire que cela suit la licence Qt Open Source s'il s'agit de l'utiliser avec un programme sous licence GPL et de la licence Qt Commercial lorsqu'il s'agit d'un développement propriétaire.
NdR: Merci à muolp pour avoir posté un journal sur ce sujet.