Introduction au commerce électronique et aux applications distribuées 1
Les technologies du commerce électronique
• IFT 6801• www-etud.iro.umontreal.ca/~pift6801• www-etud.iro.umontreal.ca/~dift6801
• Professeur: Robert Gérin-Lajoie• [email protected]
• Démonstrateur:• Mehdi Adda <[email protected]>
• 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 2
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ées 3
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 4
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 5
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 6
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 7
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 8
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 9
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 10
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 11
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ées 12
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ées 13
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 14
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 15
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 16
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 17
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 18
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 19
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 20
La toile (WWW)
Fureteurs
Serveur Web
Fureteurs
Fureteurs
Introduction au commerce électronique et aux applications distribuées 21
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 22
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ées 23
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 24
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 25
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 26
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 27
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 28
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ées 29
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 30
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 31
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 32
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 33
Conception en cas de panne
Client Client
Client
Serveur
La vitesse de transmission peut être lente
Panne de serveur
Panne de transmission
Introduction au commerce électronique et aux applications distribuées 34
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 35
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 36
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.