La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Florent WEBER Cédric CHEDALEUX Thomas GUERIN Jérémy SCHOEN Projet doption ZENIKA – Ecole des Mines de Nantes ZENIKA - Ecole des Mines de Nantes1.

Présentations similaires


Présentation au sujet: "Florent WEBER Cédric CHEDALEUX Thomas GUERIN Jérémy SCHOEN Projet doption ZENIKA – Ecole des Mines de Nantes ZENIKA - Ecole des Mines de Nantes1."— Transcription de la présentation:

1 Florent WEBER Cédric CHEDALEUX Thomas GUERIN Jérémy SCHOEN Projet doption ZENIKA – Ecole des Mines de Nantes ZENIKA - Ecole des Mines de Nantes1

2 Phase 1 : problématiques et enjeux des applications Web en mode déconnecté Phase 2 : panorama du marché des solutions et comparaison par rapport à la technologie Google Gears Phase 3 : prototypage à laide de loutil Google Gears Phase 4 : synthèse et prospective ZENIKA - Ecole des Mines de Nantes2 2

3 . Lobjectif de cette section est dintroduire le concept de « mode déconnecté » en présentant son contexte dapplication, ses avantages et les moyens nécessaire à sa mise en œuvre. ZENIKA - Ecole des Mines de Nantes3

4 4

5 Fusion RIA/RDA RIA : Rich Internet Application Lancement dans le navigateur Pas dinstallation RDA : Rich Desktop Application Installation sur le poste client Accès aux ressources de lordinateur (disque dur, périphériques...) Utilisation locale (pas besoin de connexion) ZENIKA - Ecole des Mines de Nantes5 5

6 Exemples de technologies RIA Adobe Flash Animations 3D Google Web Toolkit Composants graphiques avancés Boutons Editeur de texte ZENIKA - Ecole des Mines de Nantes6

7 Exemples de technologies RDA Adobe Air Le plus prometteur aujourdhui. Cf. détails plus loin. Microsoft Silverlight 2.0 Peut servir pour la réalisation dapplication RIA ou RDA Démarrage depuis le bureau ou depuis un site web au choix. Critiqué du fait quil ne soit pas Open Source. A terme, des contenus Web seraient donc réservés aux personnes ayant acheté les technologies Microsoft. Mozilla XulRunner Masqué par les 2 « grands » ZENIKA - Ecole des Mines de Nantes7

8 Différence entre RDA et RIA Les notions de RDA / RIA sont parfois utilisées à tort. De plus, avec larrivée du mode déconnecté, la frontière entre RDA et RIA est de plus en plus mince. En effet : Si la RIA permet le mode déconnecté, alors on obtient une application utilisable sans connexion Internet donc de type « desktop ». Inversement, en mode connecté, des RDA telles que eBay Desktop utilisent en permanence la connexion Internet et proposent des interactions similaires à celle dune page Web. ZENIKA - Ecole des Mines de Nantes8

9 Le mode déconnecté permet aux applications Internet : Laccès aux ressources locales Une continuité du service ZENIKA - Ecole des Mines de Nantes9

10 Problème : La perte de connexion se traduit par une inutilisabilité du service dans le cas des applications Web traditionnelles Il y a deux modes de déconnexion possible Déconnexion implicite (non souhaitée) Perte de réseau pour un téléphone portable. Passage dans un tunnel pour un ordinateur portable. Déconnexion explicite (volonté de lutilisateur) Economie du crédit de connexion Web pendant la rédaction dun courrier électronique. ZENIKA - Ecole des Mines de Nantes10

11 Il semble difficile pour certaines architectures doffrir un mode déconnecté. La raison est simple, les pages HTML affichées dans le navigateur sont générées côté serveur et non pas côté client comme avec GWT, Flex ou simplement HTML/Javascript. ZENIKA - Ecole des Mines de Nantes11 ZENIKA - Ecole des Mines de Nantes

12 Rendre une application "déconnectée" nécessite de rapatrier tout ou partie des traitements métiers sur le navigateur. Du coup, il semble nécessaire d'écrire ces traitements dans les langages spécifiques au client ou au serveur. En bref en HTML/JavaScript pour la partie client et en Java dans le cas d'un backend Java... Comment assurer une bonne répartition des traitements entre le serveur et le navigateur client ? ZENIKA - Ecole des Mines de Nantes12

13 Comment gérer de gros volume de données ? Autrement dit, comment répartir la charge entre le client et le serveur ? Le serveur ne transmet au client que les données qui lui seront utiles pour les actions quil pourra réaliser en mode déconnecté… ZENIKA - Ecole des Mines de Nantes13

14 Comment gérer les problèmes de mises à jour concurrentes ? Comment rendre compte d'un problème de synchronisation à l'utilisateur ? Comment laider à résoudre ce problème de synchronisation ? Exemple : 2 utilisateurs effectuent une tâche sur leur poste en mode déconnecté, portant sur un même fichier. Comment gérer la convergence à la reprise de la connexion ? ZENIKA - Ecole des Mines de Nantes14

15 Webmail Web téléphone portable Bureautique online Commerce Cartographie – Itinéraires Blogs ZENIKA - Ecole des Mines de Nantes15

16 La rédaction de mail via un webmail (ex: Gmail) nécessite une connexion à Internet Grâce au mode déconnecté un utilisateur peut écrire un mail et l envoyer. Lorsquil est de nouveau connecté à Internet lenvoi se fera de manière totalement transparente. Bien dautres fonctionnalités sont possibles en mode déconnecté : consultation de mails, suppression de mails, configuration des comptes. La course au webmail déconnecté a été remportée par Zoho mail qui intègre Google Gears afin de disposer dun mode offline. ZENIKA - Ecole des Mines de Nantes16

17 Bien que Gears soit une technologie de Google, Zoho a été le premier à lavoir mise en place. Linterface graphique de Zoho est plus riche que celle de Gmail, en effet elle ressemble beaucoup à linterface de Mozilla Thunderbird. Bien que Gears sera considéré comme « mature » lors de son intégration par Google dans Gmail, Zoho fait preuve dinitiative en utilisant cette technologie pour son webmail et peut ainsi concurrencer Gmail. 17ZENIKA - Ecole des Mines de Nantes Zoho Webmail

18 Actuellement, lorsquun mobile nest plus dans une zone couverte par son opérateur il devient impossible de réaliser des opérations via Internet (ex: écrire un mail). Des applications en mode déconnecté permettraient de s'abstraire des problèmes de connectivité. Cependant ces dernières ne peuvent être mises en place actuellement que sur des BlackBerry ou des mobiles dont lOS repose sur J2ME (version mobile de java) Une solution existe déjà : Gmail for mobile 2.0 qui permet de disposer dun webmail en mode déconnecté. Dans un avenir proche dautres applications disposant du mode déconnecté similaires à celles développées pour les PC devraient voir le jour. ZENIKA - Ecole des Mines de Nantes18

19 Inconvénient : Une fois déconnecté, impossibilité de travailler Avantages : Plus besoin d'installer la suite sur le poste client Tout sera utilisable par l'intermédiaire d'un navigateur Applications traditionnelles Des logiciels de traitement de texte, de présentation et des tableurs sont récemment disponibles en ligne Ils offrent les mêmes fonctionnalités que les suites bureautiques telles que MS Office ou OpenOffice Applications en mode déconnecté La possibilité de travailler hors- ligne permettra à ces applications de se substituer aux applications clients lourds 19 Exemples: Zoho Writer, Google Docs, Project Draw 0.7 (Logiciels de Dessin pour présentation) ZENIKA - Ecole des Mines de Nantes

20 Zoho Writer Après avoir mis en place le mode déconnecté pour son webmail, Zoho a récemment doté son éditeur de texte en ligne de cette fonctionnalité. La suite office que produit Zoho est plus poussée que celle de Google. En effet des reproches sont faits à la suite office de google notamment en ce qui concerne la pauvreté de son interface graphique mais aussi de sa navigabilité parfois difficile. Zoho devance encore une fois Google, démontrant ainsi sa participation active dans la communauté des suites offices online. ZENIKA - Ecole des Mines de Nantes20

21 Zoho Writer Vs Google Doc ZENIKA - Ecole des Mines de Nantes Google Zoho 21

22 Comme un commercial voyage beaucoup, il n'a pas toujours accès à Internet (pour son PDA ou ordinateur portable). Mais, même en déplacement, il a des besoins comme: Consulter ses s Vérifier son planning de rendez-vous Accèder aux infos de ses contacts (adresse, téléphone) Proposer à ses clients un catalogue interactif de produits sous forme d'applications web (facilement modifiables) La technologie en mode déconnecté lui offrira toutes ces fonctionnalités dans l'avion (pour aller à une conférence), ou chez un client résidant dans des zones non déservies (ou même dans des pays non connectés). ZENIKA - Ecole des Mines de Nantes22

