LOT03P6 - Domino 8.5 : XPages dans Domino Designer 8.5 - Partie 6
Objectifs du développement en 8.5 Fournir un outil de développement moderne Faire pour les développeurs ce que Notes 8 a fait pour l'utilisateur Attirer de nouveaux développeurs sur la plateforme Moderniser le look des applications Web Domino Les interfaces et technologies ont évoluées Permet de mettre à jour progressivement les applications Domino web existantes
Domino Designer 8.5 comme perspective Eclipse Pourquoi Eclipse? Extensions et communauté de développeurs Outils de développement IBM sur un même socle, bénéficier des améliorations de ce socle, maintenance limitée et concentration sur les fonctionnalités Utilisation des fonctions d 'Eclipse Editeurs Eclipse : HTML, XML, JavaScript, feuilles de style LotusScript et Java à venir!!! Les panneaux de propriétés remplacent les infobox Recherche, gestion de l aide Comparaison d'éléments / codes
Domino Designer sous Eclipse XPage design element Controls palette Optional source mode Scripting & Simple Actions Custom Controls palette Outline Property sheets
Navigation dans Domino Designer 8.5 Familier, mais mieux! Bookmarks => working sets Perspective Designer Familière mais personnalisable Autres perspectives Eclipse NSF comme système de fichiers virtuel!
Etat de l'art Domino Web... il y a?? années
XPages en 8.5 pour faire des interfaces sexy Traitement dynamique des entrées des vues Entrées en Ajax avec rafraîchissement partiel Contrôle Rich Text Dojo Contenu sorti de la vue
XPages, qu'est-ce que c'est? Nouvel élément de structure en 8.5 Construction visuelle d'une page web, rendue par Domino Contrôles UI, drag & drop Elément XML définissant Les contrôles, les sources de données, la logique,... Construit sur les JavaServer Faces Vient avec la bibliothèque JS Dojo Présentation avec les CSS Gestion multilingue facilitée Accès aux éléments classiques d'une application Lotus Domino
XPages, données Données et présentation séparées Intégration naturelle des vues et documents Autres éléments à venir (XML, SGDB...) Plusieurs sources combinables Plusieurs applications / vues / masques <xp:dominodocument var="document1" formname="customer" requestparamprefix="cust"> </xp:dominodocument> <xp:dominodocument var="document2" formname="orders" requestparamprefix="ord"> </xp:dominodocument>
XPages, contrôles Palette extensible de contrôles 2 catégories Core Edit Box, Rich Text, Button, List Box, Image, Link, Error Message,... Container Panel, Table, Tabbed Panel, View, Repeat,... Pager automatique en Ajax Focus : Repeat permet de lever certaines limitations des vues Plusieurs lignes par document, opérations dynamiques sur chaque ligne / document... Contrôles personnalisés Assemblage de contrôle(s) avec leurs propriétés Réutilisation facilitée
XPages, présentation Amélioration du comportement Web Images, tableaux, sections,... Feuilles de style CSS Thèmes Nouvel élément en 8.5 Associe des styles par défaut en fonction du client et du contrôle Skins activables par application / contrôle Défini au niveau du serveur ou application Projet OneUI
XPages, Internationalisation Les XPages sont par défaut multilangues Aucune surcharge serveur pour la gestion Déclaration des langues Génération de fichiers propriétés Extraction du texte par le runtime en fonction de la locale
XPages, code Langage officiel = JavaScript Client, serveur, les 2 Editeur Appel Java possible Implémentation des fonctions @! Actions simples Presque toutes les propriétés sont calculables Etiquettes, titre des colonnes, style, visibilité... Comportement Ajax Aide à la saisie... pré paramétré sur certains éléments Rafraîchissement Partiel sur tout événement Dojo fourni comme bibliothèque du côté client Ex. : Rich Text & Edit Box Type ahead Variables de session
XPages, code : rafraîchissement partiel
Intégration Lotus Domino Complètement intégré au serveur Domino Dans le moteur HTTP Démarre automatiquement avec le moteur HTTP Pas de déploiement : création d un élément dans un NSF Utilise le modèle de sécurité Domino La sécurité des données est faite à travers les API, en utilisant les credentiels web de l utilisateur Contrôle de l exécution du code à travers les signatures (modèle des agents) Utilise un container de servlet personnalisé Utilise la configuration du serveur HTTP Authentification, dispatching,
Performances Runtime JSF optimisé Au niveau CPU et mémoire Les Xpages sont compilées en code Java optimisé Optimiser le réseau et les temps de réponse Le contenu HTML est Gzipped à la volée si le navigateur le supporte Le contenu statique (JavaScript libraries, CSS...) est pré compressé (Gzip) Caches HTTP pour les ressources
Dois-je réécrire totalement mon application? Pour les nouvelles applications, dois-je créer des formulaires / vues? Dois-je apprendre Java ou JSF? Puis-je appeler du code Java? Puis-je utiliser du code HTML? Saisie directe dans la source Champ calculé et colonne : Display Type = HTML Puis-je réutiliser ma logique applicative? computewithform Le Javascript côté serveur a accès à toutes les API Notes (librairies, agents, web service) Attention : classes UI, passage et récupération des paramètres http://www-10.lotus.com/ldd/ddwiki.nsf/dx/reuse_business_logic_xpage.htm Les XPages peuvent-elles être utilisées pour les applications client Notes?
*Subject to change Et demain? Notes & Domino 8.5.1 Q3 2009 *
Domino Designer 8.5.1* Editeur Lotuscript & Java dans Eclipse Support des modèles de code Xpages dans le client Notes! Utilisation des ECL pour la sécurité Applications Web en mode déconnecté depuis le client Support des applications composites Différenciation des thèmes API d extensions publiées Certaines propriétés accessibles et modifiables (titre des éléments, ) Performances et montée en charge du runtime XSP Filtrage des éléments dans les vues Version préliminaire des API d accès à l annuaire *Subject to change
Et après? * Support d'autres sources de données Debugging: Server JavaScript, LotusScript,... Plus d'infobox converties en panneau de propriétés Plus de plateformes : Linux, Mac OS... *Subject to change
Démonstrations
Merci Composite applications http://www.lotus.com/ldd/compappwiki.nsf/ Lotus Domino Designer wiki lotus.com/ldd/ddwiki.nsf Wiki XPages Application profile http://www-10.lotus.com/ldd/ddwiki.nsf/dx/ls09_show106.htm http://nathan.lotus911.com http://interfacematters.com http://www.qtzar.com/blogs/qtzar.nsf/htdocs/learningxpages.htm http://openntf.org/demos/xpages.nsf/index.xsp