vendredi 29 octobre 2010

Veille technologique semaine 43

Pour le bulletin de la semaine 43, je vous propose les sujets suivants :
  • du rifif autour le Java : problème au JCP (Java Community Process) : suite aux grandes manœuvres ? ...
  • Apple ne fournira plus le JDK sur MacOSX. Oracle devrait prendre le relais ?
  • Adobe présente un outil de construction de site web pour le HTML 5 : c'est le début du remplacement de sa technologie AIR (flash + flex) par le HTML5 ?
  • Plus de 50% des vidéos sur internet sont passées au format HTML5.
  • Qui utilise la librairie Swing de Java ? : l'industrie de défense, ....
  • Les technologies du multi-touch : le framework MT4J (Multi-Touch For Java) : explications.
  • L'utilisation des transactions mémoire à la place des verrous (lock) : résultats sur la productivité.
  • Quelle est la différence entre l'architecture logicielle et la conception logicielle : le quoi et le comment ?
  • Les EJB 3.1 : un modèle de composant avec une injection de dépendance.
  • Le pointeur null : une erreur de conception de 1965 qui a coûté, depuis, un milliards de dollars ?
Bonne lecture.



Du rififi au JCP
Doug Lea a annoncé qu'il claquait la porte du comité exécutif du JCP. Spécialiste de programmation concurrentielle, et à ce titre leader de la JSR-166, il est une figure importante du monde Java et sa défection est très symbolique. Il justifie son départ car selon lui le JCP n'est plus crédible dans sa capacité à fournir un standard et des spécifications réellement ouverts.
Ceci rejoint d'autres critiques sur le manque de transparence du JCP. Si l'annonce l'IBM de rejoindre OpenJDK est une bonne nouvelle pour ce projet, ceci laisse sur le carreau la fondation Apache et son projet Harmony, une autre version open source de Java. Or ce projet n'a jamais réussi à être labellisé Java Standard Edition. Pour cela il faut être passé par les TCKs (Test Compatibility Kits) Java qui valident les spécifications du JCP. Mais comme ces TCKs ne sont pas libres, Apache se plaint de ne pas pouvoir valider son projet. Et IBM ayant quitté le navire, il est encore moins sûr qu'un jour ce module devienne libre.
De plus, Dalvik, la JVM d'Android, est justement construite sur un sous ensemble d'Harmony. Avec les attaques en justice d'Oracle contre Google pour des histoires de brevet, voici donc une deuxième ligne de front qui s'ouvre entre les deux géants.
Le mois prochain auront lieu les élections pour choisir les nouveaux membres du comité exécutif du JCP. Cette élection sera vraiment la première depuis l'ère Oracle et compte-tenu des enjeux devrait être déterminante pour l'avenir de Java. A noter que Bob Lee (aka « Crazy » Bob Lee), le charismatique leader de Guice, s'est porté candidat à la succession de Doug Lea pour les indépendants.


Can Oracle Turn Java Around?
A lot has happened in the last week or two in the Java space. Oracle has remained silent throughout, but the silence is deafening. The start of the proceedings kicked off with IBM joining OpenJDK and (effectively) disbanding Harmony. One JVM down, one to go. The Apache Software Foundation board has made their thoughts known since; they thank IBM for their contributions to date and very much hope for Harmony's continued survival with other contributors. This prompted a number of responses across, included Mike Milinkovich at Eclipse, leading to his thoughts on Java 7 adoption as a result. However, he clarified that as it currently stands, the Java 8 proposal needs a re-think on the modularity layer to work better with existing de-facto standards.

Stephen Colebourne has been digging into the JCP and initially suggested that the JCP should be split in two as it has become clear that the Java SE components are controlled solely by Oracle rather than being voted as part of the JCP itself. However, he then claimed that Oracle are stuffing the ballot by bringing on one of their long-term customers, Hologic, onto the JCP board. This is the first time that most in the Java community have heard their name; the other two Oracle nominees are Apache and Red Hat. Up for re-election are Google and Eclipse, amongst others.



Le JDK d'Apple: c'est fini
Alors que nous savions bien qu'il n'était pas question de développer sur l'iOS (IPhone, Ipod, Ipad) en Java, tout allait bien du cotédesktop. Mais Apple a annoncé récemment, par le biais d'une note technique, que « les développeurs ne devraient pas compter sur la présence d'un runtime Java dans les futures versions de MacOS X ». Pour parler concrètement, que fait tout bon développeur lorsqu'il se rend compte qu'une fonction publique de son API n'est pas adaptée alors que certains l'utilisent ? Il la marque @deprecated en espérant s'en débarrasser au plus tôt (mais tout en sachant que ca ne sera pas si facile que ca: il va falloir convaincre tous les utilisateurs d'abandonner les appels à cette fonction). C'est ce qu'Apple vient de faire à notre langage préféré. Le runtime Java risque de ne plus être présent dans les futures version de MacOS (10.7). Rude coup ? Pas complètement… En effet, SoyLatte, le port d'OpenJDK sur Mac semble fonctionnel. Le plus gros problème risque de venir de l'intégration des applications de type client lourd, basées sur Swing/AWT, et pour lesquelles Apple avait optimisé l'intégration à OSX. Et c'est pour cette raison qu'une pétition réclame à Apple de reverser son code actuellement propriétaire à l'OpenJDK. Mais il se murmure qu'Apple aurait utilisé nombre d'appels de méthodes non documentées de l'API Mac OS pour intégrer de façon la plus transparente possible les applications Java dans son OS. Rien n'est donc moins sûr que l'issue de cette pétition. Il risque d'être difficile aux développeurs de l'OpenJDK de pousser l'intégration aussi loin. James Gosling en profite pour rappeler que cette intégration poussée à l'extrême était justement nécessaire car que les applications d'Apple elle-mêmes étaient en Java ! Comme quoi…
Aller, oublions un peu ces problèmes politiques un instant et retournons coder des applications web: elles, au moins, ne nécessitent pas de composants graphiques natifs (bien que l'IDE…) .

 

Adobe Edge : HTML5 pour les nuls
Adobe a présenté récemment un prototype d'outil permettant de réaliser de manière simple et sans réelle connaissance en code des animations en utilisant les technologies HTML5 (et donc pas Flash, la solution maison pour gérer des sites web animés).
Cet assistant à la création de code HTML5 s'appelle Adobe Edge, et des esprits mal intentionnés pourraient y voir le premier pas d'Adobe vers l'abandon, à moyen terme, du Flash…ou plus simplement peut être la volonté de se positionner sur le créneau porteur du HTML5, mis à la mode en grande partie grace à Steve Jobs et son refus d'intégrer Flash sur ses OS mobiles.



HTML5 Video Available on the Web – October Update
Last May, we took a look at how much HTML5 compatible video is out there. 5 months on, we figured now it would be worth taking another look.
HTML5 compatible video available on the web is still experiencing substantial growth & the rate of adoption is picking up.

Some Discoveries We Made
  • 54% of web video is now available for playback in HTML5. Double in 5 months.
  • Flash remains the dominant player within desktop environments.
  • Mobile is driving HTML5 video adoption. HTML5 compatible (H.264 mostly) video is the most common format for mobiles (inc. iPhone, iPad and Android).
  • Publishers & platforms now offer iframe embeds, allowing them to switch players dynamically, depending on the access device.

Is Swing Dead
Periodically the question, "Is Swing Dead", pops up on one of the mailing lists. I usually ignore them because I consider it flame-bait and not worth the time to answer. However, with the recent announcement by Apple that they weren't going to be supporting Java on the Mac, and the resultant furor that it's caused on the mailing lists, I thought I would look at the question again and see if I could give it a serious answer.

To Whom Does Swing Matter?

If Swing died tomorrow, who would miss it? Strangely enough, most of the server-side developers would miss it, because it's the basis for most of the IDEs that people use. Beyond IDEs, where does it get used? I keep a Dice search agent running and invariably the hits I get for "Swing Developer" tend to fall into the following categories:
  • Defense Industry: Real-time telemetry from missiles, aircraft, and UAVs.
  • Health: Clinical telemetry from EKGs, infusion pumps, patient sensors and similar kinds of hospital equipment.
  • Finance: Day-traders, commodity and energy traders, etc.
  • Biotech: medical device, instrumentation and software vendors.
  • Telecommunications companies
  • Geospatial software

Framework MT4J et les technologies tactiles
La technologie Multi-touch n'est pas une technologie nouvelle mais le succès de l'iphone fait que cette technologie rentre dans sa phase d'utilisation à grande échelle. Les équipements multi-touch se multiplient, que ce soit avec les OS mobiles comme Android / Iphone, les ordinateurs tout-en-un sous windows 7 ou les écrans d'ordinateurs supportant le multi-touch et dernièrement avec l'annonce de la sortie de l'ipad de Apple.
La technologie multi-touch peut aussi être appliquée en utilisant le touchpad multi-point des pc portables ou en utilisant une palette graphique wacom multi-point.

Le domaine d'utilisation est assez varié, il va de la conception 3D, au dessin, à la consultation de plans et d'images et pour finir au jeu.



Is Transactional Programming Actually Easier?
This paper offers evidence that transactional programming really is less error-prone than high-performance locking, even if newbie programmers have some trouble understanding transactions. Students subjective evaluation showed that they found transactional memory slightly harder to use than coarse locks, and easier to use than finegrain locks and condition synchronization.



Architecte ou designer ?

Qu'est-ce que l'architecture logicielle ?
L'architecture logicielle est le pont qui relie les exigences et l'implémentation

Qu'est-ce que le design logiciel ?
Le design logiciel est l'action de définir la structure statique et dynamique d'un logiciel.

L'architecte est donc au designer ce que le designer est au développeur. Il offre une vision qui est située un niveau d'abstraction plus haut que celle donnée par le designer.


Enterprise JavaBeans 3.1 with Contexts and Dependency Injection: The Perfect Synergy
Version 3.1 of the Enterprise JavaBeans (EJB) specification greatly simplifies the EJB specification and provides declarative aspects, such as transactions, security, threading, and asynchronous processing. Contexts and Dependency Injection (CDI) provides Dependency Injection (DI) power and flexibility. Both are part of the Java Platform, Enterprise Edition (Java EE) 6 specification and ready to use. This article describes why there is perfect synergy between EJB 3.1 and CDI.


Null pointer
Null Object pattern 
I call it my billion-dollar mistake. It was the invention of the null reference in 1965.

Aucun commentaire: