|
|
aoû
13
2006
|
Quelle technologie choisir pour implémenter un site de commerce électronique ? ASP, ASP.net, J2EE... |
|
|
|
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 )
|
|
|