Tag Archives: java

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?

Tutoriel java

hibou.gifVous connaissez sans doute déjà la page programmation java de Jean-Michel DOUDOUX -enfin je dis ça, moi je viens de découvrir 😉 merci Stéphane-  Si ce n’est pas le cas, découvrez d’urgence son  tutoriel Développons en Java.

Ne  vous arrêtez pas à la présentation qui m’a un peu rebuté au premier abord. Le contenu vaut vraiment  la peine. Il sera particulièrement  utile pour les débutants mais les développeurs plus expérimentés y trouveront aussi leur compte  avec par exemple des chapitres sur  Hibernate, Maven ou Jdo. Une vraie mine d’or.

Java, Php et Ruby sont dans un bateau…

Après son best seller “Better, Faster, Lighter Java” (il est dans la liste) Bruce Tate fait beaucoup parler de lui. Son interview déchaîne les passions sur theserverside.

En tout cas cette interview contient pas mal de remarques qui m’ont paru très pertinentes et synthétiques.

The problem Java grew up around solving was slapping a web UI around legacy stuff, mostly relational databases.

Si j’y réfléchi deux secondes c’est effectivement ce que je fais depuis que je travaille. Il poursuit en expliquant que java a résolu le problème d’une manière “slow & clean” alors que d’autre langage le font d’une manière “quick & dirty”, je pense à php, Tim Bray aussi.

Avec Ruby On Rails Bruce Tate pense avoir trouvé une manière “quick & clean” le meilleur des deux mondes. La preuve? Un projet java non fini au bout de 4 mois a été bouclé en une grosse semaine avec ROR. J’ai fait passer le “10 minutes test” à ROR. Les 10 minutes se sont transformée en 2 heures mais j’ai effectivement pu réaliser une appli toute bête avec un formulaire CRUD. Et l’appli et effectivement clean quelqu’un qui connaît ROR n’aura aucune difficulté à comprendre ce qu’elle fait et à la maintenir.

Ca ne veut pas dire que ROR est une solution miracle, sur certain point la plateforme java reste incomparablement meilleure. Il donne les exemples des problèmes de two-phase commit et d’intégration avec beaucoup de système legacy.

Il met ensuite le doigt sur une des faiblesses de java:

Java doesn’t express data very well. While Java can declare structures that hold data, it doesn’t express the data itself well. And, that’s a big reason we’re seeing a lot of XML being bolted on to Java frameworks

Et effectivement je code de plus en plus en xml… Mais depuis quand xml est-il un langage de programmation?? Est-ce que les annotations sont la réponse à ce problème?

Enfin il traite du problème du “design by committee

Sometimes, the JCP seems to say ‘Find a problem. Build the standard. And, lastly, gather the experience.’ To me, that’s wrong.

C’est ce qui conduit a des specs comme EJB 1 et 2, WS-*… A l’opposé l’approche qui consiste à implémenter en premier puis à spécifier ce marche a produit par exemple Spring et Hibernate (ATTENTION on parle du processus pour créer un standard pas un application métier). C’est aussi l’approche que recommande l’IETF pour la définition des standards qui font tourner l’Internet, ça leur a plutôt réussi, non?

Les livres que tout dévelopeur java devrait avoir lu

Joli travail collaboratif de la communauté javalloby pour nous sortir la liste des ouvrages indispensables pour les développeurs java (mais beaucoup de ces ouvrages intéresseront les développeurs en général)
Je ne peux qu’approuver cette liste de lecture, 6 des 10 premiers titres étant dans ma bibliothèque 😉 Ca me rappel ce book to read

Faites un test, si vous etes dans une société qui fait du java, faites la liste des livres qui trainent et comparez la avec celle-ci…