EcommerceDEV. Développement, optimisation et sécurisation des sites de commerce électronique.
arrowAccueil
Jeudi 15 mai 2008
Nom d'utilisateur     Mot de passe      Conserver       Mot de passe perdu ? 
Menu
Accueil
A propos du site
Carte du site
Moteur de recherche
Nouvelles
Contactez-nous
Evénements
Lettres de nouvelles
- - - - - - -
Analyse
Conception
Optimisation
Programmation
Sécurité
Produits/Services
aoû 13 2006
Quelle technologie choisir pour implémenter un site de commerce électronique ? ASP, ASP.net, J2EE... Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 3
FaibleMeilleur 
Analyse - Besoins
Ecrit par Kamal AOUDA   
13-08-2006
Quelle technologie choisir pour implémenter un site de commerce électronique ? ASP, ASP.net, J2EE, PERL, PHP.

Quelle technologie choisir pour implémenter un site de commerce électronique ? ASP, ASP.net, J2EE, PERL, PHP.

Face à la pléthore des technologies disponibles sur le marché et à leur caractère extrêmement volatile il est très difficile de déterminer laquelle des technologies préalablement citées serait la plus appropriée pour créer un site de commerce électronique.

Traditionnellement le choix se fait sur la base de 6 critères primordiaux (cette liste n’est pas limitative) :

1. Les performances et la scalabilité (anglicisme qui désigne la capacité d’une application à s’adapter pour traiter une charge de travail croissante sans dégradation de la qualité du service).
2. Le coût (main d’œuvre, outils de développement, licences …).
3. La facilité d’implémentation et de maintenance (corrective et évolutive).
4. L’interopérabilité (capacité d’une application à communiquer avec d’autres applications externes mêmes si celles-ci ne sont pas implémentées avec les mêmes technologies).
5. La portabilité (capacité d’une application à s’exécuter sur plusieurs plateformes sans qu’il ne soit nécessaire d’apporter des modifications majeures à son code source. Principe du write once run everywhere).
6. Le dynamisme et le professionnalisme de la communauté supportant chaque technologie.

Dans la suite de ce document nous essayerons de procéder par élimination afin de déterminer laquelle de ces technologies serait la mieux appropriée pour implémenter un site de commerce électronique (nos affirmations sont basées sur nos convictions et notre expérience personnelle. Elles ne doivent en aucun cas être interprétées comme un argumentaire commercial en faveur de telle ou telle technologie).

Critère 1: parmi l’ensemble des technologies énumérées précédemment c’est J2EE qui offre le meilleur niveau de performance et de scalabilité. Nous sommes arrivés à cette conclusion à l’issue de la comparaison des différentes technologies précitées au moyen d’un benchmark commun. Pour les applications de commerce électronique nous recommandons particulièrement l’utilisation du benchmark TPC-W comme étalon de comparaison. Vous trouverez plus d’informations à ce sujet dans cet article.

Pour leur part, les technologies PERL ne sont pas recommandées parce que, dans une application web, leur interpréteur est créé en autant d’instances qu’il y a de requêtes entrantes. Cela épuise rapidement le serveur et ne convient pas aux besoins des applications web dynamiques où les données et les traitements sont utilisés de manière intensive et concurrentielle. On peut également obtenir un excellent niveau de performance et de scalabilité en combinant ASP.net avec SQL Server mais comme nous le verrons par la suite il y a d’autres arguments qui pourraient amener un développeur à ne pas opter pour .Net.

Contrairement à ASP, ASP.net est une technologie compilée qui offre un meilleur niveau de performance. De plus sous la plateforme .Net vous codez les pages ASP.net avec un véritable langage de programmation et pas seulement un langage de script (Jscript, Vbsript) comme c’était le cas dans ASP.

Au-delà de ces argumentations quelques peu théoriques nous vous recommandons de visiter les sites suivants pour vous faire une idée sur le niveau de performance et de scalabilité offert par chaque technologie.

http://www.ebay.ca  : Ebay a depuis longtemps choisi J2EE comme technologie phare pour supporter ses processus d’affaires. Vous trouverez plus d’informations à ce sujet dans cet article.
http://www.futureshop.ca : cette filiale canadienne du groupe Best Buy a utilisé un package conçu avec ASP.net pour mettre en œuvre son site de commerce électronique (il s’agit du package Microsoft Commerce Server).
http://www.thesourcecc.com/  est un autre grand détaillant électronique qui a utilisé Microsoft Commerce Server (et donc ASP.net) pour la création de son site.
http://www.tigerdirect.ca  : un autre site que j’aime beaucoup et qui est implémenté avec ASP (à mon avis il faut éviter ASP parce qu’il s’agit d’une technologie relativement obsolète et que son successeur ASP.net offre de meilleures performances).

Critère 2 : le coût d’une application appelé aussi coût total de propriété (ou Total Cost of Ownership en anglais) dépend de plusieurs éléments notamment :

