vendredi 17 octobre 2008

Veille technologique semaine 42

Pour le bulletin de cette semaine, je vous propose les sujet suivants :

  • La NASA a publié un retour d'expérience sur la gestion d'une équipe de développement logiciel.
  • Microsoft confirme son ralliement à l'OMG au sujet d'UML 2. On va vers la complémentarité d'UML et des Domain Specific Languages (DSL). Bientôt dans VisualStudio : UML 2 aura peut-être ainsi plus d'audience.
  • Présentation de la plate-forme OSGi par le club d'utilisateur Java de PARIS (JUG PARIS). Cette plate-forme est géré par l'organisation OGSi Alliance créée en 1999. Son principal atout est la gestion dynamique de bundles avec la version des dépendances. Le modèle actuel de composant est très décevant. Une évolution est en cours avec la RFC
    124 "A Component Model for OSGi" qui est en fait le modèle Spring DM (Dynamic Module). Une partie de OSGi devrait être intégré au JDK 7 avec les JSR 291 : Dynamic Component Support, JSR 294 : Modularity Support for Java SE ou JSR 277 : Java Module System (?).


  • Une article sur une évolution du langage Java prévue pour le JDK 7 au sujet des closures : ajout de littéraux pour référencer un membre : un champs, une opération ou un constructeur d'une classe. Le JDK1.3 a ajouté le littéral "YourClass.class" équivalent à "Class.forName("YourClass")". Il est donc proposé d'ajouter "YourClass#YourField", "YourClass#yourMethod()", "YourClass#()". C'est donc un moyen typé, vérifié par le compilateur, pour référencer des membres d'une classe à la place des chaines de caractères non vérifié pas le compilateur : "YourClass.class.getField("YourField")", "YourClass.class.getMethod("yourMethod")" ou "YourClass.class.getConstructor(Class,... parameterTypes)".
  • Un article qui propose une synthèse au sujet de la configuration par annotation Java (@) par rapport aux fichier XML. L'article suivant montre un exemple avec la version 2.5 de Spring qui propose les annotations suivantes : @Repository, @Service, @Controller, @Component. Alors, fichiers XML ou annotation ?


Bonne lecture.


Leçons de management par la NASA :

Jerry Madden, un ancien employé du Goddard Space Flight Center de la
NASA, a collecté "100 leçons" apprises auprès des managers qu'il a
cotoyés.

