vendredi 2 avril 2010

Veille technologique semaine 13

Pour le bulletin de cette semaine 13, je vous propose les sujets suivants :
  • la conférence EclipseCon 2010 : Oracle, la NASA, ...
  • JavaFX et les outils de design des IHM : photoshop, illustrator, SVG, ...
  • JavaFX arrive-t-il trop tard ?
  • La loi de Conway's : comment l'organisation industrielle du développement d'un système logiciel peut influencer l'architecture de ce système logiciel.
  • Le HTML 5 et le push : enfin pour disponible en standard pour le web.
  • Mise à jour du JDK 6 en update 19 : liste des bugs corrigés.
  • Présentation de la spécification OSGi Enterprise 4.2 :
  • La version 2 de SONAR : ajoutant un septième axe d'analyse de qualité logiciel. A utiliser en urgence.
  • L'histoire de la stratégie de la société en charge du framework Spring.
  • La sortie de EHCache en version 2.0 : version majeure.
  • Analyse des nouveautés de IE 9.
  • Le projet Akka et le challenge de la programmation concurrente.
  • Suite de la présentation de scala.
Bonne lecture.


EclipseCon 2010 roundup
Eclipse-related technologies and tutorials; so, what was there?
The introductory keynote was on Community and Adaptation, by Steve Harris and Jeet Kaul of Oracle. This was Oracle's first opportunity to discuss publicly about where the Java community will be headed; in particular, what Oracle will be focussing on.

The takeaways from the presentation are:
OSGi is important. Integration with Jigsaw will happen; it looks like Qwylt is the interoperation layer JavaFX will continue to be funded and integrated in to both NetBeans and Eclipse The JCP is a process which needs to be remediated, but no plans on what should replace it. (Ed Burnette has an interview on this topic) Updates to the Java platform need to come faster.


Getting Started With JavaFX Production Suite
JavaFX Production Suite is a set of tools for designers that facilitates the process of incorporating rich graphic assets into JavaFX applications. This tutorial shows designers how to export graphics from Adobe Illustrator or Adobe Photoshop, and how to view exported JavaFX graphics. It also provides some useful information about Production Suite.


Is it too late for JavaFX to succeed?
Nearly three years after its introduction, the JavaFX multimedia application development platform that Oracle inherited from Sun Microsystems remains just another entrant in a crowded field, with questions looming about how much momentum the platform can gather.

Unveiled at the JavaOne conference in May 2007 [1], JavaFX is intended to provide a Java-based entrant into the growing market for development of multimedia whiz-bang applications for desktops and mobile devices. JavaFX 1.0 was released in December 2008, and as of June 2009, there had been more than 400,000 downloads of the JavaFX tools and SDK, according to the official JavaFX Web page [2]. JavaFX is available on more than 250 million desktops, the page says. The platform features the JavaFX Script scripting language, a rich client platform and tools, and integration with the Java runtime.


Conway's Law Revisited: Successfully Aligning Enterprise Architecture
For investments in enterprise architecture to pay off, they must be based on a clear understanding of the organization. Whatever approach you choose to implement your enterprise strategy, an understanding of Conway's Law can help to make your alignment efforts successful.*

Conway's Law
In a landmark 1968 article, Melvin Conway stated that the structure of a system reflects the organization that designed the system [Conway68]. This has come to be known as "Conway's Law".


HTML5 Server-Push Technologies, Part 1
The upcoming HTML5 specification includes a lot of powerful and exiting features which turn web browsers into a fully capable ich internet application (RIA) client platform. This article takes a deeper look into two new HTML5 communication standards, Server-Sent Events [9] and WebSockets [10]. These new standards have the potential to become the dominant Server-push technologies for helping developers to write real-time web applications.

Contents :
  • The evolution of the web
  • HTML5
  • Server-Sent Events

Java SE 6 update 19
Please see the Update Release Notes Index for links to Release Notes for each update and a link to the initial Java SE 6 Release Notes. Changes in 1.6.0_19 (6u19).


OSGi Enterprise Spec 4.2 released
Today, the OSGi announced the release of the Enterprise OSGi 4.2 specification, along with the corresponding JavaDoc.
The Enterprise OSGi spec covers features that are useful to many developers (like Remote Services and JDBC) as well as more enterprise-level services (like JNDI, JTA and JPA).

To understand how these OSGi services fit in – and avoid the "OSGi is too complex" rant – it's useful to take a look at how the specs work. Each OSGi service is provided by a package (or packages) with a specific version number, which is independent of the OSGi release number. For example, OSGi 4.2 contains the OSGi org.osgi.framework version 1.5, whilst OSGi 4.1 contained the OSGi org.osgi.framework version 1.4. Packages are versioned using the OSGi versioning scheme, which uses a major number to signify backward compatible breaks, minor numbers to signify forward compatible enhancements, and micro numbers which add no new functionality other than bug fixes etc.


