vendredi 20 août 2010

Veille technologique semaine 33

Pour le bulletin de la semaine 33, je vous propose les sujets suivants :
  • Oracle poursuit Google pour violation de brevets sur l'utilisation de Java dans l'OS Androïd.
  • La dernière version d'Internet Explorer 9 de Microsoft, en cours de développement sur le chemin du HTML 5 avec des performances graphiques accélérer par le matériel.
  • Le GPGPU et les mots de passe : la puissance de calcul des processeurs graphiques permet de craquer les mots de passe simple.
  • La programmation des GPU.
  • Trois articles au sujet du processus waterfall et les méthodes agiles : comment prendre en compte les changements (de spécifications ou de technologie) dans un processus traditionnellement rigide.
  • Sortie d'un livre au sujet du modèle de composant d'IBM : SCA (Service Component Architecture).
  • Un nouveau système de gestion de configuration : Git. Un SCM (Source Code Management) non centralisé.
  • La liste des nouvelles fonctionnalités des NIO.2 du JDK 7 : extensions accès au système de fichier, multicast pour les channels, etc...
  • Un article sur Visual VM 1.3.
  • Le multi-catch de Java du JDK 7.
  • Les styles dans JavaFX 1.3 : séparer le fond de la forme.


Bonne lecture.


Oracle poursuit Google pour violation de brevets
Jeudi dernier, Oracle a lancé une action en justice contre Google pour violation de brevets quant à l'utilisation de Java pour la plateforme Android. L'information a rapidement fait le tour du web et de la twitosphère provoquant à l'encontre d'Oracle son lot de commentaires indignés, notamment dans les communautés Java et libristes (On retiendra le billet peu amène de James Gosling : « The shit finally hits the fan…. »).
Dans sa plainte, Oracle précise que « Android [...] et les appareils qui utilisent Android violent un ou plusieurs brevets parmi les suivants: 6,125,447; 6,192,476; 5,966,702; 7,426,720; RE38,104; 6,910,205; et 6,061,520″. Les brevets en question portent sur l'implémentation de machines virtuelles, l'outillage et les compilateurs.
Google, certainement pour garder les coudées franches, a fait le choix d'implémenter sa machine virtuelle Dalvik sans utiliser OpenJDK (la version GPL2 de Java). Cette implémentation n'est pas pleinement compatible Java et est exécutée sur des terminaux mobiles. Or, lorsque Sun avait « open sourcé une partie de Java » au travers d'OpenJDK, les garanties d'être à l'abri d'attaques pour violation de brevet ne protégeaient que les implémentations pleinement compatibles Java pour desktop et serveur uniquement (pas les implémentations pour terminaux mobiles).
Pour étayer son accusation selon laquelle Google a sciemment violé les brevets relatifs à Java, Oracle avance que Google était, de longue date, au courant des brevets détenus par Sun. Eric Schmidt (CEO de Google) et Urs Hölzle (Senior VP of operations chez Google) ont en effet joué un rôle significatif dans le développement de la technologie Java lorsqu'ils étaient chez Sun.
La réponse de Google à l'attaque d'Oracle (au travers d'un communiqué de presse) est sans surprise : Google estime que la plainte est sans fondement. D'autre part, Google considère qu'avec cette plainte, Oracle n'attaque pas seulement Google, mais aussi la communauté Open Source Java.

A priori, l'objectif d'Oracle n'est pas de « tuer » Android mais de profiter de son succès en imposant à Google de lui reverser une part des revenus de la plateforme. En effet, Java ME est une source non négligeable de revenus pour Sun (Oracle) puisque cette technologie équipe de très nombreux terminaux. Mais le succès fulgurant d'Android sur le marché des smartphones est sur le point de tarir cette source de revenus.
D'autre part, Oracle souhaite sans doute envoyer un message clair quant à sa conception de l'utilisation de la technologie Java là où le silence de Sun vis à vis d'Android pouvait être perçu comme un blanc seing.

Ce genre d'affaire est généralement synonyme de feuilleton judiciaire à rallonge (comme dans le cas emblématique de SCO vs. Linux). Il y a donc peu de chances que le cas Google / Oracle se règle rapidement. La complexité du dossier (notamment en ce qui concerne les tenants et aboutissants techniques) laisse présager de longs débats. Même si l'issu d'un procès reste incertaine Google était certainement préparé à une telle attaque (et est de taille à y faire face) et sa défense sera bien préparée.
Tant que l'affaire ne sera pas réglée, l'ensemble de l'écosystème Android (constructeurs, développeurs, utilisateurs, …) va retenir son souffle, mais l'engouement pour la plateforme Android ne devrait pas trop en pâtir. D'une part, Google continuera de développer la technologie Android. D'autre part, gageons que Google prendra ses responsabilités sur le sujet de la propriété intellectuelle et jouera son rôle de pare feux vis à vis des constructeurs équipant leurs terminaux de l'OS Android.

La fin d'Android est très peu probable. Oracle n'y a aucun intérêt et ce pour plusieurs raisons. D'abord parce qu'Oracle a tout intérêt à ce que Java soit présent sur le marché des smartphones. Or cette présence passe par Android, pas par Java ME et Oracle n'a, aujourd'hui, ni la volonté, ni la capacité d'innover dans ce sens. Ensuite parce que l'essor des smartphones sous Android favorise le développement d'applications utilisant des backend (serveurs) mettant en œuvre des serveurs d'applications Java et des bases de données, augmentant ainsi la taille d'un marché sur lequel Oracle se taille la part du lion. Enfin parce qu'Android réunit une large communauté Java.
Il semble donc que cette affaire ne puisse avoir que deux issues :

  • Google sera contraint à verser une partie des revenus d'Android à Oracle. Soit parce qu'Oracle aura gagné un procès, soit parce que Google aura préféré négocier un accord à l'amiable.
  • Ce sera le status quo. Soit parce qu'Oracle aura perdu un procès, soit parce qu'Oracle retirera sa plainte suite aux négociations qui vont s'entamer (au cours desquels Google pourrait commencer à utiliser ses brevets comme arme de dissuasion).
Ce qui est sûr, c'est que l'image de Java ne sortira pas grandie de l'initiative d'Oracle (qui semble d'ores et déjà avoir perdu la bataille de l'image).
Pour ceux qui souhaitent approfondir le sujet, l'excellent billet de Charles Nutter « My Thoughts on Oracle v Google » fait longuement le tour de la question et propose des perspectives très intéressantes.


Oracle Sues Google Over Java in Android
Late on Thursday, Oracle filed a copyright and patent infringement claim against Google over its Android operating system, opening a legal war between the Silicon Valley firms over the smartphone software platform.
Android has seen rapid growth since its first release in November 2007. Figures from Gartner for the last quarter show it ahead of Apple's iOS for the first time, though it should be noted that these figures were just before the launch of the iPhone 4 when inventory of the Apple product was tight.
The top four smartphone OSes were Symbian (41.2 percent), RIM (18.2 percent), Android (17.2 percent) and iOS (14.2 percent).



Last IE9 Platform Preview Available with Improved Performance and Standards Compliance
Microsoft has released the fourth and last preview version of Internet Explorer 9, which features hardware acceleration, deep integration with the JS engine and has improvements in performance and adoption of standards like SVG, CSS, HTML5, etc.


La sécurité des mots de passe remise en cause par le GPGPU
L'utilisation des cartes graphiques pour effectuer des calculs simples et répétitifs est en train de révolutionner la notion de puissance de calcul des ordinateurs. Si ces cartes graphiques sont incapables encore d'effectuer des calculs très complexes, elles excellent dans ceux qui sont plus simples et répétitifs. Dans ce cas, leurs multiples unités mises en parallèle font merveille et l'on commence à voir fleurir des projets de supercalculateurs qui en seront dotés.
Bien entendu, dans une moindre mesure, ceci sera aussi accessible au grand public et à ceux qui auront les moyens d'acheter des batteries d'ordinateurs donc chacun sera doté de plusieurs cartes graphiques puissantes, des configurations dont le prix final ne dépasse pas quelques milliers d'euros mais qui ont déjà la puissance de calculateurs hors de prix d'il y a quelques années.
Certains pirates ont compris tout l'intérêt de ces solutions qui excellent pour casser les mots de passe par force brute. Cette technique est simple. Elle va tester toutes les combinaisons possibles de mots de passe jusqu'à trouver le bon. S'il fallait auparavant des mois pour y arriver, ce qui rendait les choses inutiles, on pourra demain le faire en quelques minutes.
Des spécialistes de la sécurité considèrent aujourd'hui que les mots de passe de 7 caractères, même s'ils mélangent chiffres, lettres et autres caractères alphanumériques, ne sont plus fiables. La puissance de calcul accessible au plus grand nombre permet maintenant d'en venir à bout dans un délai par trop raisonnable. Ils conseillent d'utiliser des mots de passe alphanumériques d'au moins 12 caractères pour se mettre à l'abri. C'est d'autant plus vrai que nombre d'utilisateurs d'Internet ont tendance à avoir un mot de passe unique pour la plupart de leurs services. Dans ce cas, si le pirate arrive à casser une fois ce mot de passe, il aura accès à tous les comptes de cet utilisateur sur tous les sites qu'il fréquente, autant dire à la totalité de sa vie privée et certainement aux cordons de sa bourse.




Initial Impressions of GPU Programming
In this article I will discuss some of the primary issues with GPU programming. This article will focus on how we implemented the first version of GPU support in the Encog Machine Learning Framework (http://www.heatonresearch.com/encog/) . This article focuses mainly on using OpenCL from Java or C#, however it is general enough to apply to any language that can commu icate with OpenCL.
Overall I am happy with the first generation of Encog OpenCL support. Some things worked well, others did not. In this article I will cover both. I will describe what areas we had issues with, and how we plan to improve GPU support in future versions.


Waterfall vs. Agile: Can they be Friends?
There has been a lot of discussion lately regarding which approach to software development is better; some may say Waterfall, some may say Agile. The truth is that there isn't an absolute answer.

Agile and Waterfall have a different set of characteristics that make them better depending on many external and internal factors related to every project: time to deliver, amount of change expected in the specifications, nature of requirements, type of technical employees…etc.
It is uncommon to find projects that should be purely Agile oriented or Waterfall oriented, that's why companies usually have to combine practices from both of them. In these series of articles we are going to clarify what the main characteristics of Agile and Waterfall are, and how they apply to the classic areas of software development: Development, QA, Management, and Business.

Read the other parts in DZone's 'Agile vs. Waterfall' series.


Waterfall vs. Agile: Development and Business
We saw in the previous article the main differences between agile and waterfall. In the following articles we are going to take a deeper look by focusing on the four main actors in software development: Development, Business, QA, and Management. This article will start with Development and Business.


Waterfall vs. Agile: QA and Management
We saw in the previous articles, the main differences between agile and waterfall. In this last article we are going to take a deeper look focusing on Quality Assurance (QA) and Management.


Book Excerpt and Interview: Tuscany SCA in Action
A new book by Simon Laws, Mark Combellack, Raymond Feng, Haleh Mahbod and Simon Nash Tuscany SCA in Action provides a simple step-by-step guide on how to develop applications leveraging SCA and Apache Tuscany.
This practical book is comprehensive, hands-on guide to Service Component Architecture, Apache Tuscany's specific SCA implementation (based on Java SCA v1.x) and the ways to use Tuscany to build applications. The books starts by explaining main concepts of SCA including components, services, references and composite applications and the way they are used for implementing SOA-based solutions. It then introduces a travel booking example, used throughout the book to explain details of SCA/Tuscany-based implementations. The book covers a wide variety of topics from implementing and binding SCA components, including data representation and transformation and invocation policies to deploying Tuscanybased applications to Tuscany runtime architecture, including ways to extending and embedding Tuscany's runtime.


Getting Started with Git
Git is a postmodern version control system that offers the familiar capabilities of CVS or Subversion, but doesn't stop at just matching existing tools. Git stretches the very notion of version control systems (VCS) by its ability to offer almost all of its features for use offline and without a central server. It is the brainchild of Linus Torvalds, with the first prototype written in a vitriolic two-week response to the "BitKeeper debacle" of 2005.
Today, developers everywhere are migrating in droves to this exciting platform. Users reference its blistering performance, usage flexibility, offline capabilities, and collaboration features as their motivation for switching. Let's get started with Git. You'll be using it like a master in no time at all.


Introducing NIO.2 (JSR 203) Part 1: What are new features?
1. Platform friendly-ness of NIO.2
2. File tree walk.
3. File Operations (Copy, Delete, Move).
4. Symbolic links support.
5. Support for file attributes in NIO.2.
6. File system change notification.
7. SPI for providing new file systems support.

Working with sockets and reding/ writing files we can name the following features:
1. Multicasting is now supported in the DatagramChannel. Both IPv4 and IPv6 are supported.
2. Asynchronous I/O for sockets and Files.


Discover Java VisualVM 1.3
A while back Java VisualVM 1.3 was released. We'll see what's new with this release. At this time, there is no package for Ubuntu, so we'll install it manually


Better exception handling in Java 7 : Multicatch and final rethrow




Stylin' with JavaFX
Using JavaFX CSS to Apply Styling to the User Interface
JavaFX is a platform and language for creating Rich Internet Applications (RIA) that execute on the desktop, in Web browsers, on mobile phones, and on TV. It was introduced in 2007, and version 1.3 was released in April 2010. One of the hallmark features of JavaFX 1.3 is the introduction of JavaFX CSS, which provides the ability to apply styling to any element in the user interface. This article focuses on JavaFX Cascading Style Sheets (CSS), which is primarily the domain of designers but is also important for developers to understand.

5 commentaires:

Anonyme a dit…

Write more, thats all I have to say. Literally, it seems as though you relied on the video to
make your point. You definitely know what youre talking about, why throw away your intelligence on just
posting videos to your blog when you could be giving us something informative to read?



My blog ... stretch mark removal and home remedy

Anonyme a dit…

Hi there, I enjoy reading through your article. I wanted to write
a little comment to support you.

My web-site :: ford ranger

Anonyme a dit…

Heya i'm for the primary time here. I found this board and I find It truly useful & it helped me out a lot. I am hoping to give one thing again and help others like you helped me.

Check out my web blog - ford ranger forum

Anonyme a dit…

Very nice post. I just stumbled upon your blog and wished to say that I've truly enjoyed browsing your blog posts. After all I will be subscribing to your feed and I hope you write again soon!

Also visit my blog - stretch mark creams

Anonyme a dit…

I know this site presents quality based articles or reviews and extra information,
is there any other website which presents such information in quality?


my blog post - www.actualidadetnica.com