Messages étiquettés développement

« Java est mort, vive Java ? » sur TV4IT

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

Étiquettes: ,

Les éditeurs de mashup : environnements de développement en ligne

J’ai déjà évoqué dans ce billet la notion de « mashup » : ce terme, introduit par la mouvance Web 2.0, désigne des applications composites simples, bâties sur des services en ligne, qui rendent leurs API publiques.

Pour se familiariser avec ces notions, je recommande la consultation du site programmableweb.com qui permet de consulter une liste d’API disponibles, ainsi qu’une liste de mashups basées sur ces API.

Deux mouvement importants sont en train de démarrer autour de ces « mashup » :

Certains acteurs proposent des environnements techniques pour le développement rapide et l’hébergement de ces applications.

Ces environnements supportent des architectures multi-tenant (littéralement architectures à plusieurs locataires) qui permettent de développer, héberger et commercialiser des services en ligne B2B. On peut citer :

  • SalesForce avec sa plateforme AppExchange et son langage Apex.
  • Amazon avec sa plateforme AWS (Amazon Web Services)
  • NetSuite avec sa plateforme SuiteFlex
  • dans une moindre mesure, FaceBook, plutôt orientée communautaire et grand public.

Certains acteurs vont encore plus loin et proposent tout simplement de développer les mashups au sein d’un environnement de développement en ligne

  • Yahoo propose Yahoo! Pipes, un environnement de développement WYSIWYG
  • Google propose Mashup Editor, un environnement de développement en mode texte, avec un débugger
  • Microsoft propose PopFly, un environnement de développement visuel en 3D

La tendance au développement d’applications hébergées (SaaS) se confirme donc.

On constate en outre une poussée des interfaces embarquées dans une page : il y a encore quelques années, il paraissait inconcevable d’utiliser un logiciel bureautique dans une page Web. C’est aujourd’hui une chose plus ou moins acquise avec des offres comme Google Docs ou Zoho.

Les environnements de développement, beaucoup plus exigeants en terme d’ergonomie, semblent suivre le même chemin.

Qu’en pensez vous?

Étiquettes: , ,

Microsoft sort PopFly

Microsoft vient d’annoncer la disponibilité de Popfly sur le Blog de Soma Somasegar.

En voici la traduction par Martin Tremblay de SQLI Consulting :

« Un service/outil offert aux gens sans notions de développement pour leur permettre de développer leurs propres pages web, mash-up, gadgets, et même des expériences Silverlight et ensuite les partager.
Poply se décline en deux parties :

  • Popfly Creator – des outils en ligne pour construire des pages web et des mash-up.
  • Popfly Space – une communauté en ligne de créateurs où vous hébergez, partagez, notez et même réutilisez les créations déjà présentes d’autres utilisateurs popfly.

Popfly ne fournit pas uniquement des fonctionnalités simples pour créer votre premier mash-up en quelques minutes et une communauté virtuelle pour partager vos créations, mais supporte également la publication des créations sur Windows Live Spaces, Typepad, n’importe quel Blog qui supporte l’API MetaWeblog , et n’importe quel site qui supporte les <iframes>.
C’est une solution facile pour commencer à utiliser Silverlight dans vos sites Web existants.
Popfly est un nouvel élément dans notre volonté d’aider des développeurs non professionnels à construire tout un éventail d’applications, des jeux Xbox aux robotiques aux applications Web utilisant Windows Home Server. »

Et pour les développeurs ? Et bien il y a un plug-in pour Visual Studio 2005 qui permet de partager des projets dans la communauté Popfly !

Bon, dans mon cas je suis bluffé et vous ?

Nous reviendrons prochainement sur cette offre sur ce site.

Étiquettes: , ,

Ecriture de 2 livres blancs en partenariat avec 01 DSI

Au cours de ce premier trimestre 2007, SQLI a accompagné 01 DSI dans l’écriture de 2 livres blancs portant sur des sujets brûlants de l’actualité informatique :

Ils sont basés sur des sondages auprès des DSI françaises, et présentent l’analyse des résultats de ces sondages par SQLI.

Les collaborateurs qui ont travaillé à ces analyses sont :

  • Bruno Pennec (SQLI Paris)
  • Pascal Grojean (SQLI Consulting)
  • Cyril Rognon (SQLI Consulting)
  • et moi même

Les livres blancs sont téléchargeables gratuitement sur le site de 01 Informatique (cliquez sur les liens ci-dessus).

Étiquettes: ,

Microsoft Team System : une offre très prometteuse

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 ?

Étiquettes: , ,

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

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.

Étiquettes: , ,

.NET va-t-il rattraper JEE ?

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 ?

