160 likes | 270 Views
Toolkit Web Framework Java pour les IHMs. Cédric Dumas mars 2008. Cedric.Dumas@emn.fr contrat Creative Commons Paternité-Pas d'Utilisation Commerciale-Partage des Conditions Initiales à l'Identique 2.0 France License. Application Serveur. 3 tiers présentation des données
E N D
Toolkit WebFramework Java pour les IHMs Cédric Dumasmars 2008 Cedric.Dumas@emn.frcontrat Creative Commons Paternité-Pas d'Utilisation Commerciale-Partage des Conditions Initiales à l'Identique 2.0 France License
Application Serveur • 3 tiers • présentation des données • traitement métier des données • accès aux données persistantes • stateless server • Emergence du RIA
Servlet / JSP • Application java pour gérer une requête HTTP • JSP = Java servlet as an HTML page • Utilisation de « taglibs » pour construire les interfaces • limiter l'utilisation de code Java dans une page JSP. • JSTL - the Jakarta Standard Taglib. <%@ taglib uri="taglib-URI" prefix="tag-prefix" %> <prefixe:nomDuTag attribut="valeur"> Corps du tag </prefix:nomDuTag>
JSP example • Java programmers should develop services, not HTML. • Changes to layout would require changes to code. • Customers of the service should be able to create pages to meet their specific needs. • The page designer isn't able to have direct involvement in page development. • HTML embedded into code is ugly. <%@ page language="java" %><%@ page import="business.util.Validation" %><%@ page import="business.db.MailingList" %><%String error = "";String email = request.getParameter("email");if( email!=null ) {...}%><html> <head> <title>Join Mailing List</title> </head><body> <h3>Enter your email to join the group</h3> <form action="join.jsp" name="joinForm"> <input name="email" id="email" value=<%=email%>></input> <input type=submit value="submit"> </form> </body></html>
Struts • Depuis 2001 • Open Source • Framework java le plus répandu • Craig R. Mc Clanahan -> Apache • Apache Struts 1.x • Apache Struts 2 / WebWork 2 • 1 servletActionServlet (Controlleur)
Struts 1.x • Formulaire Web – ActionForms (bean) • Action • Vue (jsp) • action-mapping du struts-config.xml • Tiles
Struts 1.x • « MVC2 » • Peu de composants • Très rigide • Propre • Extensibilité limitée • Struts 2 • Corrections + • Récent
JSF • Norme Sun : JSR 127 • Approches par composants • « MVC2 » • Plusieurs implémentations • Apache MyFaces • Oracle ADF • Sun JSF • Interface Builder • Sun Java Creator • JSFTools • Oracle JDevelopper
JSF • Comparé à Struts 1.x : • Plus riche • Plus souple / plus permissif • Renderer • Facelets (templates XHTML) • Extensions : Tomahawk, Tobago, Trinidad, IceFaces, …
TapeStry • Framework open-source Apache • Fin 2000 • Orienté pages et composants • HTML templates + java
Apache Wicket • lightweight component-based web application framework • XHTML template + java
NextApp Echo2 • Mozilla Public Licence • Orienté composant (uniquement) • Navigateur : 1 page HTML mise à jour par le serveur– appli JS – comm XML serveur – servlet Java traite les actions • Riche
SpringMVC • Middleware Spring Framework • Vues : JSP, FreeMarker, Velocity, Tiles, iText, and POI
Adobe Flex • FlexBuilderlicense • J2EE integration
MS Silverlight • Réponse MS • Chaîne éditoriale
GWT • Framework Open Source • Compilateur GWT : Java – Client léger • Composants graphiques dynamiques et réutilisable • Appels RPC simples • Gestion fine de l'historique de navigation • Possibilité de déboguer l'application avec un débogueur Java • Compatible avec une immense majorité de navigateurs • Intégration directe de JUnit • Internationalisation