23 Actuellement, la plupart des commandes sont prises sur papier. L'introduction d'applications permettant le mode déconnectés entrainera une accélération dans le processus de préparation et de livraison. La commande est saisie chez le client. Dès que le commercial a de nouveau accès à Internet, la commande est validée et transmise au centre de traitement. Rapidité dans la traitement de la commande. Synchronisation transparente. ZENIKA - Ecole des Mines de Nantes23 Exemples: Google Calendar Gmail Zoho Mail

24 Une fois un itinéraire calculé, si la connexion est interrompue il ny a plus de possibilité de manipuler la carte. Hors, lors dun voyage, il est toujours intéressant de disposer dune carte interactive. Les fonctionnalités en mode déconnecté seraient dès lors de pouvoir zoomer sur une zone et ainsi pouvoir choisir un nouvel itinéraire. ZENIKA - Ecole des Mines de Nantes24

25 La rédaction d'articles ou l'ajout de commentaires sur un blog nécessite une connexion Internet. Toutes ces tâches pourront être réalisées hors-ligne et ensuite synchronisées avec le serveur hébergeant le blog Dans un train, avion, bus ZENIKA - Ecole des Mines de Nantes25 MySpace va introduire Google Gears sur ses blogs afin déconomiser des ressources serveurs. Une partie des données sera ainsi stockée sur le poste client, réduisant la bande passante utilisée. MySpace va introduire Google Gears sur ses blogs afin déconomiser des ressources serveurs. Une partie des données sera ainsi stockée sur le poste client, réduisant la bande passante utilisée. Exemples: Blogger -> blog.gears MySpace

26 Dans le cadre du projet, Google Gears a été choisi comme technologie de référence en termes dapplications Web en mode déconnecté. Lensemble de létude sappuiera sur cet outil. Google Gears a été élu produit de l'année par le magazine PC World devant l'iPhone ! Voir larticle Voir larticle ZENIKA - Ecole des Mines de Nantes26 ZENIKA - Ecole des Mines de Nantes

27 Lobjectif de cette section est dexhiber les technologies prometteuses en termes de « mode déconnecté » et de les comparer à loutil Google Gears. ZENIKA - Ecole des Mines de Nantes27

28 Moteur d'exécution multi-plateforme Compatible Windows, Linux, Mac OS Moteur et SDK en téléchargement gratuit Applications bureau riches Véritablement déconnectées Solution la plus mature à ce jour Air 1.0 en mars 2008 Communauté active et nombreuses applications Cf. slide 24 ZENIKA - Ecole des Mines de Nantes28

29 Installation dun moteur dexécution Code unique pour toutes les plateformes Langages ActionScript Pour les applications Flash ou Flex JavaScript Pour les applications AJAX Possibilité de les mélanger dans une même application ZENIKA - Ecole des Mines de Nantes29

30 ZENIKA - Ecole des Mines de Nantes30

31 Intègre le moteur de rendu Webkit de Safari et Chrome Flash Player inclus API variée Son Vidéo Sécurité… et beaucoup dautres! Détection de connexion automatique Stockage des données en local en offline puis synchronisation dès le passage online ZENIKA - Ecole des Mines de Nantes31

32 eBay Desktop Client bureau pour le site denchères Permet de faire un listing des objets à vendre offline et de synchroniser ensuite une fois connecté. ZENIKA - Ecole des Mines de Nantes 32

33 AOL Top 100 Vidéos Vidéos sur son bureau Fonctionnalités riches (plein écran, vidéos liées; publicités) ZENIKA - Ecole des Mines de Nantes33

34 Finetune Desktop Lecteur de musiques en ligne Hautes performances requises à cause du streaming donc RIA difficile Capture les préférences des utilisateur stockées sur lordinateur pour la musique et peut ensuite proposer des morceaux et les lire en streaming Plus dexemples dapplications Environ 180 applications déjà développées Lien vers le MarketPlace Adobe Lien vers le MarketPlace Adobe ZENIKA - Ecole des Mines de Nantes34

35 Alors que Google planche sur Gears, Yahoo offre un mode déconnecté à son webmail via Zimbra Desktop. En effet, Yahoo a racheté Zimbra pour environ 350 millions de dollars. De cette manière Yahoo complète sa liste de service «Web 2.0» (FlickR, del.icio.us, MyBlogLog) avec une offre doutils orientées « Entreprise 2.0 ». Mais quoffre donc Zimbra pour engendrer un tel engouement de la part de Yahoo ? Zimbra: larme de Yahoo pour se lancer dans le mode déconnecté 35ZENIKA - Ecole des Mines de Nantes

36 Zimbra est une suite collaborative qui comprend une solution serveur ainsi quun certain nombre dapplications en ligne orientée collaboration : Un webmail Des calendriers partagés avec gestion des contacts Un traitement de texte et un tableur en ligne Un moteur de « push mail » pour les collaborateurs nomades Des extensions pour relier Zimbra à dautres clients de messagerie (Outlook, Thunderbird…) Mais Yahoo sest surtout intéressé à Zimbra Desktop qui est un RIA offrant un webmail, un calendrier et un système de gestion de contacts avec la possibilité de travailler en mode déconnecté. Zimbra : présentation 36ZENIKA - Ecole des Mines de Nantes

37 Zimbra Desktop : schéma (1/2) 37 ZENIKA - Ecole des Mines de Nantes ClientServeur AJAX Navigateur Web/Prism Jetty Derby Serveur distant de Zimbra SOAP/HTTP(S)

38 Jetty : un serveur HTTP et un moteur de servlet 100% implémentés en Java. Prism : navigateur web léger dont le moteur de rendu est basé sur celui de Firefox. Derby : base de données de petite taille (2MB), appartenant au projet Apache et totalement implémentée en Java. Zimbra Desktop : schéma (2/2) 38ZENIKA - Ecole des Mines de Nantes

39 Zimbra Desktop : mode déconnecté 39ZENIKA - Ecole des Mines de Nantes En mode connecté, Zimbra Desktop se synchronise avec le serveur distant afin de mettre à jour les données (mails, contacts…). Ces données sont alors stockées dans une base de données. En mode déconnecté, toutes les informations de lutilisateur (envoi de mail, ajout de contact…) sont stockées dans cette BD pour être synchronisées une fois lutilisateur reconnecté. Cependant Zimbra a développé sa propre implémentation et ce mode ne repose donc pas sur Google Gears. En effet une grande partie de la logique applicative de Zimbra réside dans le code « serveur ». Or Gears est fait pour être utilisé par des applications dont la logique est principalement implémentée en Javascript (code côté client).

40 Le principal défaut de Zimbra Desktop vient de son toolkit Ajax qui noffre pas de module de développement dapplications en mode « « déconnecté », ni de librairies pour communiquer avec une BD Derby. Zimbra Desktop est totalement gratuit, excepté sa licence commerciale qui est payante. La communauté Zimbra est active (notamment dans son forum). Cependant, les informations sont parfois difficiles à trouver surtout en ce qui concerne son implémentation du mode « déconnecté ». Au vu de ces informations Zimbra nest donc pas en phase avec les besoins de notre projet du fait de son manque denvironnement de développement pour le mode déconnecté. Cependant, Zimbra reste un concurrent non négligeable dans la course au mode « déconnecté ». Zimbra Desktop : conclusion 40ZENIKA - Ecole des Mines de Nantes

41 Aperçu de Zimbra Desktop ZENIKA - Ecole des Mines de Nantes41

42 Yahoo! Browser Plus Extentions du navigateur Type plug-ins Fonctionnalités riches de type Desktop Drag n Drop Manipulation de fichiers Convertisseur Texte – Parole Mode déconnecté à létude Microsoft Live Mesh Synchronisation de différents appareils (mobile, portable, console…) Données disponibles partout Mode déconnecté à venir ZENIKA - Ecole des Mines de Nantes42

43 Les applications web déconnectées utilisant Gears fonctionnent sans serveur HTTP local. LAPI Gears est composée de 3 modules : Un serveur local (LocalServer) Une base de donnée SQLite qui stocke les données sur le poste client. Un « WorkerPool » qui facilite la synchronisation des données. ZENIKA - Ecole des Mines de Nantes43 ZENIKA - Ecole des Mines de Nantes

44 Toute l'application dans un cache LocalServer Il remplace le serveur HTTP distant. Il met dans le cache de Gears (différent de celui du navigateur) les ressources utilisées en déconnecté (DB SQLite). Il stocke l'ensemble des éléments de l'application - pages HTML, bibliothèques Javascript, images, feuilles de style (CSS), etc - sur le poste client. Il intercepte les requêtes HTTP de l'application lorsqu'elle fonctionne en mode déconnecté. 44ZENIKA - Ecole des Mines de Nantes

45 Une base de données locale La base de données locale s'appuie sur le moteur SQL open-source SQLite. Stocke localement les données téléchargées par l'utilisateur lorsque celui-ci est connecté. Une base de données hébergée sur le serveur distant peut être copiée intégralement ou partiellement dans la base de données locale. En mode déconnecté, c'est la base de données locale qui est utilisée par l'application. Un moteur de synchronisation se charge de réconcilier les données lorsque l'utilisateur se reconnecte. 45ZENIKA - Ecole des Mines de Nantes

46 Synchronisation des données Les données entre le serveur et le client ne sont plus synchronisées automatiquement dans les cas suivants : Modification de données hors-ligne Données partagées entre plusieurs utilisateurs Données provenant d'une source extérieure (exemple : flux RSS) Pour résoudre ces problèmes de synchronisation, deux stratégies sont possibles pour les applications Gears : Synchronisation manuelle Synchronisation en tâche de fond 46ZENIKA - Ecole des Mines de Nantes

47 Synchronisation manuelle (manual sync) L'utilisateur décide quand il veut lancer la synchronisation (usuellement via un bouton): Upload des données locales Téléchargement des données récentes du serveur La quantité de données à transférer doit rester faible (quelques Mo pour une connexion Wifi). Cette synchronisation nécessite que l'utilisateur connaisse l'état de la connexion. Il peut également oublier de synchroniser avant de se déconnecter. 47ZENIKA - Ecole des Mines de Nantes

48 La synchronisation s'effectue toute seule Avec la synchronisation en tâche de fond (Background sync), l'application web se synchronise automatiquement et continuellement : 48ZENIKA - Ecole des Mines de Nantes Les différents termes sont explicités plus loin…

49 La synchronisation s'effectue toute seule » Le « Sync Engine » assure une synchronisation continue entre le serveur et le client grâce à la techonologie Comet (AJAX 2.0). Comet garde une connexion ouverte entre les deux postes pour que le serveur puisse envoyer des donnés en continu sans requête préalable du client. Ensuite, il ajoute les données à « Local Database ». Quand l'utilisateur clique sur un bouton, le « Data Switch » oriente les appels de l'UI vers le « Server Data Layer » (mode connecté) ou vers le « Local Data Layer » (mode déconnecté). Les couches « Data Layer » interrogent la BD locale ou la BD du serveur. 49ZENIKA - Ecole des Mines de Nantes

50 Des traitements asynchrones en tâche de fond Les synchronisations de données nécessitent souvent du temps. Gears propose un 3ème module : le WorkerPool. Il élimine les blocages du navigateur dus à l'exécution trop longue de scripts. Il transforme les traitements Javascript synchrones en processus asynchrones. Grâce à ce module, la synchronisation des données ou la capture de sites se fait de manière complètement transparente pour l'utilisateur. Toutes ces tâches sont effectuées en arrière-plan. 50ZENIKA - Ecole des Mines de Nantes

51 Fonctionnalités supplémentaires Quelques fonctionnalités intéressantes ont été ajoutées à la version 0.4 de Gears : Géolocalisation La manipulation de BLOB (Binary Large Object) comme des images, sons ou vidéos dans du code Javascript (passage par référence). Desktop API permettant la création de raccourcis sur le bureau (à partir de la page web) et l'accès aux fichiers stockés sur le poste client. 51ZENIKA - Ecole des Mines de Nantes

52 Dojo et Google Gears Dojo est un framework permettant le développement dapplication web dynamique 100% implémentée en javascript. Un des avantages de dojo est quil possède une extension (dojoX) qui intègre Google Gears. Cette extension fournit une couche dabstraction facilitant ainsi lutilisation de Google Gears. Cependant il ne dispose pas encore de toutes les fonctionnalités offertes par Google Gears comme la géolocalisation ou la gestion de BLOB. Mais Dojo est en constante évolution du fait dune communauté vraiment active. ZENIKA - Ecole des Mines de Nantes52

53 DojoX ZENIKA - Ecole des Mines de Nantes Détection automatique de la déconnection et affichage Téléchargement autonome des fichiers requis au fonctionnement de lapplication en mode déconnecté 53

54 Finalement, il ressort de létude préalable que les 2 solutions aujourdhui suffisamment abouties pour réaliser des applications en mode déconnecté sont Google Gears et Adobe Air. Cependant, leur mode dutilisation est très différent et il convient de bien distinguer les fonctionnalités de chacun. On va comparer ces 2 technologies sur les critères suivants : Date de sortie, version, licence Type dapplications visé : RIA, RDA, autre Extensions disponibles Communauté, support Type de technologie Développement : pré-requis, langages utilisables ZENIKA - Ecole des Mines de Nantes54 Bilan : les nominés sont…

55 Matrice comparative Google GearsAdobe Air Date de sortie (1 ère version stable) Juin 2007Mars 2008 (version 1.0) Version (nov. 2008) Type dapplications viséRIARDA LicenceBSDEULA (Moteur)/Open Source Type de technologiePlug-in (~ 1Mo)Moteur dexécution (~ 13 Mo) Communauté / Support Gears.google.com Pré-requis au développement1 script dinitialisation1 SDK (~ 12 Mo) Langages utilisables pour le développement JavaScriptFlash / Flex / JavaScript ExtensionDojoX (simplification)? ExemplesZoho Mail, Google Reader…eBay Desktop, AOL Top 100 Videos… 55ZENIKA - Ecole des Mines de Nantes

56 56 Phase 3 Prototypage à laide de Google Gears Lobjectif de cette troisième partie est la réalisation dun qui devra mettre en jeu les principaux aspects de la technologie Google Gears.

57 Choix du prototype ZENIKA - Ecole des Mines de Nantes57 Ajouter à l'application web ZenContact un mode déconnecté

58 ZenContact ZENIKA - Ecole des Mines de Nantes58 Application web de gestion de contacts reposant sur le framework Wicket Il est possible de créer, modifier ou supprimer un contact de sa liste Objectifs du prototype: rajouter un contact à la liste en mode déconnecté synchroniser la liste avec le serveur lors de la reconnexion

59 Design du prototype ZENIKA - Ecole des Mines de Nantes59

60 Liste des fichiers ZENIKA - Ecole des Mines de Nantes60 4 fichiers jsp pour accéder à la base de données du serveur index.html: page principal offline.js: contient tout le code javascript pour utilise l'API Gears manifest.json: liste des fichiers nécessaires au fonctionnement hors-ligne gears_init.js: script d'initialisation pour Gears prototype.js & DatePicker.js: framework pour AJAX

61 Exemple de code ZENIKA - Ecole des Mines de Nantes61 // Create the local database if not exists // 1. One stores all customers (same data as the one stored on the server) // 2. The other one stores the queuing customer function initializeDB() { try { db = google.gears.factory.create('beta.database', '1.0'); } catch (ex) { alert('Could not create database: ' + ex.message); } if (db) { db.open('gears'); db.execute('CREATE TABLE IF NOT EXISTS localContact ( id int, firstName varchar(255), lastName varchar(255), varchar(255), notes varchar(255), language varchar(255), category varchar(255), active bool, birthDate Date)'); db.execute('CREATE TABLE IF NOT EXISTS datablobs ( id_contact int, status int )'); localServer = google.gears.factory.create("beta.localserver"); } Créer le serveur local pour les fichiers du manifest Créé 2 tables pour la gestion des contacts dans la base SQLite

62 Prototype final ZENIKA - Ecole des Mines de Nantes62

63 Prototype final ZENIKA - Ecole des Mines de Nantes63 Widget graphique pour le statut de la connexion et de la synchronisation avec le serveur Affichage des contacts dans la file d'attente pour la synchronisation Images pour l'état des contacts Synchronisation automatique lors de la reconnexion La déconnexion n'est détectée qu'à travers l'option Travailler en hors-connexion du menu

64 Problèmes rencontrés ZENIKA - Ecole des Mines de Nantes64 Difficultés de debuggage avec le Javascript Pas de gestion de synchronisation concurrente des contacts Détection de la connexion difficile à maitriser Intégration de l'API Gears à Wicket assez compliquée Récupération de la page principale de ZenContact et recodage de toutes les fonctions metiers et ajout des JSPs.

65 Prototype complémentaire avec Adobe Air But Obtenir une version Adobe Air de lapplication ZenContact ayant des fonctionnalités offline similaires à celles de lapplication codée avec Google Gears Deux méthodes possibles (cf slides suivantes) « à la main » « avec les outils de développement » 11/11/08ZENIKA - Ecole des Mines de Nantes

66 Méthode 1: « à la main » Création de fichiers HTML, Css, Javascript et XML avec un simple éditeur de texte. Compilation et packaging en ligne de commandes 11/11/08ZENIKA - Ecole des Mines de Nantes

67 Descripteur de déploiement XML 11/11/08ZENIKA - Ecole des Mines de Nantes Permet de configurer lapplication: fichier à charger au démarrage, taille de la fenêtre…

68 Lignes de commandes Preview de lapplication adl application.xml Signature numérique de lapplication adt -certificate -cn SelfSigned RSA certificat.pfx motdepasse Compilation et packaging (obtention du fichier.air) adt package storetype pkcs12keystore certificat.pfx ZenContactAir.air application.xml ListeDesFichiersAInclure 11/11/08ZENIKA - Ecole des Mines de Nantes

69 Méthode 1: conclusion Avantages Code maitrisé de bout en bout Utilisation doutils gratuits uniquement Idéal pour apprendre Inconvénients Méthode fastidieuse quand le nombre de fichier augmente Débogage limité Design plus difficile 11/11/08ZENIKA - Ecole des Mines de Nantes

