vendredi 11 septembre 2009

Veille technologique semaine 37


Pour le bulletin de cette semaine, je vous propose les sujets suivants :
  • le club Java de Paris, propose une soirée sur la qualité du logiciel : il faut s'inscrire.
  • Le langage scala : prise en charge nativement de la programmation concurrente. Introduction.
  • La compression de pointeurs des JVM 64 bits : la théorie
  • Dans les architectures Event Driven Architecture (EDA), le Complex Event Processing : CEP c'est quoi ?
  • Article d'IBM sur Java temps réel : qui est responsable du non déterminisme dans la JVM et quelles sont les solutions ?
  • Un complément sur les évolutions du JDK 7 : après les évolutions du langage, les évolutions des API avec les Java Specifications Request (JSR) prévus.
  • Le détail de la sérialization Java.

Bonne lecture.


JUG Soirée Qualité du logiciel (15/09/2009)
Mardi 15 septembre 2009
Dans les locaux de l'ISEP

19h15 à 19h30 : Accueil
19h30 à 20h00 : Les frameworks open source

Le monde Open Source Java proposent de nombreux outils d'analyse de code (PMD, CPD, FindBugs, JDepends, CKJM, JavaNCSS, Crap4J, Emma ...). Ces moulinettes produisent des dizaines de métriques (parfois cryptiques, parfois abstraites, parfois élaborées par des docteurs en informatique, barbus!!).
Basé sur ces métriques, des outils comme XRadar, Sonar, QALab vous permettent de créer de joli rapports (parfois même de beaux graphiques) que les esthètes, les clients, les architectes ou encore les chefs projet peuvent apprécier.
Mais, nous, petits artisans (ou grands industriels) du Java/JEE, devrions nous nous soucier des dépendances cycliques, de la complexité cyclomatique de notre code ? du niveau d'abstraction de nos paquets ? de la détection de tel ou tel pattern dans l'arbre syntaxique de nos objets Java ? Que devrions-nous réellement surveiller ? Quelles règles suivre ? Quels moyens pour voir ces règles comprises, acceptées et respectées ? Intervenants : Romain Pelisse, François Le Droff

20h00 à 20h30 : Sonar
Comme toute activité humaine, développer du code source nous expose en continu à la tentation de céder aux 7 péchés capitaux du développeur. Cette présentation ludique et interactive permettra aux participants de (re)découvrir ces 7 péchés et la manière de les chasser avec Sonar.
Pour rappel, Sonar est une plate-forme de qualimétrie Open Source éditée par la société SonarSource.
Intervenant : Olivier Gaudin

20h30 à 21h00 : Buffet
21h00 à 21h30 : SonarJ


Langage Scala
Scala is an object-oriented programming language for the Java Virtual Machine. In addition to being object-oriented, Scala is also a functional language, and combines the best approaches to OO and functional programming.

In Italian, Scala means a stairway, or steps—indeed, Scala lets you step up to a programming environment that incorporates some of the best recent thinking in programming language design while also letting you use all your existing Java code.

Artima is very pleased to publish the first book on Scala, written by the designer of the language, Martin Odersky. Co-authored by Lex Spoon and Bill Venners, this book takes a step-by-step tutorial approach to teaching you Scala. Starting with the fundamental elements of the language, Programming in Scala introduces functional programming from the practitioner's perspective, and describes advanced language features that can make you a better, more productive developer.


A Scalable Language
The name Scala stands for "scalable language." The language is so named because it was designed to grow with the demands of its users. You can apply Scala to a wide range of programming tasks, from writing small scripts to building large systems.

Scala is easy to get into. It runs on the standard Java platform and interoperates seamlessly with all Java libraries. It's quite a good language for writing scripts that pull together Java components. But it can apply its strengths even more when used for building large systems and frameworks of reusable components.


Compressed oops in the Hotspot JVM
What's an oop, and why should they be compressed?
An "oop", or "ordinary object pointer" in HotSpot parlance is a managed pointer to an object. It is normally the same size as a native machine pointer, which means 64 bits on an LP64 system. On an ILP32 system, there is a maximum heap size of somewhat less than 4Gb, which is not enough for many applications. On an LP64 system, though, the heap for any given run may have to be around 1.5 times as large as for the corresponding IPL32 system (assuming the run fits both modes). This is due to the expanded size of managed pointers. Memory is pretty cheap, but these days bandwidth and cache is in short supply, so significantly increasing the size of the heap just to get over the 4Gb limit is painful.


Complex Event Processing (CEP), de quoi s'agit-il?
Depuis quelques années, on assiste à l'émergence de nouvelles solutions logicielles, dont le concept à la base est loin d'être nouveau, mais dont l'offre est de plus en plus riche et perfectionnée, à savoir, Complex Event Processing. Alors de quoi s'agit-il ?


Developing with real-time Java, Part 1: Exploit real-time Java's unique features
Take advantage of real-time Java performance in your application.


JDK 7
This is the list of features being developed by Sun, and others, for JDK 7.


JDK 7 Milestones
The JDK 7 development schedule is divided into a sequence of milestone cycles,
each six to seven weeks in length. There will be no formal beta or early-access
releases, as in the past. Major features and other potentially-destabilizing changes
will targeted for integration early in a specific milestone. For more information,
please see the current draft of the JDK 7 Development Process.


The Java serialization algorithm revealed
Serialization is the process of saving an object's state to a sequence of bytes; deserialization is the process of rebuilding those bytes into a live object. The Java Serialization API provides a standard mechanism for developers to handle object serialization. In this tip, you will see how to serialize an object, and why serialization is sometimes necessary. You'll learn about the serialization algorithm used in Java, and see an example that illustrates the serialized format of an object. By the time you're done, you should have a solid knowledge of how the serialization algorithm works and what entities are serialized as part of the object at a low level.

Aucun commentaire: