La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Serveurs Web à contenu dynamique Emmanuel Cecchet INRIA Rhône-Alpes, Projet Sardes Rice University, Systems lab

Présentations similaires


Présentation au sujet: "Serveurs Web à contenu dynamique Emmanuel Cecchet INRIA Rhône-Alpes, Projet Sardes Rice University, Systems lab"— Transcription de la présentation:

1 Serveurs Web à contenu dynamique Emmanuel Cecchet INRIA Rhône-Alpes, Projet Sardes http://sardes.inrialpes.fr Rice University, Systems lab http://www.cs.rice.edu/CS/Systems/DynaServer

2 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr2 Web Contenu du Web de plus en plus dynamique screenshot page web ici

3 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr3 Serveurs Web à contenu dynamique Architecture multi-tiers un serveur Web un serveur d’application une base de données

4 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr4 Plan Technologies Benchmarks Serveurs d’applications J2EE Conclusion

5 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr5 PHP Hypertext Preprocessor Langage de script Module intégré dans le serveur Web

6 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr6 Exemple PHP <?php print(" Liste des regions "); $result = mysql_query("SELECT * FROM regions", $link) or die("ERREUR: La requête a échoué"); if (mysql_num_rows($result) == 0) print(" Désolé, pas de région. BD vide "); else while ($row = mysql_fetch_array($result)) { print("<a href=\"BrowseCategories.php?region=". $row["id"]."\">".$row["name"]." \n"); } mysql_free_result($result); ?>

7 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr7 Servlets Java Basé sur Java S’exécute dans un “Servlet Container” sur une JVM JDBC: interface unique pour toutes les BDs

8 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr8 Exemple Servlet Java public class BrowseRegions extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { out.print(" Liste des regions "); try { ResultSet rs = connection.prepareStatement("SELECT * FROM regions").executeQuery(); if (!rs.first()) out.print(" Désolé, pas de région. BD vide "); else do { print("<a href=\"BrowseCategories.php?region="+rs.getInteger("i")+ "\">"+rs.getString("name")+" \n"); } while (rs.next()); } catch (Exception e) { out.print("La requête a échoué pour la raison suivante : " +e); return; }

9 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr9 et JSP ? Java Server Pages réponse de Sun à Microsoft ASP “scripting de servlets” Langage de script (tags JSP) Compilé en une servlet Java lors de la première exécution

10 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr10 J2EE Java 2 Enterprise Edition Conçu pour le développement multi-tiers Découpe présentation et logique de l’application

11 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr11 Plan Technologies Benchmarks Serveurs d’applications J2EE Conclusion

12 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr12 Benchmarks TPC-W librairie électronique (amazon.com) charge sur la base de données RUBiS ventes aux enchères électroniques (eBay.com) charge sur le serveur d’application RUBBoS forums interactifs (slashdot.org) charge sur le serveur d’application

13 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr13 TPCW – PHP & Servlets Débit et utilisation CPU pour le shopping mix

14 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr14 RUBiS – PHP & Servlets Browsing mixBidding mix

15 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr15 RUBiS – PHP & Servlets Browsing mixBidding mix

16 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr16 EJB implementations From Servlets to Session Beans Session bean Database Web container Servlet EJB container Business logic Servlet Web container Servlet Database Presentation logic Business logic Servlet Presentation logic Business logic Presentation logic Presentation logic Session bean Business logic

17 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr17 EJB implementations Data Access Objects separation with Entity Beans EJB container Entity Bean Database Entity Bean Entity Bean Web container Servlet Presentation logic Business logic Servlet Presentation logic Business logic

18 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr18 EJB implementations Session façade EJB container Entity Bean Session facade Web container Session facade Database Entity Bean Entity Bean Business logic Business logic Servlet Presentation logic Presentation logic

19 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr19 Design patterns Presentation logicBusiness logicTotal ClassesLignes de codeClassesLignes de codeClassesLignes de code Servlets only254590--254590 Session Beans242650525270767920 DAO (EB CMP)2440604072606411320 Session façade242660851078010913440

20 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr20 RUBiS – Session beans Browsing mixBidding mix

21 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr21 RUBiS – Results overview

22 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr22 RUBiS – Throughput Bidding mix

23 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr23 EJB Container design RUBiS bidding mix / Session façade

24 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr24 Plan Technologies Benchmarks Serveurs d’applications J2EE Conclusion

25 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr25 PHP, Java Servlets ou EJB ? PHP idéal pour de petits projets pas de typage, APIs ad-hoc pour les BD Servlets programmation objet (JSP pour faire du script) JDBC pour l’accès aux BDs EJB pour les gros projets développés par n-tiers isolation de la présentation et de la business logic service de persistence peu performant en EJB 1.1

26 Séminaire MIM ENS Lyon – 8 octobre 2002 – Emmanuel.Cecchet@inrialpes.fr26 Perspectives RUBiS code source et articles disponibles sur http://www.cs.rice.edu/CS/Systems/DynaServer plateforme de test pour les technologies de serveurs Web à contenu dynamique contributions bienvenues JOnAS code source et documentation sur http://www.objectweb.org support du clustering pour passage à l’échelle On embauche !!! évaluation de performances grappes de bases de données en Java (C-JDBC) pour plus d’info voir http://sardes.inrialpes.fr ou http://www.objectweb.org


Télécharger ppt "Serveurs Web à contenu dynamique Emmanuel Cecchet INRIA Rhône-Alpes, Projet Sardes Rice University, Systems lab"

Présentations similaires


Annonces Google