Your SlideShare is downloading. ×
Tendances Futures du Web - GTI780 & MTI780 - ETS - A09
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Tendances Futures du Web - GTI780 & MTI780 - ETS - A09

1,557
views

Published on

Présentation sur les tendances futures du Web dans le cadre du cours combiné GTI780 / MTI780, Sujets spéciaux en TI, donné par Claude Coulombe, à l'Ecole de technologie supérieure, Montréal, Automne …

Présentation sur les tendances futures du Web dans le cadre du cours combiné GTI780 / MTI780, Sujets spéciaux en TI, donné par Claude Coulombe, à l'Ecole de technologie supérieure, Montréal, Automne 2009

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,557
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
52
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Tendances futures du Web Sujets spéciaux en TI Le Web 2.0 : concepts et outils École de technologie supérieure par Claude Coulombe GTI-780 / MTI-780 ETS - Montréal - 2009
  • 2. Tendances futures du Web Comet HTML 5 Informatique dans le nuage Virtualisation Web 3 ou Web sémantique Internet mobile Le défi des médias Internationalisation Mondes virtuels et jeux en ligne Ubiquité d'Internet Infobésité GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com ETS - Montréal - 2009
  • 3. COMET Le terme COMET a été inventé par Alex Russell en mars 2006 en référence à la poudre à récurer Comet concurrente de la marque Ajax! GTI-780 / MTI-780 Source : A. Russell - http://alex.dojotoolkit.org/2006/03/comet-low-latency-data-for-the-browser/ ETS - Montréal - 2009
  • 4. COMET COMET GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com ETS - Montréal - 2009
  • 5. COMET Comet est une architecture d'applications Web qui permet à un serveur d'envoyer des données à un client (fureteur) sans attendre une requête explicite. On parle aussi de « Server-Push » ou de communication à faible latence (« Low-Latency Data Transfer ») Personnellement j'aime bien le terme de « communication en temps réel Les principales applications actuelles tournent autour de la messagerie instantanée comme Gtalk (http://mail.google.com/mail/help/chat.html) ou Meebo (www.meebo.com) la télésurveillance et le travail collaboratif (multiusagers) en temps réel Comet repose sur un protocole à base d'événements Une architecture à base d'événement ou de messages existe déjà dans les architectures SOA GTI-780 / MTI-780 ETS - Montréal - 2009
  • 6. COMET – Diagramme de séquence Une application Comet peut transmettre des données au client à n'importe quel moment (pas seulement en réponse à une requête de l'usager). Les données sont transmises au travers une unique connection précédemment ouverte. Le temps de latence est ainsi minimisé. Source : http://alex.dojotoolkit.org/2006/03/comet-low-latency-data-for-the-browser/ GTI-780 / MTI-780 ETS - Montréal - 2009
  • 7. COMET – défi technique Comet requiert un protocole à base d'événements et une réaction instantanée Peut se faire avec des sockets TCP/IP (=> plugiciels) HTTP ne supporte pas la diffusion spontanée d'événements. HTTP répond seulement en réaction à une requête d'un client. Un serveur HTTP n'envoie pas de données sans une requête Chaque client en attente d'un événement bloque un Thread sur le serveur (1 connexion = 1 Thread). Or un conteneur de servlets peut servir un maximum de Threads concurrents de l'ordre de 100 à 200. Au delà il faut un autre mécanisme Apache Tomcat version 6+ supporte l'interface CometProcessor avec ses servlets qui permet le partage d'un Thread par plusieurs connexions. Le support du Server Push est incorporé dans la spécification Servlet 3.0. et les conteneurs de servlet JEE6 http://jcp.org/en/jsr/detail?id=315 La spécification Web Socket définit un API pour les communications bidirectionnelles entre client et serveur hôte distant http://dev.w3.org/html5/websockets/ GTI-780 / MTI-780 ETS - Montréal - 2009
  • 8. COMET – Techniques d'implantation Une première technique est le « Polling » qui consiste à répéter des requêtes au serveur à intervalles réguliers. En réduisant l'intervalle on réduit la latence. En général le polling n'est pas considéré comme du « vrai » Comet Requête longue (long polling) Simule le comportement d'un serveur lent La technique la plus usuelle et la plus recommandée pour le moment Flux HTTP (HTTP Streaming) L'implantation la plus performante Cependant, certains proxy vont fermer la connexion À cause de la limite de deux requêtes simultanées avec le même hôte (URL) on est amené à faire du multiplexage sur la connexion disponible GTI-780 / MTI-780 ETS - Montréal - 2009
  • 9. COMET & GWT Comet with GWT http://code.google.com/p/google-web-toolkit-incubator/wiki/ServerPushFAQ Rocket-GWT Remoting http://code.google.com/p/rocket-gwt/wiki/Comet Une autre solution Comet avec GWT http://groups.google.com/group/Google-Web GTI-780 / MTI-780 ETS - Montréal - 2009
  • 10. COMET - Avantages & inconvénients GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com ETS - Montréal - 2009
  • 11. COMET - Avantages Communication et partage de l'information en temps réel Communication bidirectionnelle entre le serveur et le client Programmation par événements COMET - Inconvénients Comet ne prend pas avantage de l'architecture sans état (Stateless) du Web Problème au niveau du retour de l'information. Par exemple si on a 10 000 usagers à mettre à jour simultanément Problème de sécurité (Ex. Cross-Scripting) Plus exigeant au niveau des infrastructures matérielles GTI-780 / MTI-780 ETS - Montréal - 2009
  • 12. HTML 5 HTML 5 GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com ETS - Montréal - 2009
  • 13. W3C – Consortium World Wide Web Dirigé par Tim Berners-Lee, créateur de HTTP/URI/HTML et l'inventeur du Web, le W3C est un consortium international ayant pour objectif le développement de normes pour le Web. Le W3C est hébergé par 3 laboratoires : le laboratoire européen ERCIM basé en France, l'Université de Keio au Japon et le Laboratoire CSAIL du MIT aux Etats-Unis. La direction du W3C est définie par le Process Document http://www.w3.org/2005/10/Process-20051014/ http://www.w3.org/ GTI-780 / MTI-780 ETS - Montréal - 2009
  • 14. HTML 5 HTML 5 est pressenti comme la future norme du HTML (document en travail) HTML 5 est une révision majeure de HTML 4 qui datait de 1997 2004, projet HTML 5 lancé par le groupe WHATGW (Web Hypertext Application Technology Working Group) formé par Apple, Mozilla et Opera. Or, W3C travaillait en parallèle depuis 2001 sur une nouvelle version du XHTML a finalement abandonné XHTML 2 jugé pas assez rétro-compatible et n'a pas été implanté par les fabricants de fureteurs au profit de l'approche plus pragmatique du HTML 5 en 2007. Est-ce la fin des querelles d'experts? La norme HTML5 n'est pas terminée mais certaines parties ont commencé à être implantées comme la balise vidéo dans FireFox 3.5 et Google Wave http://html5gallery.com/ Alors, pourquoi se soucier de HTML 5? HTML 5 va changer beaucoup de choses dans la conception et l'utilisation des interfaces Web et le travail des professionnels du Web. http://www.w3.org/TR/html5/ GTI-780 / MTI-780 ETS - Montréal - 2009
  • 15. Google Wave – Du HTML 5 qui fait des vagues! Source : http://googleblog.blogspot.com/2009/05/went-walkabout-brought-back-google-wave.html GTI-780 / MTI-780 ETS - Montréal - 2009
  • 16. HTML 5 – Principales nouveautés Deux syntaxes possibles (au choix) : HTML et XML mais définies par l'API DOM Interfaces de programmation (APIs) : marquent le passage d'un Web de documents vers un Web des applications Balise <canvas> pour le support du dessin 2D Balises d'insertion et de contrôle de contenus audio et vidéo (sans Flash) Gestion de données persistantes côté client pour les applications hors-ligne Gestion de formulaires améliorée (ex. nouveaux types pour la balise <input> comme date, email, url, color, etc. et aussi de nouveaux attributs comme autofocus et required), Nouveau jeu de balises structurelles pour remplacer certains <div> GTI-780 / MTI-780 ETS - Montréal - 2009
  • 17. HTML 5 – Nouvelles balises structurelles Nouveau jeu de balises structurelles pour remplacer certains <div> inspiré des habitudes des auteurs de page Web tels que <header>, <footer>, <nav> (pour navigation), <section> pour identifier le contexte d'un bloc de contenu ou une application, <article> un bloc de contenu complet en lui-même (ex. billet de blogue, entrée de forum, commentaire, etc), <figure> (pour ajouter une légende), <aside> contenu en rapport faible avec la page <header> <nav> <section> <header> <nav> <aside> <article> <footer> <footer> GTI-780 / MTI-780 ETS - Montréal - 2009
  • 18. HTML 5 – Nouvelles APIs API de dessin 2D et rendu dynamique de dessins bitmaps et de dessins vectoriels utilisée avec la nouvelle balise <canvas> (via JavaScript) API pour intégrer et contrôler des vidéos et des fichiers audios avec les nouvelles balises <video> et <audio> API utilisée pour les applications hors-ligne avec stockage sur le disque dur (clé/valeur et SQL) semblable à Google Gears API d'édition en combinaison avec le nouvel attribut contenteditable API de glisser-déposer (Drag & Drop) avec l'attribut draggable API d'accès à l'historique et permet aux pages d'en ajouter pour prévenir les problèmes de bouton retour-en-arrière API de géolocation utilisant un appareil externe API de communication entre applications via TCP Possibilité pour un serveur Web d'initier des événements via la balise <event-source> GTI-780 / MTI-780 ETS - Montréal - 2009
  • 19. Informatique dans le nuage* (Cloud Computing) Amazon IBM Intel EC2 HP Microsoft Google SUN AppEngine Salesforces.com GTI-780 / MTI-780 * Note : Service d'infrastructure dans le nuage ETS - Montréal - 2009
  • 20. Informatique dans le nuage (Cloud Computing) L'informatique dans le nuage ou infrastructure dans le nuage (Cloud Computing*) représente l'utilisation des capacités de calcul et de stockage de serveurs répartis sur Internet Les organisations ne sont plus propriétaires de leurs serveurs mais louent des services d'infrastructure informatique S'applique par extension au concept de location d'applications logicielles (infrastructure matérielle et logicielle) ou SaaS (Software as a service) Modèle économique de paiement à l'usage http://fr.wikipedia.org/wiki/Informatique_dans_le_nuage * Note : Par référence au nuage qui représente Internet GTI-780 / MTI-780 dans les diagrammes d'infrasttructure informatique ETS - Montréal - 2009
  • 21. Informatique dans le nuage – Amazon EC2 GTI-780 / MTI-780 ETS - Montréal - 2009
  • 22. Informatique dans le nuage – Amazon EC2 Amazon Elastic Compute Cloud (EC2) http://aws.amazon.com/ec2/ Avec Java : Developing Java Web Applications with Apache Tomcat & AWS http://developer.amazonwebservices.com/connect/entry.jspa? externalID=2241&categoryID=100 GTI-780 / MTI-780 ETS - Montréal - 2009
  • 23. Informatique dans le nuage – Google App Engine GTI-780 / MTI-780 ETS - Montréal - 2009
  • 24. Informatique dans le nuage – Google App Engine Service de base gratuit pour l'hébergement d'applications Offert pour les langages Java et Python Intégration facile de AppEngine avec GWT et Eclipse http://code.google.com/appengine/ GTI-780 / MTI-780 ETS - Montréal - 2009
  • 25. Informatique dans le nuage - Avantages & inconvénients GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com ETS - Montréal - 2009
  • 26. Informatique dans le nuage - Avantages Plus économique Pas d'investissement de départ Facturation à l'utilisation (heure/capacité/bande passante) Support des pointes et de la montée en charge Pas de parc informatique à gérer et maintenir Plus rapide à mettre en place et à faire évoluer Fiabilité & performances ?? Informatique dans le nuage - Inconvénients Phénomène de mode Sécurité de l'application Sécurité et confidentialité des données Perte du contrôle de l'infrastructure et des applications Piège dans le style « Cloud Lock-In » GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com ETS - Montréal - 2009
  • 27. Virtualisation La virtualisation permet de faire exécuter plusieurs systèmes d'exploitation (OS) diffférents sur une même machine comme s'ils s'exécutaient sur différentes machines. Les logiciels de virtualisation (ou machines virtuelles) simulent le fonctionnement d'une machine (ou matériel) pour différents OS invités sur une machine hôte exécutant un OS hôte. Exemple : VMware (VMware server, VMware Player), VirtualBox Avantages : optimisation de l'utilisation du matériel, + sécurité Inconvénients : performance réduite http://fr.wikipedia.org/wiki/Virtualisation GTI-780 / MTI-780 ETS - Montréal - 2009
  • 28. Web 3 ? GTI-780 / MTI-780 Source : http://seriestv.blog.lemonde.fr/2008/03/10/the-last-enemy-le-contrat-social-totalitaire ETS - Montréal - 2009
  • 29. Web 3 ?  Super truc « à la mode » (buzzword)*  Le côté un peu provocateur du terme Web 2.0 en a amené plusieurs à utiliser le terme Web 3.0 comme une boutade...  La tendance est d'associer le Web sémantique proposé par Tim Berners-Lee au Web 3.0  Le web sémantique est devenu un peu mythique comme le fameux Hal 9000 du film 2001 Odyssée de l'espace! * Le Web 3.0 est la création d'un « buzzword » pour quelque chose qui n'existe pas Alors que le Web 2.0 est la création d'un « buzzword » pour quelque chose qui existait déjà GTI-780 / MTI-780 ETS - Montréal - 2009
  • 30. Web sémantique W W W GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com ETS - Montréal - 2009
  • 31. Web sémantique  Proposé par Tim Berners-Lee dans un article du Scientific-American en mai 2001 http://www.urfist.cict.fr/archive/lettres/lettre28/lettre28-22.html  L'idée initiale est d'ajouter une dimension sémantique au Web (par annotation des contenus) afin de le rendre utilisable par des logiciels (ou agents) capables de faire du traitement automatique des connaissances.  Se base sur le langage RDF (Resource Description Framework) pour décrire des concepts et le langage OWL (Ontologies Web Language) pour décrire des ontologies (des relations entre concepts)  RDF utilise la notion de triplet Objet-Valeur-Attribut  D'une façon plus réaliste, on parle aujourd'hui de la pleine utilisation de l'architecture Web (URI) RESTful pour fournir des informations à propos des données liées (Linked Data)  Bien des années avant que le rêve d'un Web « intelligent » ne devienne réalité...  Cependant des applications concrètes sont déjà utilisables si l'on est modeste et pragmatique GTI-780 / MTI-780 ETS - Montréal - 2009
  • 32. Web « intelligent » - prédiction  Les prochaines applications Web 2.0 qui « casseront la baraque » et se distingueront, devront intégrer une dimension d'analyse intelligente des données (i.e. des utilisateurs et des réseaux).  C'est à notre portée, pourvu qu'on aime un peu les mathématiques: l'apprentissage statistique (Machine Learning) et la fouille de données (Data Mining) qui reposent essentiellement sur des traitements statistiques, comme le fameux algorithme PageRank à l'origine de Google. GTI-780 / MTI-780 ETS - Montréal - 2009
  • 33. Internet mobile http://en.wikipedia.org/wiki/Mobile_web GTI-780 / MTI-780 Source http://images.apple.com/ca/fr/iphone/home/images/main20080711b.png ETS - Montréal - 2009
  • 34. Le défi des médias - Fragmentation des auditoires http://benoit-raphael.blogspot.com/ GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com ETS - Montréal - 2009
  • 35. Le défi des médias – La fin des livres... GTI-780 / MTI-780 * Source http://www.amazon.com/Kindle-Amazons-Wireless-Reading-Device ETS - Montréal - 2009
  • 36. Le défi des médias – La télévision Internet http://fr.wikipedia.org/wiki/WebTV GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com ETS - Montréal - 2009
  • 37. Internationalisation http://fr.wikipedia.org/wiki/Internet_dans_le_monde GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com ETS - Montréal - 2009
  • 38. Mondes virtuels & jeux en ligne http://fr.wikipedia.org/wiki/Jeu_en_ligne_massivement_multi-joueurs GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com ETS - Montréal - 2009
  • 39. Ubiquité d'Internet http://en.wikipedia.org/wiki/Ubiquitous_computing http://www.internetactu.net/2005/04/06/adam-greenfield GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com ETS - Montréal - 2009
  • 40. Infobésité... http://culturetic.canalblog.com/archives/2005/10/10/876485.html GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com ETS - Montréal - 2009
  • 41. Questions ? GTI-780 / MTI-780 * Source Clipart : http://www.clipart.com ETS - Montréal - 2009