360 likes | 530 Views
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 200 5 Cours :
E N D
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ées1
Plan de cours • Première 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ées2
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ées3
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ées4
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ées5
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ées6
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ées7
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ées8
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ées9
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ées10
Les 6 réseaux • É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ées11
Différents types de CE • E2C - « B2C » • 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ées12
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 Quelques applications Introduction au commerce électronique et aux applications distribuées13
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ées14
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ées15
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ées16
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ées17
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ées18
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 mamelles de l’Internet • Les utilisateurs échangent du contenu (P2P) • Gnutella (Musique et autres) • “Newsgroup” Introduction au commerce électronique et aux applications distribuées19
La toile (WWW) Fureteurs Fureteurs Fureteurs Serveur Web Introduction au commerce électronique et aux applications distribuées20
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 La toile Introduction au commerce électronique et aux applications distribuées21
Web 2.0 • Web 1.0 • Contenu statique • Web 2.0 • 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ées22
Web 2.0 - Technique • CSS, semantiquebalises validesXHTML, etMicroformats • Techniques d’applications riches (commeAjax) • Syndication des données RSS/ATOM • Aggregation of RSS/ATOM data • Url propre et significatif Clean • Support des “weblog” • API Webservices RESTou 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ées23
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ées24
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ées25
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ées26
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ées27
Internet: Sécure? • Conception initiale d’Internet • 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ées28
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ées29
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ées30
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ées31
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ées32
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ées33
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ées34
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ées35
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ées36