Étiquettes: , , ,

Java Open Source à partir d’aujourd’hui

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.

Étiquettes: ,

De la nécessité de refondre de temps à autre…

Au bout de quelques années, la maintenance des applications informatiques se heurte fatalement à des problématiques d’évolutivité : même avec la meilleure volonté du monde, l’empilement de couches correspondant à diverses évolutions fonctionnelles aboutit souvent à un agrégat de rustines. L’architecte de l’application initiale n’étant pas devin, il n’avait pu anticiper les évolutions des besoins utilisateurs.

Les applications métiers

De fait, il faut, de temps à autre, refondre une application pour repartir sur des bases saines. Et ce d’autant plus que les méthodes et bonnes pratiques de développement gagnent chaque année en maturité : la refonte permettra de bénéficier de ces évolutions.
Il existe heureusement des fondamentaux qui permettent d’espacer ces refontes au maximum :

  • Le développement objet par framework : il permet une architecture modulaire et la plus maintenable possible ;
  • Les architectures orientées services (SOA) : elles étendent cette modularité à l’échelle du système d’information, et minimisent le code à modifier en cas de changement de périmètre fonctionnel ;

Les langages de programmation

Ce qui est vrai pour les applications l’est aussi pour les langages.

Ainsi, les concepteurs de Java ont essayé de résoudre les limites de C++ (la gestion de la mémoire, en particulier). Et les concepteurs de .NET ont essayé de reprendre les bons côtés de Java, en simplifiant le travail du développeur (la comparaison de Java et .NET a ses limites, car elle oppose un monde ouvert à un monde fermé).
Ruby On Rails est le dernier langage en date à apporter une réflexion approfondie sur la productivité du développeur dans un contexte Web. Il dispose d’un atout important : il peut être exécuté sur un serveur d’application Java grâce au runtime Jruby. Ce langage objet simple et productif devrait intéresser de plus en plus les entreprises qui souhaitent lancer des refontes dans les années à venir…

Les progiciels & systèmes d’exploitation

La nécessité de refonte s’applique aussi aux progiciels : ainsi Oracle et SAP sont en train de réécrire leur plate-forme en architecture SOA. De la même manière, IBM réécrit ses outils de collaboration Lotus en Java.

Coté système d’exploitation, Apple a complètement réécrit Mac OS il y a quelques années.
Les nombreux débats autour de la sortie de Vista élèvent la question de la refonte de Windows… Pour ma part, je pense depuis déjà quelques années que le système d’exploitation innovant de Microsoft est Windows Mobile, et qu’il devrait un jour remplacer Windows dans les entreprises (cf. cet article du Journal du Net).

Et vous, qu’en pensez vous?

Ce billet fait suite à un échange avec Sébastien Adgnot de SQLI Paris.

Étiquettes: ,

Java en route vers l’Open Source

Sun a pendant longtemps refusé de suivre les avis d’IBM qui le poussait à rendre Java Open Source. Son principal argument était le risque d’émergence de multiples versions de Java, à la manière des distributions Linux. Java aurait ainsi perdu un de ses principaux attraits : le fameux « write once, run everywhere ».

Cependant, la montée en puissance du modèle Open Source a fait fléchir l’éditeur, qui a annoncé l’ouverture progressive de Java. Sun doit ainsi délivrer en 2006 le code de son compilateur et de sa machine virtuelle « Hotspot ». L’ensemble de JSE (Java Standard Edition) devrait être ouvert en 2007.
L’éditeur a sans doute été poussé dans cette direction par le projet Harmony de la fondation Apache qui vise à créer de toutes pièces une nouvelle JVM en Open Source. Si Harmony est considéré par certains comme un projet pharaonique et probablement voué à l’échec sans le support de Sun, il aura eu l’avantage de faire avancer les choses.

Ainsi, les entreprises vont disposer dans un avenir proche d’un ensemble extrêmement cohérent de composants ouverts :

  • Des socles applicatifs : Linux, Tomcat, Jboss, Jonas, MySQL, OpenLDAP, etc.
  • Des JVM : Hotspot et Harmony
  • Des logiciels aboutis : portails (JetSpeed, uPortal, JBoss Portal, LifeRay), gestionnaires de contenus (Jahia, OpenCMS), etc.
  • Des frameworks : Hybernate, Struts, etc.
  • Des outils de développement : Eclipse, Maven, JUnit, etc.

Le sens de l’Histoire se dirige clairement vers une mutualisation globale de la connaissance, d’outillages robustes et fiabilisés dans le monde Java. Cette évolution se fera pour pour le plus grand bénéfice des systèmes d’information d’entreprise.

Étiquettes: , ,