Marios Alexandrou en a extrait les leçons qui collent le plus avec son expérience des projets web Parmi les plus marquantes :

  • Une réunion de travail devrait durer 5 minutes minimum (moins elle est inutile) et 1 heure maximum (plus c'est un marathon). Au-delà de 6 personnes, elle devrait être réservée au transfert d'information.
  • Ne demandez jamais à vos chefs de prendre une décision que vous pouvez prendre vous-même, sauf si un document vous l'interdit.
  • Ne supposez jamais que quelqu'un a fait quelque chose, demandez lui. Même le plus évident peut être oublié, surtout en période de stress.
  • La documentation ne remplace pas la connaissance. Les documents restent des images statiques dans le temps et sont rapidement dépassés.
  • Les projets nécessitent un travail d'équipe pour réussir. Rappelez- vous que la plupart des équipes ont un coach et non un boss, mais le coach doit parfois arbitrer certaines parties.
  • Si un chef de projet est l'homme le plus intelligent de l'équipe, c'est qu'il a fait un mauvais travail de recrutement.
  • Les principes de gestion sont toujours les mêmes. Seuls les outils changent. Vous devez toujours trouver les bonnes personnes pour faire le travail et rester à l'écart pour qu'ils puissent le faire.

Le coach doit s'appuyer sur une équipe de personnes motivées, intelligentes, et responsables qui n'attendent pas d'ordre d'un patron. Leur collaboration est essentielle à la réussite du projet.


Microsoft rejoint l'OMG :

Microsoft a publié un communiqué de presse par lequel elle annonce rejoint l'OMG ou Objet Management Group, consortium dont le rôle est de travailler à l'évolution des standards de programmation objet. En l'occurrence c'est UML qui semble plus particulièrement motiver Microsoft à cette occasion. Ainsi l'intégration de UML 2.1.1 est annoncée dans les prochaines versions de Visual Studio (nome de code Rosario).

Microsoft's UML roundtrip routed through Oslo.

Previously, Microsoft had been noncommittal and was promoting the idea of Domain Specific Languages (DSLs) (http://martinfowler.com/articles/languageWorkbench.html) as a replacement for UML.

Our take is that Microsoft is pursuing a dual-pronged strategy: so-called D will be a higher level modeling language that would be its own "better" answer to BPMN (http://www.bpmn.org/), which would be targeted at business analysts, while UML is for developers working on how to represent business processes in software programmatically.


Présentation d'OSGI au Paris JUG
Le Paris JUG (Java Users Group) nous a proposé une présentation d'OSGI ce mois-ci, organisée par Xebia. Après une présentation sur l'histoire d'OSGI, nous avonsvu les différents champs d'applications, avec en point de mire la question posée sur le blog de xebia : "est-ce vraiment une plus value pour les développements ?"

Prochaine présentation le 4 novembre 2008 : Google Web Toolkit (GWT) :
http://parisjug.org/xwiki/bin/view/Meeting/20081104
Avis aux amateurs.


First-class methods: Java-style closures
In Java, the method is the principal construct where application logic resides. At present, a method can only exist within a class and cannot be manipulated or referenced in any simple manner. Other languages permit a block of application logic to be referenced outside of a class, and this is often referred to as a function or a closure. We propose to change the language to support the referencing and definition of methods as first-class objects. This provides much of the power of functions / closures but in a style familiar to Java developers. We further propose to enable the referencing of other class members - constructors and fields - as first-class citizens. This is a natural extension to First-class Methods.

Configuration en Annotations Java ou en XML ?
L'arrivée de Guice dans le monde des frameworks de dependency injection a entraîné pas mal de questionnements. Je n'échappe pas à la règle !

Google a adopté dans Guice la configuration tout en Java : tout ce fait à base d'annotations et de l'API. De fait, il n'y a plus de fichier de configuration XML.

C'est encore un des reproches que l'on entend sur Spring : on déporte beaucoup de choses dans un fichier XML qui ne compile pas et pour lequel on n'est pas assisté.

Dans le même ordre d'idée, Les nouvelles annotations créées avec JPA (Java Persistence API) changent aussi notre façon de configurer Hibernate. Avant, on configurait tout dans le bon vieux hibernate.cfg.xml, maintenant on a la possibilité de le faire avec les annotations.

Maintenant que nous avons le choix : quelle solution doit-on préférer ? Java ou XML ?


Simplifiez votre configuration Spring 2.5 avec les annotations

Spring 2.5 est sorti depuis le 19 novembre 2007 comme nous l'annoncions, il y a quelques temps, dans notre revue de presse. Vous avez comme moi sagement mis à jour vos poms.

Maven2 vers la dernière release de Spring (normalement et la plupart du temps compatible avec les versions 2.0.x). Mais avez-vous vraiment profité des nouveautés de cette version en terme de configuration ?

Les nouveautés Spring 2.5
Spring introduit plusieurs nouveautés concernant sa configuration, toutes les évolutions visant à la simplifier (ou à améliorer l'existant) :

  • Ajout de nouvelles balises basées sur les possibilités d'extension
    de schéma de Spring (Exemple : L'ajout des namespaces jms, context ou
    l'amélioration des namespaces jee, aop)
  • La création de JavaConfig
  • Le support des annotations Java 5, déjà amorcé dans Spring 2.0

Dans cet article, nous nous concentrerons sur les possibilités de configuration avec les annotations mais sans éviter un ou deux écarts.

Aucun commentaire: