Applications distribuées: le retour du client "riche" Markus Jaton, Olivier Liechti Olivier Liechti / Markus Jaton /1
Agenda Java a-t-il un avenir sur le "desktop"? Swing vs. AJAX: idées préconçues? Architecture Orientée Service (SOA) Exemples d'applications Démonstration Olivier Liechti / Markus Jaton /2
La mort annoncée du client "lourd"? Olivier Liechti / Markus Jaton /3
Petit retour en arrière... 1994 Web = documents 1995 Java = applets circa 1997 Web: la vague de "webification" (déploiement!) Desktop: Swing (interactivité!) Plus récemment... AJAX Architecture Orientée Service (SOA) Olivier Liechti / Markus Jaton /4
Desktop Java: critiques Portabilité Applets & browsers Déploiement Installation de l'application Taille du Java Runtime Environment Ressources RAM, RAM, RAM Ergonomie "Cette fenêtre ne ressemble pas aux autres..." Temps de démarrage Olivier Liechti / Markus Jaton /5
Desktop Java: perceptions Desktop Java <> applets! Desktop Java <> client/serveur! Olivier Liechti / Markus Jaton /6
Plateformes et outils Plateformes Netbeans Platform Eclipse RCP SpringRCP Swing Application Framework (JSR 296) Technologies Web Services Java Web Start Matisse (GroupLayout) Projets http://swinglabs.org JDIC: JDesktop Integration Components Olivier Liechti / Markus Jaton /7
Netbeans Platform Interface utilisateur Fenêtrage Editeur de texte Editeur graphique (visual library) Framework Modules Design patterns Déploiement Java Web Start Update Center Intégration Web Services Java EE Tutorial (24 juin 2007) Developing Rich Applications with the NetBeans Platform Olivier Liechti / Markus Jaton /8
Olivier Liechti / Markus Jaton /9
http://aiotrade.com/screenshots/blogtrader_a.png Olivier Liechti / Markus Jaton /10
http://www.ireasoning.com/sysuptime.shtml Olivier Liechti / Markus Jaton /11
Matteo Di Giovinazzo, contrôle de véhicule à distance Olivier Liechti / Markus Jaton /12
Desktop Java: critiques? Portabilité Remplacement des applets par des applications Les applications AJAX sont-elles portables??? Déploiement Java Web Start, Netbeans Update Center Taille du JRE: 56kbps vs ADSL Ressources RAM plus un facteur déterminant Ergonomie Meilleure intégration avec le desktop! Olivier Liechti / Markus Jaton /13
Desktop Java: avantages Productivité des développeurs! MVC avec Swing vs. MVC avec JSF vs. Struts Environnements de développement (RAD) Mode déconnecté Les applications n'ont pas (forcément) besoin du réseau pour fonctionner. Ergonomie Contrôle illimité sur l'interface utilisateur Intégration avec le desktop (fichiers, etc.) Performances perçues Sécurité Olivier Liechti / Markus Jaton /14
Architecture Approches complémentaires SOA = réutilisation des services! Evolution vers un modèle asynchrone. La mort annoncée du client "lourd"? Non! Olivier Liechti / Markus Jaton /15
Application : _ Fonctions client complexes (édition / génération de questionnaires, graphiques temps réel ) Authentification dure Contraintes de sécurité fortes Mise à jour automatique des applications Olivier Liechti / Markus Jaton /16
Structure générale Dedicated Client : Java Web Start JDIC components Java applications Common interface Server : Apache tomcat servlet container Jakarta slide WEBDAV service Dedicated servlet Olivier Liechti / Markus Jaton /17
Accès Authentification par login/mot de passe Sélection des programmes à installer / mettre à jour sur la base du profil utilisateur Olivier Liechti / Markus Jaton /18
Mise à jour Installation de nouveaux programmes / mise à jour d anciens selon le même principe Olivier Liechti / Markus Jaton /19
Fichier de mise à jour Un fichier XML décrit toutes les applications utilisables par une catégorie de profils donnée : <application> <nom>imagej</nom> <version>1.37</version> <classprincipal>imagej.imagej</classprincipal> <fichiers> <fichier>imagej.jar</fichier> <fichier>lib/ij.jar</fichier> </fichiers> </application> Olivier Liechti / Markus Jaton /20
Présentation Le client dédié se présente (prototype actuel) sous la forme d une barre de tâches Olivier Liechti / Markus Jaton /21
Exemple d application Applications à forte interactivité possibles Olivier Liechti / Markus Jaton /22
Highlights Une application Java existante, développée par IICT, a été portée sur le client dédié en une heure. Des applications «étrangères» peuvent être intégrées au besoin. Le client dédié peut fonctionner en l absence de réseau pour certaines applications Olivier Liechti / Markus Jaton /23
Développements «Cabinet médical virtuel» dans le cadre de iminet basé sur un client dédié Version mobile pour PDA haut de gamme (profil J2ME CDC fin 2007) Application au télé-enseignement (fin 2007, début 2008) Olivier Liechti / Markus Jaton /24
Merci de votre attention Olivier Liechti / Markus Jaton /25