uPortal Framework Canal Moteur XSLT Les Technologies Uportal Java/PHP XML/HTML Fonctionnement uPortal uPortal XSL Framework Internet Explorer Mozilla Netscape WAP PDA Canal XML Moteur XSLT Fonctionnement uPortal Les canaux produisent des informations au format XML. Le Framework fusionne les arbres XML des canaux s'affichant dans une même page. Le moteur XSLT choisi la feuille de style correspondant au client et réalise la transformation afin de produire des données correspondant au type de client. Le rendu est indépendant des données produites par l'application
Java PHP Dégradation des performances lente Les Technologies Uportal Java/PHP XML/HTML Avantages et inconvénients Java PHP Dégradation des performances lente Une partie du code est mutualisé Gestion des erreurs fine (exceptions) Paramétrage du serveur applicatif poussé afin d'accroître les performances Nombreuses librairies applicatives Idéal pour de grosses applications Dégradation des performances rapide Tout le code est dupliqué Gestion des erreurs grossière (au bon vouloir du programmeur) Pas de paramétrage fin du serveur applicatif, les performances auront une limite définie Nombreuses librairies applicatives Idéal pour de petites applications Java vs PHP
Java PHP Les Technologies Contexte conteneur Contexte applicatif Uportal Java/PHP XML/HTML Performances Java PHP connexions vitesse Contexte conteneur Java vs PHP Allure de la courbe montrant la vitesse de service en fonction du nombre de connexions. Explication de l'allure de la courbe par le mécanismes des contextes imbriqués. Contexte applicatif Contexte utilisateur
Les Technologies <html> <head> Uportal Java/PHP XML/HTML HTML <html> <head> <title>Page d'accueil</title> </head> <body> <h1>Bienvenue sur mon site</h1> <table border="0"> <tr> <td>Element 1</td> <td>Valeur 1</td> </tr> <td>Element 2</td> <td>Valeur 2</td> </table> </body> </html> XML vs HTML HTML – Langage de balises restreint Les données sont mélangées aux informations concernant la mise en forme (look) Lorsque le HTML est généré dynamiquement, il devient très compliqué de faire évoluer le look
Les Technologies <?xml version="1.0" encoding="ISO-8859-1 ?> Uportal Java/PHP XML/HTML XML <?xml version="1.0" encoding="ISO-8859-1 ?> <page> <titre value="Page d'accueil" /> <entete value="Bienvenue sur mon site" /> <elements> <element name="Element 1" value="Valeur 1" /> <element name="Element 2" value="Valeur 2" /> </elements> </page> XML vs HTML XML – Langage de balises généralisé Règles strictes concernant l'imbrication et l'ouverture/fermeture de balises. Ainsi HTML est un sous-espace de XML. Si du code HTML est inclus dans un fichier XML quelconque, il est impératif de fermer toute balise ouverte y compris les 'mono' balises : <br> <br/> <input type="text" name="toto"> <input … /> <meta-…> <meta-… /> …
Les Technologies Uportal Java/PHP XML/HTML XSL XML vs HTML <?xml version="1.0" encoding="ISO-8859-1 ?> <xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="page"> <html> <head> <title><xsl:value-of select="./titre/@value" /></title> </head> <body> <h1><xsl:value-of select="./entete/@value" /></h1> <table> <xsl:apply-templates select="./elements/element" /> </table> </body> </html> </xsl:template> <xsl:template match="element"> <tr><td><xsl:value-of select="./@name" /></td><td><xsl:value-of select="./@name" /></td></tr> </xsl:stylesheet> XML vs HTML XSL – Sous espace de XML (certains noms de balise sont réservés, ils sont tous préfixés par xsl: ) XSL est destiné à la transformation d'arbres XML. Le langage de sortie après la transformation est quelconque. On peut trouver du XML (ainsi que ses sous-espaces, XML, XSL, HTML…) ou des langages complètement différents (FO pour la création de fichiers PDF, PS pour l'impression directe …) Dans tous les cas, XSL ne modifie jamais la sémantique des données, il se contente de les mettre en forme.