Vous êtes sur la page 1sur 63

Clients Riches : les technologies du march

Etat de lart

Mickal BARON - 2007 (Rv. Janvier 2009) mailto:baron.mickael@gmail.com ou mailto:baron@ensma.fr

Licence

Creative Commons
Contrat Paternit Partage des Conditions Initiales l'Identique
2.0 France

keulkeul.blogspot.com

http://creativecommons.org/licenses/by-sa/2.0/fr
Clients Riches - M. Baron - Page 2

Clients Riches Lobjectif de cette prsentation


Essayer de clarifier les informations concernant les clients riches Aperu global des technologies actuelles et venir Lister les solutions par plateforme de dveloppement (Java, .NET, )

Mise en place du cours


Diffrents articles et billets sur le web traitant du sujet Ressources sur Developpez.com
keulkeul.blogspot.com

Les clients riches, Valtech Training, Peyrusaubes Denis Les technologies riches, Fabien Deshayes
Tous les liens de la prsentation sont disponibles directement sur mon blog keulkeul.blogspot.com

Clients Riches - M. Baron - Page 3

Diffrents types de client Dfinition de client


Logiciel mdiateur entre lutilisateur et le service propos Exemples : FTP, messages lectroniques (mailer), navigateur internet, webmail, jeux vido,

Diffrentes catgories de client


Lourd : le service est disponible sur le poste client avec possibilit de connexion des serveurs
keulkeul.blogspot.com

Exemples : Yahoo Messenger, Word, Money, Battlefield 2, Lger : tout le service est disponible sur des serveurs et lutilisateur y accde par un conteneur spcialis Exemples : Google, Yahoo Mail,
Clients Riches - M. Baron - Page 4

Diffrents types dapplication : client lourd Technologies : Java/Swing, C#/.NET, Tcl/Tk, C++/QT Avantages
Interfaces utilisateurs riches (WIMP, POST-WIMP)

Inconvnients
Dploiement (utilisation de CD, tlchargement/installation) Gestion des versions (patch, problme de compatibilit)
Interfaces riches (possibilit de dessiner dans un canvas, notion hirarchique de composants, )

keulkeul.blogspot.com

Interactions volues (Drag&Drop, popup menu, )


Clients Riches - M. Baron - Page 5

Diffrents types dapplication : client lger Application architecture client / serveur Les technologies pour la gnration et le traitement de la prsentation sont prsentes la fois sur le client mais aussi sur le serveur Technologies ct client
HTML, DHTML, JavaScript,

Technologies ct serveur
PHP, ASP, JSP, JSF,

Avantages
keulkeul.blogspot.com

Maintenance Accessibilit

Inconvnients
Interfaces utilisateurs pauvres et proches du classique formulaires Clients Riches - M. Baron - Page
6

Client lger : Internet et HTTP Les clients lgers dsignent essentiellement toutes les applications associes aux sites Web Laccs aux services se fait par lintermdiaire dun conteneur spcialis qui est gnralement un navigateur
FireFox, Internet Explorer

Les technologies pour le transport entre le serveur et le client sont


Internet HTTP, HTTPS
keulkeul.blogspot.com

Les sites Web actuels se caractrisent par le fameux mode page par page
A chaque requte de lutilisateur (demande) le serveur gnre une nouvelle prsentation Laffichage nest pas continu
Clients Riches - M. Baron - Page 7

Client lger : Internet lorigine A lorigine Internet a vocation de diffuser de linformation statique
HTTP (dconnect) HTML (langage de description de document)

Dploiement
Universel (protocoles standards et rseau standard) Un navigateur suffit
keulkeul.blogspot.com

Pas prvu pour embarquer des applications


Afficher des donnes en temps rel
Le premier navigateur pour Internet : Mosaic
Clients Riches - M. Baron - Page 8

Client lger : Internet et HTTP Application Web et page par page

keulkeul.blogspot.com

On assiste actuellement lmergence de nouvelles technologies permettant dviter le mode page par page introduit par HTTP et Internet

Mode page par page chaque requte un raffichage permanent de la prsentation


Clients Riches - M. Baron - Page 9

Client riche : Internet pilier des nouveaux clients

Accessibilit de lIHM*

+
Client Lger

keulkeul.blogspot.com

Terminaux

Client Lourd

Richesse de lIHM* IHM* = Interfaces Homme-Machine


Clients Riches - M. Baron - Page 10

Client riche : Internet pilier des nouveaux clients Depuis peu un nouveau modle dapplication fait son apparition
Clients riches

Les clients riches reprsentent une fusion des clients lourds et lgers
Interfaces utilisateurs riches Dploiement et maintenance

Ce sont des applications distantes avec les avantages des applications locales
keulkeul.blogspot.com

Technologie permettant de dvelopper la couche prsentation dune application La conception dune application en mode page disparat. La reconstruction de la prsentation aprs chaque requte nexiste plus Clients Riches - M. Baron - Page 11

Client riche : Internet pilier des nouveaux clients Pas de standardisation du terme client riche Pour simplifier, on peut voir les choses de la faon suivante Clients lourds riches ?
Un client lourd offrant des fonctionnalits de dploiement et de mise jour facilit

Clients lgers riches ?


Un client lger offrant des possibilits dinteractions volues comme celles proposes par le client lourd
keulkeul.blogspot.com

Cest quoi alors le Web 2.0 ?


Gnralement cela sadresse la bulle Internet donc pour le client lger riche Un rseau social o les utilisateurs partagent des photos, du texte, de la vido Clients Riches - M. Baron - Page 12

Client riche : Internet pilier des nouveaux clients Davantage de traitement sur le poste client (pas trop non plus) Bien pourvu en composants graphiques de haut niveau Facilement accessible (dploiement et mise jour) Ncessite un conteneur sur le poste client (cest plus une consquence quun impratif)
Navigateur Java Machine virtuelle Eclipse RCP
keulkeul.blogspot.com

Les clients riches existent depuis environ 4~5 ans avec des technologies comme
Applet, Active X Flash HTML avec une bonne dose de JavaScript
Clients Riches - M. Baron - Page 13

Client riche : Internet pilier des nouveaux clients


Couche tudie dans ce cours Le reste de lapplication ne fait pas parti du sujet de ce cours

Client non WEB

JWS, Eclipse RCP, ClickOnce.net


Clients Riches Lourds

Persistance des objets de la prsentation

Technologies EJB

Couche Applicative

Client WEB

Flash, Applet, AJAX, XUL


Clients Riches Lgers Ct client

Outils de gestion des informations

Technologies FTP, MAIL

Couche Services

keulkeul.blogspot.com

Stockage des informations

Technologies Oracle

Le serveur ne vhicule que des donnes via le protocole HTTP

Couche donnes Ct serveur

Clients Riches - M. Baron - Page 14

Clients riches Les clients riches sont en pleines volutions et les standards ne se sont pas encore tablis et imposs Les technologies actuelles vont tre remplaces ou compltes puisquelles ne rpondent plus aux besoins dinterfaces volues
Applet, Flash, Active X et HTML

Actuellement plusieurs technologies mergent et commencent se confronter


Mozilla avec XUL (XML User Language)
keulkeul.blogspot.com

Ajax ( a la mano , GWT) Flash (Flex, AIR) Eclipse RCP, Eclipse RAP Java (Applet et Java Web Start)

Lvolution des clients amne une intgration plus pousse du langage de description XML

.NET, ClickOnce.Net, WPF, XAML, Silverlight de Microsoft


Clients Riches - M. Baron - Page 15

Clients riches Quelle que soit la technologie choisie, une notion de conteneur sur le poste client apparat Le conteneur peut tre de nature diverse
Navigateur Web (Ajax, XUL, ) Interprteur Flash (Flex, Lazsio) Eclipse RCP, RAP FrameWork .NET
keulkeul.blogspot.com

Plusieurs conteneurs peuvent tre utilises. Exemple Applet une machine virtuelle et un navigateur

Machine virtuelle (Applet, JWS)

Pour chaque technologie nous essaierons de les illustrer par des dmonstrations interactives
Clients Riches - M. Baron - Page 16

XUL : XML User Language XUL (XML User Language) est propos par Mozilla et a t le prcurseur pour ces technologies Catgorie de client : client lger riche Lide des dveloppeurs a t de remplacer HTML et dapporter une richesse graphique suprieure Ce langage possde une srie de balises correspondant des composants graphiques (boutons, menus, listes, ) Gecko est un moteur de rendu de XUL
keulkeul.blogspot.com

Le conteneur (cest--dire un navigateur de la famille de Mozilla) reoit un fichier au format XUL et gnre du HTML Dmonstration
www.akbkhome.com/wiki.php/Edit/phpmole_IDE www.abrahamjoffe.com.au/ben/canvascape Clients Riches - M. Baron - Page
17

XUL : XML User Language

Composants graphiques volus

keulkeul.blogspot.com

Applications dans le conteneur FireFox

01 - WYSIWYG Editor

Clients Riches - M. Baron - Page 18

XUL : XML User Language


Sous MAC avec Safari a fonctionne galement !!! Mais pas sous IE

02 - Canvascape

keulkeul.blogspot.com

Les amliorations de Gecko ont permis dajouter la notion de Canvas permettant ainsi de dessiner dans une zone du document

Safari utilise dj la notion de Canvas pour dessiner les composants de Dashboard


Clients Riches - M. Baron - Page 19

XUL : XML User Language XUL et ses drivs


RDF : format de stockage de donne de faon relationnelle. Normalis par le W3C (sert de source de donne par XUL) XPCom : modle de composants qui permet dintgrer des fonctionnalits volues dans Mozilla (principe de plugin)

Adresses utiles
Projet : www.mozilla.org/projects/xul Technologies : xulfr.org

Avis personnels
keulkeul.blogspot.com

XUL pourrait devenir le futur standard choisi par W3C pour les clients riches Couple aux technologies Java cette technologie pourrait devenir prometteuse Ne fonctionne que sous les navigateurs Mozilla
Clients Riches - M. Baron - Page 20

AJAX : Asynchronous JavaScript And XML AJAX signifie Asynchronous JavaScript And XML Catgorie de client : client lger riche Ce nest pas une nouvelle technologie part entire mais une technologie qui regroupe des technologies existantes. Cest une faon dutiliser intelligemment certaines technologies WEB
HTML + CSS + JavaScript + DHTML + = AJAX

keulkeul.blogspot.com

Le principe dAJAX est dviter de rgnrer dans son intgralit la page chaque requte du client mais uniquement par morceau (utilisation du DHTML) Il sagit dune faon de dvelopper une application HTML ancienne (2002) initie par Microsoft mais non portable lpoque Clients Riches - M. Baron - Page 21

AJAX : Asynchronous JavaScript And XML


Navigateur

Interface Utilisateur
Appel JavaScript HTML + CSS Requte HTTP Rponse HTTP Requte HTTP Transport HTTP HTML + CSS

Navigateur

Interface Utilisateur
Rponse HTTP

AJAX Engine

Transport HTTP HTML + CSS

Serveur Web

Serveur Web et XML


keulkeul.blogspot.com

Services ct serveur (base de donnes, )


Serveur Architecture Web classique

Services ct serveur (base de donnes, )


Serveur Architecture Web avec AJAX

Clients Riches - M. Baron - Page 22

AJAX : Asynchronous JavaScript And XML AJAX impose aucun modle de programmation ct serveur Le moteur AJAX est purement abstrait : il ne ncessite aucune librairie sur le client Le mode page disparat seule les donnes transitent par HTTP Linterface graphique utilisateur nest pas rafrachie chaque action de lutilisateur La requte HTTP mise est asynchrone. Pas bloquant, la rponse nest pas attendue
keulkeul.blogspot.com

Le modle vnementiel est obtenu grce aux fonctions JavaScript au dessus de HTML Dmonstrations
Google Suggest : labs.google.com/suggest Netvibes : www.netvibes.com
Clients Riches - M. Baron - Page 23

AJAX : Asynchronous JavaScript And XML Google Suggest propose une compltion automatique du champs de saisie avec les valeurs couramment recherches par les utilisateurs de ce service Comportement similaire aux mcanismes de compltion automatique des environnements de dveloppement Lensemble des valeurs envisageables ne peut tre disponible que sur le serveur Web et non pas en local
keulkeul.blogspot.com

Une requte au serveur est mise chaque fois que la liste des propositions doit tre mise jour (seul les donnes sont retournes au client)
Clients Riches - M. Baron - Page 24

AJAX : Asynchronous JavaScript And XML


Les informations sont retournes au client sans modification du reste de la page (pas de page par page)

03 - Google Suggest

keulkeul.blogspot.com

Google classique , la compltion se fait uniquement sur les informations de lutilisateur


Clients Riches - M. Baron - Page 25

AJAX : Asynchronous JavaScript And XML

keulkeul.blogspot.com

04 - Netvibes

Clients Riches - M. Baron - Page 26

AJAX : Asynchronous JavaScript And XML Adresses utiles


ASP.Net Ajax (Microsoft) : www.asp.net/ajax Sajax : www.modernmethod.com/sajax Framework JavaScript : prototype.conio.net DOJO the Javascript toolkit : dojotoolkit.org DWR : getahead.org/dwr Script.aculo.us : script.aculo.us

Avis personnels
Rien de nouveau au niveau des technologies, elles existent dj
keulkeul.blogspot.com

Rvolutionne la conception dune application web classique : le classique mode par page est oubli Rend la maintenance volutive et corrective complexe Complexit de DHTML On trane les problmes lis JavaScript (pas de typage fort, peu de dbuggeur vraiment efficace)
Clients Riches - M. Baron - Page 27

AJAX : GWT, lAjax pour les nuls GWT (Google Web Toolkit) est un framework pour Java pour le dveloppement dapplications AJAX et qui ne demande pas de connaissance en Javascript Avantages
Le langage Java est utilis pour le dveloppement des IHMs Indpendance du navigateur Web Simplicit de lAPI Programmation la sauce client lourd
keulkeul.blogspot.com

Adresses utiles
Site Google Code : code.google.com/webtoolkit

Dmonstration
GWT Window Manager : www.gwtwindowmanager.org Google reader : www.google.com/reader
Clients Riches - M. Baron - Page 28

AJAX : GWT, lAjax pour les nuls

05 - GWT Window Manager

keulkeul.blogspot.com

Clients Riches - M. Baron - Page 29

AJAX : GWT, lAjax pour les nuls

keulkeul.blogspot.com

06 - Google Reader

Clients Riches - M. Baron - Page 30

Flash Technologie cre par Macromdia (rachet par Adobe)


Excut par un plug-ins des navigateurs Web Portable puisque le plug-in existe sur tous les OS

Catgorie de client : client lourd riche Conu lorigine pour faire des animations portes par des pages Web Des applications plus interactives commencent voir le jour
Pas seulement des vitrines commerciales Des sites applicatifs
keulkeul.blogspot.com

Une publicit anime en flash

Le site clubmed une application entirement en flash


Clients Riches - M. Baron - Page 31

Flash Une application Flash


Est un binaire issu dune compilation Extension SWF Interprte par le plug-in Flash install dans le navigateur 95% des navigateurs du march sont aujourdhui quips du plug-in flash Une pseudo machine virtuelle permet de rendre le fichier SWF indpendant de la plateforme dexcution
keulkeul.blogspot.com

Principe contraire au fameux mode page si cher HTML Pour les animations, les fichiers SWF peuvent tre crs par loutil WYSIWYG dAdobe Flash (programmation visuelle) Dmonstration : maps.yahoo.com
Clients Riches - M. Baron - Page 32

Flash

Un formulaire entirement en flash

keulkeul.blogspot.com

07 - maps.yahoo.com

Clients Riches - M. Baron - Page 33

Flash Pour les applications commerciales un ensemble de composants graphiques de haut niveau sont pr-intgrs au langage (onglets, menus, ) Le binaire dexcution contient
La description des interfaces graphiques Les comportements lis aux vnements

Modle de dveloppement trs descriptif


Un langage de description dinterface graphique Un langage script pour dfinir les vnements et les actions associes
keulkeul.blogspot.com

Aujourdhui deux langages de programmation respectant ce mode de dveloppement sont capables de gnrer un excutable flash
Flex : Adobe (www.adobe.com) Laszlo : LaszloSystem (www.laszlosystem.com)
Clients Riches - M. Baron - Page 34

Flash : Flex Flex se dcompose de la faon suivante


Les fichiers MXML : descriptif XML de linterface graphique Les fichiers de type ActionScript : utilisation dun langage script pour dcrire les interactions entre tous les composants graphiques

Principe de fonctionnement ct serveur


Lors de la premire invocation du client les fichiers MXML et ActionScript sont compils : fichier SWF gnr Le fichier SWF est transmis au client sous un flux
keulkeul.blogspot.com

Ncessite un serveur dexcution ct serveur


Application J2EE pour le moment

Outils de dveloppement
Adobe FLEX Builder Un plug-in pour Eclipse est dans les cartonsClients Riches - M. Baron - Page
35

Flash : Laszlo Fonctionne exactement comme le langage de Adobe FLEX


Un langage XML pour dcrire les interfaces graphiques Un langage script pour leurs interactions

