vendredi 26 novembre 2010

Veille technologique semaine 47

Pour le bulletin de cette semaine, je vous propose les articles suivants :
  • le début de la fin pour IPv4 : il reste moins de 160 millions d'adresse IPv4 disponible (durée prévue de 1 ans d'après penrose.uk6x.com).
  • un résumé des contenus JDK 7 et JDK 8 et leur dates respectives.
  • Des programmes au modèles : l'évolution ou révolution ?
  • Evolve : un outil pour utiliser les JavaBeans comme des composants UML 2.
  • Adobe et le HTML 5 : quelle stratégie ?
  • OSGi : les fondations d'un middleware.
  • Le projet WebM : pour une vidéo sans brevet sur le web.

Bonne lecture.


100 days of IPv4 left
The internet is based upon a networking protocol called IPv4, which is the underlying basis for both TCP (used by HTTP and chat applications) and
UDP (used for video and audio applications). This uses a 4-byte IP address, like 192.168.54.32, to identify both of the end-points in the channel.
(Most humans and many applications use a DNS name instead, which translates www.infoq.com into a numeric IPv4 address like 63.246.7.184.)

Unfortunately, the IPv4 address space is running out, and quickly. According to @ipv4countdown, we have passed the 100 day mark for available
addresses; the total stands at less than 160 million addresses left. To put it in perspective, that's around 9.137.0.0 addresses left. We've burnt
through (or aren't able to allocate) 245.0.0.0 IPv4 addresses, so they're running out fast. The data is shown in a countdown at Hurricane Electric, an
IPv6 provider.


JDK7 & JDK8 arrivent !
Non, nous ne reviendrons pas sur les récentes news autour de OpenJDK et de Oracle/Google/Apache/IBM/Apple etc... car cette fois c'est bon, on sent réellement que Java 7 est sur les rails! En effet, Oracle a profité de Devoxx pour annoncer officiellement les JSRs "umbrella" pour Java 7 et Java 8. Ce sont donc des JSRs qui en regroupent d'autres, déjà existantes et sur lesquelles InfoQ nous faitun petit topo.
Java 7 est défini par la JSR 336, regroupant elle-même:
  • la JSR 203, connue sous le nom de NIO 2 et améliorant la gestion des filesystems et des sockets. On se réfèrera à la description complète sur le blog de Masoud Kalali en 6 parties: 1, 2, 3, 4, 5 et 6.
  • la JSR 292, apportant l'instruction bytecode invokedynamic, très attendue par des langages comme Groovy ou JRuby afin de gagner en performances.
  • la JSR 334, connue en tant que "Project Coin", apporte du sucre syntaxique. Des petits détails pas fondamentaux mais contre lesquels nous pestons souvent en nous demandant "mais pourquoi on ne peut pas faire ca en Java ?!". Avec le JDK 7, on pourra !
Mais d'autres bonus pourraient aussi être inclus nous indique Alex Miller: citons en vrac Unicode 6, des modifications des Locale, JDBC 4.1, des améliorations de Swing...

Pour le JDK 8, spécifié par la JSR 337, les choses commencent aussi à prendre forme avec la vraisemblable inclusion des JSR 308(annotations sur les types), JSR 310 (like API inspirée de Joda-Time) et JSR 335 (le projet Lambda apportant les fameuses closures). Le projet Jigsaw, qui apporte lui la modularité d'une manière plus developer friendly que OSGI, devrait aussi être de la partie.
Cerise sur le gâteau, ces 2 JDKs sont même datés: juillet 2011 pour le JDK 7 et fin 2012 pour le JDK 8.
Pendant ce temps, un
sondage complètement informel a permis de prendre le pouls des Devoxxiens et de leur attentes envers les futurs JDKs. Il semble que beaucoup d'entre nous, dans la communauté, seraient prêts à payer le prix d'une incompatibilité ascendante de Java pour permettre au langage de s'améliorer en réparant certaines de ses erreurs. Devrons nous en passer par là ? En tout cas ce n'est pas pour tout de suite et nous devrons nous contenter t'attendre le Next Big Java Language !


From Programs to Mograms [1]
Changes in Software Engineering

[1] Mogram is a contraction of "model" and "program" suggested by A. Kleppe. A mogram is not always computer-excutable, but it is nevertheless precise and conforms to a given metamodel.



Evolve: Using Components to Improve on Dependency Injection
Evolve is a lightweight tool for creating, wiring up and executing JavaBeans, allowing them to be treated as full components. Developers can use
Evolve to graphically describe JavaBeans and also optionally generate the Java code for the setters and getters. It supports four primary activities:
creating or importing JavaBeans, wiring these up to make more complex components, reusing and evolving them, and executing them. The Evolve
system includes the following parts:
  • Component Model with Connectors
  • Resemblance and Evolution
  • Backbone Interpreter
  • UML2 Wiring Editor


HTML5 vs. Flash: Where does Adobe Stand?
In the last year Adobe seems to be embracing HTML5 and integrating it into its product strategy. During the Adobe developer's conference (MAX),
Lee Brimelow tried to clarify his company's plans for HTML5 and especially regarding competing platforms like Flash and Flex.
Adobe Illustrator, one of the company's flagship products recently got an HTML5 add-on. This add-on provides basic support for HTML5 and CSS3,
extends SVG capability and helps developers design both web and device content:


Is OSGi the Right Foundation for Java Middleware?
The OSGi working group started in 1997 as the JSR 8, mostly focusing on embedded Java with the goal of supporting modular updates to embedded software. OSGi became mainstream after solving the inextricable dependencies of Eclipse plugins. Right about 2005, several approaches converged towards bringing more modularity to Enterprise Java by leveraging assembly mechanisms and well defined dependencies, including Spring and Service Component Architecture while EJBs, slowly faded away. Today most Enterprise Java vendors have rewritten their middleware on an OSGi foundation.


Open video for the web
What is WebM?
WebM project goals :
  • Focus on video for the web
  • Make web video a great user experience
  • Support WebM in all browsers in HTML5 <video>
  • Provide an open choice to the market
  • Collaborate with our developer community
  • Fundamental innovation in all aspects of web video
  • Proliferate WebM widely in hardware
  • Make web video easy

Aucun commentaire: