JSP, Tomcat - Webmaestro
Transcription
JSP, Tomcat - Webmaestro
JSP, Tomcat Stéphane Rousseau Directeur solutions technologiques en affaires électroniques DMR Conseil et François Belleau Architecte technologique Ministère de l’industrie et du commerce 1 DMR Conseil JSP, Tomcat Le langage JSP Page JSP Page HTML contenant un ou plusieurs scripts en langage JAVA qui sont exécutés dynamiquement sur le serveur Web, avant que la page soit envoyée au navigateur, c'est-à-dire à l'utilisateur. Technologie JSP Peut s’exécuter sur à peu près tous les serveurs Web du marché : Apache, IBM, IIS, Netscape,... 2 DMR Conseil JSP, Tomcat Pourquoi… Pourquoi utiliser le JSP 3 DMR Conseil JSP, Tomcat Balises JSP Directives <%@ directive %> utilisée afin de spécifié de l’information sur la page, inclure un fichier, spécifier une librairie de tag. Déclaration <%!déclaration %> utilisée afin de déclarer des nouvelles méthodes ou variables. Code <% code %> utilisée pour le code Expression <%= expression %> affiche le résultat de l’expression Standard <jsp:useBean, getProperty, setProperty, include, forward 4 DMR Conseil JSP, Tomcat Accès aux objets Context Disponible pour l’ensemble de l’application tant que l’objet n’a pas été enlevé ou l’application redémarrée Session Disponible pour l’utilisateur spécifiquement Request Disponible pour la requête donc entre les pages (forward) 5 DMR Conseil Page Disponible pour la page seulement JSP, Tomcat Exemple simple <html><!-- Copyright (c) 1999 The Apache Software Foundation. All rights reserved. --> <%@ page session="false"%> <body bgcolor="white"> <%="Bienvenue au webmetres du gouvernement du Québec" %> <jsp:useBean id='clock' scope='page' class='dates.JspCalendar' type="dates.JspCalendar" /> <font size=4> <ul> <li> La date est : <jsp:getProperty name="clock" property="date"/> <li> L'heure est : <jsp:getProperty name="clock" property="time"/> <li> Nous sommes le <jsp:getProperty name="clock" property="dayOfYear"/> 6 jours de l'ann&eactue;e … DMR Conseil JSP, Tomcat Comparaison versus ASP JSP : • Indépendance versus matériel : Intel, PowerPC, Sun SPARC, ARM, RS-XXXX,… • Indépendance versus système d’exploitation : Windows 2K…, Linux, Mac OSX, BSD, HP-UX, Solaris, AIX, zOS, PlayStation2,… • Choix du fournisseur de logiciel : Tomcat, IBM WebSphere, BEA, Sun Iplanet, Oracle 9iAS, Orion, … ASP : • 7 DMR Conseil Microsoft est votre seul ami… JSP, Tomcat Comparaison versus ASP JSP : Gamme étendue d’outils de développement dont certains gratuits : • • • • • Eclipse ( gratuit ) www.eclipse.org netBeans ( gratuit ) www.netbeans.org MacroMedia DreamWeaver Borland Jbuilder IBM WebSphere Studio Application Developer ASP : Microsoft VisualStudio, DreamWeaver 8 DMR Conseil JSP, Tomcat Comparaison versus ASP JSP : • Une fois la page JSP exécutée pour la première fois, le code est compilé en servlet, les exécutions suivantes sont très rapide • Possibilité d’initialiser un objet automatiquement lors de la déclaration de l’instance • Fichier WAR permettant de bâtir et déployer une version d’un application ( JSP, HTML, GIF, JPG,…) • Permet l’ajout de balise facilitant une meilleure 9 DMR Conseil séparation des responsabilités entre les désigners et les développeurs ( Taglibs ) JSP, Tomcat Tomcat • Tomcat est un serveur qui permet l’exécution de servlet et de pages JSP • Tomcat est utilisé comme référence par Sun pour les spécifications • Tomcat version 3.x implémente les versions d’API Servlet 2.2 et JSP 1.1 • Version 3.x basée sur le code donné par Sun • Tomcat version 4.x implémente les versions d’API Servlet 2.3 et JSP 1.2 10 DMR Conseil JSP, Tomcat Tomcat : Ce qu’il n’est pas… • Tomcat n’est pas un serveur d’application d’entreprise (EJB) tel que IBM WebSphere, BEA WebLogic, Oracle 9iAS… • Tomcat n’offre pas « out of the box » les fonctionnalités suivantes : • Extensibilité horizontale ou verticale • Répartition de la charge • Réserve de connections • Intégration de la sécurité plus complexe • Cependant, il existe toujours des moyens d’utiliser des composantes permettant de rendre les fonctionnalités disponibles. 11 DMR Conseil JSP, Tomcat Déploiement des applications (WAR) • Tomcat permet le déploiement d’application via les fichiers de type WAR • Un fichier WAR est une archive suivant une structure précise contenant toutes les informations et fichiers (html, jsp, xml, gif, jpg,…) de l’ensemble de l’application. Cela facilite le déploiement d’une application sur les serveurs. 12 DMR Conseil JSP, Tomcat Tomcat vs Serveurs commerciaux • Les serveurs commeciaux tel que IBM WebSphere, BEA WebLogic, Oracle 9iAS offrent : • Conteneur EJB • Réserve de connection • Déploiement unique d’application • Extensibilité : répartition de charge, reprise • Sécurité intégrée • Support technique et formation 13 DMR Conseil JSP, Tomcat • Taglibs • Struts • FOP • Cocoon2 • Axis • Ant • Poolman 14 DMR Conseil Projets connexes d’intérêt JSP, Tomcat Taglibs • Le sous projet Taglibs de Jakarta.Apache.Org offre des libraries de tags permettant de simplifier le développement de page JSP. • Le but est de facilité le développement de pages dynamiques par les développeurs de site en particulier. Permet l’utilisations de tags par les non-programmeurs Java. • Plus de 24 libraries disponibles • Extension pour DreamWeaver 15 DMR Conseil JSP, Tomcat Taglibs : libraries d’intérets • DBTags : accès aux bases de données simplifié • Form : formulaires • I18N : internationalisation de pages web • IO : HTTP, HTTPS, SOAP, XML-RPC • RegExp : expressions réguliéres • Scrape : récupération d’info provenant d’URL • XSL : transformation XML-XSL • Xtags : accès aux structures XML 16 DMR Conseil JSP, Tomcat Taglibs : exemple données <html> <head> <title>DMR Conseil e-Biz - Démonstration liens utiles</title> </head> <body bgcolor="white"> <%@ taglib uri="http://jakarta.apache.org/taglibs/dbtags" prefix="sql" %> 17 DMR Conseil JSP, Tomcat Taglibs : exemple données <P><B>Connection base de liens</B></P> <sql:connection id="conn1"> <sql:url> jdbc:mysql://127.0.0.1:3306/demo?user=alibab a&password=sesame </sql:url> <sql:driver>org.gjt.mm.mysql.Driver</sql:driver> </sql:connection> 18 DMR Conseil JSP, Tomcat Taglibs : exemple données <table> <tr> <th>id</th> <th>titre</th> <th>url</th> <th>resume</th> </tr> <sql:preparedStatement id="stmt2" conn="conn1"> <sql:query> select titre, url, resume from lien order by 1 19 DMR Conseil </sql:query> JSP, Tomcat Taglibs : exemple données <sql:resultSet id="rset1"> <tr> <td><sql:getColumn position="1"/></td> <td><sql:getColumn position="2"/></td> <td><sql:getColumn position="3"/></td> </tr> </sql:resultSet> 20 DMR Conseil JSP, Tomcat Taglibs : exemple données <tr> <td colspan="4"> <sql:wasEmpty>No rows retrieved.</sql:wasEmpty> <sql:wasNotEmpty><sql:rowCount/>rows retrieved. </sql:wasNotEmpty> </td> </tr> </sql:preparedStatement> </table> 21 DMR Conseil JSP, Tomcat Struts • Framework permettant le développement d’application Web en utilisant le principe Model-View-Controller • Model = Données • View = Présentation des données pour un client donné • Controller = Contrôle les accès et la séquence entre les pages de l’application • Utilisé par DMR Conseil lors du développement d’une application Web sous technologie Java • Un sous-projet de Jakarta.apache.org 22 DMR Conseil JSP, Tomcat FOP • FOP : Processeur de formatage d’objet • Permet la transformation de fichier XML en PDF, • • 23 DMR Conseil PS, SVG, TXT, XML,… La priorité est mise sur le formatage de fichier de sortie en format PDF Sous-projet de xml.apache.org JSP, Tomcat Cocoon2 • Framework de publication de document XML provenant de diverses sources (Fichiers, BD,LDAP,…) en divers format (html,pdf,svg,wap,…) • Permet via un fichier de configuration en XML d’établir les règles de conversion : • Index.html utilise index.xml et index.xsl • Index.pdf utilise index.xml et indexpdf.xsl avec FOP • Index.wap utilise index.xml et indexwap.xsl •… 24 DMR Conseil • Sous-projet de xml.apache.org JSP, Tomcat Axis • Framework permettant d’ajouter à un serveur Web Java de rendre disponible l’accès à des WebServices. • Permet un cycle de vie aux WebServices : session, application • Le développement se fait via des objets JAVA • Possibilité via BSF de créer des WebServices en JavaScript • Sous-projet de xml.apache.org 25 DMR Conseil JSP, Tomcat Ant • Application facilitant le processus de développement d’une application • Permet • Compilation • Tests unitaires des composantes • Déploiement de l’application sur les serveurs de tests intégrés • Test d’intégration • Déclaré par JavaWorld le projet Open-Source le plus utile. • Sous-projet de Jakarta.apache.org 26 DMR Conseil JSP, Tomcat Poolman • Permet de ré-utiliser les connections aux base de données via un pool d’objets. • Accélère le temps d’affichage de pages dynamiques dont l’information provient d’une base de données. • Les classes permettent pas seulement les pools de connections mais aussi d’objets. • Disponible gratuitement • URL : http://sourceforge.net/projects/poolman/ 27 DMR Conseil JSP, Tomcat Utilisation des projets Open-Source chez DMR Conseil • Cadre d’application Web basé sur les meilleures pratiques de l’industrie utilise des composantes de Struts et de patterns d’IBM. • Outil de gestion de site web DMR Conseil e-biz Scribe utilise des composantes des projets Slide et Ant. • Autres projets en cours… 28 DMR Conseil JSP, Tomcat Liens utiles • Jakarta : Tomcat, Struts, Ant, … • http://jakarta.apache.org • XML Apache : FOP, SOAP, Cocoon, Xerces (XML), Xalan (XSL) • http://xml.apache.org • Sun Java Developer Connection • http://java.sun.com • JavaWorld • http://javaworld.com 29 DMR Conseil JSP, Tomcat Liens utiles • O’Reilley OnJava • http://www.onjava.com • IBM DeveloperWorks • http://www-106.ibm.com/developerworks/ 30 DMR Conseil JSP, Tomcat Démonstration avec DreamWeaver • Francois Belleau du MIC va maintenant effectuer une démonstration de la création d’une page JSP à l’aide de DreamWeaver et Tomcat en utilisant les fonctionnalités de tags provenant du projet jakarta taglibs. • Cette page dynamique va démontrer les concepts d’inclusion des normes du PIV, l’accès à des données provenant d’une base de données et l’utilisation du XML pour la mise en forme du bas de page du site. 31 DMR Conseil JSP, Tomcat Conclusion • Les technologies ouvertes permettent le développement de solutions intelligentes et offrent les possibilités de ré-utiliser l’intelligence d’experts dans le domaine à condition bien sur de vouloir y mettre les efforts. • Le JSP et les concepts introduits aujourd’hui offrent des solutions concrètes à vos problèmes en matière de développement d’application Web. • Merci ! 32 DMR Conseil