70 Méthode 2: « avec des outils de développement» Quels outils? Dreamweaver CS3 Éditeur de sites web permettant une conception par code et par design direct (What You See Is What You Get ) Extention Adobe Air pour Dreamweaver Plug in développé par Adobe ajoutant le support de Air à Dreamweaver FlexBuilder 3.0 IDE basé sur Eclipse pour le développement dapplications web en Flex (format SWF) 11/11/08ZENIKA - Ecole des Mines de Nantes

71 Extention Adobe Air pour Dreamweaver Permet lutilisation de wizards pour la création du XML de déploiement, du certificat de signature numérique ou du packaging de lapplication finale 11/11/08ZENIKA - Ecole des Mines de Nantes

72 Aperçu du prototype (1) 11/11/08ZENIKA - Ecole des Mines de Nantes

73 Aperçu du prototype (2) 11/11/08ZENIKA - Ecole des Mines de Nantes

74 Méthode 2: conclusion Avantages Rapide Efficace Facile dutilisation Adapté à la réalisation dapplications dentreprises (beaucoup de fichier inclus dans une même application) Inconvénients Solutions payantes Dreamweaver: 300 Flex Builder: 215 Méthode retenue malgré tout Utilisation des versions dessai des logiciels pour la réalisation du prototype 11/11/08ZENIKA - Ecole des Mines de Nantes

75 Détection du réseau (1) Pré requis: Connaissances pratiques en Flex 3, MXML, et ActionScript 3.0 FlexBuilder 3.0 La détection du statut du réseau ne peut se faire quen Flex (pas de Javascript pour cette partie) 11/11/08ZENIKA - Ecole des Mines de Nantes

76 Détection du réseau (2) Utilisation dun Event Listener pour écouter lévènement Event.NETWORK_CHANGE Utilisation de la méthode checkNetworkConnection() au démarrage de lapplication pour vérifier le statut de la connexion Le code de cette méthode est décrit dans la slide suivante Cela donne une fonction initialiser() dont le corps est: NativeApplication.nativeApplication.addEventListener(Event. NETWORK_CHANGE, checkNetworkConnection); checkNetworkConnection(); 11/11/08ZENIKA - Ecole des Mines de Nantes

77 Détection du réseau (3) La fonction checkNetworkConnection fait un appel à une URL de test qui autorise le ping du server utilisé. On lui ajoute une série de listeners pour vérifier la connexion, si un appel HTTP peut être effectue et si il ny a pas derreur Cela donne: 11/11/08ZENIKA - Ecole des Mines de Nantes

78 Détection du réseau (4) Le résultat des tests du réseau permet dactiver ou non un drapeau (booléen) appelé networked Cela se fait comme suit: Selon la valeur de networked on dirige les données vers la base de donnée SQLlite locale ou distante 11/11/08ZENIKA - Ecole des Mines de Nantes

79 Installation de lapplication Linstallation de lapplication sur le poste client se fait par un simple double click sur le fichier.air (installation du moteur déxécution Air préalable sur sa machine) 11/11/08ZENIKA - Ecole des Mines de Nantes

80 Lobjectif de cette dernière section est de conclure létude réalisée en émettant un jugement clair et objectif sur la technologie Google Gears, en essayant danticiper les évolutions sur une période dun à trois ans. ZENIKA - Ecole des Mines de Nantes80

81 Solutions exploitables A lheure actuelle, 2 solutions « sérieuses » existent pour créer des applications Web permettant le mode déconnecté : Google Gears Adobe Air Cependant, si ces solutions peuvent conduire à un résultat similaire, la mise en œuvre est très différente : Google Gears : on ajoute à lapplication initiale (exécutable dans un navigateur) des fonctionnalités qui permettent laccès aux ressources locales. Adobe Air : on ajoute à lapplication de bureau une connectivité à Internet (on simule le résultat dun navigateur). 11/11/08ZENIKA - Ecole des Mines de Nantes

82 Difficultés de mise en œuvre (1/2) Globalement, les techniques de mode déconnecté nen sont quà leurs balbutiements. Google Gears comme Adobe Air présentent dans limmédiat un certain nombre de difficultés dans leur mise en œuvre. Adobe Air : à remplir par Jérémy 11/11/08ZENIKA - Ecole des Mines de Nantes

