vendredi 30 juillet 2010

Veille technologique semaine 30

Pour le bulletin de cette semaine, je vous propose les sujets suivants :
  • La dernière version du produit Terracotta permet de gérer des réplications de plusieurs millions d'objets dans un cache d'une taille de 1 Tera octets.
  • Le rôle du manager dans méthode Scrum.
  • La sortie de la spécification OpenGL 4.1 pour le groupe kronos.
  • Sortie de la version 2.2 de l'outil de qualimétries Sonar : personnaliser la page Sonar.
  • Le couplage : comme tout principe, il faut en mettre au bon endroit, avec la bonne dose.
  • La version 5 du langage C# de Microsoft propose d'ajouter la méta-programmation : le programme qui (se) manipule le programme.
  • Sortie de la version 1.3 de VisualVM : visualiser l'exécution de vos programmes dans la JVM : programme écrit en Java, Clojure, Groovy, JRuby, Jython et Scala.
  • Des conseils de Joshua Bloch sur la manière de concevoir des API : "How to Design a Good API and Why it Matters"
  • Quelques détails sur les nouveautés d'eclipse 3.6 : Helios.
  • Quelques exemples d'utilisation des @nnotations Java : comment faire un DSL (Domain Specific Language) interne.
  • Troisième article sur JavaFX : l'asynchronisme.
Bonne lecture.

Terabyte-sized Java apps now possible
The new version of Terracotta's Ehcache Java caching software can hold several hundred million objects simultaneously.

"Building any cache greater than, say, 50 gigabytes is very complex and involves manual work for developers and operators and can be very hard to maintain," Pandey said. "What we have done enables developers and operators to employ a terabyte-scale cache with several hundred million objects."

Manager 2.0: The Role of the Manager in Scrum
When an organization starts to explore Scrum, there's often an uncomfortable moment early on when someone points out that the role of "manager" seems to be missing entirely. "Well I guess we'll have to just get rid of 'em all!" wisecracks one of the developers, and all the managers in the room shift uncomfortably in their seats.

Khronos Group releases OpenGL 4.1, claims to leapfrog Direct3D 11
Just four and a half months after releasing the OpenGL 4 specification, the Khronos Group has released the final version of the OpenGL 4.1 specification. OpenGL 4.0 brought feature parity with Direct3D 11's new features—in particular, compute shaders and tessellation—and with 4.1, the Khronos Group claims that it is surpassing the functionality offered in Microsoft's 3D API.

Sonar 2.2 in screenshots
The Sonar team is proud to announce the release of Sonar 2.2. As usual, this new release includes numerous improvements, bug-fixes
and also brand new features that we believe are worth stopping your daily work for a few minutes to review. Those features can be divided
into three categories :
  • Favourites resources
  • Filters homepage
  • Plugin classloaders

Loose coupling is overrated.
Loose coupling is one of the most desired qualities in modern software development, but because its very subjective nature, and because the lack of analysis on the different types of coupling, some wrong decisions may be taken in the architecture just for the sake of making the application more loosely coupled.

HTML5 @ Zenika-with-Peter-Lubbers
Voici un compte-rendu de la présentation HTML5 de Peter Lubbers de la société Kaazing. Il était invité par Zenika à présenter les grands principes de HTML5 :

HTML5 with Peter Lubbers 1/3
HTML5 with Peter Lubbers 2/3
HTML5 with Peter Lubbers 3/3 

C# 5 and Meta-Programming

To summarize:
C# 1 was all about delivering a new language for a new platform.
C# 2 was all about providing generics to improve strong typing, especially in collection handling situations.
C# 3 was all about letting write strongly typed queries abstracted from the date source. As a consequence C#3 fosters a more declarative way of programming.
C# 4 was mainly about dynamic programming to inter-operate with dynamic programming environment.
C# 5 will be concerned with meta-programming.

Metaprogramming is the writing of computer programs that write or manipulate other programs (or themselves) as their data, or that do part of the work at compile time that would otherwise be done at runtime. In many cases, this allows programmers to get more done in the same amount of time as they would take to write all the code manually, or it gives programs greater flexibility to efficiently handle new situations without recompilation.

VisualVM 1.3: Detailed Application Monitoring
VisualVM 1.3 has just been released and is now available for download at ! The most significant new features in this release include the incorporation of the Sampler plugin into the core tool, the ability to define custom profiling presets, and support for taking a heap dump of a remote JVM. The tool newly enables custom sorting of applications, recognizes the Clojure, Groovy, JRuby, Jython and Scala runtimes, and introduces monitoring remote hosts. Two new plugins have been provided with this release: the Tracer framework and probes plugin enable detailed application monitoring, and the Threads Inspector plugin displays stacks of the selected threads.

Joshua Bloch: Bumper-Sticker API Design
My conference session "How to Design a Good API and Why it Matters" has always drawn large crowds; on InfoQ was the third most viewed content last year. When I presented this session as an invited talk at OOPSLA 2006, I was given the opportunity to write an abstract for the proceedings. In place of an ordinary abstract I decided to try something a bit unusual: I distilled the essence of the talk down to a modest collection of pithy maxims, in the spirit of Jon Bentley's classic Bumper-Sticker Computer Science, Item 6 in his excellent book, More Programming Pearls: Confessions of a Coder (Addison-Wesley, 1988). It is my hope that these maxims provide a concise summary of the key points of API design, in easily digestible form:

Eclipse 3.6 Hidden Treasures
Eclipse 3.6, aka Helios, was released about a month ago. It has become a tradition: this is the time I highlight some of my favorite hidden features in the new release. I focus my article on features which are less obvious, off the beaten path. Features you might not be familiar with if you didn't take the time to read the "new and noteworthy" for this release.
If you haven't done so already, you are invited to read my posts for Eclipse 3.4 (Ganymede) and Eclipse 3.5 (Galileo) (which won the Galileo Blogathon). You can probably pick up some new tricks there as well. I also took the time to reiterate on some of my favorite shortcuts, which made this article a tad longer. As always, if you are familiar with more features which are hidden and worthy, please let me know in the comments.

Patterns for Using Custom Annotations
If you happen to create your own annotations, for instance to use with Java 6 Pluggable Annotation Processors, here are some patterns that I collected over time. Nothing new, nothing fancy, just putting everything into one place, with some proposed names.

Effective JavaFX Architecture Part 3 - Asynchronous calls, Command Pattern and Testability
In the previous installment of Effective Architecture, I covered TDD with Model-View-Presenter. However the code I presented had synchronous server calls. In JavaFX (like Swing), code runs in the Event Dispatch Thread (EDT). It is unwise to block the EDT. Hence it is encouraged to execute all server calls on a separate thread.

Aucun commentaire: