lundi 28 juin 2010

Veille technologique semaine 25

Pour le bulletin de la semaine 25, je vous propose les sujets suivants :
  • sortie de la version 3.6 d'eclipse : Helio avec des compléments, entre autre, sur les outils Java.
  • Les méthode agiles : comment intégrer le changement, comment accepter le changement pendant le développement. Il ne fait pas résister au changement ou le supprimer, il faut le prendre en compte dans le processus de développement.
  • La modélisation du domaine : les 10 commandements.
  • Le HTML 5 : la nouvelle plate-forme de développement ? Le browser devient une machine virtuelle.
  • Java et le threading : c'est toujours un exercice très difficile. Comment être thread safe ? C'est d'abord une question de définition.
  • Les évolutions du langage Java du JDK 7 : ce qui est déjà implémenté. Il reste plusieurs évolutions à compléter, en particulier l'Automatic Resource Management : comment gérer automatiquement les ressources d'entrée / sortie (déjà présent dans C#.
  • Le logging : c'est toujours d'un usage à préciser.
  • Comment la réduction du nombre de ligne de code augmente la qualité du logiciel :  suppression du code technique inutile.
  • Pour les IHM : le JDK 7 et la décoration des JavaBeans Swing avec le JLayer.

Bonne lecture.


Helios: The Train Has Arrived
The Eclipse Helios release is now available for download. Each year I am amazed how the Eclipse community is release on such a predictable schedule. Congratulations to all that help make it happen.

Helios is the biggest Eclipse release ever! We have over 39 different project teams participating, more than 33 million lines of code, 490 committers, 108 of those committers were individuals and the rest of commiters work for 44 different organizations. The amazing thing is that this is the 7th year in a row the Eclipse platform has been release the last week of June, never missing a schedule release date. What other software organization can make that claim!!



Eclipse 3.6 : Helio Java development tools
Here are descriptions of some of the more interesting or significant changes made to the Java development tools for the 3.6 release of Eclipse. They are grouped into:
  • Java Editor
  • Java Formatter
  • Java Refactorings
  • Java Compiler
  • Java Views and Dialogs
  • JUnit
Justification de l'intérêt des méthodes agiles
On peut définir une méthode agile comme une démarche pour développer du logiciel :
de manière itérative et incrémentale, par des équipes responsabilisées s'appuyant sur un cérémonial documentaire minimal mais pratiquant une collaboration poussée, avec l'objectif de répondre, dans un délai contraint, aux besoins qui peuvent changer des utilisateurs, tout en produisant du logiciel de grande qualité.
  1. Les méthodes agiles, c'est de l'ingénierie du logiciel
  2. L'agilité est un mouvement majeur
  3. L'agilité apporte de la valeur

En résumé
L'agilité est la capacité à répondre au changement, et même à le favoriser, pour mieux s'adapter à l'environnement qui est de plus en plus turbulent : dans notre époque de l'information, l'avantage compétitif vient de la vitesse et de la flexibilité.

How to create a good domain model. Top 10 advices
Domain modeling is the most important part of software design. Having a good model allows developers and business to have a common language, which in turn, makes much simpler the communication of requirements and the maintenance of the application.
Having a good model is synonym of having a low representational gap. Having a low representational gap means that the main concepts and their relationships from the real business model are represented almost identically in the software domain model.
Creating a good domain model is one of the most difficult challenges developers have to face. What follows are some advices to create a good domain model.


HTML5 : la promesse d'un browser qui devient VM
Hier avait lieu une présentation de Peter Lubbers sur HTML5. Une présentation très sympathique qui permettait de repasser en revue les nouveautés d'HTML5, et elles sont nombreuses.

Java theory and practice: Characterizing thread safety
Thread safety is not an all-or-nothing proposition.
Summary: In July our concurrency expert Brian Goetz described the Hashtable and Vector classes as being "conditionally thread-safe." Shouldn't a class either be thread-safe or not? Unfortunately, thread safety is not an all-or-nothing proposition, and it is surprisingly difficult to define. But, as Brian explains in this month's Java theory and practice, it is critically important that you make an effort to classify the thread safety of your classes in their Javadoc.

Project Coin: Small Changes in JDK 7

Implemented Proposals
  • Strings in Switch
  • Improved Type Inference for Generic Instance Creation
  • Binary Literals
  • Underscores in numbers
  • Language support for JSR 292

Yet-To-Be-Implemented Proposals
  • Automatic Resource Management
  • Simplified Varargs Method Invocation
  • Collection Literals
  • Indexing access syntax for Lists and Maps

The Art of Logging
  • Contents
  • Introduction
  • Overview
  • What is logging?
  • A structured approach to logging
  • What should I be logging?

    • The importance of context
    • Logging in a concurrent environment
    • Why not log everything?
    • Not all exceptions are errors
    • Get organised with named loggers
    • Unit test your logging code
    • Conclusions


    Better Software with Less Code
    How to simplify MDD for speeding Java Enterprise Development?

    A notable problem of Java Enterprise Development is its inherent complexity. Either if you use Java EE standard or Spring, your development team will never be as productive as a VisualBasic, PHP, Ruby&Rails, 4GL or even COBOL development team. Complexity of Java Enterprise requires very skilled developers, moreover these developers need to write a lot of code.

    The ideal solution for this problem could be the Model-Driven Development approach. Basically MDD states that just the model part of an application has to be developed, and the rest of the application will be generated from this model. In this way, the developers write less and simpler code, nevertheless a powerful Java Enterprise Application is created.


    Exploring JDK 7, Part 3: Decorating Swing Components with JLayer
    Oracle's release of JDK 7 is expected to occur this coming Fall. This new release will offer a suite of new features for you to learn. In Part 3 of this four-part series, Jeff Friesen focuses on JLayer, a universal decorator for Swing components.


Aucun commentaire: