Publier
Consulter, acheter et télécharger des documents, présentations, modèles et ebooks sur Needocs (PDF, Word, Powerpoint, Excel)

Clients riches : les technologies du marché

Téléchargement
Publié par : Docenstoc
Clients Riches : les
technologies du marché
Etat de l’art
Mickaël BARON - 2007 (Rév. 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
logspot.com
http://creativecommons.org/licenses/by-sa/2.0/fr
b
keulkeul.
Clients Riches - M. Baron - Page 2

Clients Riches
L’objectif de cette présentation
« Essayer » de clarifier les informations concernant les clients riches
Aperçu global des technologies actuelles et à venir
Lister les solutions par plateforme de développement (Java, .NET, …)
Mise en place du cours
Différents articles et billets sur le web traitant du sujet
Ressources sur Developpez.com
Les clients riches, Valtech Training, Peyrusaubes Denis
Les technologies riches, Fabien Deshayes
logspot.comb
Tous les liens de la présentation
sont disponibles directement sur
keulkeul.
mon blog keulkeul.blogspot.com
Clients Riches - M. Baron - Page 3

Différents types de client
Définition de « client »
Logiciel médiateur entre l’utilisateur et le service proposé
Exemples : FTP, messages électroniques (mailer), navigateur internet,
webmail, jeux vidéo, …
Différentes catégories de client
Lourd : le service est disponible sur le poste client avec possibilité de
connexion à des serveurs
Exemples : Yahoo Messenger, Word, Money, Battlefield 2, …
Léger : tout le service est disponible sur des serveurs et l’utilisateur y
logspot.comb
accède par un conteneur spécialisé
keulkeul.
Exemples : Google, Yahoo Mail, …
Clients Riches - M. Baron - Page 4

Différents types d’application : client lourd
Technologies : Java/Swing, C#/.NET, Tcl/Tk, C++/QT
Avantages
Interfaces utilisateurs riches (WIMP, POST-WIMP)
Inconvénients
Déploiement (utilisation de CD, téléchargement/installation)
Gestion des versions (patch, problème de compatibilité)
Interfaces riches (possibilité
de dessiner dans un canvas,
notion hiérarchique de
composants, …)
logspot.com
Interactions évoluées
b
(Drag&Drop, popup menu, …)
keulkeul.
Clients Riches - M. Baron - Page 5

Différents types d’application : client léger
Application à architecture client / serveur
Les technologies pour la génération et le traitement de la
présentation sont présentes à la fois sur le client mais aussi
sur le serveur
Technologies côté client
HTML, DHTML, JavaScript, …
Technologies côté serveur
PHP, ASP, JSP, JSF, …
Avantages
Maintenance
Accessibilité
logspot.comb
Inconvénients
Interfaces utilisateurs pauvres et proches du
keulkeul.
classique formulaires
Clients Riches - M. Baron - Page 6

Client léger : Internet et HTTP
Les clients légers désignent essentiellement toutes les
applications associées aux sites Web
L’accès aux services se fait par l’intermédiaire d’un
conteneur spécialisé qui est généralement un navigateur
FireFox, Internet Explorer
Les technologies pour le transport entre le serveur et le
client sont
Internet
HTTP, HTTPS
Les sites Web actuels se caractérisent par le fameux mode
page par page
logspot.comb
A chaque requête de l’utilisateur (demande) le serveur génère une
nouvelle présentation
keulkeul.
L’affichage n’est pas continu
Clients Riches - M. Baron - Page 7

Client léger : Internet à l’origine
A l’origine Internet a vocation de diffuser de l’information
statique
HTTP (déconnecté)
HTML (langage de description de document)
Déploiement
Universel (protocoles standards et
réseau standard)
Un navigateur suffit
Pas prévu pour embarquer des
applications
logspot.comb
Afficher des données en temps réel
Le premier navigateur pour
keulkeul.
Internet : Mosaic
Clients Riches - M. Baron - Page 8

Client léger : Internet et HTTP
Application Web et page par page
logspot.com
On assiste actuellement à l’émergence
b
Mode page par page à chaque
de nouvelles technologies permettant
requête un réaffichage
d’éviter le mode page par page introduit
permanent de la présentation
keulkeul.
par HTTP et Internet
Clients Riches - M. Baron - Page 9

Client riche : Internet pilier des nouveaux clients
+
M*IH
Client Léger
Accessibilité de l’
logspot.com
Terminaux
b
Client Lourd
Richesse de l’IHM*
keulkeul.
IHM* = Interfaces Homme-Machine
Clients Riches - M. Baron - Page 10

Client riche : Internet pilier des nouveaux clients
Depuis peu un nouveau modèle d’application fait son
apparition
Clients « riches »
Les clients riches représentent une fusion des clients
« lourds » et « légers »
Interfaces utilisateurs riches
Déploiement et maintenance
Ce sont des applications distantes avec les avantages des
applications locales
Technologie permettant de développer la couche présentation
d’une application
logspot.comb
La conception d’une application en mode « page » disparaît.
La reconstruction de la présentation après chaque requête
keulkeul.
n’existe 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 façon suivante
Clients lourds riches ?
Un client lourd offrant des fonctionnalités de déploiement et de mise à
jour facilité
Clients légers riches ?
Un client léger offrant des possibilités d’interactions évoluées comme
celles proposées par le client lourd
C’est quoi alors le Web 2.0 ?
Généralement cela s’adresse à la bulle Internet donc pour le client
logspot.com
léger riche
b
Un réseau social où les utilisateurs partagent des photos, du texte, de
keulkeul.
la vidéo
Clients Riches - M. Baron - Page 12

Client riche : Internet pilier des nouveaux clients
D’avantage de traitement sur le poste client (pas trop non
plus)
Bien pourvu en composants graphiques de haut niveau
Facilement accessible (déploiement et mise à jour)
Nécessite un conteneur sur le poste client (c’est plus une
conséquence qu’un impératif)
Navigateur
Java Machine virtuelle
Eclipse RCP
Les clients « riches » existent depuis environ 4~5 ans avec
des technologies comme
logspot.com
Applet, Active X
b
Flash
keulkeul.
HTML avec une bonne dose de JavaScript Clients Riches - M. Baron - Page 13

Client riche : Internet pilier des nouveaux clients
Couche étudiée dans ce
Le reste de l’application ne fait
cours
pas parti du sujet de ce cours
Client non WEB
Persistance des
Technologies
objets de la
JWS, Eclipse
EJB
présentation
RCP,
ClickOnce.net
Couche Applicative
Clients Riches Lourds
Outils de
Technologies
gestion des
FTP, MAIL
informations
Client WEB
Flash, Applet,
AJAX, XUL
Couche Services
Clients Riches Légers
Stockage des
Technologies
Côté client
informations
Oracle
logspot.comb
Couche données
Le serveur ne véhicule
Côté serveur
que des données via le
keulkeul.
protocole HTTP
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 imposés
Les technologies actuelles vont être remplacées ou
complétées puisqu’elles ne répondent plus aux besoins
d’interfaces évoluées
Applet, Flash, Active X et HTML
Actuellement plusieurs technologies émergent et commencent
à se confronter
Mozilla avec XUL (XML User Language)
L’évolution des clients
Ajax (« a la mano », GWT)
amène à une intégration
Flash (Flex, AIR)
plus poussée du langage
de description XML
logspot.com
Eclipse RCP, Eclipse RAP
b
.NET, ClickOnce.Net, WPF, XAML, Silverlight de Microsoft
keulkeul.
Java (Applet et Java Web Start)
Clients Riches - M. Baron - Page 15

Clients « riches »
Quelle que soit la technologie choisie, une notion de
conteneur sur le poste client apparaît …
Le conteneur peut être de nature diverse
Navigateur Web (Ajax, XUL, …)
Interpréteur Flash (Flex, Lazsio)
Plusieurs conteneurs peuvent
être utilisées. Exemple
Eclipse RCP, RAP
« Applet » une machine
virtuelle et un navigateur
FrameWork .NET
Machine virtuelle (Applet, JWS)
logspot.comb
Pour chaque technologie nous essaierons de les illustrer par
des démonstrations interactives
keulkeul.
Clients Riches - M. Baron - Page 16

XUL : XML User Language
XUL (XML User Language) est proposé par Mozilla et a été le
précurseur pour ces technologies
Catégorie de client : client léger riche
L’idée des développeurs a été de remplacer HTML et
d’apporter une richesse graphique supérieure
Ce langage possède une série de balises correspondant à
des composants graphiques (boutons, menus, listes, …)
Gecko est un moteur de rendu de XUL
Le conteneur (c’est-à-dire un navigateur de la famille de
Mozilla) reçoit un fichier au format XUL et génère du HTML
logspot.com
Démonstration
b
www.akbkhome.com/wiki.php/Edit/phpmole_IDE
keulkeul.
www.abrahamjoffe.com.au/ben/canvascapeClients Riches - M. Baron - Page 17

XUL : XML User Language
Composants
graphiques
évolués
logspot.comb
Applications dans le conteneur
keulkeul.
FireFox
01 - WYSIWYG Editor
Clients Riches - M. Baron - Page 18

XUL : XML User Language
Sous MAC avec
Safari ça
fonctionne
02 - Canvascape
également !!!
Mais pas sous IE
Les améliorations de Gecko ont
Safari utilise déjà la notion
logspot.comb
permis d’ajouter la notion de
de Canvas pour dessiner les
« Canvas » permettant ainsi de
composants de Dashboard
dessiner dans une zone du
keulkeul.
document
Clients Riches - M. Baron - Page 19

XUL : XML User Language
XUL et ses dérivés
RDF : format de stockage de donnée de façon relationnelle.
Normalisé par le W3C (sert de source de donnée par XUL)
XPCom : modèle de composants qui permet d’intégrer des
fonctionnalités évoluées dans Mozilla (principe de plugin)
Adresses utiles
Projet : www.mozilla.org/projects/xul
Technologies : xulfr.org
Avis personnels
XUL pourrait devenir le futur standard choisi par W3C pour les clients
riches
logspot.com
Couplée aux technologies Java cette technologie pourrait devenir
b
prometteuse
keulkeul.
Ne fonctionne que sous les navigateurs Mozilla
Clients Riches - M. Baron - Page 20

AJAX : Asynchronous JavaScript And XML
AJAX signifie Asynchronous JavaScript And XML
Catégorie de client : client léger riche
Ce n’est pas une nouvelle technologie à part entière mais
une technologie qui regroupe des technologies existantes.
C’est une façon d’utiliser intelligemment certaines techno-
logies WEB
HTML + CSS + JavaScript + DHTML + … = AJAX
Le principe d’AJAX est d’éviter de régénérer dans son
intégralité la page à chaque requête du client mais
uniquement par morceau (utilisation du DHTML)
logspot.com
Il s’agit d’une façon de développer une « application HTML »
b
ancienne (2002) initiée par Microsoft … mais non portable à
keulkeul.
l’époque
Clients Riches - M. Baron - Page 21

AJAX : Asynchronous JavaScript And XML
Navigateur
Navigateur
Interface Utilisateur
Interface Utilisateur
Appel JavaScript
HTML + CSS
Réponse
Requête
HTTP
Transport HTTP
AJAX Engine
HTTP
HTML + CSS
Réponse
HTTP
Transport HTTP
Serveur Web
Requête
HTML + CSS
HTTP
Serveur Web et XML
Services côté serveur
(base de données, …)
Services côté serveur
Serveur
logspot.comb
(base de données, …)
Architecture Web classique
Serveur
keulkeul.
Architecture Web avec AJAX
Clients Riches - M. Baron - Page 22

AJAX : Asynchronous JavaScript And XML
AJAX impose aucun modèle de programmation côté serveur
Le moteur AJAX est purement abstrait : il ne nécessite
aucune librairie sur le client
Le mode « page » disparaît seule les données transitent par
HTTP
L’interface graphique utilisateur n’est pas rafraîchie à chaque
action de l’utilisateur
La requête HTTP émise est asynchrone. Pas bloquant, la
réponse n’est pas attendue
Le modèle « événementiel » est obtenu grâce aux fonctions
JavaScript au dessus de HTML
logspot.comb
Démonstrations
Google Suggest : labs.google.com/suggest
keulkeul.
Netvibes : www.netvibes.com
Clients Riches - M. Baron - Page 23

AJAX : Asynchronous JavaScript And XML
Google Suggest propose une « complétion » automatique du
champs de saisie avec les valeurs couramment recherchées
par les utilisateurs de ce service
Comportement similaire aux mécanismes de « complétion »
automatique des environnements de développement
L’ensemble des valeurs envisageables ne peut être disponible
que sur le serveur Web et non pas en local
Une requête au serveur est émise à chaque fois que la liste
logspot.comb
des propositions doit être mise à jour (seul les données sont
keulkeul.
retournées au client)
Clients Riches - M. Baron - Page 24

AJAX : Asynchronous JavaScript And XML
Les informations sont
retournées au client sans
modification du reste de la
page (pas de page par page)
03 - Google Suggest
Google « classique », la
logspot.com
complétion se fait uniquement
b
sur les informations de
l’utilisateur
keulkeul.
Clients Riches - M. Baron - Page 25

AJAX : Asynchronous JavaScript And XML
logspot.comb
keulkeul.
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 déjà
Révolutionne la conception d’une application web classique : le
classique mode par page est oublié
Rend la maintenance évolutive et corrective complexe
logspot.comb
Complexité de DHTML
On traîne les problèmes liés à JavaScript (pas de typage fort,
keulkeul.
peu de débuggeur vraiment efficace) Clients Riches - M. Baron - Page 27

AJAX : GWT, l’Ajax pour les « nuls »
GWT (Google Web Toolkit) est un framework pour Java pour
le développement d’applications AJAX et qui ne demande pas
de connaissance en Javascript
Avantages
Le langage Java est utilisé pour le développement des IHMs
Indépendance du navigateur Web
Simplicité de l’API
Programmation à la « sauce » client lourd
Adresses utiles
Site Google Code : code.google.com/webtoolkit
logspot.com
Démonstration
b
GWT Window Manager : www.gwtwindowmanager.org
keulkeul.
Google reader : www.google.com/reader
Clients Riches - M. Baron - Page 28

AJAX : GWT, l’Ajax pour les « nuls »
05 - GWT
Window
Manager
logspot.comb
keulkeul.
Clients Riches - M. Baron - Page 29

AJAX : GWT, l’Ajax pour les « nuls »
logspot.comb
keulkeul.
06 - Google Reader
Clients Riches - M. Baron - Page 30

Flash
Technologie créée par Macromédia (racheté par Adobe)
Exécuté par un plug-ins des navigateurs Web
« Portable » puisque le plug-in existe sur tous les OS
Catégorie de client : client lourd riche
Conçu à l’origine pour faire des animations portées par des
pages Web
Des applications plus interactives commencent à voir le jour
Pas seulement des vitrines commerciales
Une publicité
Des sites applicatifs
animée en
flash
Le site
clubmed une
logspot.comb
application
entièrement en
flash
keulkeul.
Clients Riches - M. Baron - Page 31

Flash
Une application Flash
Est un binaire issu d’une compilation
Extension SWF
Interprétée par le plug-in Flash installé dans le navigateur
95% des navigateurs du marché sont aujourd’hui équipés du
plug-in flash
Une pseudo machine virtuelle permet de rendre le fichier SWF
indépendant de la plateforme d’exécution
Principe contraire au fameux « mode page » si cher à HTML
Pour les animations, les fichiers SWF peuvent être créés par
logspot.comb
l’outil WYSIWYG d’Adobe Flash (programmation visuelle)
keulkeul.
Démonstration : maps.yahoo.com
Clients Riches - M. Baron - Page 32

Flash
Un formulaire
entièrement en flash
logspot.comb
keulkeul.
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é-intégrés au
langage (onglets, menus, …)
Le binaire d’exécution contient
La description des interfaces graphiques
Les comportements liés aux événements
Modèle de développement très descriptif
Un langage de description d’interface graphique
Un langage script pour définir les événements et les actions associées
Aujourd’hui deux langages de programmation respectant ce
mode de développement sont capables de générer un
exécutable flash
logspot.comb
Flex : Adobe (www.adobe.com)
keulkeul.
Laszlo : LaszloSystem (www.laszlosystem.com)
Clients Riches - M. Baron - Page 34

Flash : Flex
Flex se décompose de la façon suivante
Les fichiers MXML : descriptif XML de l’interface graphique
Les fichiers de type ActionScript : utilisation d’un langage script pour
décrire les interactions entre tous les composants graphiques
Principe de fonctionnement côté serveur
Lors de la première invocation du client les fichiers MXML et
ActionScript sont compilés : fichier SWF généré
Le fichier SWF est transmis au client sous un flux
Nécessite un serveur d’exécution côté serveur
Application J2EE pour le moment
logspot.com
Outils de développement
b
Adobe FLEX Builder
keulkeul.
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 décrire les interfaces graphiques
Un langage script pour leurs interactions
Le compilateur est différent et ne permet pas de traiter le
langage Flex
Le compilateur génère également un fichier Flash au format
SWF
S’appuie sur le plug-in Flash
logspot.comb
Open Source licence de type CPL
keulkeul.
Démonstration : www.laszlosystems.com/demos
Clients Riches - M. Baron - Page 36

Flash : Laszlo
logspot.comb
keulkeul.
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 complément à Java
Autant de succès que Flash
Spécialiste du design manipule un langage à balises
Outillé (dans le cas de Flex)
logspot.comb
keulkeul.
Clients Riches - M. Baron - Page 38

Air
Air d’Abobe est une sorte d’environnement d’exécution
multi-plateforme qui peut être vu comme un lecteur de
contenu flash, html et pdf
Les applications pourront être exécutées directement sur le
système d’exploitation et pas uniquement dans un navigateur
accès aux ressources systèmes (fichier)
mode connecté ou pas
utilisation de fonctionnalités natives (tray icon)
Pour la partie flash, elle pourra être décrite directement par
du flex
Adresses utiles : labs.adobe.en/technologies/air
Démonstrations : labs.adobe.en/technologies/air/samples
logspot.comb
Avis personnel
keulkeul.
le flash a fait ses preuves et si en plus le pdf et l’html s’y mêlent …
Clients Riches - M. Baron - Page 39

Eclipse RCP
Environnement de développement très utilisé
Catégorie de client : client lourd riche
Un noyau très extensible à base de plug-in qui permet
d’étendre les fonctionnalités d’Eclipse
Accès aux données
Débuggeur
Gestion de documents XML, …
Les plug-ins ne sont pas forcément orientés développement
Lecteur de mail : GMailEclipse
Jeu : démineur
A la différence des autres
logspot.comb
technologies le support
n’est plus le navigateur
keulkeul.
mais Eclipse
Clients Riches - M. Baron - Page 40

Eclipse RCP
Une application = un ensemble de plug-in
C’est la philosophie d’Eclipse RCP (« Rich Client Platform »)
On désactive l’ensemble des fonctionnalités de l’environ-
nement de développement
On implémente la couche de présentation d’une application
comme un plug-in d’Eclipse
Les bénéfices sont
La richesse des composants et du framework Eclipse (SWT, JFace)
Des mécanismes de gestions de versions des plugins offerts par
Eclipse
logspot.comb
Exemples d’applications
keulkeul.
www.eclipse.org/community/rcp.php
Clients Riches - M. Baron - Page 41

Eclipse RCP
Utilisation des composants
de la boîte à outils SWT
Uniformisation du
contenu graphique
logspot.comb
keulkeul.
Clients Riches - M. Baron - Page 42

Eclipse RCP
Un simple éditeur de texte
Un simple navigateur
logspot.comb
Nous sommes sous Eclipse et les outils
liés à la plate-forme de développement
keulkeul.
(JDT) ne sont pas intégrés
Clients Riches - M. Baron - Page 43

Eclipse RCP
Adresses utiles
Eclipse RCP : www.eclipse.org/rcp
Eclipse plugin Central : www.eclipseplugincentral.com
Exemples d’application : www.eclipse.org/community/rcp.php
Avis personnels
Approche par composants
Interfaces graphiques à la hauteur de Swing (SWT)
Homogénéité des applications avec des spécificités déjà implémentées
Soutenu par IBM (Symphony et Lotus Notes) et la fondation Eclipse
logspot.comb
Gratuit et Open Source
Peu de documentation et de tutoriaux (voir mbaron.developpez.com)
keulkeul.
Clients Riches - M. Baron - Page 44

Eclipse RAP
Eclipse RAP (Rich Ajax Platform) permet le développement
d’applications serveur comme une application Eclipse RCP
Catégorie de client : client léger riche
Une application Eclipse RAP fonctionne dans un conteneur
de type navigateur
La plateforme RAP fournit des équivalents à SWT et JFace
appelés
RWT (RAP Widget Toolkit)
Web-JFace
logspot.comb
Le framework RAP est très proche de celui proposé par GWT
dans le sens où le développeur à la manière d’un client lourd
keulkeul.
Clients Riches - M. Baron - Page 45

Eclipse RAP
Avantages
Java est utilisé pour le développement des IHMs
Le développeur n’a pas besoin de connaître le javascript
Indépendance du navigateur Web
Programmation par « composants » via des plug-ins
Adresses utiles
Site Eclipse : www.eclipse.org/rap
RCP vers RAP : www.volanakis.de/nuggets/RCP_Mail_goes_RAP
logspot.comb
Démonstrations
Eclipse RAP : www.eclipse.org/rap/demos.php
keulkeul.
Clients Riches - M. Baron - Page 46

Eclipse RAP
logspot.comb
keulkeul.
09 - RAP Startup Page
Clients Riches - M. Baron - Page 47

Eclipse RAP
logspot.comb
keulkeul.
10 - Eclipse Discovery
Clients Riches - M. Baron - Page 48

.NET Framework : Clickonce.net, WPF, XAML, Silverlight
Catégorie de client : client lourd riche ?
Les clients s’appellent SmartClient
La technologie de déploiement est appelée Clickonce.net
Déploiement d’application .NET (c#, …)
Gestion de versions de l’application concernée
Possibilité de revenir à une version antérieure
WPF (Windows Presentation Foundation) est le nom de la
couche présentation à travers le framework .NET
WPF permet la séparation de la couche présentation grâce à
l’utilisation du langage XML XAML (Extensible Application
Markup Language)
logspot.comb
Silverlight (ancien WPF/E) est une technologie permettant
d’utiliser WPF sur le web (un plugin est ajouté au
keulkeul.
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
C’est du Microsoft, outils robustes mais technologie verrouillée
Pérennité des technologies ?
Uniquement disponibles sur plateforme Windows?
logspot.comb
keulkeul.
Clients Riches - M. Baron - Page 50

Solutions Java
Catégorie de client : client lourd riche
Pour le déploiement des applications deux solutions sont
proposées : Applet et Java Web Start
Pour la partie graphique différentes API sont disponibles
AWT : première boîte à outils livrée avec la première version de Java
(composants heavyheight)
Swing : évolution de la boîte à outils AWT (composants lightheight)
JavaFX : bibliothèque graphique apparue récemment destinée à
concurrencer les technologies flash
Mais aussi les API d’Eclipse SWT et JFace
logspot.comb
Dans la suite, nous approfondirons les solutions de
keulkeul.
déploiement
Clients Riches - M. Baron - Page 51

Solutions Java : Applet
Une Applet est un programme Java qui s’exécute dans un
navigateur web ou dans l’appletviewer du JDK
Une Applet Java peut exploiter toutes les API fournies par
la JDK de Sun (Swing, Réseau, …)
Une Applet est une application qui s'exécute du côté client
et qui se trouve physiquement sur un serveur web
L’exécution de l’Applet est obtenue dans la page html via
l’utilisation de balises spécifiques
logspot.comb
Possibilité de combiner plusieurs Applets dans une même
keulkeul.
page web
Clients Riches - M. Baron - Page 52

Solutions Java : Applet
Une Applet fonctionne par l’intermédiaire d’une machine
virtuelle Java
Par défaut, les navigateurs disposent d’une machine virtuelle
pour exécuter toutes Applet Java de version <= 1.1
Utilisation de l’API graphique AWT
Si l’Applet a été développée avec une JDK > 1.1 nécessité
d’installer explicitement une machine virtuelle sur le poste
client
Utilisation de l’API graphique SWING
Les Applets sont multi systèmes mais nécessitent
généralement le téléchargement d’une machine virtuelle
logspot.comb
récente
Démonstration : www.java.com/fr
keulkeul.
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
Sécurité via le bac à sable (voir section suivante)
Inconvénients
Connaissance nécessaire de Java pour faire des interfaces même si
des générateurs de présentation existent
Installation de la dernière JDK pour exécuter des Applets qui utilisent
Swing
Non homogénéité des interfaces entre les Applets et les pages
logspot.comb
HTML/JSP
Technologie trop récente à l’époque et victime de sa puissance
keulkeul.
Utilisation non adaptée
Clients Riches - M. Baron - Page 54

Solutions Java : Java Web Start
Java Web Start permet le déploiement d’applications en locale
à travers le réseau (stand-alone)
Permet l’installation d’une application dite « client lourd »
grâce à un simple lien hypertexte d’une page web
Il est inutile de modifier une application déjà développée pour
qu’elle puisse être utilisée avec Java Web Start
Les avantages de cette technologie sont
mise à jour automatique de l’application si une nouvelle version est
disponible
assure une mise en cache locale des applications pour accélérer leur
réutilisation ou si la machine client n’est pas connectée
sécurité des applications assurée par l’utilisation du bac à sable (voir
logspot.comb
section précédente)
Toute application déployer avec JWS est une application dite
keulkeul.
client « lourd/riche »
Clients Riches - M. Baron - Page 55

Solutions Java : Java Web Start
Java Web Start utilise et implémente une API et un protocole
appelés Java Network Lauching Protocol (JNLP)
Pour utiliser cette technologie il faut définir un fichier de
description XML décrivant l’application à exécuter (JNLP)
Cette technologie est disponible sur toutes les plateformes qui
supportent Java (apparu depuis la version J2SE 1.4)
L’utilisation d’une application implique de
packager l’application dans un fichier JAR (section précédente)
créer le fichier de lancement au format « jnlp »
copier les deux fichiers sur le serveur web
Ressources sur JNLP et JWS
logspot.comb
java.sun.com/j2se/1.5.0/docs/guide/deployment/index.html
today.java.net/pub/a/today/2005/09/01/webstart.html
keulkeul.
webstartfaq.com
Clients Riches - M. Baron - Page 56

Solutions Java : Java Web Start
LimeWire un outil de téléchargement
Site : www.limewire.com
logspot.comb
keulkeul.
Clients Riches - M. Baron - Page 57

Solutions Java : Java Web Start
Maple un outil pour les mathématiques
Site : www.maplesoft.com
logspot.comb
keulkeul.
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
logspot.comb
keulkeul.
Clients Riches - M. Baron - Page 59

Solutions Java : JavaFX
Différentes boîtes à outils sont disponibles pour la plateforme
Java : AWT, Swing, SWT et JFace
JavaFX sorti dernièrement 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 différen-
tes plateformes : Desktop, Web et mobile
Avis personnel : encore un langage, va-t-il pouvoir s’imposer?
Adresses utiles
Site officiel : openjfx.dev.java.net et javafx.com
logspot.com
Blog de Chris Oliver : blogs.sun.com/chrisoliver/entry/F3
b
Démonstrations
keulkeul.
Site officiel : javafx.com/samples
Clients Riches - M. Baron - Page 60

Solutions Java : JavaFX
13 - WeatherFX
14 - Motorola
logspot.comb
keulkeul.
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 très différentes et à des stades
de maturité inégaux
Des enjeux qui dépendent finalement beaucoup du contexte
Les technologies « client riche » apportent des solutions à de
logspot.comb
nombreux besoins des applications de gestion développées en intranet
Plusieurs sites sur Internet commencent à utiliser Flash pour faire
keulkeul.
autre chose que des animations
Clients Riches - M. Baron - Page 62

Clients « riches » : bilan
Plusieurs freins apparaissent toutefois
Pas toujours facile d’entendre dire que le langage HTML ne répond
finalement plus au besoin !
Problème de formation : il faut trouver les développeurs Flex,
Laszlo ou Eclipse RCP
Problème d’outillage : les outils ne sont pas forcément existant
(XUL, Ajax, …)
Qu’en est-il de HTTP ?
Protocole déconnecté implique beaucoup de problèmes importants :
transaction, sécurité, …
logspot.comb
Les volumes d’information sont de plus en plus importants et le
keulkeul.
nombre de requêtes va en constante augmentation
Clients Riches - M. Baron - Page 63

Clients riches : les technologies du marché
Publier sur Facebook Publier sur Twitter
Informations
Date : 08/10/2010
Langue : Français
Pages : 63
Consultations : 1214
Commentaires : 0
Note :  
Résumé

Auteur : Mickaël Baron


Description : Document sous licence CC: http://creativecommons.org/licenses/by-sa/2.0/fr/.


Tags : Informatique, langage, XML, Ajax, Flash, Java

Sur le même thème
Vues : 3408
Un logiciel libre de détection du plagiat
Pseudo : Marketmaker
Vues : 3408
Date : 04/12/2010
Pages : 20
Langue : Français
Description :
Présentation d'un logiciel libre de détection du plagiat. 2008 Creative Commons
Vues : 2745
Web Services : SOAP / WSDL / JAXWS / JAXB / SAAJ
Pseudo : Tutorrent
Vues : 2745
Date : 02/01/2011
Pages : 68
Langue : Français
Description :
Tutoriel web services. Creative Commons (http://creativecommons.org/licenses/by-sa/2.0/fr/)
Vues : 1513
PHP en entreprise - Livre blanc
Pseudo : TechnoFil
Vues : 1513
Date : 23/10/2010
Pages : 24
Langue : Français
Description :
Bien que concurrents dans leur activité quotidienne, des membres de l'AFUP, des experts PHP, .NET et J2EE se sont réunis pour...
Vues : 1462
The almost complete guide to creating menus in MODX using Wayfinder
Pseudo : SEOlover
Vues : 1462
Date : 15/11/2010
Pages : 148
Langue : Anglais
Description :
Document sous licence Creative commons.
Vues : 1447
Socket Programming - Tutoriel
Pseudo : TechnoFil
Vues : 1447
Date : 09/02/2011
Pages : 35
Langue : Anglais
Description :
Socket Programming.
Vues : 1438
Cours de PHP
Pseudo : Docenstoc
Vues : 1438
Date : 17/12/2010
Pages : 404
Langue : Français
Description :
Cours de PHP par le PHP Documentation Group. Ce manuel peut être redistribué sous licence GNU General Public License.
Du même contributeur
Vues : 1715
Java pour le développement d'applications Web
Pseudo : Docenstoc
Vues : 1715
Date : 08/10/2010
Pages : 175
Langue : Français
Description :
Document sous licence CC: http://creativecommons.org/licenses/by-sa/2.0/fr/. Java pour le développement d'applications Web.
Vues : 1474
Créer une table des matières sous OpenOffice
Pseudo : Docenstoc
Vues : 1474
Date : 13/12/2010
Pages : 11
Langue : Français
Description :
Dans la série Les tutoriels libres présentés par le site FRAMASOFT : Créer une table des matières sous OpenOffice....
Vues : 1438
Cours de PHP
Pseudo : Docenstoc
Vues : 1438
Date : 17/12/2010
Pages : 404
Langue : Français
Description :
Cours de PHP par le PHP Documentation Group. Ce manuel peut être redistribué sous licence GNU General Public License.
Vues : 1257
Introduction aux architectures n-tier
Pseudo : Docenstoc
Vues : 1257
Date : 08/12/2010
Pages : 7
Langue : Français
Description :
Cours d'introduction aux architectures n-tier dispensé à TELECOM Bretagne. Cours sous licence Creative Commons :...
Vues : 1043
Méthodes de programmation systèmes
Pseudo : Docenstoc
Vues : 1043
Date : 13/12/2010
Pages : 258
Langue : Français
Description :
Méthodes de programmation systèmes par Emmanuel DESVIGNE. Document sous licence GNU/FDL.
Vues : 896
Cours de langage SQL
Pseudo : Docenstoc
Vues : 896
Date : 08/12/2010
Pages : 108
Langue : Français
Description :
Cours de langage SQL dispensé à l'Université de Sophia-Antipolis. Cours sous licence Creative Commons :...
Commentaires
Aucun commentaire pour cette publication
Ajouter un commentaire
Envoyer
Pour envoyer la page de votre document, notez ici les emails destinataires de votre demande :
Séparez les emails par des virgules
Signaler un abus
Vous devez vous connecter ou vous inscrire pour noter un document.
Cliquez ici pour vous inscrire.
Vous devez vous connecter ou vous inscrire pour ajouter un commentaire.
Cliquez ici pour vous inscrire.
Vous devez vous connecter ou vous inscrire pour envoyer le document.
Cliquez ici pour vous inscrire.
Vous ne pouvez pas acheter de documents sur Needocs.
Vous pouvez vous référer aux conditions générales de vente et d'achat du portail pour connaître les modalités d'achat.