Skip to content

Étiquette : Java

« Java est mort, vive Java ? » sur TV4IT

Posted in conférences

Je participerai lundi 3 mars à un débat organisé par TV4IT sur les excès de Java en terme de complexité.

Les autres intervenant seront : Eric Mahé de Sun, Cyrille Le Clerc de Xebia, Frédéric Quedret de Mpoware.
Ce débat sera retransmis en direct à 17h30 sur tv4it.net
Ce sera ma première expérience audiovisuelle en direct et je suis content qu’elle soit retransmise sur Internet et non sur ce média en fin de vie qu’est la télévision (cf. ce billet : de la pertinence d’Internet comme média).

MISE A JOUR : LES LIENS VERS L’EMISSION EN 3 PARTIES

Microsoft Team System : une offre très prometteuse

Posted in tendances

J’ai parlé dans un précédent billet de l’industrialisation du développement logiciel.

Parmi les offres intégrées du marché, Team System de Microsoft apparait comme particulièrement intéressante. Elle couvre en effet les deux aspects abordés dans le précédent billet :

  • Chaîne de gestion de projet. Team System permet de gérer, au travers des « Work Items », l’affectation de tâches aux analystes, architectes, développeurs. La solution permet le suivi des anomalies et des plannings projet (via Project Server). Elle offre enfin des tableaux de bord projet (via SharePoint Portal et les fonctions décisionnelles de SQL Server 2005).
  • Chaîne d’intégration continue. Team System permet de tester le code, générer et déployer les applications développées avec .NET.

Team System constitue donc, très logiquement, une plateforme de choix pour développer un projet .NET en équipe, en environnement full Microsoft.

La surprise vient de son ouverture aux technologies non Microsoft.
Il existe en effet un plugin (Teamprise) permettant d’exploiter Team System à partir d’Eclipse dans le cadre de développements JEE. De plus, un connecteur Maven est en cours de développement pour permettre de lancer des travaux d’intégration continue en Java.

Cette approche est nouvelle et surprenante à deux titres : d’une part Microsoft propose un outillage pour des développements dans d’autres technologies (Java et peut être PHP), d’autre part la plateforme s’intègre avec des composants Open Source. Il s’agit sans doute d’une conséquence du changement de direction : Ray Ozzie porte une stratégie différente de celle de Bill Gates.

Dans le cadre de la mise en œuvre d’une chaîne de développement au sein d’une DSI, on peut ainsi imaginer l’utilisation de :

  • Composants Open Source pour créer la chaîne d’intégration continue. L’open Source offre en effet de très bons outils dans ce domaine, de par l’expérience des grands projets comme Linux, Apache, Mozilla, etc.
  • Team System pour créer la chaîne de gestion de projet. En effet, l’avance de Microsoft sur les aspects collaboratifs et gestion de projet est indéniable.

Cette approche composite mêlant le meilleur des mondes propriétaire et Open Source sera sans doute à même d’offrir la plateforme la plus efficace pour une équipe de développement.

Qu’en pensez-vous ?

Industrialisation du développement : un début de maturité

Posted in tendances

SQLI a eu l’occasion, ce mardi, de coanimer une conférence organisée par le Club 01 DSI sur « l’industrialisation du développement logiciel ».

Cette présentation a permis de faire un point sur la maturité de ce concept auprès des DSI françaises. Il est apparu que ces dernières connaissent encore mal tous les enjeux de cette industrialisation, mais qu’elles sont de plus en plus intéressées par cette approche.

Cet événement me donne l’occasion de présenter ce qu’implique une plateforme de développement de type industriel. Cette plateforme est schématiquement basée sur deux outils serveurs :

  • Une chaîne de gestion de projet permettant : partage des documents projets, suivi d’avancement des équipes, reporting des anomalies/bugs, synthèse de l’avancement projet sous forme de tableau de bord ;
  • Une chaîne d’intégration continue permettant : tests automatiques, assemblage de l’application, génération de documentation, déploiement.

A ces deux solutions serveurs, viennent s’ajouter un certain nombre d’outils localisés sur les postes utilisateurs :

  • Modeleurs UML pour les analystes et les architectes ;
  • Environnement de développement et outils de tests de code pour les développeurs ;
  • Outils de gestion d’exigences et de gestion de projets pour les chefs de projet.

Plusieurs options sont possibles pour la mise en œuvre d’une plateforme de développement industriel :

  • Utilisation d’un assemblage d’outils Open Source (ANT/NANT, JUNIT/NUNIT, MAVEN, etc.). On se concentrera dans ce cas sur la partie intégration continue et bug reporting, l’Open Source n’offrant pas à ce jour de système intégré de gestion de projet.
  • Utilisation d’une offre éditeur. Les offres les plus intéressantes à ce jour sont Microsoft Team System et IBM Rational : en effet, elles intègrent de façon cohérente les deux outils serveur présentés ci-dessus.

Ces offrent constituent ainsi une sorte d’ERP du développement logiciel.

J’aurai l’occasion de revenir sur Team System dans un prochain billet.

.NET va-t-il rattraper JEE ?

Posted in tendances

La version finale du framework .NET 3.0 est sortie tout récemment. Elle apporte un lot de nouveautés tout à fait remarquables :

C’est l’occasion de faire un point sur la pénétration de .NET dans les entreprises françaises.
Pendant longtemps chez SQLI, la proportion de projet de développement était de l’ordre de 60% de projets en Java, 20% de projets .NET, et 20% de projets Open Source (principalement PHP).
La proportion de projets .NET suit une croissance constante depuis 1 à 2 ans aux dépends des projets JEE, chez SQLI comme chez les autres sociétés de services, à tel point que les compétences .NET commencent à manquer sur le marché. Microsoft a d’ailleurs constitué un centre de formation en France pour résorber cette carence.

Les raisons de la montée en puissance de .NET semblent être les suivantes :

  • La technologie Microsoft a su tirer parti des erreurs de JEE : elle est plus simple à prendre, plus pragmatique. Par exemple, JEE s’est longuement embourbé dans les problématiques de persistance avec les EJB 1 et 2. On peut aussi citer la complexité de prise en main de Java Cryptographic Extension avec les notions de providers JCE. .NET adopte une approche plus simple avec laquelle on évite des abstractions pas toujours indispensables. .NET semble ainsi bénéficier de toute la force de l’objet sans la complexité de la norme JEE.
  • L’ergonomie et la productivité de Visual Studio sont reconnues par tous : des études indépendantes ont montré un gain de productivité de 15%
  • Avec .NET, de nombreux besoins sont adressés par une solution simple et clairement identifiée : par exemple, un Client Riche .NET se développe avec des Winforms, là ou le développeur Java devra faire son choix parmi les offres AWT, SWING, RCP et JDNC. La complexité de l’écosystème des frameworks JEE est parfois excessive pour adresser des besoins simples.
  • Les interfaces Client Riche .NET restent plus stables que sous Java

Il existe actuellement un regain d’intérêt autour des méthodes de programmation agiles comme l’Extreme Programming. Cette tendance a fait naitre de nouveaux langages extrêmement productifs comme Ruby On Rails. Il semble que .NET soit aujourd’hui plus en phase avec cette tendance que JEE.

Le monde Java est tout à fait conscient de ses lourdeurs et des progrès sont en cours, en particulier sur la simplification des EJB ou sur la performance des interfaces riches.

Mais, il est difficile de concilier la complexité de la norme JEE, la richesse de son écosystème avec un objectif d’agilité.
Néanmoins, des initiatives récentes vont dans la bonne direction: chez SQLI, nous nous intéressons tout particulièrement à Groovy un langage agile capable de s’exécuter sur une plate-forme Java.

Malgré tout, le poids de JEE devrais lui faire perdre des parts de marché face aux innovations du monde Microsoft d’ici la fin de la décennie.

Qu’en pensez-vous ?

Java Open Source à partir d’aujourd’hui

Posted in tendances

Nous avions évoqué dans ce billet le prochain passage de Java au modèle Open Source.

Il est effectif aujourd’hui.

La bonne nouvelle est que la licence choisie est la GNU GPL 2, et non une licence CDDL "à la Sun" comme ce fut le cas pour Solaris.

Cette décision concerne 3 versions de Java :

  • Java Standard Edition, qui permet de développer des applications pour PC (Client/Serveur ou Client Riche)
  • Java Micro Edition, qui permet de développer des applications embarquées sur terminaux mobiles
  • Java Enterprise Edition, qui permet de développer des applications déployées sur des serveurs d’application

Cette annonce constitue une très bonne nouvelle pour la communauté Java.
Elle pérennise aussi les investissements de nombreuses sociétés autour de cette technologie.

J’en profite pour dire un mot du nouveau centre d’expertise SQLI autour de l’Open Source : il vient de s’ouvrir à Oujda, au Maroc, en partenariat avec l’université de cette ville.