83 Difficultés de mise en œuvre (2/2) Google Gears : sans framework, lutilisation actuelle de loutil reste délicate pour les raisons suivantes : Utilisation exclusive du JavaScript (difficultés de débogage…). Communauté en développement (bien quactive) : peu dexemples pour le moment. 11/11/08ZENIKA - Ecole des Mines de Nantes

84 Gears, loutil le plus avancé Toutefois, si lon devait élire la solution actuellement la plus exploitable, le choix se porterait sur Google Gears. Dans ce qui suit, on va rappeler les points forts essentiels de cet outil. Enfin, nous essaierons de prévoir lavenir de Google Gears dans un avenir proche (1 à 3 ans). 11/11/08ZENIKA - Ecole des Mines de Nantes

85 Points forts (1/3) Un produit « made in Google » : Google a la réputation de fournir des produits complets, fiables et évolutifs. Cette réputation joue en faveur de Google Gears : les utilisateurs potentiels hésiteront moins à sengager sils savent quil sagit dun produit Google. Une activité importante sur les forums : Les échanges qui ont lieu sur le forums montrent lintérêt qui est porté par les développeurs aux fonctionnalités du mode déconnecté. Dans les moteurs de recherche (Google…), lentrée « mode déconnecté » mène très souvent à des articles sur Google Gears. 11/11/08ZENIKA - Ecole des Mines de Nantes

86 Points forts (2/3) Un outil déjà présent dans un certain nombre dapplications : Exemple : ? Cette présence témoigne de la volonté des concepteurs dinclure dans leurs applications des fonctionnalités de mode déconnecté. Des évolutions rapides : Même à létat de prototype (versions 0.x), de nouvelles versions sont mises à disposition régulièrement, enrichies de nouvelles fonctionnalités. 11/11/08ZENIKA - Ecole des Mines de Nantes

87 Points forts (3/3) ZENIKA - Ecole des Mines de Nantes87 Des « frameworks » qui simplifient lutilisation de Google Gears : DojoX : cette bibliothèque rend plus simple la mise en place dapplications en mode déconnecté à laide de Google Gears. De telles initiatives sont bénéfiques puisquelles créent un regain dactivité autour de Google Gears.

88 Prévision à 1 an : les prémices (1/2) ZENIKA - Ecole des Mines de Nantes88 On peut faire les suppositions suivantes : Prise de conscience, dans la communauté des développeurs Web, de lintérêt des fonctionnalités de mode déconnecté. Arrivée de concurrents à Google Gears, certainement avec des technologies moins avancées (retard). Mise à disposition de versions définitives (1.x et supérieures) : stabilité renforcée et fonctionnalités toujours plus nombreuses.

89 Prévisions à 1 an : les prémices (2/2) Eventuellement, apparition dautres « frameworks » qui simplifieront lutilisation de Google Gears en tenant lieu de « surcouche ». Activité croissante sur les forums au fur et à mesure de lémergence des technologies de mode déconnecté dans les applications Web. 11/11/08ZENIKA - Ecole des Mines de Nantes

90 Prévision à 3 ans : la maturité (1/2) ZENIKA - Ecole des Mines de Nantes90 On peut faire les suppositions suivantes : Linclusion de fonctionnalités de mode déconnecté dans les applications Web va se généraliser. De ce fait, les produits Google Gears vont être inclus dans les outils de développement Web (Java,.Net…) : leur utilisation en sera simplifiée et les développeurs nhésiteront plus à lintroduire dans leurs applications. Dautres outils concurrents devraient exister mais Google Gears gardera certainement une longueur davance en raison de ses initiatives actuelles (pionnier).

91 Prévisions à 3 ans : la maturité (2/2) Des articles Web abondants (forums, tutoriels…) : les outils de mode déconnecté vont devenir une technologie à part entière. 11/11/08ZENIKA - Ecole des Mines de Nantes

92 PageTitreURL de référence 1 à 3-- 4ChronologieWikipédia (aux technologies concernées) 5 à à 12Enjeux des AWMDTODO à 20Exemples dapplicationsTODO 21Google Gearshttp://gears.google.com/ à 27Adobe AirTODO 28Browser + / Live MeshTODO 29 à 30Composants et Schéma Google Gearshttp://code.google.com/apis/gears/architecture.ht ml ZENIKA - Ecole des Mines de Nantes92 Références (1/2)

93 Références (2/2) PageTitreURL de référence 93ZENIKA - Ecole des Mines de Nantes


Télécharger ppt "Florent WEBER Cédric CHEDALEUX Thomas GUERIN Jérémy SCHOEN Projet doption ZENIKA – Ecole des Mines de Nantes ZENIKA - Ecole des Mines de Nantes1."

Présentations similaires


Annonces Google