Sonar 2.0
Dans cette première release de 2010, l'équipe Sonar élargit le champs d'analyse de leur outil en y ajoutant un septième axe d'analyse de qualité logiciel. Pour rappel, les six premiers axes déjà supportés par Sonar sont:

  • La couverture de code par les tests unitaires
  • La distribution de la complexité (par classe et par méthode)
  • La recherche de bugs potentiels (avec FindBugs)
  • La détection des codes dupliqués
  • L'insuffisance des commentaires
  • Le respect des normes du langage
Le septième et dernier axe, propose d'évaluer la conception objet à l'aide: Ces nouveaux outils vont nous permettre, d'une part, de détecter et résoudre les cycles de dépendances, et, d'autre part, de surveiller l'étendue des responsabilités de nos classes. L'équipe Sonar reste donc très active, elle prévoit d'ailleurs une nouvelle version pour le courant du mois de mai avec notamment la détection de code mort dans la roadmap.

Les rendez-vous manqués de Spring
Le 10 décembre 2009, après plus de 3 ans de travail du JCP, les spécifications Java Enterprise Edition 6 sont sorties de leur longue maturation. Cette dernière mouture très prometteuse apporte enfin une solution d'injection de dépendance légère et élégante pour des architectures modernes : la spécification CDI (Context and Dependance Injection) qui permet de travailler avec des « managed beans » (pojos
gérés par un conteneur léger) et des EJB 3.1.
Une révolution ? Pas vraiment, puisque depuis près de 6 ans le Framework Spring proposait déjà une solution de ce type.
Sachant que Spring source (VMware) est un membre actif du JCP et a participé à l'élaboration certaines JSR, il est légitime de se demander pourquoi l'implémentation de référence de la solution de CDI de Java EE 6 n'est pas Spring. S'agit-il d'une erreur de stratégie de la part de l'éditeur ou d'un calcul délibéré pour rester le challenger d'un standard très proche en terme de simplicité et de fonctionnalités ?

EHCACHE 2.0

Ehcache est une solution de cache Open Source qui est restée pendant longtemps très basique : aucun mécanisme de réplication n'était proposé. Le projet se limitait alors une table de hachage enrichie d'une logique d'éviction et d'offload sur disque. La réplication du cache sur plusieurs nœuds par RMI est apparue tardivement, et fut suivie d'autres technologies de réplication telles que JGroups ou JMS. Plus récemment, l'acquisition du projet par Terracotta fut assez logiquement suivie de l'introduction d'une réplication par Terracotta en version 1.7.

Ces dernières années ont donc vu un enrichissement (ou une complexification) croissant d'Ehcache. Une nouvelle version 2.0vient d'être annoncée par Terracotta et les nouveautés incluses créent une nouvelle fois la rupture avec les versions précédentes :

  • Support de JTA : Ehcache se comporte maintenant comme une ressource transactionnelle XA. Ce support de JTA place ainsi EhCache face JBoss Cache, maintenant renommé Infinispan, qui se démarquait jusqu'alors parmi les caches Open Source par ses capacités transactionnelles.
  • Write-behind : Ehcache est maintenant capable d'écrire de manière asynchrone et planifiée dans la ressource dont il est la façade.
Les autres nouveautés concernent diverses améliorations liées à la configuration dynamique d'Ehcache ou à l'utilisation de Terracotta.

Il s'agit donc bien d'une version majeure pour Ehcache qui propose désormais de nombreuses fonctionnalités dédiées aux architectures distribuées. Le poids de la distribution s'en ressent puisqu'il est passé de 300 Ko pour la version 1.0 a 14 Mo pour la version 2.0 : une vraie rupture...


Internet Explorer 9 Preview: New Features and Analysis
Microsoft has released a preview version of Internet Explorer 9 with improvements in performance and adoption of standards like SVG, CSS, HTML5
and more.


Akka - Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Actors
Today, the Akka team released version 0.7 of their actors framework for the Java Virtual Machine. The team around Jonas Bonér decided to address the future concurrency challenges instead of the current, shared state and lock based approaches on the JVM with a solution relying on message based actors, software transactional memory and appropriate fault handling strategies.

Akka's sources are available from github. It is Open Source and available under the Apache 2.0 License. InfoQ talked to Jonas Bonér about the intent behind Akka, its current state and adoption, and future plans. His answers start the different sections covered here.

A Scalable Solution to the Concurrency Challenge


Scala, case, Option, None et Some
Après un article d'introduction sur Scala puis un autre sur les Traits et les Collections, nous allons parler un peu de Pattern Matching. Options, Some et None : éviter les nulls Pattern Matching et les listes

Aucun commentaire: