Tag Archives: .net

J2EE vs .net

Sujet délicat, mais Dotnetguru n’a pas eu peur de nous offrir 40 slides powepoint sur le sujet (je vous rassure ça se lit très bien avec open office). Ces slides ne donnent pas d’arguments pour ou contre l’une des deux plateformes mais sont un support pour présenter différents aspects.

La dernière slide me semble la plus intéressante:

j2eedotnet.png

Une spécification et plusieurs implémentations d’un côté, une seule implémentation de l’autre. Voilà qui symbolise bien la principale différence à mes yeux entre .net et J2EE: le choix.

Faire le choix de .net c’est s’éviter de nombreux autres choix par la suite.

Quel environnement de développement? Visual studio

Quel base de données? SQL serveur

Quel annuaire? Active directory

Quel serveur d’email? Exchange

Quel framework web? WebForms.

Les produits Microsoft sont très bien intégrés les uns avec les autres, c’est leur force. Si l’on utilise .net il serait dommage de ne pas s’appuyer sur les produit Microsoft pour en profiter pleinement. Faire le choix de .net c’est donc faire le choix des produits et technologies Microsoft. Une fois que ce choix technologique est fait vous n’avez plus à vous poser de question d’architecture, il suffit de suivre les recommandations de Microsoft. Et il ne serait sans doute pas très sage d’utiliser les produits Microsoft sans suivre les recommandations du fournisseur.
La technologie Microsoft a donc pris le pas sur vos choix d’architecture. Personnellement je suis convaincu que l’architecture doit passer avant la technologie. Ce point me parait donc très problématique.

D’autant que déléguer ses choix d’architecture à Microsoft c’est renoncer à tirer un avantage concurrentiel de son système d’information. En effet votre système d’information ne sera ni plus, ni moins performant que celui des autres client de Microsoft. Google a fait le choix stratégique d’une architecture très innovante, à l’opposé des choix de Microsoft. Ils en tirent aujourd’hui un immense avantage concurrentiel.

Si votre système d’information n’est pas stratégique, si vous ne le considérez que comme un centre de coût, le choix de .net, de l’environnement tout Microsoft, est peut-être le bon. Par contre si vous considérez que vos choix d’architecture sont stratégiques, que votre système d’information peut vous apporter un avantage concurrentiel posez vous cette question: Etes vous prêt à faire confiance à Microsoft pour faire à votre place les choix d’architecture de votre système d’information?

DNG 2005: Un point sur les nouvelles annonces autour de .NET

Guillaume Renaud, Thomas Gil, Sébastien Ros nous ont présenté toutes les nouveautés annoncées lors de la récente conférence PDC à Los angeles.
Beaucoup beaucoup de nouvelles fonctions avec C#3.0 et Linq, … ce fut intense. Mais toutes ces nouveautés m’inspirent une crainte. Java (et donc C#) a été conçu pour empêcher les développeurs de réaliser les erreurs les plus courantes qui existaient dans les langages précédents. Avec toutes ces nouveautés ne va t’on pas voir apparaître de nouveau type et des “bad practice” produisant du code immaintenable? C#3, Linq: super, mais à ne pas mettre entre toutes les mains.

Linq m’a fait penser à jdom dans le monde java une interface unique pour manipuler les données des implémentations différentes selon la méthode persistance (SGBD, xml, fichiers plat..)
Xlink (Linq pour xml) à jdom

On a aussi eu droit à d’impressionnantes démos Xaml (même si ça à un peu planté…). Je ne savais pas que l’affichage des appli Xmal se faisait en vectorielle c’est un gros point fort par rapport à XUL.

Enfin sans doute ma citation favorite de toute la conférence. Je ne sais qui la dites mais parlant d’une belle architecture d’une architecture propre d’une architecture pure quelqu’un à sortir le terme “architecture cocaïne” !! J’espère juste que vous ne bossez pas avec une architecture shit…

DNG 2005: Développer une application n-tiers transactionnelle

Intervenant: Sami Jaber

Sami nous a présenté l’architecture type en dot net aujourd’hui et celle de dans 5 ans.
Je ne peux que vous inviter à parcourir les slides de Sami, j’ai bu ces paroles. Il faut dire que ce qu’il a présenté c’est exactement les architectures qui sont utilisée en java depuis 2-3 ans à Improve.
Très rapidement les points forts que j’ai noté:
La gestion des transaction est le service technique le plus important (il ne faut pas les gérer à la main c’est le boulot du container)
Le déploiement d’une application en mode distribué ou pas doit être transparent pour le développeur.
Il faut éviter au maximum la “pollution technique”: tout ce qui n’est pas du code métier (sans architecture adapté ce code ne représente que 5% du code écrit)
Une couche (présentation, application, …) égal un projet.

Aujourd’hui sous dot net le socle technique permettant de réaliser une application n-tiers transactionnelle en séparant proprement code technique et métier doit se coder à la main. Demain Indigo sera le framework standard.
Sami à donc aussi parlé d’indigo. Ca tombe bien car j’ai vraiment du mal à cerner ce qu’est Indigo. Pour Sami c’est l’ESB de microsoft. De ce que j’ai compris ça ressemble pas mal aux conteneurs d’EJB dans le monde java ou peut être à un container léger comme Spring… Mais dans la salle les gens de Microsoft n’ont pas semblé d’accord pour eux ça fait beaucoup plus: si quelqu’un est capable de nous expliquer quoi?

Bref Indigo c’est le futur du développement sous dot net.
Et un grand coup de chapeau à Sami qui a osé faire ces démos sous windows vista beta je sais pas combien avec que des softs en alpha preview beta censés être incompatibles entre eux, mais ça a marché!

DNG 2005: Outiller et industrialiser ses développements

Intervenants : Eric Groise et Jean-Louis Bénard

Avec en toile de fond la présentation de Visual Studio Team System Eric et Jean-Louis nous ont présenté le concept d’usine de dev.
Importance du concept d’intégration continue (avec une présentation de cruise control qui existe aussi bien pour java que .net) qui repose sur le build automatique et sur des référentiels de code source, d’artifact de documentation… Ces outils sont essentiels pour réussir des développements “agile” ou tirer pleinement parti d’une démarche itérative est impossible sans build automatique.
Il est important que l’usine de dev couvre l’ensemble du cycle de vie du projet depuis le recueil des besoin jusqu’à la recette (c’est ce que propose VSTS)
Concernant les outils java est en avance sur .net notamment grâce à maven qui vient de sortir en version 2.0.

Dans la démo de VSTS la présentation des diagrammes applicatifs m’a bien impressionné. Ces diagrammes sont une sorte de visio “on stéroid” dédié à l’architecture. Ils permettent de décrire l’architecture logique (les composants logiciels) puis l’architecture technique (les machines) de définir des contraintes (protocole, sécurité, bande passante…) d’indiquer la manière dont on déploie les composants logiciels sur l’architecture technique et de valider que toutes les contraintes sont bien respecté. Le tout avec du drag & drop et une interface graphique très agréable.

Pour conclure les speakers ont insisté sur l’importance des test unitaires et donc d’une architecture testable. Il n’existe pas de formule magique pour calculer le ROI des tests mais il n’y a pas à se poser la question il faut les faire on ne le regrettera pas.

Si vous n’avez pas encore mis en place d’usine de développement il faut s’y mettre.

Symposium DNG 2005

J’ai assisté à cette conférence lundi. Tout d’abord je tiens à adresser un grand merci aux organisateurs et aux intervenants pour la qualité des présentations et de l’organisation.
Une journée intense, un peu trop peut-être… Impossible de tout ingurgiter, heureusement les slides sont dispo pour ceux qui voudraient s’y replonger.

Je vous livre dans les billets suivants ce que j’en ais retenu. J’espère ne pas avoir trop déformé les propos des intervenants mais un contre rendu c’est forcément subjectif. N’hésitez pas à me corriger/compléter dans les commentaires.

Outiller et industrialiser ses développements
Développer une application n-tiers transactionnelle
Un point sur les nouvelles annonces autour de .NET
Le client riche de demain
Mise en oeuvre de DSL – Domain Specific Language
Présentation et Q&A avec Bill Gates

En conclusion:

Le symposium dot net guru est une sorte de laboratoire. La plupart des produits présentés étaient au mieux disponible en release candidate et portait le plus souvent la marque brûlante de l’alpha ou de la beta. C’est donc le futur de dot net qui nous a été présenté. Mais globalement ce que j’ai vu c’est le présent de java. Mis à part la partie couche cliente ou là avec avalon et xaml microsoft est en avance pour le reste il court après java. Mais je trouve cela très positif en prenant le meilleur de la plateforme de sun et en améliorant certains point Microsoft force le monde java à ne pas s’endormir sur ces lauriers. La preuve avec l’avalanche de nouveauté dans java 5, la plupart venant de C#. Il existe une saine émulation entre les 2 plateformes qui au final deviennent de plus en plus proche. Et si le symposium DNG attire aussi bien les fans de dot net que ceux de java c’est que dans les deux mondes les questions d’architecture sont les mêmes.