Skip to content

Étiquette : •NET

Microsoft sort PopFly

Posted in tendances

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.

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 ?

Technologies d’interfaces utilisateurs & nouvelle offre Adobe

Posted in tendances

Nous avons coutume chez SQLI d’utiliser une classification en 5 familles afin de différencier les technologies d’interfaces utilisateurs. ces familles sont les suivantes :

  • Les interfaces Web « classiques » que nous utilisons depuis 10 ans, jugées parfois comme frustrantes car elles permettent peu de manipulation et se bornent à une navigation d’écran en écran.
  • les RIA (Rich Internet Applications) : des interfaces Web améliorées « à la Office », permettant le drag & drop, les tris dans des tableaux, les échanges serveurs en tâche de fond, etc. Elles sont mise en oeuvre au travers des technologies Flash (un exemple) et Ajax (un exemple). Elles sont satisfaisantes en terme de puissance ergonomique, mais ne fonctionnent pas en mode déconnecté (cf. travail dans un train ou un avion).
  • les RDA (Rich Desktop Applications) : ce sont des applications client/serveur qui supportent le mode déconnecté. De plus, elles sont exécutées sur une machine virtuelle qui les rend indépendantes d’un système d’exploitation particulier, et permet leur déploiement /mise à jour via une page Web « à la Windows Update ». Elles sont mise en oeuvre au travers des technologies Java (un exemple si vous disposez de Java), .NET & XUL (un exemple si vous disposez de Firefox).
  • les interfaces client/serveur « classiques », que nous utilisons depuis 15 ans, qui nécessitent de pénibles déploiement sur les parc utilisateurs. Elles sont mise en oeuvre au travers des technologies Delphi, PowerBuilder, Visual Basic 6, etc.
  • les Widgets : ce sont des extensions de systèmes d’exploitation permettant de faire apparaître des canaux d’informations en surimpression sur le bureau Windows ou MacOS. Elles sont mise en oeuvre au travers des technologies Yahoo! Widgets, Google Desktop, Apple Dashboard (sur MacOS), et bientôt Microsoft Gadgets (à venir dans Windows Vista).

Cette petite introduction vise à clarifier la nouvelle offre d’Adobe, qui comme on le sait a absorbé Macromedia. Disposant de la technologie documentaire PDF et de la technologie RIA Flash, Adobe a décidé ainsi d’étendre son offre de technologie d’interface. L’éditeur a ainsi annoncé la sortie prochaine d’une technologie RDA intitulée Apollo, disposant des caractéristiques suivantes :

  • exécution sur une machine virtuelle Adobe provenant de la fusion des lecteurs Flash et Acrobat
  • capacité à créer des interfaces basées sur Flash, PDF ou HTML
  • environnement de développement simple, accessible à des graphistes

Mon analyse de cette nouvelle offre est la suivante :

  • Apollo proposera t’il une technologie de déploiement/mise à jour ? Il semblerait que oui, mais cela reste à confirmer
  • jusqu’à aujourd’hui, Flash a toujours eu du mal à se crédibiliser auprès des directions informatiques qui lui préfèrent des technologies objets plus éprouvées comme Java ou .NET. De plus, les profils qui maitrisent Flash sont des graphistes et non des développeurs. Ainsi, il existe peu de compétence pour créer des applications métiers complexes en Flash. Apollo risque de rencontrer le même frein.
  • contrairement à Java et .NET, qui disposent d’une offre de développement très complète côté serveur, Adobe ne propose qu’un middleware encore peu éprouvé : Flex Data Services. Un architecte privilégiera probablement une architecture full Java ou full .NET, à une architecture de type Apollo + Flex Data Services + JEE.
  • L’offre d’Adobe nécessite une clarification : en effet, l’éditeur va sortir prochainement Acrobat Reader 8 qui intégrera des fonctions collaboratives (messagerie instantanée, visioconférence) issues de Breeze et basées sur Flash. Ainsi, on peine à comprendre si Flash va intégrer Acrobat ou si les deux technologies vont fusionner dans Apollo…
  • Apollo est une réponse à Microsoft qui va sortir prochainement le format documentaire XML Paper, concurrent de PDF, et la technologie RIA WPF/E (Windows Presentation Foundation / Everywhere), concurrente de Flash. Avec Apollo, Adobe entend contre-attaquer en unifiant ses technologies PDF et Flash et en proposant une technologie RDA concurrente de .NET La guerre des technologies d’IHM entre Microsoft et Adobe est ouverte !