Il y a 15 ans -
Temps de lecture 7 minutes
Revue de Presse Xebia
La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.
Actualité éditeurs / SSII
- MySQL by Sun : Revirement de stratégie open source ? Choquant ?
- Superpackages (JSR-294) vs. OSGI : Episode n° 34291567….
Agilité
Le coin de la technique
- De la sérialisation au parallélisme, une évolution incarnée par java.util.concurrent
- Innovation autour de JPA : JBoss Hibernate confirme son domination avec Envers
- Cas d’utilisation des grilles Java avec WebSphere eXtreme Scale/ ObjectGrid
- JSR-311 JAX-RS REST une histoire de RESTaurant
Evènements de notre communauté en France et à l’étranger
Actualité éditeurs / SSII
MySQL by Sun : Revirement de stratégie open source ? Choquant ?
Slashdot essaie de nous emmener sur une polémique « Sun gâche MySQL » avec Sun May Begin Close Sourcing MySQL Features à l’occasion de l’annonce par l’éditeur de fonctionnalités (online backup, etc) qui seront uniquement disponibles dans la version payante MySQL Enterprise. Au delà de l’insinuation peu crédible quand on se rappelle que l’essentiel du catalogue de Sun est disponible gratuitement, on retrouve le défi aujourd’hui classique de la monétisation de l’Open Source. Le rachat de MySQL par Sun change complétement le modèle économique de l’éditeur de base de données.
Hier, la startup MySQL, financée par des fonds de capital risque, se permettait d’être déficitaire car les candidats au rachat (Oracle puis finalement Sun) ne valorisaient pas MySQL Inc sur ses revenus mais sur les parts de marché de sa base de données. La stratégie a magnifiquement porté ses fruits puisque MySQL Inc s’est vendue un milliard de dollars à Sun, félicitations au management.
Aujourd’hui, MySQL est vraisemblablement devenue une division ‘classique’ de Sun et doit donc devenir rentable. L’équation de la rentabilité de l’open source est complexe, Red Hat et JBoss by Red Hat ont été des pionniers sur ce chemin, souhaitons à MySql by Sun de trouver lui aussi son modèle.
TSS : MySQL to get new features in Enterprise version
Modification du billet le 29 Avril 2008 : Jonathan Schwartz est finalement revenu en arrière et a annoncé que tous les produits que Sun distribue, sans exception, sont proposés gratuitement en licence Open source à la communauté. Pour plus de détails sur cette histoire, nous vous recommandons la série de The 451 Group : MySQL’s business model in a state of flux, Finding the right balance – MySQL’s changing development model et Jonathan Schwartz has the last word on MySQL
Superpackages (JSR-294) vs. OSGI : Episode n° 34291567….
La guerre continue entre les partisans de OSGI et ceux des JSR de SuperPackage et de JAM. Cependant, l’attaque vient cette fois-ci d’Alex Buckley de chez Sun.
Il explique dans son email les inconvénients qu’il voit dans l’implémentation actuelle des superpackages[1]. En substance, il propose d’introduire à la place un nouvel ‘access modifier’ (module).
Peter Kriens de l’OSGi Alliance semble plutôt emballé par cette proposition.
[1] Pour mémoire, nous avons publié en février dernier un article présentant les superpackages
Agilité
User stories « En tant que … je veux … »
Mike Cohn nous rappelle les 3 raisons pour lesquelles il préconise de décomposer les user stories sous forme de phrase « En tant que <role>, je veux <but>, pour que <raison> » (la raison est optionnelle) :
- L’emploi de la 1ère personne du singulier aide les développeurs à s’identifier à l’utilisateur
- La structure de la phrase – représentée par 3 colonnes dans le Product backlog – aide le Product Owner à comprendre et prioriser les user stories
- Pour ne pas rajouter de bruit dans la description des user stories, il suffit de nommer les colonnes du Product backlog « En tant que … », « je veux … », « pour que … » et le backlog devient intuitif à lire.
Le coin de la technique
De la sérialisation au parallélisme, une évolution incarnée par java.util.concurrent
La programmation multi-threadée en java a évoluée : anciennement on utilisait la sérialisation incarnée par synchronized
, désormais on peut faire du parallélisme avec l’introduction des API java.util.concurrent
en Java 5.
Sharadjava nous présente dans sa Java Concurrency Series les différents aspects de cette nouvelle librairie :
- Simple Executor example pour la parallélisation des tâches.
- Barrier pour l’attente entre tâches (on n’oubliera pas sur ce sujet le CountDownLatch).
- Meaning of volatile pour la visibilité inter-threads des valeurs des variables.
Innovation autour de JPA : JBoss Hibernate confirme son domination avec Envers
Après l’intégration de la recherche full text Lucene [1] et le support du Database Sharding, Hibernate confirme sa domination de l’innovation autour de JPA en ouvrant le chantier du versionnage des données. Cette problématique, bien que récurrente et accentuée par les nouvelles contraintes réglementaires (Sarbane & Oaxley, etc), restait largement ignorées par nos frameworks et nos très chers design patterns. Seul Martin Fowler nous éclairait sur ce sujet délicat avec Patterns for things that change with time.
JBoss comble aujourd’hui ce vide en lançant Envers, une extension d’Hibernate qui versionne les données persistantes selon un pattern similaire au Temporal Object de Martin Fowler. Envers n’est qu’en version preview mais le projet est très prometteur et déjà une source d’inspiration pour les projets qui n’ont pas le temps d’attendre la première version stable.
On notera au passage qu’Envers préfère l’API standard JPA EntityManager à l’historique Session Hibernate ; on peut y voir un signe que le temps est venu pour les équipes projets de privilégier les standards JPA aux API historiques Hibernate.
Exemple d’entité persistante versionnée avec JBoss Envers
@Entity public class Person { @Id @GeneratedValue private Integer id; @Versioned private String name; @Versioned private String surname; @Versioned @ManyToOne private Address address; ... }
[1] cf notre billet Introduction à Hibernate Search (Googling your Persistent Domain Model)
Cas d’utilisation des grilles Java avec WebSphere eXtreme Scale/ ObjectGrid
Billy Newport présente dans Video: Introduction to WebSphere eXtreme Scale/ObjectGrid with patterns and use cases les scénarios typiques d’utilisation de la grille Java d’IBM :
- Cache de proximité classique : la grille sert de Map distribuée ; l’application métier gère les données (chargement depuis les backends, mise en cache et sauvegarde des modifications dans les backends).
- Cache de proximité avec « Loader synchrone » dans la grille : l’application métier se limite à demander des données à la grille et à les modifier ; la grille, grâce à un Loader, s’occupe de charger les données depuis les backends et sauvegarde en synchrone les données modifiées dans les backends.
- Cache de proximité avec un « Loader à écriture différée » dans la grille : similaire au scénario précédent mais la sauvegarde des modifications dans les backends est asynchrone.
- Cache collocalisé : l’application et la grille s’éxécutent dans les même JVM, chaque JVM héberge un noeud du cluster de l’application et un noeud de la grille. Ce scénario est typique de la mise en cache des sessions HTTP.
On notera que les architectures de type Map/Reduce, qui nécessitent une conception radicalement différente, ne semblent pas encore très répandues.
JSR-311 JAX-RS REST une histoire de RESTaurant
Dans cet article, Nicolas Martignole nous présente l’architecture REST (Representational State Transfer) et JSR 311: JAX-RS: The Java API for RESTful Web Services. L’objectif de cette JSR est de faciliter la programmation d’applications REST en Java.
La première partie est consacrée à une introduction de REST (définition d’une ressource, lecture, création, mise à jour, suppression d’une ressource, Services Webs RESTfull).
La deuxième partie nous présente quelques détails sur l’implémentation JAX-RS avec Java.
Evènements de notre communauté en France et à l’étranger
XKE, le programme de la session de mai
Le prochain XKE (Xebia Knowledge Exchange) aura lieu le mardi 6 Mai 2008. Les sujets suivants seront abordés :
- Sessions Pratiques
- Terracotta, the Network Attached Memory (NAM)
- java.util.concurrent, concours de developpement
- Technique
- Java et la Cryptographie
- Architecture
- Retour sur l’architecture de l’un des plus grand site de ecommerce de France
- Tests unitaires avec les librairies de Mock
- Xebia Hollande
- Intervention du CTO de Xebia Hollande
Comme nous l’annoncions, les XKE sont ouverts à l’ensemble des personnes à l’écoute du marché de l’emploi autour des technologies Java/J2EE. Si vous êtes l’une d’entre elles , n’hésitez pas à contacter Mélanie Bacrot pour vous inscrire.
Commentaire
3 réponses pour " Revue de Presse Xebia "
Published by Cyrille Le Clerc , Il y a 15 ans
Modification du billet le 29 Avril 2008 : Jonathan Schwartz est finalement revenu en arrière et a annoncé que tous les produits que Sun distribue, sans exception, sont proposés gratuitement en licence Open source à la communauté. Pour plus de détails sur cette histoire, nous vous recommandons la série de The 451 Group : MySQL’s business model in a state of flux, Finding the right balance – MySQL’s changing development model et Jonathan Schwartz has the last word on MySQL
Cyrille (Xebia)
Published by gabriel K. , Il y a 15 ans
A noter également la modification de licence du framework ajax ExtJS, qui passe de LGPL à une double licence GPL virale ou licence commerciale.
cf. le billet de Sami Jabber.
http://www.dng-consulting.com/blogs/index.php/2008/04/27/l-affaire-ext-js?blog=1
Ce qui risque de freiner le dévelopement de GWT-Ext, et de faire changer d’avis à d’autres projets dans leur adoption de ce framework ajax.