Le compilateur est diffrent et ne permet pas de traiter le langage Flex Le compilateur gnre galement un fichier Flash au format SWF
keulkeul.blogspot.com

Sappuie sur le plug-in Flash Open Source licence de type CPL Dmonstration : www.laszlosystems.com/demos Clients Riches - M. Baron - Page
36

Flash : Laszlo

keulkeul.blogspot.com

08 - Amazon.com

Clients Riches - M. Baron - Page 37

Flash Adresses utiles


Adobe : www.adobe.com/fr/products/flex Laszlo : www.laszlosystem.com

Avis personnels
A utiliser pour des applications hautement graphiques Excellent complment Java Autant de succs que Flash
keulkeul.blogspot.com

Spcialiste du design manipule un langage balises Outill (dans le cas de Flex)

Clients Riches - M. Baron - Page 38

Air Air dAbobe est une sorte denvironnement dexcution multi-plateforme qui peut tre vu comme un lecteur de contenu flash, html et pdf Les applications pourront tre excutes directement sur le systme dexploitation et pas uniquement dans un navigateur
accs aux ressources systmes (fichier) mode connect ou pas utilisation de fonctionnalits natives (tray icon)

Pour la partie flash, elle pourra tre dcrite directement par du flex
keulkeul.blogspot.com

Adresses utiles : labs.adobe.en/technologies/air Dmonstrations : labs.adobe.en/technologies/air/samples Avis personnel


le flash a fait ses preuves et si en plus le pdf et lhtml sy mlent
Clients Riches - M. Baron - Page 39

Eclipse RCP Environnement de dveloppement trs utilis Catgorie de client : client lourd riche Un noyau trs extensible base de plug-in qui permet dtendre les fonctionnalits dEclipse
Accs aux donnes Dbuggeur Gestion de documents XML,

Les plug-ins ne sont pas forcment orients dveloppement


Lecteur de mail : GMailEclipse
keulkeul.blogspot.com

Jeu : dmineur
A la diffrence des autres technologies le support nest plus le navigateur mais Eclipse

Clients Riches - M. Baron - Page 40

Eclipse RCP Une application = un ensemble de plug-in Cest la philosophie dEclipse RCP ( Rich Client Platform ) On dsactive lensemble des fonctionnalits de lenvironnement de dveloppement On implmente la couche de prsentation dune application comme un plug-in dEclipse Les bnfices sont
La richesse des composants et du framework Eclipse (SWT, JFace)
keulkeul.blogspot.com

Des mcanismes de gestions de versions des plugins offerts par Eclipse

Exemples dapplications
www.eclipse.org/community/rcp.php
Clients Riches - M. Baron - Page 41

Eclipse RCP

Utilisation des composants de la bote outils SWT

keulkeul.blogspot.com

Uniformisation du contenu graphique

Clients Riches - M. Baron - Page 42

Eclipse RCP

Un simple diteur de texte

keulkeul.blogspot.com

Un simple navigateur

Nous sommes sous Eclipse et les outils lis la plate-forme de dveloppement (JDT) ne sont pas intgrs

Clients Riches - M. Baron - Page 43

Eclipse RCP Adresses utiles


Eclipse RCP : www.eclipse.org/rcp Eclipse plugin Central : www.eclipseplugincentral.com Exemples dapplication : www.eclipse.org/community/rcp.php

Avis personnels
Approche par composants Interfaces graphiques la hauteur de Swing (SWT) Homognit des applications avec des spcificits dj implmentes
keulkeul.blogspot.com

Soutenu par IBM (Symphony et Lotus Notes) et la fondation Eclipse Gratuit et Open Source Peu de documentation et de tutoriaux (voir mbaron.developpez.com)
Clients Riches - M. Baron - Page 44

Eclipse RAP Eclipse RAP (Rich Ajax Platform) permet le dveloppement dapplications serveur comme une application Eclipse RCP Catgorie de client : client lger riche Une application Eclipse RAP fonctionne dans un conteneur de type navigateur La plateforme RAP fournit des quivalents SWT et JFace appels
keulkeul.blogspot.com

RWT (RAP Widget Toolkit) Web-JFace

Le framework RAP est trs proche de celui propos par GWT dans le sens o le dveloppeur la manire dun client lourd
Clients Riches - M. Baron - Page 45

Eclipse RAP Avantages


Java est utilis pour le dveloppement des IHMs Le dveloppeur na pas besoin de connatre le javascript Indpendance du navigateur Web Programmation par composants via des plug-ins