* Le coût de la main d’œuvre (concepteur, programmeur, analyste d’affaires…)
* Le coût des logiciels nécessaires pour concevoir programmer déployer et maintenir le site de commerce électronique (environnement de développement intégré ou IDE, gestionnaire de base de données/ SGBDR, serveur web, serveur d’application…).

Dans une perspective de réduction des coûts vous pouvez toujours opter pour des produits Open Source et/ou gratuits. Par exemple pour développer une application J2EE vous pouvez utiliser les produits suivants :

* Eclipse comme environnement de développement intégré (IDE).
* Mysql comme SGBDR.
* Tomcat comme conteneur de servlet.
* JBOSS comme serveur d’application.

Sous .Net vous pouvez utiliser les outils suivants :

* Visual Studio Express Edition comme EDI (version gratuite). Vous pouvez aussi faire du développement .Net avec Eclipse si vous installez les plug-in appropriés.
* SQL Server Express comme SGBDR (ce SGBDR gratuit ne se prête qu’aux besoins des sites de petite et moyenne taille).

Cela dit les outils de développement incontournables sous .Net sont Visual Studio.net et SQL Server Enterprise (Yukon) mais leurs coûts dispendieux ne sont pas à la portée de toutes les entreprises.

Le coût d’hébergement de votre site de commerce électronique est un autre facteur qui pèse lourd dans la balance surtout si vous optez pour l’externalisation. En effet l’hébergement commercial J2EE/Oracle et ASP.net/SQL Server est hors de prix même en shared hosting. Par contre le prix de l’hébergement en PHP est beaucoup plus avantageux.

En ce qui concerne le coût de la main d’œuvre, les développeurs PHP coûtent en général moins chers que les développeurs .Net et J2EE.

Critère 3 : Personnellement je trouve qu’il est plus facile d’implémenter un site avec les outils .Net qu’avec les outils J2EE et PHP. Les outils Visual Studio.net/SQL Server sont à mon avis plus faciles à apprendre et à utiliser que NetBean, Jbuilder, Eclipse et MySQL. De même il est beaucoup plus facile d’administrer et de déployer IIS qu’Apache, Tomcat ou encore JBOSS. A noter par ailleurs que le langage Visual Basic.net est d’une intuitivité invraisemblable (nous rappelons que sous .Net le choix du langage de programmation n’a pas un grand impact sur les performances obtenues parce qu’en aval tout est en compilé en Intermediate Langage. Sous .Net le choix du langage est avant tout une affaire de style et de goût).

Critère 4 : grâce aux services web, le problème d’interopérabilité ne se pose pas avec beaucoup d’acuité pour les applications développées avec les technologies .Net et J2EE.

Critère 5 :  J2EE est connue pour sa portabilité sur plusieurs plateformes. Le seul inconvénient qu’elle présente comparativement à .Net c’est quelle ne supporte qu’un seul langage de programmation (Java). .Net pour sa part supporte un nombre impressionnant de langages de programmation mais sa portabilité est limité au seul système d’exploitation Windows (plusieurs groupes sur le web s’intéressent à la portabilité de .Net sur Linux et d’autres systèmes d’exploitation mais leurs efforts sont encore au stade embryonnaire. Sur le terrain je n’ai pas encore vu une entreprise déployer un site ASP.net sous Linux).

Critère 6 : la communauté PHP est certainement la plus active sur le Web. Il suffit de parcourir le site sourceforge.net pour voir le nombre de produits Open Source PHP dédiés au commerce électronique (le plus connu étant OScommerce) Les communautés .Net et J2EE sont également très actives dans le domaine de l’Open Source (surtout la fondation Jakarta d’Apache) mais leur contribution au développement des applications de commerce électronique est plutôt maigre.

En conclusion :


* Il faut rester dans les technologies orientées objet parce qu’elles sont plus faciles à maintenir et à mettre en œuvre. Les coûts de développement sont par ailleurs réduits grâce à la réutilisation des composants (il est important de noter que la nouvelle version PHP (5) est orientée objet).
* Pour un site de petite ou moyenne taille où le coût de propriété est un élément déterminant nous recommandons  d'opter pour PHP/MySQL.
* Pour des sites d’une taille plus imposante où les données et les traitements sont utilisés de manière intensive il faut opter pour J2EE/Oracle ou ASP.Net/Sql Server si le budget le permet.
* Pour ceux qui recherchent la facilité technique il faut utiliser des produits prêts à l’emploi comme OScommerce ou Microsoft Commerce Server.
 

Kamal AOUDA

Fondateur d'Ecommerce DEV

http://www.kamalaouda.com  


 

Dernière mise à jour : ( 12-12-2006 )
< Précédent   Suivant >
Recommander ce site
Collaboration
Téléchargements
Derniers événements
Aucun événement
Blogs Ecommerce
Blog de capitaine commerce
top

Ce site a été crée avec le CMS Mambo. Un logiciel gratuit disponible sous licence GPL.

Copyright Ecommerce DEV 2006.

Hosted by SiteGround