Les technologies du commerce électronique IFT 6801 www-etud.iro.umontreal.ca/~pift6801 www-etud.iro.umontreal.ca/~dift6801 Professeur: Robert Gérin-Lajoie robert.gerin-lajoie@umontreal.ca Démonstrateur: Mehdi Adda <addamehd@iro.umontreal.ca> Horaire pour l’automne 2005 Cours : Mercredi 08:30 à 09:30 au Z-260 Vendredi 10:30 à 12:30 au Z-240 Travaux Pratiques : Mercredi 09:30 à 11:30 au 3181-3185 au pavillon AA Introduction au commerce électronique et aux applications distribuées 1
Plan de cours Première moitié du cours Deuxième moitié du cours Introduction et technologie de base But: Réaliser un site de vente interactif Deuxième moitié du cours Sujets d’architecture technologiques Modèles de composants pour le commerce électronique But: faire un travail d’analyse technologique Voir le plan de cours détaillé sous http://www-etud.iro.umontreal.ca/~pift6801/ Introduction au commerce électronique et aux applications distribuées 2
Pourquoi Ruby on Rails? Ruby est un langage objet de scripting Rails est un ensemble de patrons de construction de site web interactif Tout fonctionne par défaut Les écarts doivent être programmés Introduction au commerce électronique et aux applications distribuées 3
Pourquoi Java? Standard industriel et très bien documenté Gratuit et largement disponible Portable A les caractéristiques de l’orienté objet A les crochets dans toutes les technologies distribuées Introduction au commerce électronique et aux applications distribuées 4
Une introduction Le commerce électronique et les applications distribuées Java est utilisé pour les illustrations Ne présente pas les subtilités Ce n’est pas un cours de « hacking » Introduction au commerce électronique et aux applications distribuées 5
Le commerce électronique Définitions: Entreprise électronique Utiliser la technologie électronique pour réaliser un ou plusieurs des fonctions et des services d'une entreprise. Commerce électronique Utiliser les services de l'entreprise électronique pour des fonctions et des transactions commerciales. Définition technologique: utiliser l‘Internet pour réaliser fonctions et des transactions commerciales Introduction au commerce électronique et aux applications distribuées 6
La révolution technologique dure! Composantes de base de la technologique du commerce électronique: Ordinateurs Réseaux Bas coûts des ordinateurs Bas coûts des réseaux Loi de Moore: la performance double à tout les 18 mois, la miniaturisation aussi! Introduction au commerce électronique et aux applications distribuées 7
Conséquence: L'accès à Internet devient une commodité dans tous les objets qui nous entourent Internet: le mariage entre les ordinateurs et les télécommunications Introduction au commerce électronique et aux applications distribuées 8
Gratuité Logiciels, données et oeuvres numériques coûtent chers à produire ne coûtent rien à reproduire Cela permet leur diffusion massive Une fois le coût de création et en R&D assumé La diffusion massive impose des standards de facto Internet s'est créé grâce aux logiciels distribués gratuitement, financé par l'état, les compagnies et les universités Introduction au commerce électronique et aux applications distribuées 9
L'effet réseau La valeur de l'accès au réseau est de loin supérieur au coût du matériel de branchement à ce réseau. Téléphone Fax Internet Cellulaire Introduction au commerce électronique et aux applications distribuées 10
Les 6 réseaux Near Web - Le réseau proche Far Web - Le réseau distant Énoncé par Bill Joy, Sun Microsystems http://java.sun.com/features/2000/08/sixwebs.html Near Web - Le réseau proche Sur un PC au travail, à la maison Far Web - Le réseau distant Sur un téléviseur ou une console de jeux distante Here Web - Le réseau ici Sur un téléphone mobile, un ordinateur de poche, les vêtements! Voice Web - Le réseau sonore Utilisant la voix et le son pour communiquer avec l'humain Device Web - Le réseau des objets Les objets intelligents interéagiront automatiquement entre eux E-Commerce Web - Le réseau du commerce électronique Les systèmes d'entreprises communiquent entre eux Introduction au commerce électronique et aux applications distribuées 11
Différents types de CE E2C - « B2C » C2C E2E - « B2B » E2M - « B2M » Entreprise à Consommateur C2C Consommateurs à Consommateurs Ex: eBay: ventes aux enchères de biens usagers Recommendations E2E - « B2B » Entreprises à Entreprises E2M - « B2M » Entreprise à Mobiles Introduction au commerce électronique et aux applications distribuées 12
Quelques applications Sites d’enchère Sites d’affiliation Annonces sous forme de bannières Achats en gros Portails d’achat Portails Publications électroniques Ventes de droits et licences Enchères renversées (Demander votre prix) Échanges spontanées Introduction au commerce électronique et aux applications distribuées 13
Un site de vente de livres Visiteurs Cheminer parmi les revues et les critiques Rechercher les détails des livres Commander des livres Suivre la progression de la commande Entreprise Gestion des inventaires Paiement Livraison Analyse de marché Introduction au commerce électronique et aux applications distribuées 14
Exemple (i) : sites d’enchères Enchères tenues en temps réel ou avec dates de clôture Utilise le Web Revenus des commissions et/ou des bannières d’annonces Introduction au commerce électronique et aux applications distribuées 15
Exemple (ii) : engins de recherche Utilisés pour trouver de l’information sur le Web Plusieurs engins génériques Google, Lycos, Yahoo Indexation automatique Information spécialisée Intelligence d’affaire Comparer les prix des billets d’avions Appels d’offres internationaux Souvent de l’information disponible dans le Web parallèle Indexation manuelle « collaborative » Open Directory Project http://dmoz.org/about.html Introduction au commerce électronique et aux applications distribuées 16
Exemple (iii) : Syndication du contenu Le Web est très dynamique Les pages apparaissent et disparaissent très fréquemment L’information a une valeur commerciale Des sites offrent la syndication du contenu, Ils surveillent et transmettent la nouvelle information Voir http://www.newsknowledge.com/ Introduction au commerce électronique et aux applications distribuées 17
Fournisseurs de courriels Courrier électronique basé sur le Web Une des applications les plus populaires Voir hotmail et autres Revenu basé sur la publicité Effets dévastateurs du pourriel Introduction au commerce électronique et aux applications distribuées 18
Les mamelles de l’Internet L’utilisateur accède au contenu Le “World Wide Web” Les fichiers FTP Le contenu se rend à l’utilisateur Le courriel Les listes de courriels Les utilisateurs échangent du contenu (P2P) Gnutella (Musique et autres) “Newsgroup” Introduction au commerce électronique et aux applications distribuées 19
La toile (WWW) Fureteurs Fureteurs Fureteurs Serveur Web Introduction au commerce électronique et aux applications distribuées 20
La toile Système distribué large mais très simple Les serveurs fournissent des documents “Web” Les fureteurs lisent et affichent les documents “Web” Les documents de la toile sont en HTML Communications dans les 2 sens, via les formulaires “HTML forms” Exemple de clients et de serveurs Introduction au commerce électronique et aux applications distribuées 21
Web 2.0 Web 1.0 Web 2.0 Exemples Contenu statique Contenu dynamique Aggregation, valeur ajouté sur du contenu de base Assemblage personalisé Exemples Google map eBay Amazon Introduction au commerce électronique et aux applications distribuées 22
Web 2.0 - Technique CSS, semantique balises valides XHTML, et Microformats Techniques d’applications riches (comme Ajax) Syndication des données RSS/ATOM Aggregation of RSS/ATOM data Url propre et significatif Clean Support des “weblog” API Webservices REST ou XML Des aspects de réseautage social Voir Wikipedia http://en.wikipedia.org/wiki/Web_2.0 Introduction au commerce électronique et aux applications distribuées 23
Les problèmes du Web distribué (i) 1- La technologie ancienne (70-80) Le manque d’adresses IP à 4 octets Serveur sans état et sans mémoire fournissant des pages statiques 2- La sécurité et la confidentialité Introduction au commerce électronique et aux applications distribuées 24
Les problèmes du Web distribué (ii) 3- La vitesse du développement La programmation de haut niveau et les abstractions 4- Les transactions 5- Les standards 6- La conception des systèmes distribués Introduction au commerce électronique et aux applications distribuées 25
1- La technologie ancienne La conception initiale du Web était simple Pages statiques; Pas de contenu dynamique Les adresses IP sont épuisés Le protocole Web est sans état Introduction au commerce électronique et aux applications distribuées 26
2- La sécurité et la confidentialité Internet est un système ouvert Les utilisateurs sont anonymes L’architecture et les protocoles sont publics Le bon coté Les erreurs peuvent être identifiées et corrigées rapidement Le mauvais côté La confidentialité peut facilement être compromise Introduction au commerce électronique et aux applications distribuées 27
Internet: Sécure? Conception initiale d’Internet Logiciels ouverts routes ouvertes et libres d’entraves Logiciels ouverts Par défaut, les logiciels n’ont pas de portes fermées En 1996, sur 2200 sites gouvernementaux et d’entreprises, 1700 étaient « ouverts » Voir http://www.securityfocus.com/ Introduction au commerce électronique et aux applications distribuées 28
3- Vitesse de développement Les applications Internet imposent un rythme de développement rapide D’où le besoin pour les langages Orientés Objets D’où le besoin des « patrons » et des modèles d’infrastructure D’où le besoin d’utiliser des méthodes rapides de développement Introduction au commerce électronique et aux applications distribuées 29
4- Les problèmes des transactions Une transaction transforme les données conservées et peut les modifier La concurrence La mise à jour inconsistante La modification partielle des données en cas de panne Introduction au commerce électronique et aux applications distribuées 30
5- Les standards Indispensables pour assurer le fonctionnement à grande échelle Standard de facto Standard de Jure Malheureusement, il y a souvent beaucoup de déviation dans les faits aux standards Cela empêche l’effet réseau Introduction au commerce électronique et aux applications distribuées 31
6- La conception des systèmes distribués Très différent de la conception des systèmes monolithiques Problématique différente Fiabilité Vitesse de transmission Sémantique distribuée Langues différentes Introduction au commerce électronique et aux applications distribuées 32
Conception en cas de panne Panne de transmission Panne de serveur Client Client Client La vitesse de transmission peut être lente Serveur Introduction au commerce électronique et aux applications distribuées 33
Problématiques Que faire si survient: Une panne du serveur Une panne du réseau La vitesse de transmission du réseau est faible ou instable Le service est modifié, et demande de nouveaux documents ou de nouvelles façons de faire Introduction au commerce électronique et aux applications distribuées 34
Attention ! The Eight Fallacies of Distributed Computing - Peter Deutsch 1. The network is reliable 2. Latency is zero 3. Bandwidth is infinite 4. The network is secure 5. Topology doesn't change 6. There is one administrator 7. Transport cost is zero 8. The network is homogeneous Introduction au commerce électronique et aux applications distribuées 35
Attention ! (ii) Essentially everyone, when they first build a distributed application, makes the following eight assumptions. All prove to be false in the long run and all cause big trouble and painful learning experiences. Introduction au commerce électronique et aux applications distribuées 36