Adresses utiles
Site Eclipse : www.eclipse.org/rap
keulkeul.blogspot.com

RCP vers RAP : www.volanakis.de/nuggets/RCP_Mail_goes_RAP

Dmonstrations
Eclipse RAP : www.eclipse.org/rap/demos.php
Clients Riches - M. Baron - Page 46

Eclipse RAP

keulkeul.blogspot.com

09 - RAP Startup Page

Clients Riches - M. Baron - Page 47

Eclipse RAP

keulkeul.blogspot.com

10 - Eclipse Discovery

Clients Riches - M. Baron - Page 48

.NET Framework : Clickonce.net, WPF, XAML, Silverlight Catgorie de client : client lourd riche ? Les clients sappellent SmartClient La technologie de dploiement est appele Clickonce.net
Dploiement dapplication .NET (c#, ) Gestion de versions de lapplication concerne Possibilit de revenir une version antrieure

WPF (Windows Presentation Foundation) est le nom de la couche prsentation travers le framework .NET
keulkeul.blogspot.com

WPF permet la sparation de la couche prsentation grce lutilisation du langage XML XAML (Extensible Application Markup Language) Silverlight (ancien WPF/E) est une technologie permettant dutiliser WPF sur le web (un plugin est ajout au navigateur web) Clients Riches - M. Baron - Page 49

.NET Framework : Clickonce.net, WPF, XAML, Silverlight Adresses utiles


Clickonce.net : msdn.microsoft.com/smartclient XAML : www.xaml.net .NET : netfx3.com silverlight : www.microsoft.com/silverlight

Avis personnels
Cest du Microsoft, outils robustes mais technologie verrouille Prennit des technologies ? Uniquement disponibles sur plateforme Windows?
keulkeul.blogspot.com

Clients Riches - M. Baron - Page 50

Solutions Java Catgorie de client : client lourd riche Pour le dploiement des applications deux solutions sont proposes : Applet et Java Web Start Pour la partie graphique diffrentes API sont disponibles
AWT : premire bote outils livre avec la premire version de Java (composants heavyheight) Swing : volution de la bote outils AWT (composants lightheight)
keulkeul.blogspot.com

JavaFX : bibliothque graphique apparue rcemment destine concurrencer les technologies flash Mais aussi les API dEclipse SWT et JFace

Dans la suite, nous approfondirons les solutions de dploiement

Clients Riches - M. Baron - Page 51

Solutions Java : Applet Une Applet est un programme Java qui sexcute dans un navigateur web ou dans lappletviewer du JDK Une Applet Java peut exploiter toutes les API fournies par la JDK de Sun (Swing, Rseau, ) Une Applet est une application qui s'excute du ct client et qui se trouve physiquement sur un serveur web
keulkeul.blogspot.com

Lexcution de lApplet est obtenue dans la page html via lutilisation de balises spcifiques Possibilit de combiner plusieurs Applets dans une mme page web
Clients Riches - M. Baron - Page 52

Solutions Java : Applet Une Applet fonctionne par lintermdiaire dune machine virtuelle Java Par dfaut, les navigateurs disposent dune machine virtuelle pour excuter toutes Applet Java de version <= 1.1
Utilisation de lAPI graphique AWT

Si lApplet a t dveloppe avec une JDK > 1.1 ncessit dinstaller explicitement une machine virtuelle sur le poste client
Utilisation de lAPI graphique SWING
keulkeul.blogspot.com

Les Applets sont multi systmes mais ncessitent gnralement le tlchargement dune machine virtuelle rcente Dmonstration : www.java.com/fr
Clients Riches - M. Baron - Page 53

Solutions Java : Applet La technologie Applet de Sun est une technologie pour clients riches et exploite le langage Java Avantages
API graphiques puissantes AWT et Swing Portabilit sur toutes les plates-formes qui supportent Java Scurit via le bac sable (voir section suivante)

Inconvnients
Connaissance ncessaire de Java pour faire des interfaces mme si des gnrateurs de prsentation existent
keulkeul.blogspot.com

Installation de la dernire JDK pour excuter des Applets qui utilisent Swing Non homognit des interfaces entre les Applets et les pages HTML/JSP Technologie trop rcente lpoque et victime de sa puissance Utilisation non adapte
Clients Riches - M. Baron - Page 54

Solutions Java : Java Web Start Java Web Start permet le dploiement dapplications en locale travers le rseau (stand-alone) Permet linstallation dune application dite client lourd grce un simple lien hypertexte dune page web Il est inutile de modifier une application dj dveloppe pour quelle puisse tre utilise avec Java Web Start Les avantages de cette technologie sont
mise jour automatique de lapplication si une nouvelle version est disponible
keulkeul.blogspot.com

assure une mise en cache locale des applications pour acclrer leur rutilisation ou si la machine client nest pas connecte scurit des applications assure par lutilisation du bac sable (voir section prcdente)

Toute application dployer avec JWS est une application dite client lourd/riche Clients Riches - M. Baron - Page 55

Solutions Java : Java Web Start Java Web Start utilise et implmente une API et un protocole appels Java Network Lauching Protocol (JNLP) Pour utiliser cette technologie il faut dfinir un fichier de description XML dcrivant lapplication excuter (JNLP) Cette technologie est disponible sur toutes les plateformes qui supportent Java (apparu depuis la version J2SE 1.4) Lutilisation dune application implique de
packager lapplication dans un fichier JAR (section prcdente) crer le fichier de lancement au format jnlp
keulkeul.blogspot.com

copier les deux fichiers sur le serveur web

Ressources sur JNLP et JWS


java.sun.com/j2se/1.5.0/docs/guide/deployment/index.html today.java.net/pub/a/today/2005/09/01/webstart.html webstartfaq.com
Clients Riches - M. Baron - Page 56

Solutions Java : Java Web Start LimeWire un outil de tlchargement Site : www.limewire.com

keulkeul.blogspot.com

Clients Riches - M. Baron - Page 57

Solutions Java : Java Web Start Maple un outil pour les mathmatiques Site : www.maplesoft.com

keulkeul.blogspot.com

Clients Riches - M. Baron - Page 58

Solutions Java : Java Web Start Jake2 est la version Java de Quake 2 Site : www.bytonic.de/html/jake2_webstart.html
12 - Jake 2

keulkeul.blogspot.com

Clients Riches - M. Baron - Page 59

Solutions Java : JavaFX Diffrentes botes outils sont disponibles pour la plateforme Java : AWT, Swing, SWT et JFace JavaFX sorti dernirement se veut tre un concurrent aux langages de types Flex et Silverlight JavaFX est un langage de script bas sur le projet F3 (Form Follows Function) orient IHM Ce langage est destin galement tre diffus sur diffrentes plateformes : Desktop, Web et mobile Avis personnel : encore un langage, va-t-il pouvoir simposer?
keulkeul.blogspot.com

Adresses utiles
Site officiel : openjfx.dev.java.net et javafx.com Blog de Chris Oliver : blogs.sun.com/chrisoliver/entry/F3

Dmonstrations
Site officiel : javafx.com/samples
Clients Riches - M. Baron - Page 60

Solutions Java : JavaFX

13 - WeatherFX

keulkeul.blogspot.com

14 - Motorola

Clients Riches - M. Baron - Page 61

Clients riches : bilan Un march en pleine effervescence


Mozilla avec XUL (XML User Language) Ajax ( a la mano , GWT) Flash (Flex, OpenLaszlo, AIR) Eclipse RCP, Eclipse RAP .NET, ClickOnce.Net, WPF, XAML, Silverlight de Microsoft Java (Applet, Java Web Start, AWT/Swing, JavaFX)

Des solutions techniquement trs diffrentes et des stades de maturit ingaux


keulkeul.blogspot.com

Des enjeux qui dpendent finalement beaucoup du contexte


Les technologies client riche apportent des solutions de nombreux besoins des applications de gestion dveloppes en intranet Plusieurs sites sur Internet commencent utiliser Flash pour faire autre chose que des animations Clients Riches - M. Baron - Page
62

Clients riches : bilan Plusieurs freins apparaissent toutefois


Pas toujours facile dentendre dire que le langage HTML ne rpond finalement plus au besoin ! Problme de formation : il faut trouver les dveloppeurs Flex, Laszlo ou Eclipse RCP Problme doutillage : les outils ne sont pas forcment existant (XUL, Ajax, )

Quen est-il de HTTP ?


keulkeul.blogspot.com

Protocole dconnect implique beaucoup de problmes importants : transaction, scurit, Les volumes dinformation sont de plus en plus importants et le nombre de requtes va en constante augmentation
Clients Riches - M. Baron - Page 63